1.4shell中的特殊符号 * 通配符,可以指定多个字符 ? 单个字符通配符 # 注释符号,使其后内容无效
\ 脱义符,可以取消后面跟的符号定义(如,需要创建一个文件名为 #12.txt 的文件,直接创建
touch #12.txt会不识别参数,这时则必须加上\,即 touch \#12.txt)
| 管道符,经常会用到,就是将前面的命令结果掉给后面的命令执行
$ 个人理解为声明符,用来向系统解释参数,比如 echo $a 声明需要显示变量的值, !$ 声明使用上条命令的最后一个参数。
; 分割符,如果想要将多条命令写入一行,或者一条命令写入多个参数,则都需要用 ; 将命令或者参数隔开,好让机器识别。
~ 根目录符号,直接代表根目录 & 调入后台执行,如命令 sleep 100 & 回车后会直接调入后台继续执行到结束 [ ] 用来划分区间,如 ls [1-5].txt 则会列出文件夹中文件名是在1-5区间数字后缀为 .txt 的文件
PS:Linux特殊符号大全http://www.aminglinux.com/bbs/thread-7720-1-1.html
1.5cut命令
截取的意思,可以要求截取显示每一行对应要求的数据,主要用到的参数就是 -d -f -c
-d 指定分割符号 -f 指定显示段,一般和-d 一起使用
-c 指定显示字符段
举例: cut -d: -f 3,5 /etc/passwd #就是显示/etc/passwd 文件中每行以:分开的,第3和第5段内容
cut -c 5-9 /etc/passwd #就是显示 /etc/passwd 文件中每行第五到第九个字符的内容
-c和-d/-f 是不能一起使用的,没法定义要求。
1.6sort 命令
sort是用来排序的,则默认ASCII码排序或字母排序,主要参数: -t -k -n -r -u
-t 指定分割符号 -k 定义区间 -n 纯数字排序,默认从小到大,特殊符号<字母<数字
-r 反序排列 -u 去重复排列,默认字母和特殊符号都为0,只会显示一个
举例:sort -t: -k3,5 1.txt 将1.txt文件中以:间隔的内容,从第三段到第五段排序显示;
sort -nur 1.txt. 将1.txt文件内容以纯数字去重复反序排列显示。
1.7wc 命令wc是用来列出统计内容的,主要参数有 -l -w -m
-l 统计文档行数,可以跟多个文档,不仅会列出各文档的行数,也会直接统计各文档行数总和
-w 统计文档中单词个数,是以空格为间隔识别的
-m 统计文档中字符个数,包括空格字符和回车字符
1.8uniq和tee命令
uniq用来取出重复项,与 sort -u 选项用处一样,不过只能识别连续的重复项,如果要识别全部文档,则必须先用sort排序一下,而且 uniq 有个 -c 选项,可以列出每一项的个数,如
uniq 1.txt 只能识别并连续的重复项;
sort 1.txt |uniq -c 这样先排序再去除,就可以去除全部重定向,并且列出每一项的个数
tee命令用来重定向文件,作用同 > ,两者区别就是tee是命令,且可以显示出重定向内容,
http://file:///C:/Users/Administrator/AppData/Local/YNote/data/18021050721@163.com/73c013ad60e5453c8f84fa87642aef74/clipboard.png
tee只可以正确输出,不能错误输出的!
1.9 tr和split命令
tr命令是临时替换输出到屏幕上,不会更改文件,并且前后一一对应:http://file:///C:/Users/Administrator/AppData/Local/YNote/data/18021050721@163.com/ff39189457d74e85b9a1550d80be3223/clipboard.png
split命令是用来分割大文件便于查看处理等,选项:-l 按行分割;-b 按大小分割(默认单位是b,可以指定单位,如 split -b 100m log.txt);分割后自动生成以x开头的多个文件,也可以制定名字,如:
http://file:///C:/Users/Administrator/AppData/Local/YNote/data/18021050721@163.com/c734da47820b4bdc9d0e2e42ca806fa1/clipboard.png
2.0 shell中连接符(并且、和、或者)
多条命令连接,逻辑判断符号: && 并,当左边的命令执行成功后,继续执行右边命令;
|| 或,当左边的命令执行不成功,才会执行右边的命令;
; 和,无论左边命令执行成功与否,都会继续执行右边的命令。
例:
[root@qlxlinux ~]# ls 10.txt || ls 1.TXT && echo "success"
ls: 无法访问10.txt: 没有那个文件或目录
1.TXT
success
[root@qlxlinux ~]#
注: || 这个连接符左边任何一个成功就不执行右边的命令。
\ 脱义符,可以取消后面跟的符号定义(如,需要创建一个文件名为 #12.txt 的文件,直接创建
touch #12.txt会不识别参数,这时则必须加上\,即 touch \#12.txt)
| 管道符,经常会用到,就是将前面的命令结果掉给后面的命令执行
$ 个人理解为声明符,用来向系统解释参数,比如 echo $a 声明需要显示变量的值, !$ 声明使用上条命令的最后一个参数。
; 分割符,如果想要将多条命令写入一行,或者一条命令写入多个参数,则都需要用 ; 将命令或者参数隔开,好让机器识别。
~ 根目录符号,直接代表根目录 & 调入后台执行,如命令 sleep 100 & 回车后会直接调入后台继续执行到结束 [ ] 用来划分区间,如 ls [1-5].txt 则会列出文件夹中文件名是在1-5区间数字后缀为 .txt 的文件
PS:Linux特殊符号大全http://www.aminglinux.com/bbs/thread-7720-1-1.html
1.5cut命令
截取的意思,可以要求截取显示每一行对应要求的数据,主要用到的参数就是 -d -f -c
-d 指定分割符号 -f 指定显示段,一般和-d 一起使用
-c 指定显示字符段
举例: cut -d: -f 3,5 /etc/passwd #就是显示/etc/passwd 文件中每行以:分开的,第3和第5段内容
cut -c 5-9 /etc/passwd #就是显示 /etc/passwd 文件中每行第五到第九个字符的内容
-c和-d/-f 是不能一起使用的,没法定义要求。
1.6sort 命令
sort是用来排序的,则默认ASCII码排序或字母排序,主要参数: -t -k -n -r -u
-t 指定分割符号 -k 定义区间 -n 纯数字排序,默认从小到大,特殊符号<字母<数字
-r 反序排列 -u 去重复排列,默认字母和特殊符号都为0,只会显示一个
举例:sort -t: -k3,5 1.txt 将1.txt文件中以:间隔的内容,从第三段到第五段排序显示;
sort -nur 1.txt. 将1.txt文件内容以纯数字去重复反序排列显示。
1.7wc 命令wc是用来列出统计内容的,主要参数有 -l -w -m
-l 统计文档行数,可以跟多个文档,不仅会列出各文档的行数,也会直接统计各文档行数总和
-w 统计文档中单词个数,是以空格为间隔识别的
-m 统计文档中字符个数,包括空格字符和回车字符
1.8uniq和tee命令
uniq用来取出重复项,与 sort -u 选项用处一样,不过只能识别连续的重复项,如果要识别全部文档,则必须先用sort排序一下,而且 uniq 有个 -c 选项,可以列出每一项的个数,如
uniq 1.txt 只能识别并连续的重复项;
sort 1.txt |uniq -c 这样先排序再去除,就可以去除全部重定向,并且列出每一项的个数
tee命令用来重定向文件,作用同 > ,两者区别就是tee是命令,且可以显示出重定向内容,
http://file:///C:/Users/Administrator/AppData/Local/YNote/data/18021050721@163.com/73c013ad60e5453c8f84fa87642aef74/clipboard.png
tee只可以正确输出,不能错误输出的!
1.9 tr和split命令
tr命令是临时替换输出到屏幕上,不会更改文件,并且前后一一对应:http://file:///C:/Users/Administrator/AppData/Local/YNote/data/18021050721@163.com/ff39189457d74e85b9a1550d80be3223/clipboard.png
split命令是用来分割大文件便于查看处理等,选项:-l 按行分割;-b 按大小分割(默认单位是b,可以指定单位,如 split -b 100m log.txt);分割后自动生成以x开头的多个文件,也可以制定名字,如:
http://file:///C:/Users/Administrator/AppData/Local/YNote/data/18021050721@163.com/c734da47820b4bdc9d0e2e42ca806fa1/clipboard.png
2.0 shell中连接符(并且、和、或者)
多条命令连接,逻辑判断符号: && 并,当左边的命令执行成功后,继续执行右边命令;
|| 或,当左边的命令执行不成功,才会执行右边的命令;
; 和,无论左边命令执行成功与否,都会继续执行右边的命令。
例:
[root@qlxlinux ~]# ls 10.txt || ls 1.TXT && echo "success"
ls: 无法访问10.txt: 没有那个文件或目录
1.TXT
success
[root@qlxlinux ~]#
注: || 这个连接符左边任何一个成功就不执行右边的命令。
编辑回复