Shell 经典面试例题

1.shell 脚本写出检测 /tmp/size.log 文件如果存在显示它的内容,不存在则创建一个文件将创建时间写入。

编写脚本:

#!/bin/bash

FILE="/tmp/size.log"

if [ -f "$FILE" ]; then

echo "文件存在,显示文件内容:"

cat "$FILE"

else

echo "文件不存在,创建文件并写入创建时间。"

echo "创建时间:(date)" \> "FILE"

fi

执行脚本结果:

root@localhost \~\]# vim 1.sh \[root@localhost \~\]# chmod +x 1.sh \[root@localhost \~\]# ./1.sh 文件不存在,创建文件并写入创建时间。 ### 2.写一个 shel1 脚本,实现批量添加 20个用户,用户名为user01-20,密码为user 后面跟5个随机字符。 编写脚本: #!/bin/bash USER_PREFIX="user" USER_COUNT=20 for ((i=1; i\<=USER_COUNT; i++)); do USERNAME="${USER_PREFIX}$(printf "%02d" $i)" PASSWORD="user$(tr -dc 'a-zA-Z0-9' \< /dev/urandom \| head -c 5)" sudo useradd $USERNAME echo -e "$PASSWORD\\n$PASSWORD" \| sudo passwd $USERNAME echo "用户 $USERNAME 添加成功,密码为:$PASSWORD" done 执行脚本结果: ![](https://i-blog.csdnimg.cn/direct/563e1c9a8b784a4eb70def096e43e2a8.png) Changing password for user user01. New password: BAD PASSWORD: The password contains less than 3 character classes Retype new password: passwd: all authentication tokens updated successfully. 用户 user01 添加成功,密码为:useraPHte Changing password for user user02. New password: BAD PASSWORD: The password contains less than 3 character classes Retype new password: passwd: all authentication tokens updated successfully. 用户 user02 添加成功,密码为:userclBkI Changing password for user user03. New password: Retype new password: passwd: all authentication tokens updated successfully. 用户 user03 添加成功,密码为:user5B8Yg Changing password for user user04. New password: BAD PASSWORD: The password contains less than 3 character classes Retype new password: passwd: all authentication tokens updated successfully. 用户 user04 添加成功,密码为:userCZmXl Changing password for user user05. New password: BAD PASSWORD: The password contains the user name in some form Retype new password: passwd: all authentication tokens updated successfully. 用户 user05 添加成功,密码为:user0k5xR Changing password for user user06. New password: Retype new password: passwd: all authentication tokens updated successfully. 用户 user06 添加成功,密码为:userGaAG1 Changing password for user user07. New password: BAD PASSWORD: The password contains less than 3 character classes Retype new password: passwd: all authentication tokens updated successfully. 用户 user07 添加成功,密码为:userZefFN Changing password for user user08. New password: BAD PASSWORD: The password contains less than 3 character classes Retype new password: passwd: all authentication tokens updated successfully. 用户 user08 添加成功,密码为:userord6b Changing password for user user09. New password: BAD PASSWORD: The password contains less than 3 character classes Retype new password: passwd: all authentication tokens updated successfully. 用户 user09 添加成功,密码为:userLitYu Changing password for user user10. New password: Retype new password: passwd: all authentication tokens updated successfully. 用户 user10 添加成功,密码为:userj37Vx Changing password for user user11. New password: BAD PASSWORD: The password contains less than 3 character classes Retype new password: passwd: all authentication tokens updated successfully. 用户 user11 添加成功,密码为:userv23j9 Changing password for user user12. New password: BAD PASSWORD: The password contains less than 3 character classes Retype new password: passwd: all authentication tokens updated successfully. 用户 user12 添加成功,密码为:useruKikd Changing password for user user13. New password: Retype new password: passwd: all authentication tokens updated successfully. 用户 user13 添加成功,密码为:userxH9hs Changing password for user user14. New password: BAD PASSWORD: The password contains less than 3 character classes Retype new password: passwd: all authentication tokens updated successfully. 用户 user14 添加成功,密码为:userQyMIF Changing password for user user15. New password: BAD PASSWORD: The password contains less than 3 character classes Retype new password: passwd: all authentication tokens updated successfully. 用户 user15 添加成功,密码为:userMSIyp Changing password for user user16. New password: BAD PASSWORD: The password contains less than 3 character classes Retype new password: passwd: all authentication tokens updated successfully. 用户 user16 添加成功,密码为:userJcDYt Changing password for user user17. New password: BAD PASSWORD: The password contains the user name in some form Retype new password: passwd: all authentication tokens updated successfully. 用户 user17 添加成功,密码为:userh1Vsr Changing password for user user18. New password: Retype new password: passwd: all authentication tokens updated successfully. 用户 user18 添加成功,密码为:user7Zgho Changing password for user user19. New password: BAD PASSWORD: The password contains the user name in some form Retype new password: passwd: all authentication tokens updated successfully. 用户 user19 添加成功,密码为:usery1vKl Changing password for user user20. New password: Retype new password: passwd: all authentication tokens updated successfully. 用户 user20 添加成功,密码为:userMeXQ3 3.编写个shel 脚本将/usr/local 日录下大于10M的文件转移到/tmp目录下 编写脚本:、 #!/bin/bash SOURCE_DIR="/usr/local" TARGET_DIR="/tmp" if \[ ! -d "$TARGET_DIR" \]; then mkdir -p "$TARGET_DIR" fi find "$SOURCE_DIR" -type f -size +10M -exec mv {} "$TARGET_DIR" \\; echo "大于 10M 的文件已转移到 $TARGET_DIR" 执行脚本结果: ![](https://i-blog.csdnimg.cn/direct/4609a411077a4e5295eed2a61068794c.png) \[root@localhost \~\]# vim 3.sh \[root@localhost \~\]# chmod +x 3.sh \[root@localhost \~\]# ./3.sh 大于 10M 的文件已转移到 /tmp 以上为三个题目的解答!

相关推荐
人工智能训练6 小时前
【极速部署】Ubuntu24.04+CUDA13.0 玩转 VLLM 0.15.0:预编译 Wheel 包 GPU 版安装全攻略
运维·前端·人工智能·python·ai编程·cuda·vllm
微露清风8 小时前
系统性学习Linux-第二讲-基础开发工具
linux·运维·学习
不会代码的小猴8 小时前
Linux环境编程第六天笔记--system-V IPC
linux·笔记
阳光九叶草LXGZXJ8 小时前
达梦数据库-学习-48-DmDrs控制台命令(同步之Manager、CPT模块)
linux·运维·数据库·sql·学习
诸神缄默不语8 小时前
Linux命令行教程
linux
小二李10 小时前
第11章 nestjs服务端开发:登录鉴权
运维·服务器
i建模10 小时前
如何在Arch Linux中重设忘记的root密码
linux·运维·服务器
chatexcel11 小时前
元空AI+Clawdbot:7×24 AI办公智能体新形态详解(长期上下文/自动化任务/工具粘合)
运维·人工智能·自动化
kida_yuan12 小时前
【Linux】运维实战笔记 — 我常用的方法与命令
linux·运维·笔记
@syh.12 小时前
【linux】进程控制
linux