1.命令执行的判断依据:
第一种是不考虑命令相关性的连续命令执行:
cmd1 ; cmd2
这表示命令cmd1执行完了之后,执行cmd2;
第二种是命令之间具有依赖性: && ||
若两个命令之间具有依赖性,则需要命令来判断前一个命令是否正确,若前一个命令是正确的,则在linux下面会回传一个$?=0 的值,
cmd1 && cmd2 :
分两种情况:若cmd1执行完毕且执行正确($?=0),则开始执行cmd2
若cmd1执行完毕且执行错误($?!=0),则cmd2不执行
cmd1 || cmd2 :
分两种情况:若cmd1执行完毕且执行正确($?=0),则cmd2不执行
若cmd1执行完毕且执行错误($?!=0),则开始执行cmd2
管道命令(pipe):
举个例子说明一下管道命令:假设我们想知道 /etc/下有多少个文件,那么可以用ls/etc 来查阅,不过因为/etc 下面的文件太多,导致一口气就将屏幕塞满了,不知道前面输出的内容是什么,此时我们可以通过less 命令的协助,利用: ls -al /etc | less
如此以来,使用ls命令输出后的内容就能够被less读取,并且利用less的功能,我们就能够翻动相关的信息了。
" | "这个管道命令就是将前一个命令的正确输出作为后一个命令的输入,但是如果输出是错误的,将没有执行功能!
选取命令: cut , grep
cut用来处理每一行的信息
cut -d '分割字符' -f fields (fields表示第几个)
此命令的意思是 将一行按照分割字符进行分割,然后选出第几个
cut -c 字符范围
此命令表示将每一行选出字符范围内的信息
echo $PATH | cut -c 12- 表示从第12个字符开始展示信息
"cut" 用途是从一行信息中取出某部分我们想要的,而grep则是分析一行信息
grep [-acinv] [--color=auto] '查找字符串' filename
参数:
-a 将二进制文件以text文件的方式查找数据
-c 计算找到'查找字符串' 的次数
-i 忽略大小写的不同
-n 顺便输出行号
-v 显示出没有“字符串”的那一行
--color=auto :可以将找到的关键字部分加上颜色显示
last | grep 'root' 将last当中有出现root的那一行取出来
last | grep 'root' | cut -d ' ' -f 1 将last当中有出现root的那一行取出,并且仅取第一列
grep --color=auto 'MANPATH' /etc/man.config 将文件/etc/man.config下含有字符串'MANPATH'取出,并加上颜色
排序命令 sort
-f 忽略大小写
-b 忽略前面空格
-n 使用纯数字来进行排序
-r 反向排序(升序还是降序)
-u 相同的数据仅出现一次
-t 分割符
-k 以那个区间进行排序
wc 用来记录文件里有多少字,多少行
(cat /etc/b.txt | wc)