Greenhats の Blog.

Linux 常用命令

2025/02/01
loading

Linux常用命令

Linux系统的常用命令整理,按功能分类说明,覆盖文件操作、系统管理、网络工具等场景:


文件与目录操作

  1. 查看目录内容

    1
    2
    3
    4
    ls               # 列出当前目录内容
    ls -l # 详细列表(权限、大小、时间)
    ls -a # 显示隐藏文件(以`.`开头)
    ls -lh # 显示文件大小(人类可读格式,如KB/MB)
  2. 切换目录

    1
    2
    3
    4
    cd /path         # 进入绝对路径
    cd .. # 返回上一级目录
    cd ~ # 进入用户家目录
    cd - # 返回上一次所在目录
  3. 创建/删除文件与目录

    1
    2
    3
    4
    5
    6
    touch file.txt   # 创建空文件
    mkdir dirname # 创建目录
    mkdir -p dir1/dir2 # 递归创建多级目录
    rm file.txt # 删除文件
    rm -r dirname # 递归删除目录及内容
    rm -rf dirname # 强制删除(慎用!)
  4. 复制与移动

    1
    2
    3
    4
    cp file1 file2    # 复制文件
    cp -r dir1 dir2 # 递归复制目录
    mv file1 newname # 重命名文件
    mv file1 /path # 移动文件到指定路径
  5. 查看文件内容

    1
    2
    3
    4
    5
    cat file.txt     # 显示文件全部内容
    less file.txt # 分页查看(支持上下翻页)
    head -n 5 file # 显示文件前5行
    tail -n 10 file # 显示文件末尾10行
    tail -f log.txt # 实时追踪日志更新

文件权限与所有权

  1. 修改权限

    1
    2
    chmod 755 file      # 设置权限:用户rwx,组和其他r-x
    chmod +x script.sh # 添加可执行权限
  2. 修改所有者

    1
    2
    chown user:group file  # 修改文件所有者和所属组
    chown -R user:group dir # 递归修改目录下所有文件

搜索与查找

  1. 文件查找

    1
    2
    3
    find /path -name "*.log"      # 按名称查找文件
    find /var -mtime +7 # 查找7天前修改的文件
    find . -size +10M # 查找大于10MB的文件
  2. 文本搜索

    1
    2
    3
    grep "error" log.txt         # 在文件中搜索关键词
    grep -r "pattern" /path # 递归搜索目录下的所有文件
    grep -i "warning" file # 忽略大小写搜索

压缩与解压

  1. tar命令

    1
    2
    3
    4
    tar -czvf archive.tar.gz dir/  # 压缩目录为gzip格式
    tar -xzvf archive.tar.gz # 解压gzip压缩包
    tar -cjvf archive.tar.bz2 dir/ # 压缩为bzip2格式
    tar -xjvf archive.tar.bz2 # 解压bzip2压缩包
  2. zip/unzip

    1
    2
    zip -r archive.zip dir/       # 压缩目录为zip格式
    unzip archive.zip # 解压zip文件

系统信息与管理

  1. 查看系统状态

    1
    2
    3
    4
    5
    top                 # 实时监控进程和资源(CPU/内存)
    htop # 增强版top(需安装)
    free -h # 查看内存使用(人类可读格式)
    df -h # 查看磁盘空间
    du -sh dir # 统计目录大小
  2. 进程管理

    1
    2
    3
    4
    ps aux              # 查看所有进程
    kill 1234 # 终止PID为1234的进程
    kill -9 1234 # 强制终止进程
    pkill process_name # 按进程名终止
  3. 系统服务管理(systemd)

    1
    2
    3
    4
    5
    systemctl start nginx     # 启动服务
    systemctl stop nginx # 停止服务
    systemctl restart nginx # 重启服务
    systemctl status nginx # 查看服务状态
    systemctl enable nginx # 设置开机自启

网络工具

  1. 连接与测试

    1
    2
    3
    ping example.com          # 测试网络连通性
    curl -I http://example.com # 发送HTTP请求并显示响应头
    wget http://example.com/file.zip # 下载文件
  2. 端口与路由

    1
    2
    3
    4
    netstat -tuln            # 查看监听端口
    ss -tuln # 替代netstat(更快)
    lsof -i :80 # 查看占用80端口的进程
    traceroute example.com # 跟踪网络路由路径
  3. 网络配置

    1
    2
    3
    ifconfig                 # 查看网络接口信息(旧版)
    ip addr # 查看IP地址(新版推荐)
    ip route # 查看路由表

用户与权限

  1. 用户管理

    1
    2
    3
    4
    5
    sudo su -               # 切换到root用户
    useradd username # 创建新用户
    passwd username # 修改用户密码
    usermod -aG sudo username # 将用户加入sudo组(Ubuntu)
    userdel username # 删除用户
  2. SSH连接

    1
    2
    3
    4
    ssh user@host           # 连接远程服务器
    ssh -p 2222 user@host # 指定端口连接
    ssh-keygen # 生成SSH密钥对
    ssh-copy-id user@host # 上传公钥到远程主机

包管理工具

  1. APT(Debian/Ubuntu)

    1
    2
    3
    4
    5
    sudo apt update         # 更新软件包列表
    sudo apt upgrade # 升级所有已安装的包
    sudo apt install nginx # 安装软件包
    sudo apt remove nginx # 卸载软件包(保留配置)
    sudo apt purge nginx # 完全卸载(删除配置)
  2. YUM/DNF(CentOS/RHEL/Fedora)

    1
    2
    3
    4
    sudo yum update         # 更新所有包(旧版)
    sudo dnf upgrade # 新版Fedora/CentOS
    sudo yum install httpd # 安装软件包
    sudo yum remove httpd # 卸载软件包

日志查看

  1. 系统日志
    1
    2
    3
    journalctl -u nginx     # 查看指定服务的日志(systemd)
    tail -f /var/log/syslog # 实时追踪系统日志(Ubuntu)
    tail -f /var/log/messages # 实时追踪系统日志(CentOS)

计划任务

  1. Cron任务
    1
    2
    crontab -e              # 编辑当前用户的定时任务
    crontab -l # 列出当前用户的定时任务
    示例定时任务:
    1
    2
    # 每天凌晨3点执行脚本
    0 3 * * * /path/to/script.sh

实用技巧

  1. 管道与重定向

    1
    2
    3
    4
    cat file.txt | grep "error"  # 管道传递输出
    ls > list.txt # 输出重定向到文件
    ls 2> error.log # 错误信息重定向到文件
    ls >> log.txt # 追加输出到文件
  2. 后台运行命令

    1
    2
    3
    4
    nohup ./script.sh &        # 后台运行且退出终端不终止
    Ctrl + Z # 暂停当前任务
    bg # 将暂停的任务放到后台
    fg # 将后台任务切回前台
  3. 别名设置

    1
    2
    alias ll='ls -alF'        # 临时设置别名
    # 永久生效需写入 ~/.bashrc 或 ~/.zshrc

常见问题排查

  1. 磁盘空间不足

    1
    2
    df -h                     # 查看磁盘使用情况
    du -sh /* # 查找大文件目录
  2. 内存泄漏检测

    1
    2
    free -h                   # 查看内存总量和剩余
    top # 监控进程内存占用
  3. 服务启动失败

    1
    2
    systemctl status nginx    # 查看服务状态和错误信息
    journalctl -xe # 查看详细系统日志

CATALOG
  1. 1. Linux常用命令
    1. 1.0.1. 文件与目录操作
    2. 1.0.2. 文件权限与所有权
    3. 1.0.3. 搜索与查找
    4. 1.0.4. 压缩与解压
    5. 1.0.5. 系统信息与管理
    6. 1.0.6. 网络工具
    7. 1.0.7. 用户与权限
    8. 1.0.8. 包管理工具
    9. 1.0.9. 日志查看
    10. 1.0.10. 计划任务
    11. 1.0.11. 实用技巧
    12. 1.0.12. 常见问题排查