bash shell

bash shell的功能

  • 命令记忆功能(history)
  • 命令与文件补全功能(Tab按键的好处)
  • 命令别名设置功能(alias)
  • 作业控制、前台、后台控制(job control、foreground、background)
  • 脚本程序(shell script)
  • 通配符

bash shell的内置命令:type

[root@www ~] #type [-tpa] name
参数:
type:不加任何参数是,type会显示出name是外部命令还是bash内置命令
-t:当加入-t参数时,type会将下面这些字眼显示出它的意义
  file:表示为外部命令
  alias:表示该命令为命令别名所设置 的名称
  builtin:表示该命令为bash内置的命令功能
-p: 如果后面接的name为外部命令时,才会显示完整文件名;
-a:会由PATH变量定义的路径中,将所有含name的命令都列出来,包括alias

变量的显示与设置:echo,unset

  • 变量的显示:echo

     利用echo读出变量内容,只需要在变量前面加上$,或者是${变量}

  • 变量的设置规则
     1. 变量与变量的内容以一个“=”来连接
     “myname=VBird”
    
     2. 等号两边不能直接接空格符
     3. 变量名只能是英文与数字,但是开头字符不能是数字
     4. 变量内若有空格符可以使用双引号或单引号将变量内容结合起来
     “双引号输出变量内的内容,单引号为原样输出”
    
     5. 可用转义字符\将特殊符号变成一般字符
     6. 在一串命令中,还需要通过其他命令提供的信息,可以使用饭单引号`命令`或$(命令)
     7. 若该变量为了增加变量内容时,则可用“ 变量名称”或 变量名称”或 变量名称{变量}累加内容
     “PATH="$PATH":/home/bin”
    
     8. 若该变量需要在其他子进程执行,则需要以export来使变量变成环境变量
     “export PATH”
    
     9. 通常大写字符为默认系统变量,自行设置变量可以使用小写字符,方便判断
     10. 取消变量的方法为使用“unset 变量名称”

    环境变量的功能

  • 用env查看环境变量与 常见环境变量说明
  • 用set查看所有环境变量(含环境变量与自定义变量)
    • PS1 (提示符设置,这里是数字1)
      在这里插入图片描述

    • $(关于本shell的PID):代表目前这个Shell的线程代号。使用“echo $$”即可查看

    • ?(关于上个执行命令的回传码):是上一个执行命令所传回的值。当我们执行某些命令时,这些命令都会回传一个执行后的代码。一般来说,如果成功执行该命令,则会回传一个0值,如果执行过程发生错误,就会回传“错误代码”
      在这里插入图片描述

    • export:自定义变量转环境变量

变量键盘读取、数组与声明:read、array、declare

  • read:读取来自键盘输入的变量

     [root@localhost ~]#read [-pt] variable
     参数:
     -p:后面可以接提示符
     -t:后面可以接等待的“秒数”。不会让用户一直等待
    在这里插入图片描述

  • declare/typeset:声明变量的类型

与文件系统及程序的限制关系:ulimit

  • 可以限制用户的某些系统资源,包括可以打开的文件数量、可以使用的CPU时间、可以使用的内存总量等

通配符与特殊符号

符号意义
*代表0到无穷多个任意字符
代表一定有一个任意字符
[]同样代表一定有一个在中括号内的字符(非任意字符)。例如[abc]代表一定有一个字符,可能是a、b、c、d这四个任何一个
[-]若有减号在中括号内时,代表在编码顺序内的所有字符。例如[0-9]代表0到9之间的所有数据
[^]若中括号内的第一个字符为指数符号(^),吧那表示原向选择,例如[^abc]代表一定有一个字符,只要是非a、b、c、d的其他字符

变量内容的删除、替代与替换

变量的设置方式说明
${变量#关键字}若变量内容从头开始的数据符合“关键字”,则将符合的最短数据删除
echo ${PATH#/*kerberos/bin:}
${变量##关键字}若变量内容从头开始的数据符合“关键字”,则将符合的最长数据删除
${变量%关键字}若变量内容从尾向前的数据符合“关键字”,则将符合的最短数据删除
${变量%%关键}若变量内容从尾向前的数据符合“关键字”,则将符合的最长数据删除
${变量/旧字符串/新字符串}若变量内容符合“旧字符串”,则第一个旧字符串会被新字符串替换
${变量//旧旧字符串/新字符串}若变量内容符合“旧字符串”,则全部的旧字符串会被新字符串替换
命令执行的判断依据
命令执行情况说明
cmd1 && cmd2若cmd1执行完毕且正确执行($?=0),则开始执行cmd2;
若cmd1执行完毕且为错误($?≠0),则cmd2不执行
cmd1 || cmd2若cmd1执行完毕且正确执行($?≠0),则开始执行cmd2;
若cmd1执行完毕且为错误($?=0),则cmd2不执行

选取命令:cut、grep

  • 这个命令可以将以短信向的某一段“切”出来,处理信息以“行”为单位
      [root@www ~]# cut -d’分割字符’ -f fields (用于分割字符)
      [root@www ~]# cut -c 字符范围 (用于排列整我的信息)
    在这里插入图片描述

排序命令:sort、wc、uniq

  • sort:排序,可以依据不同的数据类型排序
  • uniq:将重复的行删除只显示一个
  • wc:计算输出的信息的整体数据(文件里多少字,多少行,多少字符)

双重定向tee:就是同时将数据流输出到文件与屏幕

字符转换命令:tr、col、join、paste、expand

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值