Linux 第四天: (07月28日) 练习和作业

Linux 第四天: (07月28日) 练习和作业

 

 

 

 

定义别名命令baketc, 每天将/etc/目录下所有文件, 备份到/testdir独立的子目录下, 并要求子目录格式为backupYYYY-mm-dd, 备份过程可见

alias baketc='cp -a /etc/ /testdir/backup~date +%F~'

 

 

2 创建/testdir/rootdir目录并复制/root所有文件到该目录, 要求保留原有权限

cp -R –preserv=mod /root testdir/rootdir

 

如何创建/testdir/dir1/x,/testdir/dir1/y,
/testdir/dir1/x/a,/testdir/dir1/x/b,
/testdir/dir1/y/a,/testdir/dir1/y/b,

mkdir -p /testdir/dir1/{x,y}/{a,b}

 

如何创建/testdir/dir2/x, /testdir/dir2/y,
/testdir/dir2/x/a,/testdir/dir2/x/b,

mkdir -p /testdir/dir2/{x/{a,b},y}

 

如何创建/testdir/dir3, testdir/dir4, /testdir/dir5,
/testdir/dir5/dir6,/testdir/dir5/dir7,

mkdir -p dir{3,4,5/dir{6,7}}

 

 

1 将/etc/issue文件内容转换为大写保存到/tmp/issue.out中

cat /etc/issue | tr 'a-z' 'A-Z' > /tmp/issue.out

 

2 将当前系统登录用户的信息转换为大写后保存到/tmp/who.out中

who | tr [:lower:] [:upper:] > /tmp/who.out

 

3 一个linux用户给root发邮件,标题"help",正文如下:
Hello, I am 用户名, the system version is here, please help me to check it, thanks!
操作系统版本信息
第一种 echo "hello, i am `whoami` or $USER, the system, thanks! \n`lsb_release`" | mail -s "help" root

第二种 mail -s "help" root <<eof
>hello, i am ~whoami~, the system, thanks!
>`lsb_release`
>eof

 

4 将/root/文件列表显示成一行,并文件名用空格隔开

第一种 echo $(ls /root -a) > file1

第二种 ls /root -a | tr '\n' ' '

 

5 file文件内容"1 2 3 4 5 6 7 8 9 10" 计算所有数字总和

第一种 echo "1 2 3 4 5 6 7 8 9 10" | tr ' ' '+' |bc

第二种 echo &[echo "1 2 3 4 5 6 7 8 9 10"|tr ' ' '+']

 

6 删除windows文本文件中的'^M'字符

cat a.txt |tr -d '\015'

 

7 处理字符串 "xt.,| 1 jr#!$mn 2c*/fe34z4", 只保留数字和空格

excho 'xt.,| 1 jr#!$mn 2c*/fe34z4' |tr -cd '[:digit:] \n'

 

8 将PATH变量每个目录显示在独立一行

echo $PATH | tr ":" "\n"

 

9 删除文件的空行

cat a.txt | tr -s '\n'

 

10 将文件每个单词(字母)显示在独立一行, 并无空行

cat /etc/init.d/dunctions |tr -cs '[:alpha:]' '\n'

 

 

 

原创文章,作者:dengjian,如若转载,请注明出处:http://www.178linux.com/28088