1、将/etc/issue文件中的内容转换为大写后保存至/tmp/issue.out文件中
# tr ‘a-z’ ‘A-Z’ < /etc/issue > /tmp/issue.out
# tr ‘[:lower:]’ ‘[:upper:]’ < /etc/issue > /tmp/issue.out
# cat /etc/issue | tr ‘a-z’ ‘A-Z’ > /tmp/issue.out
2、将当前系统登录用户的信息转换为大写后保存至/tmp/who.out文件中
# who | tr ‘a-z’ ‘A-Z’ > /tmp/who.out
3、一个linux用户给root发邮件,要求邮件标题为”help”,邮件正文如下:
Hello, I am 用户名,The system version is here,please help me to check it ,thanks!
操作系统版本信息
# mail -s “help” root << EOF
Hello, I am $USER, The system version is here,please help me to check it ,thanks!
OS version: `lsb_release -a`
EOF
4、将/root/下文件列表,显示成一行,并文件名之间用空格隔开
# ls /etc | tr ‘\n’ ‘ ‘ |tr -s ‘ ‘
5、计算1+2+3+..+99+100的总和
# echo {1..100} | tr ‘ ‘ ‘+’ | bc
# seq -s ‘+’ 100 | bc
6、删除Windows文本文件中的‘^M’字符
# tr -d ‘\15’ win.txt
7、处理字符串“xt.,l 1 jr#!$mn 2 c*/fe 3 uz 4”,只保留其中的数字和空格
# echo ‘xt.,l 1 jr#!$mn 2 c*/fe 3 uz 4’ | tr -dc ‘[:alnum:]’
8、将PATH变量每个目录显示在独立的一行
# echo $PATH |tr ‘:’ ‘\n’
9、将指定文件中0-9分别替代成a-j
# tr ‘0-9’ ‘a-j’ < fil1.txt
10、将文件/etc/centos-release中每个单词(由字母组成)显示在独立的一行,并无空行
# tr -s ‘ ‘ ‘\n’ < /etc/centos-release
11、创建用户gentoo,附加组为bin和root,默认shell为/bin/csh,注释信息为”Gentoo Distribution”
# useradd -G bin,root -s /bin/csh -c “Gentoo Distribution” gentoo
12、创建下面的用户、组和组成员关系
名字为webs 的组
# groupadd webs
用户nginx 使用webs 作为附属组
# useradd -G webs nginx
用户varnish,也使用webs 作为附属组
# useradd -G webs varnish
用户mysql,不可交互登录系统,且不是webs 的成员,nginx,varnish,mysql密码都是magedu
# useradd -r mysql
# echo “magedu” | passwd –stdin nginx
# echo “magedu” | passwd –stdin varnish
# echo “magedu” | passwd –stdin mysql
13、显示当前时间,格式:2016-06-18 10:20:30
# date “+%F %T”
14、显示前天是星期几
# date -d ‘-2 day ‘ +%A
15、设置当前日期为2019-08-07 06:05:10
# date 080706052019.10 (格式: 月日时分年.秒)
16、在本机字符终端登录时,除显示原有信息外,再显示当前登录终端号,主机名和当前时间
# who am i (whoami只显示登录用户)
17、今天18:30自动关机,并提示用户
# shutdown -h 18:30 “The system will be shutdown at 18:30”
18、显示/var目录下所有以l开头,以一个小写字母结尾,且中间出现至少一位数字的文件或目录
# ls -d /var/l*[[:digit:]]*[[:lower:]]
19、显示/etc目录下以任意一位数字开头,且以非数字结尾的文件或目录
# ls -d /etc/[0-9]*[^0-9]
# ls -d /etc/[[:digit:]]*[^[:digit:]]
20、显示/etc/目录下以非字母开头,后面跟了一个字母及其它任意长度任意字符的文件或目录
# ls -d /etc/[^[:alpha:]][[:alpha:]]*
21、显示/etc/目录下所有以rc开头,并后面是0-6之间的数字,其它为任意字符的文件或目录
# ls -d /etc/rc[0-6]*
22、显示/etc目录下,所有以.d结尾的文件或目录
# ls -d /etc/*.d
23、显示/etc目录下,所有.conf结尾,且以m,n,r,p开头的文件或目录
# ls -d /etc/[mnrp]*.conf
24、只显示/root下的隐藏文件和目录
# ls -d .*
25、只显示/etc下的非隐藏目录
# ls -d /etc/*/
26、定义别名命令baketc,每天将/etc/目录下所有文件,备份到/app独立的子目录下,并要求子目录格式为backupYYYY-mm-dd,备份过程可见
# alias baketc=’cp -av /etc/ /app/backup`date +%F`’
27、创建/app/rootdir目录,并复制/root下所有文件到该目录内,要求保留原有权限
# mkdir -p /app/
# cp -a /root/ /app/rootdir
28.如何创建/testdir/dir1/x, /testdir/dir1/y, /testdir/dir1/x/a, /testdir/dir1/x/b, /testdir/dir1/y/a, /testdir/dir1/y/b
# mkdir -pv /test/dir1/{x,y}/{a,b}
29.如何创建/testdir/dir2/x,/testdir/dir2/y,/testdir/dir2/x/a,/testdir/dir2/x/b
# mkdir -pv /testdir/dir2/{x/{a,b},y}
30.如何创建/testdir/dir3, /testdir/dir4, /testdir/dir5, /testdir/dir5/dir6, /testdir/dir5/dir7
# mkdir -pv /testdir/dir{3,4,5/dir{6,7}}
本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/94825