场景:只知道写shell脚本,却不知道什么是shell?那shell是什么呢?找到了之前在腾讯课堂上看的视频,这是课件笔记

你学Linux的话,不懂shell等同于不懂linux
shell是操作系统的最外层,shell可以合并编程语言以控制进程和文件,以及启动和控制其他程序。
简单来说:shell就是一个用户跟操作系统之间交互的命令解释器

感觉像是java和虚拟机的关系一样

在一些复杂的Linux维护工作中,大量重复的输入和交互操作不但费时费力,而且容易出错.
编写脚本的好处:批量的处理,自动化的完成维护,减轻管理员的负担.

不说不知道,一说下一跳呀,在工作中经常写一些脚本,就是为了方便。

shell独立于内核,它是链接内核和应用程序的桥梁。内核是linux系统的心脏,从开机自检就驻扎在计算机内存中,直到计算机关闭为止。用户的应用程序存储在计算机硬盘上,仅当需要时才被调入内存。shell是一种应用程序,当用户登陆linux系统时,shell就会被调用到内存执行。

不登录怎么执行呢,好像听说过有nologin 的一种模式

linux的shell脚本是一种特殊的应用程序,常见的shell解释器有很多种使用不同的shell时期内部指令命令提示方式方面会存在一些区别,可以通过/etc/shells文件查看

就是不同命令之间有不同的显示和操作

/bin/bash 是大多数linux中默认的shell解释器。

还有chsh不过不经常用,我们一般都是写bash,头文件中添加#!/bin/bash的标志

如何编写第一个Shell脚本(shell 就是命令的集合)

其实就是命令的集合,唯一的区别使shell脚本我们可以优化,加入一些for循环,if条件语句。

linux不以后缀名区分文件,为了方便记忆这里我就以.sh为结尾

编写一个shell

[support@CMS01 wdq]$ vim first.sh#!/bin/bash
#!/bin/bash
#auto my frist scripts
#by  authors cd
echo "hello world"
mkdir /home/support/tmp/wdq/test
free -m

注释:
#!/bin/bash 主要是为了声明,我所写的均为bash语言(我是用的是bash解释器)[定义我的脚本是shell脚本].{固定格式}
#! 称为sha-bang符号,是shell脚本的起始符,他告诉linux系统这个文件的执行需要指定一个解释器。

ll查看是都有权限

[support@CMS01 wdq]$ ll
total 8
-rw-rw-r-- 1 support support 1388 May  9 19:51 backupLogs.sh
-rw-rw-r-- 1 support support   96 Jul  2 17:16 first.sh
[support@CMS01 wdq]$ chmod u+x first.sh
#赋执行权限

在执行标准/bin/bash/+脚本来执行,这样的就不需要加权限了。
执行权限的不同方式

第一种使用绝对路径执行
第二种使用相对路径执行,如./的方式
第三种使用 sh命令来执行  格式  sh 脚本名   不需要执行权限
第四种使用 . (空格)脚本名称的方式执行  不需要执行权限  . a.sh
第五种使用 source 脚本名称        不需要执行权限(主要用于生效配置文件)
建议使用后三种,在生产环境中不要轻易的给文件可执行权限

什么是shell?shell的用途是啥?相关推荐

  1. linux at shell,shell 用at命令来计划执行作业

    at命令允许指定Linux系统何时运行脚本.at命令会将作业提交到队列中,指定shell何时运 行该作业.at的守护进程atd会以后台模式运行,检查作业队列来运行作业.大多数Linux发行 版会在启动 ...

  2. [Bash Shell] Shell学习笔记

    1. Shell简介 Shell本身是一个用C语言编写的程序,它是用户使用Unix/Linux的桥梁,用户的大部分工作都是通过Shell完成的.Shell既是一种命令语言,又是一种程序设计语言.作为命 ...

  3. [shell]shell中if语句的使用

    bash中如何实现条件判断? 条件测试类型:     整数测试     字符测试     文件测试 一.条件测试的表达式:     [ expression ]  括号两端必须要有空格     [[  ...

  4. linux查询日志中页面返回状态码,[linux shell] Shell脚本实现apache日志中的状态码分析...

    这篇文章主要介绍了Shell脚本实现apache日志中的状态码分析,本文先是介绍了按天切割日志的方法,然后给出了分析访问状态码的脚本,需要的朋友可以参考下 一.首先将apache日志按天切割 复制代码 ...

  5. 邮件群发 php shell,Shell发送邮件以HTML展示

    有时候,监控一个系统需要在系统出现警告时通过shell发送邮件来通知相关的负责人.本文讲讲如何shell发送邮件. 一种是普通邮件,通过附件描述详细报告:一种是高级邮件(哈哈),本来就是告警,还不赶快 ...

  6. Linux下高效编写Shell——shell特殊字符汇总

    Linux下无论如何都是要用到shell命令的,在Shell的实际使用中,有编程经验的很容易上手,但稍微有难度的是shell里面的那些个符号,各种特殊的符号在我们编写Shell脚本的时候如果能够用的好 ...

  7. Shell:shell中的循环语句

    shell中的循环语句 for语法格式 for var in list;do commands done 其中list可以包含: 1) 直接写 for alpha in a b c d;doecho ...

  8. shell解析html文件,[Shell] Shell 生成 HTML脚本,可显示表格

    Shell 生成 HTML脚本 生成的格式不好看,以后要多改进. [mon@oracle6 source]$ more gen_html #!/bin/bash datetime=`date +&qu ...

  9. [shell]shell 中| || () {} 用法以及shell的逻辑与或非

    转自:https://www.jianshu.com/p/617c1ee1e46e | 运算符 管道符号,是unix一个很强大的功能,符号为一条竖线:"|". 用法: comman ...

  10. 基于linux网络流量监控与分析软件的设计与实现shell,Shell图形化监控网络流量

    网络流量的监控工具有很多,如:Mrtg.Cacti.Zabbix等等,他们都有着各自的特点,不同的侧重,只为适合不同的应用场景的各种特殊需求.除了网络流量监控工具以外,还有Nagios这样的监控主机状 ...

最新文章

  1. 算法优化:rgb向yuv的转化最优算法,快得让你吃惊!
  2. 用YACC/LEX 设计计算机语言
  3. [转]对于非数据库字段的查询过滤以及app_query.append的用法
  4. zookeeper配置中心
  5. Java程序员大神给初学者的学习方法路线建议
  6. 走近中医 感受神奇
  7. python建立空集合_「python」集合类型及操作
  8. phpstudy免费安全检测服务_武汉一高校15名大学生暑期进行免费甲醛检测服务? 服务500个家庭...
  9. 一个高难度的 Java 3D 智力游戏,立方四子棋
  10. Python 免费翻译API
  11. Word文字处理技巧
  12. 【?】【9908】守望者的逃离
  13. 中国象棋棋盘java_如何用java swing 实现中国象棋的棋盘。棋盘就好。。。
  14. remap中的xmap,ymap详解
  15. 2021-10-18 WPF调用dll出现异常
  16. Python的日志输出
  17. 视频采集工具 youtube-dl 接口介绍
  18. 怎么证明:向量组A1,A2…As可由向量组B1,B2…Bt线性表出,且s>t,那么A…As线性相关?
  19. 学习 MySQL 必备的几个示例数据库
  20. 组件扫描器及spring头部配置文件的讲解

热门文章

  1. android mvp模式鸿洋,Android上的MVP模式
  2. HTML与CSS基础(五)—— CSS布局(盒子模型)、PxCook使用
  3. VPS自己搭建frp/frps内网穿透实现外网访问局域网设备
  4. 迎接2018,平台、年薪、权利?你的跳槽如何完美转身?
  5. JavaScript 如何让alert弹出框中的信息换行?
  6. 关于tarjan算法的各种题型
  7. 莫兰指数中关于显著性P值的问题
  8. 盘点职场新人常见误区
  9. Note7燃损真相大白 电池是祸根
  10. Linux系统日志审计