一、题目
1、取出/etc/inittab文件的第6行;
2、取出当前系统上所有用户的shell,要求,每种shell只显示一次,并且按顺序进行显示; 使用cut、sort结合管道实现
3、如果/var/log/messages文件的行数大于100,就显示好大的文件
4、显示/etc目录下所有以pa开头的文件,并统计其个数
5、如果用户hadoop不存在就添加,否则显示用户已存在
6、编写一个 Shell 程序 test1,程序执行时从键盘读入一个目录名,然后 显示这个目录下所有文件的信息
7、编写一个 Shell 程序 test2,从键盘读入 x、y 的值,然后做加法运算,最后输出结果
二、过程
1. 取出/etc/inittab文件的第6行;
2.取出当前系统上所有用户的shell,要求,每种shell只显示一次,并且按顺序进行显示; 使用cut、sort结合管道实现
[root@localhost ~]# cut -d: -f7 /etc/passwd | sort -u 使用cut剪切,以:作为分隔符,从第7个开始剪切,最后使用sort -u选项进行去重
3.如果/var/log/messages文件的行数大于100,就显示好大的文件
[root@localhost ~]# [ `wc -l < /var/log/messages` -gt 100 ] && echo "好大的文件" 这里需要使用[]括起来,并且需要以空格隔开,否则会出现语法错误,因为wc为命令,也需要使用``括起来,并且使用输入重定向的方式,这样才能统计该文件的行数,最后使用-gt比较大小,如果成立就输出好大的文件,不成立就不做任何操作
4.显示/etc目录下所有以pa开头的文件,并统计其个数
[root@localhost ~]# find /etc/ -name pa* 使用find先查找文件,没要求是什么文件,所有这样显示的是以pa开头的所有文件
[root@localhost ~]# find /etc/ -name pa* | wc -l 因为是以行显示,有多少行就有多少文件
5.如果用户hadoop不存在就添加,否则显示用户已存在
先创建一个shell脚本文件,进入编辑模式
[root@localhost ~]# touch user.sh
[root@localhost ~]# vim user.sh
6.编写一个 Shell 程序 test1,程序执行时从键盘读入一个目录名,然后 显示这个目录下所有文件的信息
先创建一个目录,并且在里面创建3个文件
7.编写一个 Shell 程序 test2,从键盘读入 x、y 的值,然后做加法运算,最后输出结果
先创建文件
[root@localhost ~]# touch test2.sh
[root@localhost ~]# vim test2.sh
此方法有许多bug,需要自行改进