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 以上为三个题目的解答!

相关推荐
PanZonghui几秒前
Centos项目部署之Nginx部署项目
linux·nginx
九丝城主12 分钟前
2025使用VM虚拟机安装配置Macos苹果系统下Flutter开发环境保姆级教程--中篇
服务器·flutter·macos·vmware
码出钞能力37 分钟前
linux内核模块的查看
linux·运维·服务器
星辰云-1 小时前
# Linux Centos系统硬盘分区扩容
linux·运维·centos·磁盘扩容
Hellc0071 小时前
Nginx 高级 CC 与 DDoS 防御策略指南
运维·nginx·ddos
聽雨2371 小时前
02每日简报20250704
linux·科技·金融·生活·社交电子·娱乐·媒体
feilieren2 小时前
Docker 安装 Elasticsearch 9
运维·elasticsearch·docker·es
Maki Winster2 小时前
Peek-Ubuntu上Gif录制工具-24.04LTS可装
linux·ubuntu·peek
小皮侠3 小时前
nginx的使用
java·运维·服务器·前端·git·nginx·github
Maki Winster3 小时前
在 Ubuntu 下配置 oh-my-posh —— 普通用户 + root 各自使用独立主题(共享可执行)
linux·运维·ubuntu