Shell_3_文件描述符
在 shell 中执行命令时,每个进程都会和三个打开的文件相联系,并使用文件描述符来引用这些文件。
由于文件描述符不容易记忆, shell 同时也给出了相应的文件名
例如:
2>&1
表示把2
标准错误输出 重新输出到文件描述符1
(即标准正确输出)中
command<&n
把文件描述符n
作为标准输入
command >&n
把标准输出重定向到文件描述符中
exec n<&-
关闭文件描述符 n
Shell_4_正则表达式RE
特殊符号
重点记忆
[:alnum] 代表所以的大小写英文字符和数字 0-9 A—Z a-z
[:alpha:] 代表任意英文大小写字符 A-Z a-z
[:lower:] 代表小写字符 a-z
[:upper:] 代表大写字符 A-Z
[:digit:] 代表数字 0 - 9
RE字符
进阶 grep
grep -A n 把匹配成功行之后的n行也同时列出
grep -B n 把匹配成功行之前的n行也同时列出
grep -C n 把匹配成功 前后 的n行也同时列出
范例:
显示
/etc/passwd
含有[root@e9818e4ea8b3 ~]# grep mail -B 2 -A3 /etc/passwd shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/halt mail:x:8:12:mail:/var/spool/mail:/sbin/nologin operator:x:11:0:operator:/root:/sbin/nologin games:x:12:100:games:/usr/games:/sbin/nologin ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
只显示匹配到的字符
grep -o 'nologin' /etc/passwd
加上统计数量
grep -o -c 'nologin' /etc/passwd
只要文件名
grep -l 'nologin' /etc/passwd
递归查找,就是在一个目录下查找
grep -r 'nologin' /etc/
搜索 test 或 taste
grep -n 't[ae]st' file1
搜索 oo 但其前面不要有g
grep -n '[^g]oo' file1
正则表达式规则可以有很多衍生,多练习慢慢领会
扩展正则
支持扩展正则的工具
grep -e
egrep
sed
awk