1、显示/etc目录下所有以l开头,以一个小写字母结尾,且中间出现至少一位数字的文件或目录
ls -d /etc/|[[:digit:]][[:lower:]]
2、显示/etc目录下以任意一位数字开头,且以非数字结尾的文件或目录
ls -d /etc/[[:digit:]]*[1]
3、显示/etc/目录下以非字母开头,后面跟了一个字母及其它任意长度任意字符的文件或目录
ls -d /etc/[2][[:alpha:]]*
4、显示/etc/目录下所有以rc开头,并后面是0-6之间的数字,其它为任意字符的文件或目录
ls -d /etc/rc[0-6]*
5、显示/etc目录下,所有.conf结尾,且以m,n,r,p开头的文件或目录
ls -d /etc/[mnrp]*.conf
6、只显示/root下的隐藏文件和目录
ls -a -I “[^.]*” /root
7、只显示/etc下的非隐藏目录
ls -d /etc/*/
8、每天将/etc/目录下所有文件,备份到/data独立的子目录下,并要求子目录格式为 backupYYYYmm-dd,备份过程可见
cp -av /etc/ /data/backup
date +%F
9、创建/data/rootdir目录,并复制/root下所有文件到该目录内,要求保留原有权限
cp -a /root/ /data/rootdir
10、 如何创建/testdir/dir1/x, /testdir/dir1/y, /testdir/dir1/x/a, /testdir/dir1/x/b, /testdir/dir1/y/a, /testdir/dir1/y/b
mkdir -pv /testdir/dir1/{x/{a,b},y/{a,b}}
11、 如何创建/testdir/dir2/x, /testdir/dir2/y, /testdir/dir2/x/a, /testdir/dir2/x/b
mkdir -pv /testdir/dir2/{x/{a,b},y}
12、如何创建/testdir/dir3, /testdir/dir4, /testdir/dir5, /testdir/dir5/dir6, /testdir/dir5/dir7
mkdir -pv /testdir/dir{3,4,5/dir{6,7}}
13、将/etc/issue文件中的内容转换为大写后保存至/tmp/issue.out文件中
tr -s ‘a-z’ ‘A-Z’ < /etc/issue > /tmp/issue.out
14、将当前系统登录用户的信息转换为大写后保存至/tmp/who.out文件中
who | tr -s ‘a-z’ ‘A-Z’ > /tmp/who.out
15、一个linux用户给root发邮件,要求邮件标题为”help”,邮件正文如下: Hello, I am 用户名,The system version is here,please help me to check it ,thanks! 操作系统版本信息
mail -s help root@centos8.kobe.org <<EOF
Hello,I am kobe.The system version is here,please help me to check it,thanks!操作系统版本信息
EOF
16、将/root/下文件列表,显示成一行,并文件名之间用空格隔开
ls /root/ | tr ‘\\n’ ’ ’
17、计算1+2+3+…+99+100的总和
seq -s + 1 100 | bc
echo {1…100} | tr -s ’ ’ + | bc
18、删除Windows文本文件中的回车字符 ,即“\\r”
cat windows.txt | tr -d ‘\\r’ > windows2.txt
19、处理字符串“xt.,l 1 jr#!$mn 2 c*/fe 3 uz 4”,只保留其中的数字和空格
echo “xt.,l 1 jr#’[[:alpha:]]\’mn 2 c*/fe 3 uz 4” | tr -d ‘[[:alpha:]][[:punct:]]’
20、将PATH变量每个目录显示在独立的一行
echo $PATH | tr -s ‘:’ ‘\\n’
21、将指定文件中0-9分别替代成a-j
tr [0-9] [a-j] < test
22、将文件/etc/centos-release中每个单词(由字母组成)显示在独立一行,并无空行
cat /etc/centos-release | tr -d “[0-9].*” | tr -s ’ ’ ‘\\n’
-
:digit: ↩︎
-
:alpha: ↩︎