管道命令使用的是“|”这个界定符号less
管道命令“|”仅能处理经由前面一个命令传来的正确信息,也就是standard output的信息,对于standard error并无直接处理的能力spa
每一个管道后面接的第一个数据一定是“命令”,并且这个命令必需要可以接受 standrad input的数据才行,这样的命令才能够是“管道命令”。例如 less,more,head,tail等均可以接受standard input的管道命令。至于ls,cp,mv等就不是管道命令了ip
也就是说管道命令主要有两个比较须要注意的地方:ci
管道命令仅会处理standard output,对于standard error output 会予以忽略字符串
管道命令必需要可以接受来自前一个命令的数据成为standard input继续处理才行input
选取命令:cut,greppip
选取命令就是将一段数据通过分析后,取出咱们所想要的,或者是经由分析关键字,取得咱们所想要的那一行。须要注意,通常来讲,选取信息一般是针对“行”来分析的,并非整片信息分析ast
cutfile
cut -d ’分割字符’ -f fields 用于分割字符语法
cut -c 字符范围 用于排列整齐的信息
参数:
-d:后面接分割字符,与-f一块儿使用
-f:依据-d的分割字符将一段信息切割成为数段,用-f取出第几段的意思
-c:以字符(characters)的单位取出固定字符区间、
例如
root@DESKTOP-J295FSF:/mnt/c/Users/vivi# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
root@DESKTOP-J295FSF:/mnt/c/Users/vivi# echo $PATH |cut -d ':' -f 5
/sbin
root@DESKTOP-J295FSF:/mnt/c/Users/vivi# echo $PATH |cut -d ':' -f 3,5
/usr/sbin:/sbin
root@DESKTOP-J295FSF:/mnt/c/Users/vivi# export
declare -x HOME="/root"
declare -x HOSTTYPE="x86_64"
declare -x LANG="en_US.UTF-8"
declare -x LESSCLOSE="/usr/bin/lesspipe %s %s"
declare -x LESSOPEN="| /usr/bin/lesspipe %s"
declare -x LOGNAME="root"
root@DESKTOP-J295FSF:/mnt/c/Users/vivi# export|cut -c 12-
HOME="/root"
HOSTTYPE="x86_64"
LANG="en_US.UTF-8"
LESSCLOSE="/usr/bin/lesspipe %s %s"
LESSOPEN="| /usr/bin/lesspipe %s"
LOGNAME="root"
grep
cut是在一行信息当中取出某部分咱们想要的,而grep则是分析一行信息,若当中有咱们所须要的信息,就将该行拿出来,语法是这样的
grep [-acinv] [--color-auto] ‘查找字符串’ filename
-a:将binary文件以text文件的方式查找数据
-c:计算找到‘查找字符串’的次数
-i:忽略大小写的不一样,因此大小写视为相同
-n:顺便输出行号
-v:反向选择,即显示出没有‘查找字符串’内容的那一行
--color=auto:能够将找到的关键字部分加上颜色显示
root@DESKTOP-J295FSF:/mnt/c/Users/vivi# last| grep 'root'
root@DESKTOP-J295FSF:/mnt/c/Users/vivi# last| grep -v 'root'
root@DESKTOP-J295FSF:/mnt/c/Users/vivi# grep --color=auto 'stop' catfile
ok now stop