小c学Linux(2)--Linux的bash特性

 小c我好久没有见到小L哥哥啦,今天专门去他家,看看他在做什么。

  咦,门怎么关着?还是走后门吧!

  小哥哥在打坐,这是在练什么武功呀?它欢快的跟我打了一声招呼,又闭上了眼睛,他说他在练bash大法!我问他bash是啥子个东西,他叫我先喝杯茶,慢慢解释给我听。

  bash是shell的一种,常见的shell有:sh,bash,csh,ksh,zsh等等。那什么又是shell呢?shell是用户和Linux操作系统之间的接口,是一种命令解析器,能够识别各种命令

而bash就是其中的一种啦!那shell都有什么功能呢?

  bash 常用特性

1. 命令行扩展:~,{,}

2. tab键自动补全:文件名/文件路径

3. history: 命令历史

4. alias: 命令别名

5. 命令引用:

                ' '单引号:强引用

                “”双引号:弱引用

                ` `: 命令引用

6. 快捷键:

            Ctrl+a:跳转到当前命令最前面

            Ctrl+e:跳转到当前命令最末尾

            Ctrl+u:删除光标至行首内容

            Ctrl+k:删除光标至行尾

7. 通配符:

            *:匹配任意字符

            ?:匹配任意单个字符

            [0-9]:匹配范围内单个字符

            [^a-z]:匹配范围外的单个字符

bash 编程特性

1. 变量:

        环境变量:export varName=VALUE    作用域:当前shell进程及其子进程

        本地变量:set varName=VALUE    作用域:当前shell进程

        局部变量:local varName=VALUE    作用域:当前代码段

        位置变量:$1, $2, $3 .....

        特殊变量:

                     $?:上一个命令的状态返回值

        撤销变量:unset varName

2. 语法

        顺序

        分支

        循环

bash 子给自足

1. type COMMAND:查看命令类型

2. which COMMAND: 查看命令存放位置

3. help COMMAND:内嵌命令详解

4. man COMMAND:外部命令详解

bash 系统类命令

1.  shutdown  [-r 重启]  [ -h 关机] [+time]

2. reboot, half, poweroff

3. date [+format] : 显示日期/设置日期

4. cal : 日历类

bash 处理文本的命令

1. wc  [ -l 行数 ] [ -w 单词 ]  [ -c 字节 ]  /path/to/file    : 用于计算file文件中的行数,单词数,字节数

2. tr [list1]  [list2]  /path/to/file :将file中的list1出现的字符换成list2中的字符

3. cut -d: -f[1-9]  /path/to/file :将file中的文件以‘:’分组,取出第[1-9]个字段

4. sort [-f 忽略大小写]  [-n 按数值排序]  [-u 重复的行只出现一次]  -t:  -k[1-7]  /path/to/file :将file文件以:分组,取[1-7]字段进行排序

5. uniq [-c 行首显示改行的次数]  [-d 仅显示重复行]  [-u 重复的行只出现一次]

6. grep [-e 扩展的正则表达式 ]  "pattern" /path/to/file :查找file文件中包含“pattern”字符串的行,pattern是一种模式(正则表达式)

        -v : 显示不匹配的行            -o : 仅显示匹配到的字符串

        -I : 不区分大小写                -A # : 匹配到行的下#行一起显示   (-B 上 |  -C上下#行 )

7. sed [-n 静默模式,不输出模式空间中的内容] [-r 扩展正则] [-f 读取sed脚本]  "/pattern1/[d 删除命令][i \text 在后面追加文本] [a \text 在前面追加文本]  "s/查找/替换/[g 全局]"  /path/to/file  : 不处理原文件,只处理副本

8. awk [-F:指定分隔符]     'BEGIN {处理之前的动作}  { 表达式语句;print $1 "," $2}  END{处理之后的动作}'

9. bash伪随机数生成器:$RANDOM%10 = 10以内的整数

bash 文件测试

        -a:逻辑与

        -o:逻辑或

        !:逻辑非

        &&,||

        文件的类型:-f 普通文件,  -d 目录文件,-h 链接文件,设备文件(-b 块,-c 字符),-S 套接字文件,-p 管道文件

        -e file : 测试文件是否存在

        -r /w /x : 测试文件是否有读/写/执行权限

        -z file_name:文件长度=0

        -n file_name:文件长度不为0

        -s file_name:文件大小非0为真

例子: 如果某个文件不存在就创建它

    [ -e fileName ] || mkdir $fileName

哇哦,听了L小哥哥的解释,顿时又对他崇拜了起来,他咋这么厉害呢,希望他能修炼神功,带我飞!


说明:纯属个人学习编造

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值