Linux 全命令分栏清单 · 逐条释义+实操示例
·
一、Bash 内置命令(Shell自带,无需外部程序)
- **:
空命令,仅返回退出码0 示例:: && echo 执行成功` .等价source,读取并执行脚本
示例:. ~/.bashrc- alias 设置命令别名
示例:alias ll='ls -l' - bg 将前台任务放入后台运行
示例:先vim test.txt,Ctrl+Z暂停,bg后台运行 - bind 绑定键盘快捷键
示例:bind '"\C-l":clear'Ctrl+l清屏 - break 跳出for/while循环
for i in {1..10};do [ $i -eq 3 ] && break;echo $i;done
- builtin 强制执行内置命令,避开同名外部程序
示例:builtin cd /tmp - cd 切换工作目录
示例:cd /var/log、cd ~回家目录、cd -返回上一级目录 - command 绕过别名执行原始命令
示例:command ls(即使ls被alias覆盖) - compgen 生成补全候选列表
示例:compgen -c列出所有可用命令 - complete 自定义命令自动补全规则
示例:complete -F _command su - continue 跳过本次循环,进入下一轮
for i in {1..5};do [ $i -eq 2 ] && continue;echo $i;done
- declare 定义变量、数组、整数
示例:declare -i num=10定义数字变量;declare -a arr=(1 2 3)数组 - dirs 查看pushd/popd保存的目录栈
示例:dirs -l - disown 脱离终端,后台进程不会随关闭终端杀死
示例:sleep 300 & disown - echo 输出文本
示例:echo "hello linux"、echo -n 不换行输出 - enable 启用/禁用内置命令
示例:enable -n cd临时禁用cd - eval 拼接字符串并二次执行命令
示例:cmd="ls -l";eval $cmd - exec 替换当前shell进程,不新建子进程
示例:exec /bin/bash替换当前shell - exit 退出当前shell/脚本
示例:exit 0正常退出;exit 1异常退出 - export 将变量导出为环境变量,子进程可见
示例:export PATH="$PATH:/opt/bin" - fc 编辑、执行历史命令
示例:fc -l列出历史;fc 10编辑第10条历史 - fg 将后台任务切回前台
示例:fg %1把1号后台任务切前台 - getopts 脚本解析短参数(-a -b)
while getopts "ab:" opt;do echo $opt;done
- hash 缓存外部命令路径,加速查找
示例:hash -r清空缓存 - help 查看内置命令帮助
示例:help cd - history 查看命令执行历史
示例:history 10看最近10条;!5执行第5条 - jobs 查看当前终端后台任务
示例:jobs -l带PID显示 - kill 发送信号给进程(内置,优先用)
示例:kill 1234正常终止;kill -9 1234强制杀进程 - let 整数数学运算
示例:let a=1+2;echo $a - local 仅在函数内定义局部变量
func(){ local x=10;echo $x; };func
- logout 登录shell退出登录
示例:直接输入logout登出ssh终端 - popd 弹出目录栈,切换回上一级保存目录
示例:pushd /tmp;popd - printf 格式化输出,比echo更规范
示例:printf "name:%s num:%d\n" test 100 - pushd 将当前目录存入目录栈,跳转新目录
示例:pushd /var/log - pwd 打印当前所在完整路径
示例:pwd - read 读取终端输入存入变量
示例:read -p "请输入名称:" name;echo $name - readonly 设置只读变量,不可修改
示例:readonly VERSION="v1.0" - return 函数返回退出码
func(){ return 2; };func;echo $?
- set 修改shell全局参数、位置参数
示例:set -e报错立即退出脚本;set -x开启调试输出 - shift 脚本参数左移,丢弃$1,$2变$1
set a b c;shift;echo $1
- shopt 扩展shell行为开关(通配、历史等)
示例:shopt -s globstar开启**递归匹配文件 - source 同
.,加载脚本到当前shell
示例:source /etc/profile - suspend 暂停当前shell进程(登录shell无效)
示例:suspend - test 条件判断,等价
[ ]
示例:test -f /etc/passwd && echo 文件存在 - times 打印shell、子进程CPU占用时间
示例:times - trap 捕获信号,脚本收到信号执行自定义命令
trap "echo 收到中断信号;exit" SIGINT;sleep 10
- type 查询命令类型(内置/外部/别名)
示例:type ls、type cd - ulimit 限制进程资源(文件句柄、进程数)
示例:ulimit -n 65535调大开文件数 - umask 设置新建文件/目录默认权限掩码
示例:umask 022 - unalias 删除命令别名
示例:unalias ll - unset 删除变量、函数、数组
示例:unset PATH_TMP - wait 等待后台进程执行完成
示例:sleep 10 & wait $!
二、Coreutils 基础文件文本工具(系统核心工具集)
- ls 列出目录文件
示例:ls -lh /home人性化大小、长格式 - dir ls等价,默认列文件,无色彩
示例:dir /tmp - vdir ls -l 长格式输出
示例:vdir /etc - cat 读取文件全部内容输出
示例:cat /etc/hosts;cat a.txt b.txt > all.txt合并文件 - tac 反向逐行输出(倒序)
示例:tac /var/log/messages从最后一行看日志 - od 二进制文件十六进制/八进制查看
示例:od -x test.bin - split 大文件切割分片
示例:split -l 1000 big.log log_每1000行一个分片 - csplit 根据文本内容分割文件(按关键字切割)
示例:csplit test.txt "/split_here/" - wc 统计行数、单词、字符
示例:wc -l /etc/passwd统计用户行数 - sort 文件内容行排序
示例:sort -n num.txt数字升序;sort -r倒序 - uniq 去重连续重复行,常搭配sort
示例:sort a.txt | uniq -c统计重复次数 - comm 对比两个已排序文件,输出共有/独有行
示例:comm file1.txt file2.txt - cmp 二进制逐字节对比文件,只输出第一个差异位置
示例:cmp a.bin b.bin - diff 文本文件差异对比
示例:diff old.conf new.conf - diff3 同时对比3个文件差异
示例:diff3 base.conf old new - patch 使用diff差异文件更新源文件
示例:patch < diff.patch - tr 字符替换、删除、压缩
示例:echo Aa11 | tr A-Z a-z大写转小写;tr -d 0-9删除数字 - expand tab转空格
示例:expand test.txt - unexpand 空格转回tab
示例:unexpand test.txt - cut 按分隔符截取文本列
示例:cut -d: -f1 /etc/passwd截取用户名 - paste 多行文件横向合并
示例:paste 1.txt 2.txt - join 按相同字段合并两个排序文件(数据库join逻辑)
示例:join -t: user.txt info.txt - head 读取文件前N行
示例:head -20 /var/log/syslog前20行日志 - tail 读取文件末尾,-f实时跟踪新增
示例:tail -f /var/log/nginx/access.log - nl 输出带行号文本
示例:nl /etc/profile - pr 文件分页格式化打印
示例:pr -2 test.txt双栏输出 - fold 长行自动换行截断
示例:fold -w 50 longline.txt每行最多50字符 - fmt 段落文本自动规整换行
示例:fmt longtext.txt - basename 提取路径中的文件名
示例:basename /var/log/nginx.log输出 nginx.log - dirname 提取路径目录部分
示例:dirname /var/log/nginx.log输出 /var/log - readlink 读取软链接指向真实文件
示例:readlink /bin/sh - realpath 递归解析软链接,输出绝对真实路径
示例:realpath /etc/rc.local - ln 创建硬链接/软链接
示例:ln -s /opt/app /data/app软链接 - link 创建硬链接底层命令
示例:link src.txt hardlink.txt - unlink 删除链接文件(底层删除)
示例:unlink softlink - cp 复制文件/目录
示例:cp -r /tmp/a /data/b递归复制目录 - mv 移动/重命名文件
示例:mv oldname.txt newname.txt;mv file /tmp/ - rm 删除文件/目录
示例:rm -rf /tmp/testdir强制递归删除 - install 复制文件并设置权限(编译部署用)
示例:install -m 755 app /usr/local/bin/ - mkdir 创建目录
示例:mkdir -p /data/log/nginx递归创建多级目录 - rmdir 删除空目录
示例:rmdir empty_dir - chmod 修改文件读写执行权限
示例:chmod 775 run.sh;chmod +x run.sh添加执行权限 - chown 修改文件属主+属组
示例:chown nginx:nginx /var/log/nginx - chgrp 仅修改文件属组
示例:chgrp mysql /data/mysql - touch 创建空文件、更新文件时间戳
示例:touch newfile.txt - stat 查看文件详细元数据(大小、权限、时间、inode)
示例:stat /etc/passwd - dd 底层块读写,备份磁盘、转换格式
示例:dd if=/dev/sda of=/data/disk.img bs=4M全盘备份镜像 - sync 刷新内存缓存写入磁盘,防止数据丢失
示例:sync写盘后关机前执行 - truncate 扩展/截断文件到指定大小
示例:truncate -s 1G test.img生成1G空文件 - du 统计目录磁盘占用大小
示例:du -sh /*根目录各文件夹总大小 - df 查看磁盘分区挂载使用率
示例:df -h人性化单位显示磁盘 - mount 挂载磁盘分区/镜像
示例:mount /dev/vdb1 /data - umount 卸载挂载点
示例:umount /data - mktemp 生成临时文件/目录
示例:tmpfile=$(mktemp) - mkfifo 创建命名管道(进程通信)
示例:mkfifo pipe1 - chroot 切换根目录,隔离系统环境
示例:chroot /mnt/newroot /bin/bash - env 设置临时环境变量执行命令、查看环境变量
示例:env PATH=/opt:$PATH bash - printenv 打印环境变量
示例:printenv HOME - whoami 输出当前登录用户名
示例:whoami - id 查看当前用户UID、GID、附属组
示例:id root - logname 获取登录原始用户名(不受su切换影响)
示例:logname - users 列出所有登录终端用户名
示例:users - who 查看所有登录用户、终端、登录时间
示例:who - uptime 系统开机时长、负载、在线用户
示例:uptime - date 查看/修改系统时间日期
示例:date "+%Y-%m-%d %H:%M:%S";date -s "2026-07-08 10:00:00" - clock 硬件时钟操作
示例:clock -w系统时间写入硬件BIOS时钟 - sleep 延迟休眠指定时长
示例:sleep 5等待5秒 - cal 打印日历
示例:cal 2026全年日历;cal 07 2026当月日历 - nproc 输出CPU核心数
示例:nproc - hostname 查看/修改主机名
示例:hostname;hostname node01 - arch 输出系统架构x86_64/aarch64
示例:arch - uname 查看内核、系统架构信息
示例:uname -a完整内核信息 - groups 输出当前用户所属全部用户组
示例:groups - yes 无限循环输出指定字符串,管道填充确认
示例:yes | rm -i *.log自动全部确认删除 - false 永远返回错误退出码1
示例:false;echo $? - true 永远返回成功退出码0
示例:true;echo ok - seq 生成连续数字序列
示例:seq 1 10输出1到10 - bc 高精度计算器,支持浮点运算
示例:echo "scale=2;10/3" | bc保留两位小数除法 - factor 数字质因数分解
示例:factor 120 - numfmt 数字单位格式化(字节转G/M)
示例:echo 1048576 | numfmt --to=iec - shred 多次覆写文件,彻底删除无法恢复
示例:shred -u secret.file - timeout 限制命令最大运行时长
示例:timeout 10s ping baidu.com最多执行10秒ping - stdbuf 修改命令标准输出缓冲模式
示例:stdbuf -oL tail -f log.txt实时无缓冲输出 - runcon 指定安全上下文执行程序(selinux)
示例:runcon system_u:object_r:httpd_t:s0 /usr/sbin/nginx - lsattr 查看文件扩展属性(immutable锁定等)
示例:lsattr /etc/passwd - chattr 修改文件扩展属性,加锁防删除
示例:chattr +i important.conf不可修改删除;chattr -i解锁
三、util-linux 磁盘硬件终端工具
- fdisk MBR分区表磁盘分区工具
示例:fdisk /dev/vdb - sfdisk 脚本化批量分区
示例:sfdisk /dev/vdb < part.txt - cfdisk 图形交互式分区工具
示例:cfdisk /dev/vdb - parted GPT/MBR通用分区工具,支持大容量磁盘
示例:parted /dev/vdb - blkid 查看所有磁盘分区UUID、文件系统类型
示例:blkid - lsblk 树形列出磁盘、分区、挂载点
示例:lsblk -f带文件系统、UUID - mkfs 格式化分区创建文件系统
示例:mkfs.ext4 /dev/vdb1 - fsck 文件系统磁盘检查修复(卸载后执行)
示例:fsck.ext4 /dev/vdb1 - tune2fs ext系列文件系统调整参数、修改UUID
示例:tune2fs -m 1 /dev/vdb1保留1%root空间 - e2label 设置ext分区标签名
示例:e2label /dev/vdb1 data_disk - dumpe2fs 查看ext文件系统超级块详细信息
示例:dumpe2fs /dev/vdb1 - swapoff 关闭交换分区
示例:swapoff /dev/vdc1 - swapon 启用交换分区/swap文件
示例:swapon /dev/vdc1 - mkswap 格式化swap交换分区
示例:mkswap /dev/vdc1 - mountpoint 判断路径是否为挂载点
示例:mountpoint /data - losetup 挂载镜像文件为loop块设备
示例:losetup /dev/loop0 disk.img - dmesg 查看内核启动、硬件日志
示例:dmesg -w实时跟踪内核日志 - hwclock 硬件时钟读写,同clock
- setterm 修改终端显示参数
示例:setterm -blank 1010分钟屏幕休眠 - clear 清空终端屏幕
示例:clear - reset 终端卡死时重置终端
示例:reset - script 录制终端所有操作输出到日志文件
示例:script terminal.log - scriptreplay 回放script录制的终端操作
示例:scriptreplay timing.log terminal.log - wall 向所有登录终端广播消息
示例:wall "服务器10分钟后重启" - mesg 控制其他用户是否能发消息到当前终端
示例:mesg n拒绝消息 - write 给指定登录用户发送终端消息
示例:write root pts/0 - last 查看所有用户登录历史记录
示例:last | head -20 - lastb 查看ssh/登录失败记录
示例:lastb - utmpdump 解析登录日志二进制文件
示例:utmpdump /var/log/wtmp - login 登录新用户会话
示例:login - su 切换登录用户(加载完整环境)
示例:su - nginx - runuser 安全切换用户,脚本专用
示例:runuser -l mysql -c "mysqldump" - chsh 修改用户默认登录shell
示例:chsh root -s /bin/bash - chfn 修改用户注释信息(电话、姓名)
示例:chfn nginx - chage 修改用户密码过期策略
示例:chage -M 90 nginx90天强制改密码 - passwd 修改用户登录密码
示例:passwd nginx;passwd -l nginx锁定账号 - newgrp 临时切换当前会话有效用户组
示例:newgrp docker - findmnt 树形查看所有挂载信息,比df详细
示例:findmnt - lslocks 查看文件系统文件锁
示例:lslocks - lscpu 查看CPU架构、核心、线程、缓存
示例:lscpu - lsmem 查看内存插槽、内存硬件信息
示例:lsmem - lsirq 查看硬件中断分配
示例:lsirq - lsusb 列出USB硬件设备
示例:lsusb -t树形USB设备 - lspci 列出PCI硬件(网卡、显卡、NPU)
示例:lspci | grep Ethernet查看网卡 - dmidecode 读取主板BIOS硬件信息(CPU、内存、主板序列号)
示例:dmidecode -t memory内存硬件信息 - hdparm 磁盘性能测试、硬盘硬件参数读取
示例:hdparm -Tt /dev/vda磁盘读写测速 - rfkill 管理无线设备开关(wifi、蓝牙)
示例:rfkill unblock all解锁无线 - flock 文件锁,脚本并发互斥控制
exec 9>/tmp/lock; flock -n 9 || exit 1
- ionice 设置进程IO调度优先级
示例:ionice -c3 dd if=/dev/zero of=/tmp/test - nice 设置进程CPU调度友好值(越低优先级越高)
示例:nice -n 10 ./batch.sh - renice 修改正在运行进程的nice优先级
示例:renice -5 -p 1234 - taskset 绑定进程到指定CPU核心运行
示例:taskset -c 0,1 ./app绑定0、1核 - pidof 根据程序名查找进程PID
示例:pidof nginx - pgrep 过滤匹配进程PID,支持复杂匹配
示例:pgrep -f "nginx: master" - pkill 根据进程名批量发送信号杀进程
示例:pkill -9 nginx - fuser 查看哪个进程占用文件/端口/挂载点
示例:fuser -m /data查看占用/data的进程 - getopt 脚本解析长短参数(–help)
- hexdump 十六进制查看二进制文件
示例:hexdump test.bin - rev 每行文本字符反转
示例:echo 123abc | rev输出 cba321 - column 文本按多列对齐格式化输出
示例:ls -l | column -t - more 分页查看文件(老式分页)
示例:more /var/log/messages - less 增强分页查看,支持上下翻页搜索
示例:less /etc/sysconfig/network-scripts/ifcfg-eth0 - whereis 查找程序二进制、man手册、源码路径
示例:whereis nginx - whatis 查看命令单行简介(man简化)
示例:whatis ls - man 查看完整命令官方手册
示例:man ls;man 5 passwd5代表配置文件手册 - info GNU详细超文本帮助文档
示例:info coreutils - cal 同coreutils cal,日历
- find 递归搜索文件(按名称、大小、权限、时间)
示例:find /data -name "*.log"查找所有log文件;find /tmp -size +100M大于100M文件 - xargs 管道批量传递参数给命令,解决参数过长
示例:find /tmp -name *.txt | xargs rm -f - locate 快速搜索文件(依赖updatedb数据库)
示例:locate nginx.conf - updatedb 更新locate文件索引数据库
示例:updatedb - tree 树形打印目录结构
示例:tree -L 2 /etc只展示两级目录 - mc Midnight Commander 字符界面文件管理器
示例:mc - look 快速字典前缀匹配搜索
示例:look test - ul 下划线文本输出
- ipcs 查看进程间通信资源(共享内存、信号量、消息队列)
示例:ipcs -m共享内存 - ipcrm 删除IPC通信资源
示例:ipcrm -m 12345 - setsid 新建会话运行程序,脱离终端
示例:setsid ./server.sh - vipw 安全编辑/etc/passwd,锁定文件防并发修改
示例:vipw - vigr 安全编辑/etc/group用户组文件
示例:vigr - addpart 内核新增分区设备
- delpart 删除内核分区设备
- partx 同步内核分区表,刷新磁盘分区
示例:partx -a /dev/vdb - blkdiscard 固态硬盘TRIM释放空闲块
示例:blkdiscard /dev/vdb1 - blkzone 管理分区块区域(zfs/zoned磁盘)
- fallocate 快速预分配磁盘文件空间(比dd快)
示例:fallocate -l 10G test.img - fstrim SSD整块磁盘回收空闲空间
示例:fstrim /data - logger 写入系统syslog日志
示例:logger "脚本执行完成" - pivot_root 切换系统根文件系统(系统安装/救援)
- sulogin 单用户模式登录root
- agetty 终端串口登录管理程序
四、iproute2 现代网络工具(替代老net-tools)
- ip 全能网络工具,网卡、IP、路由、邻居、隧道
示例:ip addr查看网卡IPip route查看路由表ip link set eth0 up启用网卡ip addr add 192.168.1.10/24 dev eth0临时加IP - ss 替代netstat,更快查看端口、连接
示例:ss -tulnp监听TCP/UDP端口+进程PID - bridge 管理Linux二层网桥
示例:bridge link查看网桥设备 - nstat 实时统计网络协议流量
示例:nstat 1每秒刷新流量统计 - rtacct 路由流量统计
- rtmon 实时监控路由表变更
示例:rtmon -f /tmp/route.log - tc Linux流量控制、限速、QoS队列
示例:tc qdisc add dev eth0 root tbf rate 100mbit网卡限速100M - tip 串口终端连接工具
- arpd 后台维护ARP缓存,减轻广播
- devlink 网卡硬件设备管理(网卡固件、端口)
- vdpa 虚拟数据路径虚拟化网卡
- bpftool eBPF程序加载、查看、调试
五、基础网络工具
- ping ICMP连通性测试
示例:ping baidu.com;ping -c 4 192.168.1.1发4个包停止 - ping6 IPv6连通测试
示例:ping6 2400:da00::1 - traceroute 路由追踪,查看数据包经过网关
示例:traceroute baidu.com - traceroute6 IPv6路由追踪
- mtr ping+traceroute结合,持续路由丢包监控
示例:mtr baidu.com - host DNS域名解析查询
示例:host www.baidu.com - dig 专业DNS解析工具,完整DNS记录
示例:dig www.baidu.com A查询A记录IP;dig MX baidu.com邮件记录 - nslookup 老式DNS查询工具
示例:nslookup www.baidu.com - whois 查询域名注册信息
示例:whois baidu.com - ftp 文件传输协议客户端(明文不安全)
示例:ftp 192.168.1.20 - tftp 轻量无认证文件传输(装机PXE)
- curl HTTP/HTTPS/ftp网络请求工具,接口测试
示例:curl https://www.baidu.com;curl -X POST -d "data=123" http://api - wget 下载文件,支持断点续传
示例:wget https://xxx/file.zip;wget -c断点续传 - rsync 增量同步文件,备份神器
示例:rsync -avz /data root@10.0.0.1:/backup - scp SSH加密远程文件复制
示例:scp local.tar root@10.0.0.1:/tmp/ - sftp SSH安全文件传输(替代ftp)
示例:sftp root@10.0.0.1 - ssh 远程加密登录服务器
示例:ssh root@10.0.0.1;ssh -p 2222 root@ip指定端口 - ssh-keygen 生成ssh公私密钥对免密登录
示例:ssh-keygen -t ed25519 - ssh-copy-id 推送本地公钥到远程服务器实现免密
示例:ssh-copy-id root@10.0.0.1 - telnet 明文端口连通测试(不安全)
示例:telnet 192.168.1.1 80测试80端口通不通 - nc / netcat 网络瑞士军刀,端口扫描、监听、转发
示例:nc -zv 192.168.1.1 1-1000扫描端口;nc -l 8888本地监听端口 - socat 增强版nc,支持协议转发、SSL隧道
示例:socat TCP-LISTEN:8080,fork TCP:127.0.0.1:80端口转发 - ethtool 网卡硬件参数、速率、双工、驱动查看
示例:ethtool eth0 - route 老式路由管理(推荐ip route)
示例:route add default gw 192.168.1.1 - netstat 老式端口连接查看(推荐ss)
示例:netstat -tulnp - arp 查看本地ARP缓存IP-MAC映射
示例:arp -a - arping 二层ARP广播探测存活主机
示例:arping 192.168.1.10 - iptables IPv4防火墙规则管理
示例:iptables -A INPUT -p tcp --dport 22 -j ACCEPT放行22端口 - ip6tables IPv6防火墙
- iptables-save 导出防火墙规则到文件
示例:iptables-save > ipt.rules - iptables-restore 加载保存的防火墙规则
示例:iptables-restore < ipt.rules - dhclient DHCP客户端,自动获取IP
示例:dhclient eth0 - iperf3 网络带宽测速工具
示例:服务端iperf3 -s;客户端iperf3 -c 10.0.0.1 - tcpdump 底层抓包分析网络流量
示例:tcpdump -i eth0 port 80 -w capture.pcap抓取80端口包保存文件 - nmcli NetworkManager命令行管理网卡、网络
示例:nmcli connection show;nmcli device connect eth0 - nmtui NetworkManager字符图形界面配网
示例:nmtui - resolvectl systemd-dns域名解析管理
示例:resolvectl status查看DNS服务器
六、用户进程权限管理
用户账号
- useradd 创建系统用户
示例:useradd -m nginx -s /sbin/nologin创建家目录、禁止登录shell - userdel 删除用户
示例:userdel -r nginx删除用户+家目录 - usermod 修改用户属性(附加组、shell、用户名)
示例:usermod -aG docker nginx添加到docker组 - groupadd 创建用户组
示例:groupadd app - groupdel 删除用户组
- groupmod 修改组名称/GID
- gpasswd 管理组密码、组成员
示例:gpasswd -a nginx docker - chpasswd 批量导入用户密码
示例:echo "nginx:123456" | chpasswd - pwconv 同步passwd到shadow密码文件
- pwunconv 反向同步
- grpconv / grpunconv 用户组影子文件同步
- newusers 批量创建用户
- chage 同util-linux chage,密码过期管理
- lastlog 查看所有用户最后登录时间
示例:lastlog - faillog 登录失败次数统计重置
- sudo 普通用户临时获取root权限
示例:sudo ls /root - visudo 安全编辑sudo权限配置
示例:visudo - pkexec 图形环境授权提权
定时任务
- crontab 用户定时任务管理
示例:crontab -e编辑定时;crontab -l查看任务 - at 一次性定时任务(几分钟/几小时后执行)
示例:at 18:00 today18点执行命令 - atq 查看at待执行任务队列
- atrm 删除at定时任务
示例:atrm 1删除1号任务 - batch 系统负载低时自动执行任务
systemd系统管理
- systemctl systemd管理服务、开机自启
示例:systemctl start nginx;systemctl enable nginx开机自启;systemctl status nginx查看状态 - journalctl 查看systemd服务日志
示例:journalctl -u nginx -f实时跟踪nginx日志 - hostnamectl 修改主机名、查看系统信息
示例:hostnamectl set-hostname k8s-node01 - timedatectl 时区、时间同步管理
示例:timedatectl set-timezone Asia/Shanghai - localectl 系统语言、键盘布局
- loginctl 会话、用户登录管理
示例:loginctl list-users - busctl dbus系统总线调试
进程监控
- ps 查看进程快照
示例:ps aux全量进程;ps -ef | grep nginx过滤进程 - top 实时系统进程资源监控
示例:top - htop 增强彩色交互式进程监控
示例:htop - free 查看内存、swap使用
示例:free -h - vmstat 虚拟内存、IO、CPU全局统计
示例:vmstat 1每秒刷新 - sar 系统性能时序统计(CPU、磁盘、网络)
示例:sar -u 1 1010次CPU采样 - mpstat 多核CPU每核单独负载统计
示例:mpstat -P ALL 1 - iostat 磁盘IO读写负载监控
示例:iostat -x 1 - lsof 列出进程打开的文件、端口
示例:lsof -i :80查看占用80端口进程 - strace 跟踪进程系统调用,排错神器
示例:strace ./app - ltrace 跟踪进程库函数调用
- gdb C/C++程序调试器
示例:gdb ./coredump app - pstack 打印进程调用栈
示例:pstack 1234 - pmap 查看进程内存地址空间分配
示例:pmap -x 1234
七、压缩归档工具
- tar 通用打包解包(不压缩,搭配gzip/xz)
打包:tar -zcvf file.tar.gz /data
解包:tar -zxvf file.tar.gz - gzip GNU压缩 .gz
示例:gzip test.txt;gunzip test.txt.gz解压 - gunzip gz解压
- zcat 不解压直接读取gz文件内容
示例:zcat log.gz - bzip2 高压缩比 .bz2
- bunzip2 bz2解压
- bzcat 读取bz2压缩文件
- xz 超高压缩 .xz
- unxz xz解压
- xzcat 读取xz文件
- lzma lzma压缩算法
- unzma lzma解压
- zstd 现代高速压缩算法(推荐)
示例:zstd file.tar;unzstd file.tar.zst - unzstd zstd解压
- zip Windows兼容zip打包
示例:zip -r pack.zip /data - unzip 解压zip
示例:unzip pack.zip - 7z / 7za 7z超高压缩格式
示例:7z a pack.7z /data;7z x pack.7z - cpio 底层归档(initramfs镜像使用)
- ar 静态库.a归档工具(编译C程序)
- rar rar压缩(需额外安装)
- unrar rar解压
- lzop 极速低压缩率压缩
- lz4 极致高速压缩解压
- compress/uncompress 老式.Z压缩格式
八、文本检索开发基础
- grep 文本正则匹配搜索
示例:grep "error" /var/log/nginx.log查找error行 - egrep 扩展正则,等价
grep -E
示例:egrep "warn|error" log.txt - fgrep 纯文本匹配,关闭正则
grep -F - rgrep 递归grep,等价
grep -r - sed 流编辑器,批量文本替换、删除、截取
示例:sed -i 's/old/new/g' test.conf全局替换文件内容 - awk 文本处理编程语言,日志分析、分列统计
示例:awk '{print $1}' /etc/passwd打印第一列用户名 - strings 从二进制/程序提取可阅读字符串
示例:strings /usr/bin/nginx - file 判断文件类型(二进制、文本、压缩、ELF程序)
示例:file test.bin - diffstat 统计diff变更行数
示例:diff old new | diffstat - cmp 同coreutils cmp二进制对比
- iconv 文件编码转换(gbk <-> utf8)
示例:iconv -f GBK -t UTF8 gbk.txt -o utf8.txt - recode 编码转换工具
- dos2unix Windows换行\r\n转Linux \n
示例:dos2unix winfile.txt - unix2dos Linux换行转Windows
- xxd 文件十六进制查看、十六进制转二进制
示例:xxd test.bin - vi/vim 终端文本编辑器
示例:vim nginx.conf - nano 简易新手友好编辑器
示例:nano test.sh - ed 行编辑器(老式基础编辑器)
- ex vim行模式编辑器
- view vim只读模式
- vimdiff 图形化对比两个文件差异
示例:vimdiff old.conf new.conf - git 代码版本控制工具
示例:git clone https://xxx/repo.git;git commit -m "update"
九、内核硬件系统工具
- systemd-analyze 分析系统开机启动耗时
示例:systemd-analyze blame查看服务启动耗时排行 - dmesg 内核日志,同util-linux
- lsmod 列出已加载内核驱动模块
示例:lsmod | grep nvidia - rmmod 卸载内核模块
示例:rmmod nvidia - insmod 手动加载内核ko驱动文件
示例:insmod xxx.ko - depmod 生成模块依赖映射文件
- modprobe 智能加载内核模块(自动处理依赖)
示例:modprobe nvidia - modinfo 查看内核模块详细信息(版本、参数)
示例:modinfo nvidia - sysctl 运行时修改内核参数
示例:sysctl -w net.ipv4.ip_forward=1开启IP转发 - udevadm udev硬件热插拔设备管理调试
示例:udevadm trigger重新触发硬件识别 - smartctl 硬盘健康检测SMART信息(坏道、温度)
示例:smartctl -a /dev/vda - badblocks 磁盘坏道扫描检测
示例:badblocks /dev/vdb - mkfs.ext4 / mkfs.xfs / mkfs.btrfs / mkfs.vfat / mkfs.ntfs 各文件系统格式化命令
- fsck.ext4 / fsck.xfs 文件系统修复
- xfs_repair XFS专用文件系统修复工具
- btrfs btrfs文件系统管理(快照、子卷、RAID)
示例:btrfs subvolume list /data - cryptsetup LUKS磁盘加密分区管理
示例:cryptsetup luksFormat /dev/vdc加密磁盘
十、软件包管理
Debian/Ubuntu系列
- apt 新版统一包管理工具
示例:apt update;apt install nginx;apt remove nginx;apt list --installed - apt-get 老式底层包工具
示例:apt-get install mysql-server - apt-cache 查询软件包信息、依赖
示例:apt-cache search nginx - dpkg deb底层包管理
示例:dpkg -i xxx.deb本地安装deb;dpkg -l查看已装包 - dpkg-deb 打包/解包deb文件
RHEL/CentOS/Rocky
- dnf 新一代RPM包管理器(替代yum)
示例:dnf install nginx - yum 旧版RHEL包管理
- rpm rpm底层包工具
示例:rpm -ivh xxx.rpm;rpm -qa | grep mysql - rpmbuild 编译打包自定义rpm软件包
- createrepo 创建本地yum/dnf软件源仓库
开发语言包管理
- pip / pip3 Python包管理器
示例:pip3 install requests - npm NodeJS前端包管理
- yarn 前端替代npm包管理器
- cargo Rust语言包构建工具
- gem Ruby gem包管理
- composer PHP项目依赖管理
其他发行版
- snap Ubuntu通用跨发行版软件包
- pacman Arch Linux包管理器
- makepkg Arch编译打包工具
十一、定时日志消息工具
- cron 系统定时任务后台服务
- anacron 关机错过定时开机后补执行
- logrotate 日志切割轮转,防止日志占满磁盘
示例:logrotate -f /etc/logrotate.d/nginx强制切割日志 - rsyslog 系统日志收集服务
- syslog-ng 增强日志收集系统
- auditctl Linux审计系统控制(文件操作、权限审计)
示例:auditctl -w /etc/passwd -p rwxa监控passwd修改 - ausearch 查询审计日志记录
- aureport 审计日志报表统计
十二、终端会话工具
- screen 终端会话持久化,断开ssh后台保留程序
示例:screen -S task;screen -r task恢复会话 - tmux 现代增强终端分屏会话工具(推荐替代screen)
示例:tmux new -s dev;tmux a -t dev接入会话 - tput 终端颜色、光标控制
示例:tput setaf 1;echo 红色文字 - stty 修改终端输入输出参数(关闭回显、波特率)
示例:stty -echo隐藏输入密码 - ssh-agent SSH密钥代理,缓存私钥免重复输入密码
- ssh-add 将私钥加入ssh-agent缓存
示例:ssh-add ~/.ssh/id_ed25519 - minicom 串口控制台调试设备
十三、容器系列
- docker 容器生命周期管理
示例:docker run -d nginx;docker ps;docker images;docker rm - docker-compose 多容器编排yaml一键启停
示例:docker-compose up -d;docker-compose down - podman 无root容器引擎,兼容docker命令
- podman-compose podman多容器编排
- crictl K8s标准容器运行时客户端(管理containerd)
示例:crictl ps - nerdctl containerd兼容docker语法工具
- buildah 构建OCI容器镜像,无需docker daemon
- skopeo 跨仓库复制容器镜像、查看镜像信息
示例:skopeo copy docker://nginx docker://local-registry/nginx - runc OCI底层容器运行时
- ctr containerd原生客户端
- helm K8s包管理,Chart应用模板
十四、K8s 集群工具
- kubectl K8s集群核心操作命令
示例:kubectl get pods;kubectl apply -f deploy.yaml;kubectl describe pod xxx - kubeadm 一键部署初始化K8s集群
示例:kubeadm init --apiserver-advertise-address=10.0.0.1 - kubelet 节点代理,管理本机Pod
- kube-proxy 节点网络代理,实现Service负载均衡
- etcdctl K8s后端etcd数据库操作、备份恢复
示例:etcdctl snapshot save etcd.db
十五、数据库工具
MySQL/MariaDB
- mysql 数据库客户端登录
示例:mysql -uroot -p123456 - mysqldump MySQL全量备份导出
示例:mysqldump -uroot -p --all-databases > all.sql - mysqladmin MySQL服务管理(关闭、状态、创建库)
示例:mysqladmin -uroot -p shutdown
PostgreSQL
- psql Postgres客户端
- pg_dump PG备份
- pg_restore PG恢复备份
Redis
- redis-cli Redis命令行客户端
示例:redis-cli -h 127.0.0.1 -p 6379
MongoDB
- mongosh Mongo新版客户端(替代mongo)
SQLite
- sqlite3 嵌入式轻量数据库客户端
ClickHouse
- clickhouse-client 列式数据库客户端
十六、编译开发工具链
C/C++编译
- gcc / g++ C/C++编译器
示例:gcc test.c -o test;g++ main.cpp -o app - clang / clang++ LLVM编译器
- make 根据Makefile自动化编译
示例:make && make install - cmake 跨平台构建
更多推荐



所有评论(0)