globbing: 文件名通配
匹配模式:元字符
*:匹配任意长度的任意字符
pa* ,*pa* ,*pa, *p*a*
pa, paa, passwd
?: 匹配任意单个字符
pa?
pa, paa 符合 passwd不符
[]:匹配指定范围内的任意单个字符
有几种特殊格式; [a-z],[A-z],[a-z0-9]
[[:upper:]]所有大写字母
[[:lower:]]:所有小写字母
[[:alpha:]]:所有字母
[[:digit]]:所有数字
[[:alnum:]]:所有字母和数字
[[punct:]]:所有标点符号
pa[0-9][0-9],z[0-9][0-9]
[^]:匹配指定范围外的任意单个字符
[^[:upper:]]:大写字母以为的任意字符
[^0-9]
[^[:alnum:]]
练习一:显示/var目录所有以1开头,以一个小写字母结尾,且中间出现一位任意字符的文件或目录
ls -d /var/?[[:lower:]]
练习二:显示/etc目录下,以任意一位数字开头,且以非数字结尾的文件或目录:
ls -d /etc/[0-9]*[^0-9]
练习三:显示/etc目录下,以非字母开头,后面跟一个字母及其他任意长度任意字符符文件或目录
ls -d/etc/[^a-z][a-z]*
练习四:复制/etc目录下,所有以m开头,以非数字结尾的文件或目录至/tmp/magedu.com 目录下;
rm /etc/8eabc
cp -r /etc/m*[*0-9] /tmp/magedu.com 练习五:复制/usr/share/man 目录下,所有以man开头,后跟一个数字结尾的文件或目录至/tmp/man/目录下:
cp -r /usr/share/man/man[0-9] /tmp/man/
练习6:复制/etc目录下,所有以.conf结尾,且以m,n,r,p开头的文件或目录至/tmp/conf.d/目录下;
cp -r /etc/[mnrp]*.conf /tmp/conf.d/
IO重定向及管道
程序:指令+数据
程序:IO
可用输入的设备:文件
键盘设备,文件系统上的常规文件,网卡等;
可输出设备:文件
显示器,文件系统上的刹那贵文件,网卡等;
程序是数据流有三种:
输入的数据流:<—-标准输入(stdin),键盘
输出的数据流,——->标准输出 显示器
fd:file descriptor, 文件描述符
标准输入:0
标准输出:1
错误输出:2
IO 重定向:
输出重定向:>
特性:覆盖输出 危险!!
输出重定向》 特性:追加输出
# set -c
禁止覆盖输出重定向至已存在的文件
# set +c
关闭上述特性
错误输出流重定向:2>, 2>>
合并正常输出流和错误输出流,(1) &>,&>>
(2)COMMAND >/path/to/somefile z>&1
COMMAND >> /path/to/somefile 2>&
特殊设备:/dev/null
输入重定向:<
tr [OPTION]….SET1 [SET2]
把输入的数据当中的字符,凡是在SET1定义范围内出现的,通通对位转换为SET2出现的字符
tr abc ABC
用法1: tr SET1 SET2 < /PATH/FROM/SOMEFILE
用法2: tr -d SET1 < /PATH/FROM/SOMEFILE
注意:不修改源文件
Here Document:<<
cat << EOF
cat > /PATH/TO/SOMEFILE << EOF
管道:连接程序,实现将前一个面临的输出直接定向后一个程序当作输入数据流
COMMAND1 | COMMAND2 | COMMAND3|……
tee命令:
COMMAND | tee / PATH/TO/SOMEFILE
练习1:把/etc/passwd文件的前6行的信息转换为大写字符后输出
head -n 6 /etc/passwd | tr 'a-z' 'A-Z'
命令总结 trtee
原创文章,作者:shadow,如若转载,请注明出处:http://www.178linux.com/64441