7.29号作业:
1、 将/etc/issue文件中的内容转换为大写后保存至/tmp/issue.out文件中
tr [[:lower:]] [[:upper:]] < /etc/issue >/tmp/issue.out
tr [a-z] [A-Z]< /etc/issue>/tmp/issue.out
2、 将当前系统登录用户的信息转换为大写后保存至/tmp/who.out文件中
# w | tr [[:lower:]] [[:upper:]] > /tmp/who.out
3、一个linux用户给root发邮件,要求邮件标题为”help”,邮件正文如下:Hello,I am 用户名,the systemversion is here,pleasehelp me to check it ,thanks!
操作系统版本信息
mail help root <<EOF
< Hello, I am chesfer(`id -un`),the system versionis here,pleasehelpme to check it ,thanks!
<`cat /etc/centos-release`
<EOF
4、将/root/下文件列表,显示成一行,并文件名之间用空格隔开。
# ls/root/ | tr ‘\’n ‘ ’
5、file1文件的内容为:”1 2 3 4 5 6 7 8 9 10” 计算出所有数字的总和
#echo "1+2+3+4+5+6+7+8+9+10" |bc
6、删除Windows文本文件中的'^M'字符
#dos2unix win.txt
或者
# cat file | tr -d"\r" > win.txt
7、处理字符串“xt.,l 1jr#!$mn2 c*/fe3 uz4”,只保留其中的数字和空格
# cat files | tr -d [[:alpha:]][[:punct:]]
8、将PATH变量每个目录显示在独立的一行
#echo $PATH | tr ":" "\n"
9、删除指定文件的空行
#cat>>test<<EOF
>
>hello world
>hengheng
>EOF
#cat test|tr -s '\n'
#cat filename
hello world
hengheng
10、将文件中每个单词(字母)显示在独立的一行,并无空行
cattest|tr ' ' '\n'|tr -s '\n '
11、软、硬链接区别
1)软链接可以跨文件系统 ,硬链接不可以。
2)关于 inode的问题 。硬链接不管有多少个,都指向的是同一个inode,会把inode链接数增加 ,只要inode的链接数不是 0,文件就一直存在,不管你删除的是源文件还是链接的文件。只要有一个存在,文件就存在。
当你修改源文件或者链接文件任何一个的时候 ,其他的文件都会做同步的修改。软链接不直接使用inode号作为文件指针,而是使用文件路径名作为指针(软链接跟源文件的inode不一样)。
所以删除链接文件对源文件无影响,但是删除源文件,链接文件就会找不到要指向的文件 。
软链接有自己的inode,并在磁盘上有一小片空间存放路径名.
3)软链接可以对一个不存在的文件名进行链接 。
4)软链接可以对目录进行链接。
12、创建用户gentoo,附加组为bin和root,默认shell为/bin/csh,注释信息为"GentooDistribution"
# useradd -G bin,root -s /bin/csh -c "Gentoo Distribution"Gentoo
13、创建下面的用户、组和组成员关系
名字为admins 的组
用户natasha,使用admins 作为附属组
用户harry,也使用admins 作为附属组
用户sarah,不可交互登录系统,且不是admins 的成员,natasha,harry,sarah密码都是centos
# groupadd admins;
useradd -G admins natasha; echo"centos"|passwd --stdin natasha;
useradd -G admins harry; echo "centos"|passwd--stdin harry;
useradd -s /sbin/nologin -r sarah;
echo "centos"|passwd --stdin sarah
#一行执行多条命令,使用分号隔开。
7.25作业:
1. 显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其它字符)的文件或目录。
# ls -d /var/l*[0-9]*[a-z]
#ls /var/l*[[:digit:]][[:lower:]]
2. 显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录。 # ls -d /etc/[0-9]*[^0-9] # ls -d /etc/[[:digit:]*][^[[:digit:]]]3. 显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录。
# ls /etc/[^[:alpha:]][[:alpha:]]*
# ls [^A-Za-z][A-Za-z]*
以上题目一定注意区别跟 grep的区别,grep只能用在文档中,而这个是查找文件名。
启示: 想想上边这个跟使用find 查找的区别。
4、显示/etc目录下所有以m开头以非数字结尾的文件或目录
ls /etc/m*[^[:digit:]]
ls /etc/m*[^0-9]
5、显示/etc目录下,所有以.d结尾的文件或目录
ls -d /etc/*.d
6、显示/etc目录下,所有.conf结尾,且以m,n,r,p开头的文件或目录
# ls /etc/[mnrp]*.conf
7、使用别名命令,每日将/etc/目录下所有文件,备份到/testdir/下独立的新目录下,并要求新目录格式为backupYYYY-mm-dd,备份过程可见
# alias cpb="cp –rpv /etc/ /testdir/backup`date+%F-%M-%D`"
8、先创建/testdir/rootdir目录,再复制/root所有下文件到该目录内,并要求保留原有权限 # cp –rp /root/ /testdir/rootdir :复制多个文件到文件夹
9、 如何创建/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}}
10、如何创建/testdir/dir2/x,/testdir/dir2/y,/testdir/dir2/x/a,/testdir/dir2/x/b # mkdir -pv/testdir/dir2/{x/{a,b},y}
11、如何创建/testdir/dir3, /testdir/dir4, /testdir/dir5,/testdir/dir5/dir3,
/testdir/dir5/dir4
# mkdir –pv /testdir/dir{3,4,5/dir{3,4}}
12、 只显示指定目录隐藏文件
#ls –d /etc/.*
13、 只显示指定目录下的子目录()
#ls -d /etc/*/