面对夕阳,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 | 解压文件 |
| gzip | gzip 压缩工具 |
| zip | 压缩工具 |
磁盘分区与文件系统
| 命令 | 功能说明 |
|---|
| mount | 挂载文件系统 |
| umount | 卸载文件系统 |
| fsck | 检查并修复 Linux 文件系统 |
| stat | 显示文件或文件系统的状态 |
| du | 计算磁盘空间的使用情况 |
| df | 报告文件系统磁盘空间的使用情况 |
| iostat | 统计系统 IO |
| dd | 转换或复制文件 |
| dumpe2fs | 导出 ext2/ext3/ext4 文件系统信息 |
| dump | ext2/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 | 显示所有系统服务的当前状态,启动、停止、重新启动和关闭系统服务 |