答案仅供参考,作者水平有限,欢迎各位大佬指出问题,也欢迎大家在评论区一起交流、进步。
1 在 exp4 目录下创建一个 shell 脚本 largest,要求如下:
(1) 屏幕显示 Please enter the first integer:▌然后接收用户的输入
(2) 屏幕显示 Please enter the second integer:▌然后接收用户的输入
(3) 屏幕显示 Please enter the third integer:▌然后接收用户的输入
(4) 之后,显示最大的整数。
思路:read 读入三个数据,然后用三个if语句比较得出最大数
难点:read 用法
数字比较 test
难度指数:
2 在 exp4 目录下创建一个 shell 脚本 user_exist,要求如下:
(1) 屏幕显示 Please input a username:▌然后键盘输入一个用户名
(2) 如果该用户存在,回显该用户名's shell is 该用户默认 shell
(3) 如果不存在,回显该用户名 not exists
思路:该题作者也没能完美解决,用穷举法发现样例中只有mail比较特殊,所以单独处理mail即可。
1.read读入用户名,ml为用户shell。if判断用户名是否为mail,如果为mail,shell改为/usr/sbin/nologin(该shell由name=mail;egrep "\<$name\>" /etc/passwd 得到)。
2.然后,用正则表达式筛选用户名,利用if语句判断用户名是否存在,按照要求输出相应内容。
难点:字符串比较[[ string1 == string2 ]]
egrept用法
$? -eq 0 理解
难度指数:
欢迎大佬在评论区提出更完美的解决方法。
3 在 exp4 目录下创建一个 shell 脚本 filecopy,要求如下:
(1) 判断 exp4 目录下是否存在目录 FILE3-5K,如果存在则先删除再新建,否则新建
(2) 将 exp4 目录下的 FILE3 目录内小于 5k 的文件复制到 FILE3-5K 目录内
思路:
1.判断指定文件是否存在,存在则rm -rf 强制删除,不存在则无操作。然后在新建FILE3-5K文件。
2.find 查找size 小于5k的文件,再cp到FILE-5K中
难点:rm -rf 暴力删除
find 用法 -size -exec
cp 用法
难度指数:
4 在 exp4 目录下创建一个 shell 脚本 exercise4,要求如下:
(1) 判断 exp4 目录下是否存在目录 FILE4,如果存在则先删除再新建,否则新建
(2) 在 FILE4 目录下,新建 100 个文件,文件名依次为 file001 至 file100
(3) 使用 tar 命令打包并压缩这 100 个文件为 allfile.tar.gz,将该文件移动到 exp4 目录下
(4) 查看 allfile.tar.gz 文件的权限,并将其权限修改为 user 可读可写可执行,group 可读,other 可读
思路:
1.类似上一题,查找、删除、新建。
2.cd切换目录,touch 100个文件
3.tar 打包压缩文件
4.chmod 修改文件权限
难点:touch 批量创建指定数量、文件名的文件
tar 文件压缩 打包
mv 文件移动
chmod 文件权限修改
难度指数: