Linux练习

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

脚本:

###############################################
# Author:     aaa
# Version:     
# Date:       2025/01/12
# Mail:       aaa@westos.org
# Function:     
# 
################################################

#!/bin/bash
# 定义文件路径
file="/tmp/size.log"
# 检查文件是否存在
if [ -f "$file" ]; then
  # 如果文件存在,显示文件内容
  cat "$file"
else
  # 如果文件不存在,创建文件并写入当前时间
  echo "File created on $(date)" > "$file"
  echo "File created and timestamp written."
fi

结果:

2、写一个 shell 脚本,实现批量添加 20个用户,用户名为user01-20,密码为user 后面跟5个随机字符。

脚本:

###############################################
# Author:     aaa
# Version:     
# Date:       2025/01/12
# Mail:       aaa@westos.org
# Function:     
# 
################################################

#!/bin/bash

# 创建20个用户
for i in $(seq -f "%02g" 1 20); 
do
  # 生成5个随机字符
  random_pass=$(head /dev/urandom | tr -dc A-Za-z0-9 | head -c 5)

  # 设置用户名和密码
  username="user$i"
  password="user$random_pass"

  # 创建用户并设置密码
  useradd "$username"
  echo "$username:$password" | chpasswd
  
  # 输出创建的用户和密码
  echo "Created user: $username with password: $password"
done                                               

结果:


3、编写个shell 脚本,将/usr/local 日录下大于10M的文件转移到/tmp目录下

脚本:

#!/bin/bash

# 源目录和目标目录
source_dir="/usr/local"
target_dir="/tmp"

# 查找/usr/local目录下大于10MB的文件,移动到/tmp目录
find "$source_dir" -type f -size +10M | while read file; do
  # 获取文件名
  filename=$(basename "$file")
  
  # 移动文件到/tmp目录
  mv "$file" "$target_dir/$filename"
  
  # 输出移动的信息
  echo "Moved $file to $target_dir/$filename"
done

 结果:

### Linux 练习题、教程、实例操作指南 对于希望深入学习并实践Linux系统的用户来说,选择合适的练习资源至关重要。这些资源不仅能够帮助理解理论概念,还能通过实际操作加深印象。 #### 一、在线课程与文档 网络上存在大量优质的Linux学习材料,其中不乏免费资源。例如,《鸟哥的Linux私房菜》是一本非常受欢迎的基础到高级全面覆盖的手册[^1]。该书详细介绍了从安装配置直到服务器架设等多个方面,适合不同层次的学习者阅读。 #### 二、官方手册页(Man Pages) 每条Linux命令几乎都有对应的man page,在终端输入`man 命令名`即可查阅其功能说明以及用法示例。这种方式虽然看起来有些枯燥乏味,但对于掌握具体工具而言却是最直接有效的方法之一[^2]。 ```bash man free ``` 上述命令可以查询有关`free`指令的信息,这正是用于显示系统内存状态包括物理RAM及swap分区占用情况的有效手段。 #### 三、实验环境搭建 为了更好地理解和记忆所学知识点,建议构建个人专属的虚拟机或者容器化平台来进行各种尝试。像Vagrant配合VirtualBox这样的组合就可以轻松创建多个隔离的操作系统实例供测试之用;而Docker则更适合于快速部署应用服务场景下的技能训练[^3]。 #### 四、社区交流互动 加入活跃的技术论坛如Stack Overflow、Reddit上的r/linux板块或是国内知名的开源中国等网站参与讨论解答疑问也是不可或缺的一环。在这里不仅可以获得前辈们的指导还可以结识志同道合的朋友共同进步成长。 #### 五、专项项目实战演练 最后但同样重要的是参与到真实的工程项目当中去锻炼自己解决问题的能力。GitHub上有许多开源项目等待贡献者的加入,无论是修复Bug还是新增特性都是极好的机会来检验自己的水平并且积累宝贵的经验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值