shell练习题
实验一
1.找出/home目录下最近7天内被访问过所有文件;
2.找出/home目录下恰好在第7天内被访问过所有文件;
3.找出/home目录下访问时间超过7天的所有文件;
4.找出/home目录下访问时间超过7分钟的所有文件;
5.新建一个普通用户,通过命令找到该用户拥有的所有文件并将所有权改为root
6.找到/home目录下,10天前的.txt文件并将其复制到/tmp/a目录下
7.将大小为100KB的文件data.file(dd命令),分割为大小为10KB的多个文件
8.将大小为100MB的文件data.file,分割为大小为10Mb,前缀名为pre_file并以4位长度的数字作为后缀
9.URL=“www.google.com” 将www.google, www, google.com, com分别提取出来
实验二(将/etc/grub.conf拷贝到普通用户中,再对其进行操作)
1.删除/etc/grub.conf文件中行首的空白符;
2.替换/etc/inittab文件中”id:3:initdefault:”一行中的数字为5;
3.删除/etc/inittab文件中的空白行;
4.删除/etc/inittab文件中开头的#号;
5.删除某文件中开头的#号及后面的空白字符,但要求#号后面必须有空白字符;
6.删除某文件中以空白字符后面跟#类的行中的开头的空白字符及#
实验三:在worker下建立文件file.txt,在file.txt中输入
1001 A CCC1957 AUX 58.00 LVX2A 138
1002 B CCC1956 AUX 45.00 LVX2C 289
1058 C CCC1988 AUX 63.00 KVM9D 234
2058 D CCC1979 PCB 73.00 PLC2C 68
4080 E CCC1929 PCB 79.00 PLV2C 512
5800 F CCC1988 USP 77.00 KCM9D 234
5008 G CCC1987 USP 96.00 KVM9E 644
然后完成
1含有“58”字符串的行的总数(打印出一共有多少个即一个数字就行)
2显示含有“58”字符串的所有行的行号
3匹配含有“408”这个字符串的行
4查找代码包含1001或1002的行
5显示行首不是4或5的行
6显示第二列是A的行
7查找所有行中,包含以K开头,以D结尾的字符串的行
8查找所有行中,包含字符串的头是两个是大写字母,中间两个任意,并以C结尾的行
9查找所有行中,包含字符串以1开始以8或9结束的所有记录
10在file.txt中搜索“PLC2C”
11对file.txt按数值排序
12统计file.txt中的行数、单词数、字符数
实验四:如果符合条件是目录,也要复制
1、复制/etc目录下以p开头,中间跟了任意字符,并以d结尾的文件至/tmp目录中;
2、复制/etc/目录下以p开头,中间跟了4个任意字符,并以d结尾的文件至/tmp/a目录中;如果a不存在,先创建出来;
3、复制/etc/目录下以任意一位数字开头,并以非数字结尾的文件至/tmp/b目录中;
4、复制/etc/目录下以非字母开头,后面跟了一个字母及其它任何长度字符的文件至/tmp/c目录中;
实验五:给出正则表达式,写出匹配的内容
1.Tolstoy
2.^tolstoy
3.tolstoy$
4.[tT]olstoy
5.tol.toy
6.tol.*toy
实验六
1.从/etc/passwd中检测,如果uid=0则打印用户名:Administor,如果不是则打印用户名:Common user
按照如下格式打印,每列占15个字符
root : Admin
bin : Common User
daemon : Common User
2.在/etc/passwd中统计uid>500的uid的和
3.打印出/etc/passwd中每个行中的字段,当字段的字符数大于4时,将该字段打印出来
4.将/etc/passwd每一行的前三个字段按照如下格式打印
username userpasswd userid
root x 0
bin x 1
daemon x 2
adm x 3
lp x 4
sync x 5
5.使用netstat -tan 显示后,分割出来以TCP开头的,最后一列每种状态的个数,格式如下所示:
LISTEN 12
ESTABLISHED 1