插件窝 干货文章 Linux常用命令 & 实用命令万字总结

Linux常用命令 & 实用命令万字总结

文件 查看 删除 进程 855    来源:    2025-04-13

Linux常用命令与实用命令大全

文件与目录操作

基本操作

  • ls - 列出目录内容

    • ls -l 详细列表
    • ls -a 显示隐藏文件
    • ls -lh 人类可读的文件大小
    • ls -t 按修改时间排序
    • ls -r 反向排序
  • cd - 切换目录

    • cd ~ 返回家目录
    • cd - 返回上一个目录
    • cd .. 返回上级目录
  • pwd - 显示当前工作目录

  • mkdir - 创建目录

    • mkdir -p dir1/dir2 创建多级目录
  • rmdir - 删除空目录

    • rmdir -p dir1/dir2 删除多级空目录

文件操作

  • touch - 创建空文件或更新文件时间戳
  • cp - 复制文件/目录
    • cp -r 递归复制目录
    • cp -a 保留所有属性复制
  • mv - 移动/重命名文件
  • rm - 删除文件
    • rm -r 递归删除目录
    • rm -f 强制删除不提示
  • ln - 创建链接
    • ln -s 创建软链接

文件查看

  • cat - 查看文件内容
    • cat -n 显示行号
  • tac - 反向查看文件内容
  • less / more - 分页查看文件
  • head - 查看文件头部
    • head -n 10 查看前10行
  • tail - 查看文件尾部
    • tail -f 实时追踪文件变化
    • tail -n 20 查看最后20行
  • nl - 显示文件内容并带行号
  • file - 查看文件类型

文件权限与属性

权限管理

  • chmod - 修改文件权限
    • chmod 755 file 设置权限为rwxr-xr-x
    • chmod u+x file 给所有者添加执行权限
    • chmod g-w file 删除组用户的写权限
  • chown - 修改文件所有者
    • chown user:group file 修改所有者和组
  • chgrp - 修改文件所属组
  • umask - 设置默认权限掩码

特殊权限

  • chattr - 修改文件扩展属性
    • chattr +i file 设置不可修改
    • chattr -i file 取消不可修改
  • lsattr - 查看文件扩展属性

文件查找与比较

查找命令

  • find - 查找文件
    • find / -name "*.log" 按名称查找
    • find / -size +10M 查找大于10M的文件
    • find / -mtime -7 查找7天内修改的文件
    • find / -type f -exec rm {} \; 查找并删除
  • locate - 快速查找文件(需先updatedb)
  • which - 查找命令路径
  • whereis - 查找命令及相关文件
  • type - 查看命令类型(内置/外部)

比较命令

  • diff - 比较文件差异
    • diff -u file1 file2 统一格式输出
  • cmp - 逐字节比较文件
  • comm - 比较两个已排序文件
  • md5sum / sha1sum - 计算文件校验和

文本处理

基本处理

  • grep - 文本搜索
    • grep -i 忽略大小写
    • grep -v 反向匹配
    • grep -r 递归搜索
    • grep -E 使用扩展正则
    • grep -A 3 显示匹配行后3行
    • grep -B 2 显示匹配行前2行
    • grep -C 1 显示匹配行前后各1行
  • sed - 流编辑器
    • sed 's/old/new/g' 替换文本
    • sed -n '5,10p' 打印5-10行
    • sed '/pattern/d' 删除匹配行
  • awk - 文本处理语言
    • awk '{print $1}' 打印第一列
    • awk -F: '{print $1}' 以:为分隔符
    • awk '/pattern/ {print}' 打印匹配行
    • awk 'NR==10' 打印第10行
    • awk 'END {print NR}' 打印总行数

高级处理

  • cut - 按列提取文本
    • cut -d: -f1 以:分隔取第一列
  • paste - 合并文件行
  • sort - 排序
    • sort -n 数值排序
    • sort -r 反向排序
    • sort -u 去重
    • sort -k2 按第二列排序
  • uniq - 去重
    • uniq -c 统计出现次数
    • uniq -d 只显示重复行
  • wc - 统计
    • wc -l 统计行数
    • wc -w 统计单词数
    • wc -c 统计字节数
  • tr - 字符替换/删除
    • tr 'a-z' 'A-Z' 小写转大写
    • tr -d '\r' 删除回车
  • rev - 反转每行字符
  • fold - 限制行宽

压缩与归档

压缩解压

  • gzip / gunzip - gzip压缩/解压
    • gzip -9 最大压缩率
    • gzip -d 解压
  • bzip2 / bunzip2 - bzip2压缩/解压
  • xz / unxz - xz压缩/解压
  • zip / unzip - zip压缩/解压
    • zip -r 递归压缩目录
    • unzip -l 查看压缩包内容

归档工具

  • tar - 打包/解包
    • tar -cvf 创建归档
    • tar -xvf 解压归档
    • tar -zcvf 使用gzip压缩
    • tar -jcvf 使用bzip2压缩
    • tar -Jcvf 使用xz压缩
    • tar -tvf 查看归档内容
  • cpio - 另一种归档工具

磁盘与文件系统

磁盘管理

  • df - 磁盘空间使用情况
    • df -h 人类可读格式
    • df -i 查看inode使用
  • du - 文件/目录空间使用
    • du -sh 汇总显示目录大小
    • du -h --max-depth=1 显示一级子目录大小
  • fdisk - 磁盘分区工具
  • parted - 高级分区工具
  • mkfs - 创建文件系统
  • fsck - 文件系统检查修复
  • mount / umount - 挂载/卸载文件系统
    • mount -a 挂载所有fstab中的设备
  • blkid - 查看块设备属性
  • lsblk - 列出块设备信息
  • hdparm - 磁盘性能测试与设置

交换空间

  • free - 查看内存使用
    • free -h 人类可读格式
  • swapon / swapoff - 启用/禁用交换分区
  • mkswap - 创建交换分区

进程管理

进程查看

  • ps - 查看进程
    • ps aux 查看所有进程
    • ps -ef 完整格式列表
    • ps -u user 查看指定用户进程
  • top / htop - 动态查看进程
    • top -p pid 查看指定进程
    • top -u user 查看指定用户进程
  • pstree - 树状显示进程
  • pgrep - 按名称查找进程
  • pidof - 查找进程ID

进程控制

  • kill - 终止进程
    • kill -9 强制终止
    • kill -15 优雅终止
  • killall - 按名称终止进程
  • pkill - 按模式终止进程
  • nice - 调整进程优先级
  • renice - 修改运行中进程优先级
  • nohup - 退出终端后继续运行
  • timeout - 限制命令运行时间

后台作业

  • & - 后台运行
  • jobs - 查看后台作业
  • fg - 将作业调到前台
  • bg - 将作业调到后台
  • Ctrl+Z - 暂停当前作业

系统信息

系统状态

  • uname - 系统信息
    • uname -a 所有信息
    • uname -r 内核版本
  • uptime - 系统运行时间
  • who - 当前登录用户
  • w - 详细登录用户信息
  • last - 登录历史
  • date - 显示/设置日期时间
    • date +%Y%m%d 格式化输出
  • cal - 日历
  • hostname - 主机名
  • dmesg - 内核日志
  • journalctl - 系统日志(systemd)

硬件信息

  • lscpu - CPU信息
  • lsmem - 内存信息
  • lspci - PCI设备
  • lsusb - USB设备
  • lshw - 详细硬件信息
  • dmidecode - BIOS信息
  • sensors - 传感器信息(温度等)

性能监控

  • vmstat - 虚拟内存统计
  • iostat - I/O统计
  • mpstat - CPU统计
  • sar - 系统活动报告
  • iftop - 网络流量监控
  • iotop - I/O使用监控
  • nethogs - 按进程网络流量

网络管理

网络配置

  • ifconfig / ip - 网络接口配置
    • ip addr 显示IP地址
    • ip link 显示网络接口
    • ip route 显示路由表
  • route - 路由表
  • netstat - 网络统计
    • netstat -tulnp 查看监听端口
    • netstat -rn 查看路由表
  • ss - socket统计(替代netstat)
  • nmcli - NetworkManager命令行工具
  • host - DNS查询
  • dig - 详细DNS查询
  • nslookup - DNS查询(旧版)

网络测试

  • ping - 测试网络连通性
    • ping -c 4 发送4个包
  • traceroute - 跟踪路由
  • mtr - 网络诊断工具
  • telnet - 测试端口连通性
  • nc / netcat - 网络瑞士军刀
    • nc -zv host port 测试端口
    • nc -l port 监听端口
  • curl - 数据传输工具
    • curl -I 只显示头部
    • curl -v 详细输出
    • curl -o file 保存到文件
  • wget - 下载工具
    • wget -c 断点续传
    • wget -r 递归下载

防火墙

  • iptables - 传统防火墙
    • iptables -L 查看规则
    • iptables -A 添加规则
    • iptables -D 删除规则
  • nftables - 新一代防火墙
  • ufw - 简单防火墙(基于iptables)

用户与权限

用户管理

  • useradd - 添加用户
    • useradd -m 创建家目录
    • useradd -g group 指定主组
  • usermod - 修改用户
    • usermod -aG group 添加附加组
    • usermod -L 锁定用户
    • usermod -U 解锁用户
  • userdel - 删除用户
    • userdel -r 同时删除家目录
  • passwd - 修改密码
    • passwd -l 锁定账户
    • passwd -u 解锁账户
  • chage - 修改密码过期信息
  • id - 查看用户ID信息
  • whoami - 查看当前用户名
  • su - 切换用户
    • su - 完整环境切换
  • sudo - 以其他用户身份执行
    • sudo -i 切换到root
    • sudo -u user 指定用户

组管理

  • groupadd - 添加组
  • groupmod - 修改组
  • groupdel - 删除组
  • groups - 查看用户所属组
  • newgrp - 切换主组

包管理

Debian/Ubuntu (APT)

  • apt-get - 包管理
    • apt-get update 更新源
    • apt-get upgrade 升级包
    • apt-get install 安装包
    • apt-get remove 删除包
    • apt-get purge 彻底删除
    • apt-get autoremove 自动删除不需要的包
  • apt - apt-get的改进版
    • apt list 列出包
    • apt search 搜索包
    • apt show 显示包信息
  • dpkg - 底层包管理
    • dpkg -i 安装deb包
    • dpkg -l 列出已安装包
    • dpkg -L 列出包安装的文件
    • dpkg -S 查找文件所属包

RedHat/CentOS (YUM/DNF)

  • yum - 包管理
    • yum install 安装
    • yum remove 删除
    • yum update 更新
    • yum search 搜索
    • yum info 信息
    • yum list 列出
  • dnf - yum的替代品(新版)
  • rpm - 底层包管理
    • rpm -ivh 安装
    • rpm -e 删除
    • rpm -qa 查询所有
    • rpm -ql 查询文件列表
    • rpm -qf 查询文件所属包

其他发行版

  • Arch Linux: pacman
  • SUSE: zypper
  • Gentoo: emerge

服务管理

Systemd (现代Linux)

  • systemctl - 服务管理
    • systemctl start 启动
    • systemctl stop 停止
    • systemctl restart 重启
    • systemctl reload 重载配置
    • systemctl status 状态
    • systemctl enable 开机启动
    • systemctl disable 禁用开机启动
    • systemctl list-units 列出所有单元
    • systemctl list-unit-files 列出所有单元文件
  • journalctl - 日志查看
    • journalctl -u 查看指定服务日志
    • journalctl -f 跟踪日志
    • journalctl --since today 查看今天日志

SysVinit (传统Linux)

  • service - 服务管理
    • service name start 启动
    • service name stop 停止
    • service name restart 重启
    • service name status 状态
  • chkconfig - 服务启动配置
    • chkconfig --list 列出服务
    • chkconfig name on 启用
    • chkconfig name off 禁用

定时任务

  • crontab - 定时任务
    • crontab -e 编辑当前用户任务
    • crontab -l 列出任务
    • crontab -r 删除所有任务
  • at - 一次性定时任务
    • at now + 1 hour 一小时后执行
    • atq 查看队列
    • atrm 删除任务

实用技巧

命令行技巧

  • Ctrl+R - 反向搜索历史命令
  • !! - 上一条命令
  • !$ - 上一条命令的最后一个参数
  • !n - 执行历史中