当前位置:首页>Linux>LINUX-2:全面掌握Linux系统管理核心技能

LINUX-2:全面掌握Linux系统管理核心技能

  • 2026-09-06 04:24:09
LINUX-2:全面掌握Linux系统管理核心技能
通过上一章的学习,你已经认识了Linux这座宏伟的“数字图书馆”的基本面貌。现在,我们将从普通访客升级为拥有管理员权限的“图书馆馆长”,学习如何精细管理馆藏、设置访问权限、管理不同读者,以及确保整个场馆运行有序。

📁 核心模块一:文件基本属性与权限管理

在Linux中,“一切皆文件”,每个文件都附带着一套详细的“身份证信息”,决定了谁可以看、谁可以改、谁可以运行。

1. 文件权限理解

文件权限由10个字符表示,例如:-rwxr-xr--

权限解读:

  • 第1位:文件类型(-普通文件,d目录,l链接)

  • 第2-4位:文件所有者的权限

  • 第5-7位:文件所属用户组的权限

  • 第8-10位:其他用户的权限

权限字符含义:

  • r= 可读(文件:查看内容,目录:列出内容)

  • w= 可写(文件:修改内容,目录:创建/删除文件)

  • x= 可执行(文件:作为程序运行,目录:进入目录)

数字权限表示法:

r=4, w=2, x=1rwx = 4+2+1 = 7rw- = 4+2+0 = 6r-x = 4+0+1 = 5r-- = 4+0+0 = 4

示例:-rwxr-xr-- 换算为:所有者=7,所属组=5,其他人=4 即权限码为 754

2. 权限管理命令

查看文件详细属性:

ls -l filename     # 查看单个文件的详细权限ls -la             # 查看当前目录所有文件(包括隐藏文件)ls -lh             # 以易读方式显示文件大小

修改文件权限:

# 符号模式chmod u+x script.sh      # 为文件所有者添加执行权限chmod g-w file.txt       # 为所属组移除写权限chmod o=r file.txt       # 为其他用户设置只读权限chmod a+r file.txt       # 为所有用户添加读权限# 数字模式chmod 755 script.sh      # 所有者:rwx,组:r-x,其他:r-xchmod 644 config.yml     # 所有者:rw-,组:r--,其他:r--chmod 600 secret.txt     # 所有者:rw-,组:---,其他:---

修改文件所有者:

chown user:group file.txt    # 同时修改所有者和所属组chown tester app.log         # 仅修改所有者chown :developers project/   # 仅修改所属组

🗂️ 核心模块二:文件与目录管理命令

1. 目录导航与查看

pwd                     # 显示当前工作目录cd /home/projects       # 切换到指定目录cd ..                   # 返回上一级目录cd ~                    # 返回当前用户的家目录cd -                    # 返回上次所在的目录

2. 文件列表查看

ls                      # 列出当前目录内容ls -l                   # 详细列表(权限、大小、时间等)ls -la                  # 详细列表(包括隐藏文件)ls -lh                  # 易读的文件大小(K、M、G)ls -lt                  # 按时间倒序排列ls *.py                 # 只显示Python文件

3. 文件与目录操作

# 创建目录mkdir test_resultsmkdir -p a/b/c/d        # 创建多级目录# 创建文件touch new_file.txttouch file1.txt file2.txt file3.txt# 复制文件/目录cp file.txt file_backup.txtcp -r source_dir/ destination_dir/  # 递归复制目录# 移动/重命名文件mv old_name.txt new_name.txtmv file.txt target_dir/# 删除文件/目录rm file.txtrm -f file.txt          # 强制删除,不提示rm -r directory/        # 递归删除目录rm -rf temp_data/       # 强制递归删除目录(谨慎使用!)# 链接文件ln source.txt hardlink  # 创建硬链接ln -s source.txt softlink  # 创建软链接

4. 文件内容查看与处理

# 查看文件内容cat file.txt            # 显示整个文件more file.txt           # 分页显示(只能向下翻页)less file.txt           # 分页显示(可上下翻页、搜索)# 查看文件头尾head -n 20 file.txt     # 查看前20行tail -n 50 file.txt     # 查看后50行tail -f app.log         # 实时追踪文件更新(查看日志神器)# 搜索文件内容grep "error" app.log              # 搜索包含"error"的行grep -i "timeout" *.log          # 忽略大小写搜索grep -r "TODO" src/              # 递归搜索目录grep -v "debug" file.txt         # 显示不包含"debug"的行grep -A 3 -B 3 "error" app.log   # 显示匹配行前后3行

5. 文件查找与归档

# 查找文件find . -name "*.py"              # 查找当前目录下所有.py文件find /home -name "*.log"         # 查找/home下所有日志文件find . -type f -size +10M        # 查找大于10MB的文件find . -mtime -7                 # 查找7天内修改过的文件find . -name "*.tmp" -delete     # 查找并删除临时文件# 打包压缩tar -czvf archive.tar.gz dir/    # 创建.tar.gz压缩包tar -xzvf archive.tar.gz         # 解压.tar.gz文件tar -tf archive.tar.gz           # 查看压缩包内容zip -r archive.zip dir/          # 创建.zip压缩包unzip archive.zip                # 解压.zip文件

👥 核心模块三:用户和用户组管理

1. 用户管理

# 创建用户useradd -m -s /bin/bash tester   # 创建用户并建立家目录useradd -m -g developers -G testers newuser  # 指定主组和附加组# 修改密码passwd tester                    # 修改tester用户的密码passwd                           # 修改当前用户密码# 修改用户属性usermod -aG sudo tester          # 将用户添加到sudo组usermod -s /bin/sh tester        # 修改用户默认shellusermod -L tester                # 锁定用户账户usermod -U tester                # 解锁用户账户# 删除用户userdel tester                   # 删除用户但保留家目录userdel -r tester                # 删除用户及家目录

2. 用户组管理

groupadd developers              # 创建新组groupdel oldgroup                # 删除组usermod -aG developers tester    # 将用户添加到组gpasswd -d tester developers     # 从组中移除用户

3. 用户信息查看

whoami                           # 查看当前登录用户id                               # 查看当前用户ID和组信息id tester                        # 查看指定用户信息who                              # 查看当前登录系统的用户w                                # 查看登录用户及活动last                             # 查看用户登录历史

4. 权限提升

su - tester                      # 切换到tester用户su -                             # 切换到root用户sudo command                     # 以root权限执行命令sudo -i                          # 切换到root shellvisudo                           # 安全编辑sudoers文件

💾 核心模块四:磁盘管理

1. 磁盘使用情况查看

df -h                            # 查看各分区使用情况(易读格式)df -i                            # 查看inode使用情况du -sh dir/                      # 查看目录总大小du -h --max-depth=1 .            # 查看当前目录各子目录大小du -ah dir/ | sort -rh | head -20  # 查看目录下最大的20个文件

2. 挂载与卸载

# 查看挂载信息mount                            # 查看已挂载的文件系统lsblk                            # 查看块设备信息blkid                            # 查看块设备UUID# 挂载文件系统mount /dev/sdb1 /mnt/data        # 挂载设备到目录mount -t ext4 /dev/sdb1 /mnt/data  # 指定文件系统类型挂载# 卸载文件系统umount /mnt/data                 # 卸载目录umount -l /mnt/data              # 懒卸载(强制卸载忙设备)

3. 磁盘分区与管理

fdisk -l                         # 查看磁盘分区表parted -l                        # 查看磁盘分区(支持GPT)mkfs.ext4 /dev/sdb1              # 格式化分区为ext4fsck /dev/sdb1                   # 检查并修复文件系统

💎 测试工程师实用技巧

1. 环境搭建与维护

# 创建测试项目目录结构mkdir -p ~/projects/{project_a,project_b}/{test_cases,logs,reports}mkdir -p /opt/test_env/{bin,config,data,logs}# 设置测试目录权限chmod 755 ~/projectschmod -R 775 ~/projects/project_a/test_caseschmod 600 ~/projects/secret_config.yaml

2. 日志分析与监控

# 实时监控应用日志tail -f /var/log/app/error.logtail -f /var/log/nginx/access.log | grep "POST"# 分析日志中的错误grep -c "ERROR" app.log                     # 统计错误数量grep "ERROR" app.log | cut -d' ' -f1-3      # 提取错误时间grep -E "(ERROR|FATAL)" app.log             # 匹配多个模式

3. 自动化脚本模板

#!/bin/bash# 测试环境清理脚本示例LOG_DIR="/var/log/app"BACKUP_DIR="/backup/logs"DAYS_TO_KEEP=30echo "$(date) - 开始清理日志文件"# 清理旧日志find $LOG_DIR -name "*.log" -mtime +$DAYS_TO_KEEP -exec rm -f {} \;# 备份当前日志tar -czf "$BACKUP_DIR/app_logs_$(date +%Y%m%d).tar.gz" $LOG_DIR/*.log# 清理空日志文件find $LOG_DIR -name "*.log" -size 0 -exec rm -f {} \;echo "$(date) - 日志清理完成"

4. 常用命令组合

# 查看占用CPU最高的进程ps aux --sort=-%cpu | head -10# 查看占用内存最高的进程ps aux --sort=-%mem | head -10# 查找大文件find / -type f -size +100M 2>/dev/null | xargs ls -lh# 批量修改文件权限find . -name "*.sh" -exec chmod +x {} \;# 批量重命名文件for file in *.txt; do mv "$file" "backup_$file"; done

📋 最佳实践与安全提示

  1. 权限管理原则:始终遵循最小权限原则,避免使用root用户进行日常操作

  2. 定期备份:重要配置文件和数据要定期备份

  3. 日志管理:合理配置日志轮转,避免磁盘被日志写满

  4. 命令确认:执行rm -rf等危险命令前,先确认路径和参数

  5. 使用别名:为常用命令设置别名提高效率

掌握这些Linux管理命令后,你将能够独立搭建、维护和排查测试环境问题,大幅提升工作效率和问题定位能力。记住:实践是最好的学习方式,多动手尝试才能真正掌握这些技能。

最新文章

随机文章