☰
Linux命令大全:系统管理与实用技巧指南
2026/10/29 7:12:04 网站建设 项目流程

1. Linux命令大全:从入门到精通的系统管理指南

作为一名在Linux环境下工作超过十年的系统管理员,我深知命令行操作是这个操作系统的灵魂所在。与图形界面相比,命令行提供了更高效、更灵活的系统控制方式,这也是为什么无论是服务器运维、嵌入式开发还是日常办公,掌握Linux命令都是必不可少的技能。

Linux命令的学习曲线可能会让初学者感到畏惧,但一旦掌握了核心命令和它们之间的组合方式,你将获得前所未有的系统控制能力。从简单的文件操作到复杂的系统监控,从基础文本处理到自动化脚本编写,Linux命令几乎可以完成你能想到的所有任务。

这份指南不同于普通的命令列表,我将结合多年实战经验,不仅介绍命令的基本用法,还会深入解析命令背后的设计哲学、常见使用场景以及那些官方文档中很少提及的实用技巧。无论你是刚接触Linux的新手,还是希望提升效率的中级用户,都能从中找到有价值的内容。

2. Linux命令基础与核心概念

2.1 Linux命令的基本结构

一个典型的Linux命令由以下几个部分组成:

命令 [选项] [参数]
  • 命令:要执行的操作,如ls、cd、mkdir等
  • 选项:修改命令行为的标志,通常以"-"或"--"开头
  • 参数:命令操作的对象,如文件名、目录名等

例如,在命令ls -l /home中:

  • ls是命令本身(列出目录内容)
  • -l是选项(以长格式显示)
  • /home是参数(要列出的目录)

2.2 命令帮助系统

Linux提供了完善的命令帮助系统,掌握这些工具可以让你不依赖网络就能快速查询命令用法:

  1. man命令:最全面的命令手册

    man ls # 查看ls命令的完整手册
  2. --help选项:快速查看命令基本用法

    ls --help # 显示ls命令的简要帮助
  3. info命令:某些GNU工具的更详细文档

    info coreutils # 查看GNU核心工具的信息

提示:在man页面中,使用/键可以搜索关键词,q键退出,空格键翻页。

2.3 文件系统基础命令

文件操作是Linux中最常用的功能,以下是最核心的文件相关命令:

  1. 导航与查看:

    pwd # 显示当前工作目录 ls # 列出目录内容 cd # 改变当前目录 tree # 以树状图列出目录结构
  2. 文件操作:

    cp # 复制文件或目录 mv # 移动或重命名文件 rm # 删除文件 mkdir # 创建目录 rmdir # 删除空目录
  3. 文件查看:

    cat # 连接文件并打印到标准输出 less # 分页查看文件内容 head # 显示文件开头部分 tail # 显示文件末尾部分

3. 系统管理与监控命令

3.1 进程管理

Linux是一个多任务操作系统,进程管理是系统管理员的核心技能:

  1. 查看进程:

    ps # 显示当前进程状态 top # 动态显示进程信息 htop # 增强版的top(需安装)
  2. 进程控制:

    kill # 终止进程 killall # 按名称终止进程 nice # 调整进程优先级 renice # 修改运行中进程的优先级
  3. 后台作业:

    & # 将命令放入后台执行 jobs # 列出后台作业 fg # 将后台作业调到前台 bg # 继续在后台运行暂停的作业

3.2 系统资源监控

了解系统资源使用情况对于性能调优和故障排查至关重要:

  1. 内存使用:

    free -h # 以人类可读格式显示内存使用情况 vmstat # 报告虚拟内存统计信息
  2. CPU使用:

    mpstat # 显示CPU使用统计 sar # 收集、报告系统活动信息
  3. 磁盘I/O:

    iostat # 监控系统输入输出设备负载 iotop # 监控磁盘I/O使用情况(需安装)
  4. 网络监控:

    iftop # 显示网络带宽使用情况(需安装) nethogs # 按进程显示网络带宽使用(需安装)

3.3 用户和权限管理

Linux的多用户特性要求管理员熟练掌握用户和权限管理:

  1. 用户管理:

    useradd # 添加用户 usermod # 修改用户属性 userdel # 删除用户 passwd # 修改用户密码
  2. 组管理:

    groupadd # 添加组 groupmod # 修改组属性 groupdel # 删除组 gpasswd # 管理组密码和成员
  3. 权限管理:

    chmod # 修改文件权限 chown # 修改文件所有者 chgrp # 修改文件所属组 umask # 设置默认文件权限掩码

4. 文本处理与正则表达式

4.1 基础文本处理命令

Linux提供了强大的文本处理工具链:

  1. 文件内容查看:

    cat # 连接文件并打印 less # 分页查看文件 more # 基本分页查看(功能比less少)
  2. 文本搜索:

    grep # 文本搜索工具 ack # 更智能的grep替代品(需安装) ag # 更快的代码搜索工具(需安装)
  3. 文本处理:

    cut # 从每行中删除部分内容 paste # 合并文件行 sort # 对文本行排序 uniq # 报告或省略重复行 wc # 统计行数、单词数和字节数

4.2 高级文本处理

  1. 流编辑器sed:

    sed 's/old/new/g' file.txt # 替换文本 sed -n '10,20p' file.txt # 打印10-20行
  2. 文本分析工具awk:

    awk '{print $1}' file.txt # 打印每行第一个字段 awk '/pattern/ {print $0}' # 打印匹配模式的行
  3. 正则表达式基础:

    • .匹配任意单个字符
    • *匹配前一个字符零次或多次
    • +匹配前一个字符一次或多次
    • ?匹配前一个字符零次或一次
    • []字符集
    • ^行首
    • $行尾

4.3 实际应用示例

  1. 统计日志文件中错误出现的次数:

    grep -i "error" /var/log/syslog | wc -l
  2. 提取CSV文件中特定列并排序:

    cut -d',' -f2 data.csv | sort | uniq -c
  3. 批量重命名文件:

    for file in *.jpg; do mv "$file" "vacation_${file}"; done

5. 网络相关命令

5.1 网络配置与诊断

  1. 网络接口配置:

    ifconfig # 显示或配置网络接口(较旧) ip # 更现代的替代命令
  2. 网络连接测试:

    ping # 测试网络连通性 traceroute # 显示数据包到达目标的路由 mtr # 结合ping和traceroute的工具
  3. 端口扫描:

    netstat # 显示网络连接、路由表等 ss # netstat的现代替代品 nmap # 强大的网络扫描工具(需安装)

5.2 文件传输

  1. 下载工具:

    wget # 非交互式网络下载器 curl # 更强大的数据传输工具
  2. 安全文件传输:

    scp # 安全复制(基于SSH) sftp # 安全文件传输协议 rsync # 高效的文件同步工具
  3. 远程登录:

    ssh # 安全shell登录 telnet # 不安全的远程登录(不推荐)

5.3 网络服务管理

  1. 服务管理:

    systemctl # 控制系统服务(systemd) service # 管理系统服务(SysV init)
  2. 防火墙:

    iptables # 配置IPv4防火墙规则 ip6tables # 配置IPv6防火墙规则 ufw # 简化的防火墙配置工具

6. 实用工具与技巧

6.1 提高效率的实用命令

  1. 历史命令操作:

    history # 显示命令历史 !n # 执行历史记录中第n条命令 !! # 执行上一条命令 !string # 执行最近以string开头的命令
  2. 命令别名:

    alias ll='ls -alF' # 创建别名 unalias ll # 删除别名
  3. 命令替换:

    $(command) # 执行命令并用输出替换 `command` # 旧式命令替换(不推荐)

6.2 系统信息查询

  1. 硬件信息:

    lscpu # 显示CPU信息 lspci # 列出PCI设备 lsusb # 列出USB设备 lshw # 列出硬件详细信息
  2. 系统信息:

    uname -a # 显示系统信息 hostname # 显示或设置主机名 uptime # 显示系统运行时间
  3. 环境变量:

    env # 显示环境变量 export # 设置环境变量 echo $VAR # 显示特定环境变量

6.3 实用脚本示例

  1. 备份目录:

    #!/bin/bash BACKUP_DIR="/backups" SOURCE_DIR="/home/user/documents" DATE=$(date +%Y%m%d) tar -czf "$BACKUP_DIR/backup_$DATE.tar.gz" "$SOURCE_DIR"
  2. 监控磁盘空间:

    #!/bin/bash THRESHOLD=90 df -h | awk -v threshold=$THRESHOLD ' /\/dev/ { sub(/%/,"",$5); if ($5 > threshold) print "警告: " $1 " 使用率 " $5 "%" }'
  3. 批量处理图片:

    #!/bin/bash for img in *.jpg; do convert "$img" -resize 50% "small_${img}" done

7. 常见问题与解决方案

7.1 权限问题

  1. "Permission denied"错误:

    • 检查文件权限:ls -l filename
    • 修改权限:chmod +x filename(添加执行权限)
    • 修改所有者:sudo chown user:group filename
  2. 忘记sudo:

    • 在命令前加sudo:sudo command
    • 切换到root用户:sudo su -(不推荐长期使用)

7.2 磁盘空间问题

  1. 磁盘空间不足:

    • 查看磁盘使用:df -h
    • 查找大文件:du -sh * | sort -h
    • 清理旧内核:sudo apt autoremove --purge(Debian/Ubuntu)
  2. 文件被删除但空间未释放:

    • 查找并终止使用已删除文件的进程:lsof | grep deleted
    • 重启相关服务或系统

7.3 网络连接问题

  1. 无法连接网络:

    • 检查网络接口:ip a
    • 测试连接:ping 8.8.8.8
    • 检查DNS:dig example.com或nslookup example.com
  2. SSH连接问题:

    • 检查SSH服务状态:sudo systemctl status ssh
    • 检查防火墙规则:sudo ufw status
    • 查看日志:journalctl -u ssh --no-pager

7.4 性能问题

  1. 系统响应慢:

    • 查看系统负载:uptime
    • 检查内存使用:free -h
    • 查看CPU使用:top或htop
  2. 高IO等待:

    • 检查磁盘IO:iostat -x 1
    • 查找高IO进程:iotop

8. 进阶学习路径

8.1 Shell脚本编程

  1. 基础语法:

    • 变量:VAR="value"
    • 条件判断:if [ condition ]; then ... fi
    • 循环:for,while
  2. 函数定义:

    function greet { echo "Hello, $1" } greet "World"
  3. 错误处理:

    • 检查命令返回值:if [ $? -ne 0 ]; then ... fi
    • 设置错误退出:set -e

8.2 系统调优

  1. 内核参数调整:

    • 查看当前参数:sysctl -a
    • 修改参数:sudo sysctl -w parameter=value
  2. 文件系统优化:

    • 调整mount选项:noatime,nodiratime
    • 选择合适的文件系统:ext4, xfs, btrfs等
  3. 服务优化:

    • 禁用不必要的服务
    • 调整服务资源限制

8.3 容器与虚拟化

  1. Docker基础:

    docker ps # 列出容器 docker images # 列出镜像 docker run # 运行容器
  2. LXC/LXD:

    lxc list # 列出容器 lxc launch # 创建并启动容器
  3. KVM虚拟化:

    virsh list # 列出虚拟机 virt-manager # 图形化管理工具

8.4 安全加固

  1. 基本安全措施:

    • 定期更新系统:sudo apt update && sudo apt upgrade
    • 使用强密码和SSH密钥
    • 配置防火墙
  2. 安全审计:

    • 检查登录记录:last
    • 扫描漏洞:lynis audit system
    • 检查SUID文件:find / -perm -4000 -type f
  3. 入侵检测:

    • 安装AIDE:sudo apt install aide
    • 配置日志监控

9. 命令组合与管道技巧

9.1 强大的管道操作

管道(|)是Linux命令行的精髓之一,它允许将一个命令的输出作为另一个命令的输入:

  1. 基本管道:

    command1 | command2 # 将command1的输出传给command2
  2. 实用组合:

    • 统计当前目录下文件数量:
      ls | wc -l
    • 查找并杀死特定进程:
      ps aux | grep "process_name" | awk '{print $2}' | xargs kill
  3. 多级管道:

    cat access.log | grep "404" | awk '{print $7}' | sort | uniq -c | sort -nr

    这个命令链:

    • 读取日志文件
    • 过滤出404错误
    • 提取URL路径
    • 排序
    • 统计每个路径出现的次数
    • 按出现次数降序排列

9.2 重定向技巧

除了管道,重定向也是命令行中不可或缺的功能:

  1. 输出重定向:

    command > file # 标准输出重定向到文件(覆盖) command >> file # 标准输出重定向到文件(追加)
  2. 错误重定向:

    command 2> file # 标准错误重定向到文件 command 2>&1 # 标准错误重定向到标准输出
  3. 输入重定向:

    command < file # 从文件读取输入
  4. 实用示例:

    • 同时保存输出和错误:
      command > output.log 2>&1
    • 丢弃错误信息:
      command 2> /dev/null

9.3 高级组合技巧

  1. 命令替换:

    vi $(find . -name "*.conf") # 编辑所有.conf文件
  2. 进程替换:

    diff <(ls dir1) <(ls dir2) # 比较两个目录的内容
  3. 后台执行与输出处理:

    (command > output.log) & # 后台执行并重定向输出
  4. 并行执行:

    command1 & command2 & command3 & wait # 并行执行多个命令

10. 环境配置与个性化

10.1 Shell配置

  1. 配置文件:

    • Bash:~/.bashrc,~/.bash_profile,~/.bash_logout
    • Zsh:~/.zshrc,~/.zprofile
  2. 常用配置项:

    export PATH="$PATH:/custom/path" # 添加自定义路径 alias ll='ls -alF' # 创建别名 set -o vi # 使用vi风格的命令行编辑
  3. 提示符定制:

    export PS1='\u@\h:\w\$ ' # 用户@主机:目录$

10.2 终端增强

  1. 终端复用器:

    • tmux:
      tmux new -s session_name # 创建新会话 tmux attach -t session_name # 附加到现有会话
    • screen:
      screen -S session_name # 创建新会话 screen -r session_name # 恢复会话
  2. 终端主题:

    • 修改~/.bashrc或终端模拟器设置
    • 使用oh-my-zsh等框架
  3. 自动补全:

    • Bash:bash-completion包
    • Zsh: 内置更强大的补全系统

10.3 开发环境配置

  1. 编辑器配置:

    • Vim:~/.vimrc
    • Emacs:~/.emacs或~/.emacs.d/init.el
    • Nano:~/.nanorc
  2. 版本控制:

    • Git配置:~/.gitconfig
    [user] name = Your Name email = your.email@example.com [alias] co = checkout st = status
  3. 语言环境:

    • Python: virtualenv, pipenv
    • Node.js: nvm, npm配置
    • Ruby: rbenv, gem配置

11. 实用资源推荐

11.1 在线文档与教程

  1. 官方文档:

    • GNU核心工具:https://www.gnu.org/software/coreutils/manual/
    • Bash参考手册:https://www.gnu.org/software/bash/manual/
  2. 交互式学习:

    • Linux命令行基础:https://linuxjourney.com/
    • Bash脚本教程:https://ryanstutorials.net/bash-scripting-tutorial/
  3. 问题解决:

    • Arch Wiki:https://wiki.archlinux.org/(适用于所有Linux发行版)
    • Stack Overflow:https://stackoverflow.com/

11.2 书籍推荐

  1. 入门书籍:

    • 《Linux命令行与shell脚本编程大全》
    • 《鸟哥的Linux私房菜》
  2. 进阶书籍:

    • 《UNIX环境高级编程》
    • 《Linux/UNIX系统编程手册》
  3. 参考手册:

    • 《Linux命令速查手册》
    • 《Bash Cookbook》

11.3 工具推荐

  1. 命令行增强:

    • htop: 增强的系统监控
    • ncdu: 磁盘使用分析器
    • jq: JSON处理工具
    • fzf: 模糊查找工具
  2. 开发工具:

    • git: 版本控制
    • docker: 容器化
    • ansible: 自动化配置
  3. 网络工具:

    • httpie: 用户友好的HTTP客户端
    • tcpdump: 网络数据包分析
    • wireshark: 图形化网络分析

12. 实战案例解析

12.1 日志分析实战

  1. 分析Nginx访问日志:

    # 统计访问量前10的IP awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -nr | head -10 # 统计HTTP状态码分布 awk '{print $9}' /var/log/nginx/access.log | sort | uniq -c | sort -nr # 统计最常访问的URL awk '{print $7}' /var/log/nginx/access.log | sort | uniq -c | sort -nr | head -10
  2. 实时监控日志:

    tail -f /var/log/nginx/access.log | grep --line-buffered "404" | awk '{print $1,$7}' | tee 404_errors.log

12.2 系统监控脚本

  1. 简易系统监控:

    #!/bin/bash echo "=== System Monitoring ===" echo "Date: $(date)" echo "Uptime: $(uptime)" echo "Memory: $(free -h | grep Mem | awk '{print $3"/"$2}') used" echo "Disk: $(df -h / | awk 'NR==2 {print $3"/"$2}') used" echo "Top processes:" ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu | head -5
  2. 定时执行并记录:

    */5 * * * * /path/to/monitor.sh >> /var/log/system_monitor.log

12.3 备份策略实现

  1. 增量备份脚本:

    #!/bin/bash BACKUP_DIR="/backups" SOURCE_DIR="/home/user/documents" DATE=$(date +%Y%m%d) # 完整备份(每周日) if [ $(date +%u) -eq 7 ]; then tar -czf "$BACKUP_DIR/full_$DATE.tar.gz" "$SOURCE_DIR" else # 增量备份(其他日子) find "$SOURCE_DIR" -type f -mtime -1 -print0 | tar -czf "$BACKUP_DIR/incr_$DATE.tar.gz" --null -T - fi # 删除30天前的备份 find "$BACKUP_DIR" -name "*.tar.gz" -mtime +30 -delete
  2. 备份验证:

    tar -tzf backup_file.tar.gz | less # 查看备份内容

13. 命令行的艺术

13.1 高效工作流

  1. 快捷键技巧:

    • Ctrl+R: 反向搜索命令历史
    • Ctrl+A: 移动到行首
    • Ctrl+E: 移动到行尾
    • Ctrl+U: 删除到行首
    • Ctrl+K: 删除到行尾
    • Alt+.: 插入上一个命令的最后一个参数
  2. 命令行编辑:

    • 设置set -o vi或set -o emacs选择编辑模式
    • 使用fc命令编辑并重新执行上一条命令
  3. 作业控制:

    • Ctrl+Z: 暂停当前作业
    • bg: 将作业放到后台运行
    • fg: 将作业带回前台

13.2 数据转换与处理

  1. CSV文件处理:

    # 提取特定列并排序 cut -d',' -f2,5 data.csv | sort -t',' -k2 -n # 计算列总和 awk -F',' '{sum+=$3} END {print sum}' data.csv
  2. JSON数据处理:

    # 使用jq工具解析JSON curl -s https://api.example.com/data | jq '.results[] | select(.value > 10)' # 格式化JSON cat data.json | jq '.'
  3. XML处理:

    # 使用xmlstarlet工具 xmlstarlet sel -t -v "//title" data.xml

13.3 自动化脚本设计

  1. 脚本模板:

    #!/bin/bash # 脚本描述 # 用法: script.sh [选项] <参数> set -euo pipefail # 严格模式 IFS=$'\n\t' # 更安全的字段分隔符 # 初始化变量 VERBOSE=false OUTPUT_DIR="." # 解析选项 while getopts ":vo:" opt; do case $opt in v) VERBOSE=true ;; o) OUTPUT_DIR="$OPTARG" ;; \?) echo "无效选项: -$OPTARG" >&2; exit 1 ;; esac done shift $((OPTIND-1)) # 主逻辑 main() { [ "$VERBOSE" = true ] && echo "开始处理..." # 脚本主体 } # 执行主函数 main "$@"
  2. 错误处理最佳实践:

    • 使用set -e在错误时退出
    • 检查命令返回值
    • 提供有意义的错误信息
    • 清理临时文件
  3. 性能优化:

    • 减少子进程创建
    • 使用内置命令替代外部命令
    • 批量处理而非逐行处理

14. 跨平台命令差异

14.1 Linux与macOS差异

  1. 命令差异:

    • sed和awk的实现可能不同
    • macOS使用BSD工具而非GNU工具
    • 选项可能有细微差别
  2. 解决方案:

    • 安装GNU核心工具:brew install coreutils
    • 使用兼容性脚本
    • 明确指定路径:/usr/local/bin/grep而非grep
  3. 实用别名:

    # 在macOS的~/.bash_profile中添加 alias grep='ggrep' # 如果安装了GNU grep alias sed='gsed' # GNU sed

14.2 不同Linux发行版差异

  1. 包管理命令:

    • Debian/Ubuntu:apt,apt-get,dpkg
    • RHEL/CentOS:yum,dnf,rpm
    • Arch:pacman
    • openSUSE:zypper
  2. 服务管理:

    • systemd:systemctl
    • SysV init:service
    • Upstart: (旧版Ubuntu)
  3. 文件位置差异:

    • 配置文件可能位于/etc/sysconfig或/etc/default
    • 日志文件位置可能不同

14.3 Windows子系统Linux(WSL)

  1. WSL特点:

    • 文件系统互通
    • 网络配置差异
    • 服务管理限制
  2. 实用技巧:

    • 从Windows访问Linux文件:\\wsl$\
    • 从Linux访问Windows文件:/mnt/c/
    • 配置默认用户:ubuntu config --default-user username
  3. 常见问题:

    • 解决systemd不可用
    • 处理Windows换行符
    • 配置GUI应用

15. 终端复用与远程工作

15.1 tmux高级用法

  1. 会话管理:

    tmux new -s session_name # 创建命名会话 tmux attach -t session_name # 附加到会话 tmux ls # 列出所有会话
  2. 窗口和面板:

    • Ctrl+b c: 创建新窗口
    • Ctrl+b n/p: 切换窗口
    • Ctrl+b %: 垂直分割面板
    • Ctrl+b ": 水平分割面板
    • Ctrl+b 方向键: 切换面板
  3. 配置优化:

    • ~/.tmux.conf配置文件
    • 修改前缀键
    • 启用鼠标支持
    • 设置状态栏

15.2 SSH高级配置

  1. 配置文件:

    • ~/.ssh/config示例:
      Host myserver HostName server.example.com User username Port 2222 IdentityFile ~/.ssh/id_rsa_myserver
  2. 连接复用:

    # 在~/.ssh/config中添加 ControlMaster auto ControlPath ~/.ssh/control:%h:%p:%r ControlPersist 1h
  3. 端口转发:

    • 本地转发:ssh -L 8080:localhost:80 myserver
    • 远程转发:ssh -R 9000:localhost:3000 myserver
    • 动态转发:ssh -D 1080 myserver

15.3 远程开发环境

  1. 远程编辑:

    sshfs user@host:/remote/path /local/path # 挂载远程目录 vim scp://user@host//path/to/file # 直接编辑远程文件
  2. 代码同步:

    rsync -avz --delete /local/path user@host:/remote/path # 本地到远程 rsync -avz --delete user@host:/remote/path /local/path # 远程到本地
  3. 持续集成:

    • 通过SSH执行远程构建
    • 自动部署脚本
    • 监控远程服务

16. 性能分析与优化

16.1 系统性能分析

  1. CPU分析:

    perf top # 实时CPU分析 perf stat command # 命令性能统计 strace -c command # 系统调用统计
  2. 内存分析:

    valgrind --tool=memcheck program # 内存泄漏检测 pmap -x PID # 进程内存映射
  3. I/O分析:

    iotop # I/O使用情况 blktrace # 块设备I/O跟踪

16.2 命令性能优化

  1. 减少管道:

    • 合并awk操作
    • 使用sed替代多级grep
  2. 并行处理:

    # 使用GNU parallel find . -name "*.log" | parallel gzip
  3. 高效文本处理:

    • 使用LC_ALL=C提高排序速度
    • 避免不必要的正则表达式
    • 使用固定字符串搜索(grep -F)

16.3 资源限制

  1. 设置限制:

    ulimit -a # 显示当前限制 ulimit -n 4096 # 设置文件描述符限制
  2. cgroups控制:

    # 创建cgroup cgcreate -g cpu,memory:/mygroup # 设置限制 cgset -r cpu.shares=512 mygroup # 运行程序 cgexec -g cpu,memory:mygroup command
  3. 优先级调整:

    nice -n 10 command # 启动低优先级命令 renice 10 -p PID # 调整运行中进程优先级

17. 安全最佳实践

17.1 基本安全措施

  1. 用户管理:

    • 禁用root远程登录
    • 使用sudo替代su
    • 创建专用用户账户
  2. SSH安全:

    • 禁用密码认证,使用密钥
    • 修改默认端口
    • 使用Fail2Ban防止暴力破解
  3. 文件权限:

    • 遵循最小权限原则
    • 设置适当的umask
    • 定期检查SUID/SGID文件

17.2 审计与监控

  1. 登录审计:

    last # 查看登录记录 lastb # 查看失败登录尝试 who /var/log/wtmp # 当前和历史登录用户
  2. 文件完整性检查:

    # 使用AIDE aide --init aide --check
  3. 进程监控:

    lsof -i # 查看网络连接 ps auxf # 查看进程树

17.3 加密与安全传输

  1. 文件加密:

    gpg -c file # 对称加密 gpg -e -r recipient file # 非对称加密
  2. 安全传输:

    scp file user@host:/path # 安全复制 rsync -e ssh -avz src/ user@host:dst/ # 安全同步
  3. 密码管理:

    • 使用pass或gopass管理密码
    • 避免在脚本中硬编码密码
    • 使用API密钥而非密码

18. 容器化与自动化

18.1 Docker基础命令

  1. 容器管理:

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询