150 个 Linux 常用工具

132 阅读7分钟

面对夕阳,A、B、 两人想用言语来描述一番:

A 久久凝望,最后和他面对其他很多美景时一样,说了声“牛逼”

B 轻松想到“大漠孤烟直,长河落日圆”的诗词,即兴吟了起来

这个故事里,因为脑海中缺少必要的古诗词储备,A 同学只能用他所记得的形容“美”的唯一词汇——“牛逼”来表达。一个月、一年、十年慢慢过去,这种局部最优解会变成为一个人的舒适区,让他的表达能力轻易地锈死在“直呼牛逼”的水平面,再难跳出来

所以,记得赶在必将遇到的诸多问题前,抽些时间,多给自己缓存里塞上一些好用的知识工具(将此文放入收藏夹,吃灰反复查阅🐶)

150 个 Linux 常用工具汇总,按所属资源进行分类


CPU & Memory

命令功能说明
uptime显示系统运行时间及负载
top实时显示系统资源的使用情况
mpstat显示各个可用的 CPU 的状态统计
sar全面获取系统 CPU、运行队列、磁盘 IO、分页(交换区)、内存、CPU 中断和网络等性能数据
strace用于诊断、调试 Linux 用户空间的跟踪器,也可以用于监控用户空间进程和内存的交互,比如系统调用、信号传递、进程状态变更等
ltrace命令会跟踪进程的库函数调用,并显示出哪个库函数被调用
ipcs用于报告 Linux 中进程间通信设施的状态,显示的信息包括消息列表、共享内存和信号量的信息
ipcrm用来删除一个或更多的消息队列、信号量集或共享内存标识
free查看系统内存
vmstat虚拟内存统计

网络

命令功能说明
telnet使用 TELNET 协议远程登录
ssh使用 SSH 加密协议远程登录
scp在不同主机之间复制文件
wget命令行下载文件
ping测试主机之间网络的连通性
route显示和设置 Linux 系统的路由表
ifconfig查看、配置、启用或禁用网络接口的命令
ifup启动网卡
ifdown关闭网卡
netstat查看网络状态
ss查看网络状态
nmap网络扫描命令
lsof列举系统中已经被打开的文件
mail发送和接收邮件
mutt邮件管理命令
nslookup交互式查询互联网 DNS 服务器的命令
dig查找 DNS 解析过程
host查询 DNS 的命令
traceroute追踪数据传输路由的情况
tcpdump命令行的抓包工具

文件

搜索

命令功能说明
which查找二进制命令,按环境变量 PATH 路径查找
find从磁盘遍历查找目录或文件
whereis查找二进制命令,按环境变量 PATH 路径查找
locate从数据库(/var/lib/mlocate/mlocate.db)查找命令,使用 updatedb 更新库

文件、目录增删改查

命令功能说明
ls列出目录内容及其内容属性信息
cd从当前目录切换到指定目录
cp复制目录或文件
find查找目录或文件
mkdir创建目录
mv移动或重命名目录或文件
pwd显示当前目录的绝对路径
rename重命名文件
rm删除目录或文件
rmdir删除空目录
touch创建新文件,改变已有文件的时间戳属性
tree以树形结构显示目录下的内容
basename显示目录名或文件名
dirname显示怒路或文件路径
chattr改变文件的扩展属性
lsattr查看文件的扩展属性
file显示文件类型
md5sum计算和校验文件的 MD5 值
cat连接多个文件,并且打印输出或重定向到指定文件中
more分页显示文件内容
less分页显示文件内容
head显示文件内容的头部
tail显示文件内容的尾部
cut将文件的每一行按指定分隔符分割并输出
split分割文件为不同的小片段
paste按行合并文件内容
sort对文件的文本内容进行排序
uniq去除重复行
wc统计文件的行数、单词数或字节数
iconv转换文件的编码格式
dos2unix将 DOS 格式文件转换成 UNIX 格式
diff比较文件的差异,常用于文本文件
vimdiff命令行可视化文件比较工具
rev反向输出文件内容
grep/egrep过滤字符串
join按两个文件的相同字段进行合并
tr替换或删除字符
vi/vim命令行文本编辑器
tar打包压缩
unzip解压文件
gzipgzip 压缩工具
zip压缩工具

磁盘分区与文件系统

命令功能说明
mount挂载文件系统
umount卸载文件系统
fsck检查并修复 Linux 文件系统
stat显示文件或文件系统的状态
du计算磁盘空间的使用情况
df报告文件系统磁盘空间的使用情况
iostat统计系统 IO
dd转换或复制文件
dumpe2fs导出 ext2/ext3/ext4 文件系统信息
dumpext2/ext3/ext4 文件系统备份工具
fdisk磁盘分区命令,适用于 2TB 以下的磁盘分区
parted磁盘分区命令,没有磁盘大小的限制,常用于 2TB 以上的磁盘分区
mkfs格式化创建 Linux 文件系统
partprobe更新内核的磁盘分区表信息
e2fsck检查 ext2/ext3/ext4 类型文件系统
mkswap创建 Linux 交换分区
swapon启用交换分区
swapoff关闭交换分区
sync将内存缓冲区内的数据写入磁盘
resize2fs调整 ext2/ext3/ext4 文件系统的大小

操作系统

系统管理

命令功能说明
tldr(推荐)查看命令帮助,命令词典。类似命令还有 info、man、help
echo打印变量,或直接输出指定字符串
printf将结果格式化输出到标准输出
rpm管理 rpm 包
yum自动化、简单化的管理 rpm 包
watch周期性执行给定命令,将结果全屏显示
alias设置系统别名
unalias取消系统别名
date查看或设置系统时间
clear清除屏幕
history查看命令执行的历史记录
time计算命令执行时间
nc功能强大的网络工具(黑科技!)
xargs将标准输入转换成命令行参数
exec调用并执行指令
export设置或显示环境变量
unset删除变量或函数
type判断另外一个命令是否为内置指令
shutdown/halt关机
poweroff关闭电源
logout退出当前登录的 Shell
exit/Ctrl+D退出当前登录的 Shell

用户管理

命令功能说明
useradd添加用户
usermod修改系统已经存在的用户属性
userdel删除用户
groupadd添加用户组
passwd修改用户密码
chage修改用户密码有效期限
id查看用户的 uid、gid 及其归属的用户组
su切换用户身份
visudo编辑 /etc/sudoers 文件的专属命令
sudo以另外一个用户身份(默认 root 用户)执行事先在 sudoers 文件中允许的命令
chmod改变目录或文件权限
chown改变目录或文件的属主和属组
chgrp更改文件用户组
umask显示或设置权限掩码
whoami显示当前有效的用户名称,相当于执行 id -un 命令
who显示目前登录系统的用户信息
w显示已经登录系统的用户列表,并显示用户正在执行的指令
last显示登入系统的用户
lastlog显示系统中所有用户最近一次登录的信息
users显示当前登录系统的所有用户的用户列表
finger查找并显示用户信息

进程管理

命令功能说明
bg将一个在后台暂停的命令变为继续执行
fg将后台中的命令调至前台继续运行
jobs查看当前有多少命令在后台运行
kill终止进程
killall通过进程名终止进程
pkill通过进程名终止进程
crontab定时任务
ps显示进程的快照
pstree树形显示进程
nice调整程序运行的优先级
nohup忽略挂起信号运行指定的命令
pgrep查找匹配条件的进程
runlevel查看系统当前的运行级别
init切换运行级别
service显示所有系统服务的当前状态,启动、停止、重新启动和关闭系统服务