欢迎光临
我们一直在努力

Linux 常用命令大全

目录

  • 文件目录操作
  • 时间日期管理
  • 用户与组管理
  • 文件权限管理
  • 网络管理
  • 进程管理
  • 压缩与解压缩
  • 搜索查找
  • 软件包管理
  • 关机重启与帮助
  • Vim 编辑器技巧

  • 一、文件目录操作

    1. pwd — 显示当前目录路径

    pwd
    # 输出示例:/root

    2. ls — 查看文件和目录

    选项说明
    -a 显示所有文件,包括隐藏文件(以.开头)
    -l 以列表形式显示详细信息(等同于 ll)
    -h 以人类可读格式显示文件大小(如 K、M、G)

    ls -la # 显示所有文件详细信息
    ls -lh # 显示详细信息,文件大小易读

    3. cd — 切换目录

    命令说明
    cd 目录名 切换到指定目录
    cd .. 切换到上一级目录
    cd / 或 cd ~ 切换到用户主目录(home)
    cd – 切换到上次访问的目录

    4. mkdir — 创建目录

    mkdir dirname # 创建单级目录
    mkdir -p a/b/c # 递归创建多级目录(-p:parents)

    5. rmdir — 删除空目录

    rmdir dirname # 仅删除空目录
    rmdir -p a/b/c # 递归删除空目录

    ⚠️ 注意: rmdir 只能删除空目录,非空目录会报错。

    6. touch — 创建空文件或修改时间戳

    touch file.txt # 创建空文件
    touch a.txt b.txt # 同时创建多个文件

    7. rm — 删除文件或目录

    选项说明
    -r 递归删除目录及其内容
    -f 强制删除,不提示确认
    -i 删除前逐一确认
    -v 显示删除过程

    rm file.txt # 删除文件
    rm -rf dirname/ # 强制递归删除目录(⚠️ 慎用!)
    rm -i *.log # 交互式删除所有日志文件

    8. mv — 移动或重命名

    mv old.txt new.txt # 重命名文件
    mv file.txt /tmp/ # 移动文件到指定目录
    mv dir1/ dir2/ # 移动目录

    9. cp — 复制文件或目录

    选项说明
    -r 递归复制目录
    -p 保留文件属性(修改时间等)
    -v 显示复制过程

    cp file.txt /backup/ # 复制文件
    cp -r dir1/ /backup/dir1/ # 递归复制目录
    cp -rp dir1/ dir2/ # 保留属性递归复制

    10. 文件查看命令

    cat — 显示文件全部内容

    cat file.txt # 显示文件内容
    cat -n file.txt # 显示行号
    cat file1 file2 > file3 # 合并多个文件

    more — 百分比分页查看

    more file.txt
    # 操作:空格(下一页)、回车(下一行)、q(退出)

    less — 分屏查看(更强大,支持前后翻页)

    less file.txt
    # 操作:空格/PgDn(下一页)、PgUp(上一页)、/关键词(向下搜索)、?关键词(向上搜索)、n(下一个匹配)、N(上一个匹配)、q(退出)

    head — 查看文件开头

    head file.txt # 默认显示前10行
    head -n 5 file.txt # 显示前5行
    head -n -5 file.txt # 显示除最后5行外的所有内容

    tail — 查看文件尾部(常用!)

    tail file.txt # 默认显示最后10行
    tail -n 20 file.txt # 显示最后20行
    tail -f log.txt # 实时追踪文件新增内容(查看日志神器)
    tail -f -n 100 log.txt # 实时追踪,从最后100行开始

    11. 重定向

    符号说明示例
    > 覆盖写入 echo "hello" > file.txt
    >> 追加写入 echo "world" >> file.txt
    2> 错误输出重定向 cmd 2> error.log
    &> 标准输出和错误都重定向 cmd &> all.log
    < 输入重定向 cat < file.txt
    | 管道符,将前一个命令输出作为后一个命令输入 cat file | grep "error"

    二、时间日期管理

    1. date — 显示和设置系统时间

    date # 显示当前完整时间
    date +%Y-%m-%d # 格式化输出:2026-04-22
    date +"%Y-%m-%d %H:%M:%S" # 2026-04-22 23:36:00
    date +%s # 显示时间戳(秒)
    date -d "2026-04-22" +%s # 指定日期转时间戳

    # 设置时间(需root权限)
    date -s "2026-04-22 23:36:00"

    常用格式符:

    格式符含义
    %Y 四位年份
    %m 月份(01-12)
    %d 日期(01-31)
    %H 小时(00-23)
    %M 分钟(00-59)
    %S 秒(00-59)
    %w 星期(0-6,0为周日)

    2. cal — 显示日历

    cal # 显示当月日历
    cal 2026 # 显示2026年全年日历
    cal -3 # 显示前月、当月、下月
    cal -m # 周一作为每周第一天


    三、用户与组管理

    1. 用户管理

    新增用户

    useradd username # 创建用户,默认创建同名组
    useradd -m username # 创建用户并创建主目录
    useradd -d /home/mydir username # 指定主目录
    useradd -g groupname username # 指定主组
    useradd -G group1,group2 username # 指定附加组

    passwd username # 设置/修改用户密码

    删除用户

    userdel username # 删除用户,保留主目录
    userdel -r username # 删除用户及其主目录(-r:remove)

    查看用户信息

    id username # 查看用户ID、组ID等信息
    whoami # 显示当前用户名
    who # 显示当前登录用户
    w # 显示登录用户及其正在执行的命令

    切换用户

    su – username # 切换到指定用户(带环境变量)
    su username # 切换到指定用户(保留当前环境)
    exit # 退出当前用户,返回上一个用户
    sudo command # 以root权限执行命令

    2. 组管理

    groupadd groupname # 创建组
    groupdel groupname # 删除组
    groupmod -n newname oldname # 重命名组

    gpasswd -a username groupname # 将用户添加到组
    gpasswd -d username groupname # 将用户从组中移除
    gpasswd -M user1,user2 groupname # 设置组成员列表

    groups username # 查看用户所属组


    四、文件权限管理

    1. 权限基础

    Linux 文件权限分为三组,每组三种权限:

    -rwxr-xr– 1 root root 1234 Apr 22 23:36 file.txt
    | | |
    | | └── 其他用户权限: r– (只读)
    | └────── 所属组权限: r-x (读+执行)
    └────────── 所有者权限: rwx (读+写+执行)

    权限字符数字对文件对目录
    r 4 查看内容 列出目录内容
    w 2 修改内容 创建/删除文件
    执行 x 1 执行文件 进入目录

    2. chmod — 修改文件权限

    数字模式:

    chmod 755 file.txt # rwxr-xr-x
    chmod 644 file.txt # rw-r–r–
    chmod 777 file.txt # rwxrwxrwx(⚠️ 慎用)
    chmod -R 755 dirname/ # 递归修改目录及子文件权限

    字符模式:

    chmod u+x file.txt # 给所有者添加执行权限
    chmod g-w file.txt # 去掉组的写权限
    chmod o=r file.txt # 设置其他用户只有读权限
    chmod a+x file.txt # 给所有用户添加执行权限

    # u: user(所有者), g: group(组), o: other(其他), a: all(所有)
    # +: 添加, -: 移除, =: 设置

    3. chown — 修改文件所有者

    chown user file.txt # 修改所有者
    chown user:group file.txt # 同时修改所有者和所属组
    chown -R user:group dirname/ # 递归修改
    chown :group file.txt # 只修改所属组(等同于 chgrp)

    4. chgrp — 修改文件所属组

    chgrp groupname file.txt # 修改所属组
    chgrp -R groupname dirname/ # 递归修改

    5. umask — 查看/设置默认权限

    umask # 显示当前umask值(如 0022)
    umask 002 # 设置umask,新建文件权限 = 666 – umask,目录 = 777 – umask
    umask -S # 以符号形式显示

    计算示例: umask 为 022 时,新建文件默认权限为 644(rw-r–r–),目录为 755(rwxr-xr-x)。


    五、网络管理

    1. ifconfig / ip — 查看和配置网络接口

    ifconfig # 查看所有网卡信息
    ifconfig eth0 # 查看指定网卡
    ifconfig eth0 up/down # 启用/禁用网卡

    # 现代Linux推荐使用 ip 命令
    ip addr # 查看IP地址
    ip link # 查看链路状态
    ip route # 查看路由表

    2. ping — 测试网络连通性

    ping www.baidu.com # 持续测试,按Ctrl+C停止
    ping -c 4 www.baidu.com # 发送4个包后停止
    ping -i 0.5 192.168.1.1 # 每0.5秒发送一次

    3. curl — 发送HTTP请求

    curl https://www.example.com # 获取网页内容
    curl -O https://example.com/file.zip # 下载文件(保留原文件名)
    curl -o myfile.zip https://example.com/file.zip # 下载并指定文件名
    curl -I https://example.com # 只显示响应头
    curl -X POST -d "key=value" https://api.example.com # POST请求

    4. wget — 下载文件

    wget https://example.com/file.zip # 下载文件
    wget -O myname.zip https://example.com/file.zip # 指定保存名
    wget -c https://example.com/file.zip # 断点续传
    wget -r -np https://example.com/dir/ # 递归下载目录

    5. netstat / ss — 查看网络连接和端口

    netstat -tuln # 显示所有监听端口(TCP/UDP)
    netstat -anp | grep 8080 # 查看8080端口占用情况
    netstat -i # 显示网卡统计信息

    # 现代Linux推荐使用 ss 命令
    ss -tuln # 显示监听端口
    ss -tlnp # 显示监听端口及进程
    ss -s # 显示网络统计摘要

    6. host / nslookup / dig — DNS查询

    host www.baidu.com # 查询域名对应的IP
    host 8.8.8.8 # 反向查询IP对应的域名
    nslookup www.baidu.com # DNS详细查询
    dig www.baidu.com # 更详细的DNS查询信息


    六、进程管理

    1. ps — 查看进程状态

    ps aux # 显示所有用户的所有进程(BSD格式)
    ps -ef # 显示所有进程(标准格式)
    ps -u username # 查看指定用户的进程
    ps -p PID # 查看指定PID的进程

    # 常用组合
    ps aux | grep nginx # 查找nginx进程
    ps aux –sort=-%cpu # 按CPU使用率排序
    ps aux –sort=-%mem # 按内存使用率排序

    ps aux 输出字段说明:

    字段含义
    USER 进程所有者
    PID 进程ID
    %CPU CPU占用率
    %MEM 内存占用率
    VSZ 虚拟内存大小(KB)
    RSS 实际内存大小(KB)
    TTY 终端
    STAT 进程状态(S:睡眠, R:运行, Z:僵尸等)
    START 启动时间
    TIME CPU累计使用时间
    COMMAND 启动命令

    2. top / htop — 实时监控系统进程

    top # 实时显示进程信息
    # 交互操作:
    # M: 按内存排序 P: 按CPU排序 T: 按时间排序
    # k: 杀死进程(输入PID) q: 退出
    # 1: 显示每个CPU核心使用情况

    htop # 更美观的top替代品(需安装)

    3. kill / killall / pkill — 终止进程

    kill PID # 正常终止进程
    kill -9 PID # 强制终止(SIGKILL,无法捕获)
    kill -15 PID # 优雅终止(SIGTERM,默认)
    killall process_name # 按进程名终止所有匹配进程
    pkill process_name # 按名称模式终止进程

    常用信号:

    信号数值说明
    SIGHUP 1 挂起信号,常用于重新加载配置
    SIGINT 2 中断(Ctrl+C)
    SIGKILL 9 强制终止,无法被捕获或忽略
    SIGTERM 15 正常终止(默认信号)
    SIGUSR1 10 用户自定义信号1

    4. pstree — 以树形结构显示进程

    pstree # 显示进程树
    pstree -p # 显示PID
    pstree -u # 显示用户
    pstree -p username # 显示指定用户的进程树

    5. nohup / & / jobs / fg / bg — 前后台任务管理

    command & # 后台运行
    nohup command & # 后台运行,忽略挂起信号(关闭终端不退出)
    jobs # 查看当前终端的后台任务
    fg %1 # 将编号1的任务调到前台
    bg %1 # 将编号1的任务在后台继续运行
    Ctrl+Z # 暂停当前前台任务


    七、压缩与解压缩

    1. tar — 打包归档(最常用!)

    选项说明
    -c 创建新归档
    -x 解压归档
    -t 列出归档内容
    -z 使用gzip压缩/解压(.tar.gz / .tgz)
    -j 使用bzip2压缩/解压(.tar.bz2)
    -J 使用xz压缩/解压(.tar.xz)
    -v 显示详细过程
    -f 指定文件名(必须放在最后)
    -C 指定解压目录
    -p 保留原始权限

    # 压缩
    tar -czvf archive.tar.gz dir/ file.txt # gzip压缩
    tar -cjvf archive.tar.bz2 dir/ # bzip2压缩(压缩率更高)
    tar -cJvf archive.tar.xz dir/ # xz压缩(压缩率最高)

    # 解压
    tar -xzvf archive.tar.gz # 解压到当前目录
    tar -xzvf archive.tar.gz -C /target/dir # 解压到指定目录
    tar -tzvf archive.tar.gz # 查看压缩包内容不解压

    # 只打包不压缩
    tar -cvf archive.tar dir/

    2. zip / unzip — ZIP格式压缩

    zip archive.zip file.txt # 压缩单个文件
    zip -r archive.zip dir/ # 递归压缩目录
    zip -r archive.zip file1 file2 dir/ # 压缩多个文件和目录

    unzip archive.zip # 解压到当前目录
    unzip archive.zip -d /target/dir # 解压到指定目录
    unzip -l archive.zip # 列出压缩包内容

    3. gzip / gunzip — GZIP格式压缩

    gzip file.txt # 压缩文件(生成 file.txt.gz,删除原文件)
    gzip -k file.txt # 压缩并保留原文件(keep)
    gzip -d file.txt.gz # 解压(等同于 gunzip)
    gunzip file.txt.gz # 解压

    gzip -r dir/ # 递归压缩目录内所有文件

    ⚠️ 注意: gzip 只能压缩单个文件,不能压缩目录。要压缩目录需先用 tar 打包。


    八、搜索查找

    1. find — 文件搜索(功能最强大)

    find /path -name "file.txt" # 按名称精确查找
    find /path -name "*.txt" # 按名称模糊查找(通配符)
    find /path -iname "*.txt" # 忽略大小写查找
    find /path -type f # 查找文件(f: file)
    find /path -type d # 查找目录(d: directory)
    find /path -type l # 查找符号链接(l: link)
    find /path -size +100M # 查找大于100M的文件
    find /path -size -1k # 查找小于1KB的文件
    find /path -mtime -7 # 查找7天内修改过的文件
    find /path -user username # 查找指定用户的文件
    find /path -perm 644 # 查找权限为644的文件

    # 执行操作
    find /path -name "*.log" -delete # 删除找到的文件
    find /path -name "*.txt" -exec chmod 644 {} \\; # 对找到的文件执行命令
    find /path -name "*.txt" | xargs rm -f # 配合xargs使用更高效

    2. locate — 快速定位文件

    locate filename # 快速查找文件路径
    locate "*.conf" # 支持通配符
    sudo updatedb # 更新数据库(locate依赖的数据库)

    优点: 速度极快,基于预建的数据库。 缺点: 数据库可能不是实时的,新创建的文件可能搜不到。

    3. grep — 文本内容搜索(极其常用!)

    grep "pattern" file.txt # 在文件中搜索字符串
    grep -i "pattern" file.txt # 忽略大小写
    grep -n "pattern" file.txt # 显示行号
    grep -v "pattern" file.txt # 反向匹配(排除)
    grep -r "pattern" dir/ # 递归搜索目录
    grep -E "pattern1|pattern2" file.txt # 扩展正则表达式
    grep -c "pattern" file.txt # 统计匹配行数
    grep -C 3 "pattern" file.txt # 显示匹配行及前后3行

    # 管道组合使用
    cat file.txt | grep "error" # 过滤文件内容
    ps aux | grep nginx # 查找进程
    netstat -tlnp | grep :8080 # 查找端口

    4. which — 查找命令位置

    which python3 # 查找python3可执行文件路径
    which -a python3 # 查找所有匹配路径

    5. whereis — 查找程序相关文件

    whereis python3 # 查找可执行文件、源码、man手册位置
    whereis -b python3 # 只查找可执行文件
    whereis -m python3 # 只查找man手册


    九、软件包管理

    CentOS/RHEL/Fedora(YUM / DNF)

    # YUM(CentOS 7及以前)
    yum list installed # 列出已安装软件
    yum list | grep nginx # 搜索软件包
    yum install nginx # 安装软件
    yum remove nginx # 卸载软件
    yum update # 更新所有软件
    yum update nginx # 更新指定软件
    yum search nginx # 搜索软件包
    yum info nginx # 查看软件包信息
    yum clean all # 清理缓存

    # DNF(CentOS 8+ / Fedora,YUM的下一代)
    dnf install nginx
    dnf remove nginx
    dnf update

    Ubuntu/Debian(APT)

    apt list –installed # 列出已安装软件
    apt search nginx # 搜索软件包
    apt show nginx # 查看软件包详情
    sudo apt update # 更新软件源列表
    sudo apt upgrade # 升级所有已安装软件
    sudo apt install nginx # 安装软件
    sudo apt remove nginx # 卸载软件(保留配置)
    sudo apt purge nginx # 完全卸载(删除配置)
    sudo apt autoremove # 自动删除不再需要的依赖
    sudo apt clean # 清理下载的软件包缓存

    # dpkg(底层包管理工具)
    dpkg -l # 列出所有已安装包
    dpkg -l | grep nginx # 查找已安装的包
    dpkg -i package.deb # 安装本地deb包
    dpkg -r package_name # 卸载包


    十、关机重启与帮助

    1. 关机重启命令

    shutdown -h now # 立即关机
    shutdown -h +5 # 5分钟后关机
    shutdown -h 23:00 # 23:00定时关机
    shutdown -r now # 立即重启
    shutdown -r +10 # 10分钟后重启
    shutdown -c # 取消定时关机/重启

    poweroff # 立即关机
    halt # 停机(不切断电源)
    reboot # 立即重启
    init 0 # 关机(切换运行级别)
    init 6 # 重启

    2. 帮助命令

    command –help # 显示命令简要帮助
    command -h # 同上

    man command # 查看命令详细手册(按 q 退出)
    man 5 passwd # 查看配置文件帮助(5表示配置文件章节)
    man -k keyword # 搜索相关手册页

    info command # 查看info文档(更详细)

    help cd # 查看内置命令帮助(仅Bash内置命令)

    man 手册章节:

    章节内容
    1 用户命令
    2 系统调用
    3 C库函数
    4 设备文件
    5 配置文件
    6 游戏
    7 杂项
    8 管理员命令

    十一、Vim 编辑器技巧

    1. 行号显示

    # 临时显示(在Vim命令模式下)
    :set number 或 :set nu # 显示行号
    :set nonumber 或 :set nonu # 隐藏行号

    # 永久显示
    echo "set nu" >> ~/.vimrc # 在当前用户下永久生效
    sudo vim /etc/vimrc # 全局配置(所有用户)

    2. Vim 常用操作速查

    模式操作说明
    普通模式 i 在光标前插入
    普通模式 a 在光标后插入
    普通模式 o 在当前行下方新建一行插入
    普通模式 yy 复制当前行
    普通模式 dd 删除(剪切)当前行
    普通模式 p 粘贴
    普通模式 u 撤销
    普通模式 Ctrl+r 重做
    普通模式 gg 跳到文件开头
    普通模式 G 跳到文件末尾
    普通模式 /keyword 向下搜索
    普通模式 ?keyword 向上搜索
    普通模式 n / N 下一个/上一个匹配
    命令模式 :w 保存
    命令模式 :q 退出
    命令模式 :wq 或 😡 保存并退出
    命令模式 :q! 强制退出不保存
    命令模式 :%s/old/new/g 全局替换

    附录:命令速查表

    场景推荐命令
    查看文件内容(小文件) cat
    查看文件内容(大文件) less
    实时查看日志 tail -f
    查找文件 find / locate
    查找文本内容 grep
    压缩目录 tar -czvf
    查看进程 ps aux / top
    杀死进程 kill -9 PID
    查看端口占用 ss -tlnp / netstat -tlnp
    下载文件 wget / curl -O
    权限修改 chmod / chown

    📌 更多命令参考: LinuxCool 命令大全 — 收录 3000+ 条 Linux 命令,支持在线查询。

    赞(0)
    未经允许不得转载:171主机测评 » Linux 常用命令大全
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址