掌握常用的Linux常用命令是作为码农的基本素养,无论你从事软件开发或者运维的的哪个细分领域。本文言简意赅,可作为指导书收藏。
 Linux常用命令的分类:
 
- 基本文件操作
- 权限与用户管理
- 文件搜索与系统状态
- 网络管理
- 压缩与打包
- 系统管理与维护
- 磁盘与分区管理
- 开发与编程
- 文件权限与SELinux
- 其他实用工具

 这些类别帮助快速找到不同功能的命令,便于针对性学习和使用。
 
1. 基本文件操作
 
| 命令 | 作用 | 
|---|
| ls | 列出目录内容 | 
| cd | 切换目录 | 
| pwd | 显示当前工作目录 | 
| mkdir | 创建新目录 | 
| rmdir | 删除空目录 | 
| cp | 复制文件或目录 | 
| mv | 移动或重命名文件/目录 | 
| rm | 删除文件或目录 | 
| touch | 创建一个空文件 | 
| cat | 查看文件内容 | 
| more | 分页查看文件内容 | 
| less | 分页查看文件内容,支持上下滚动 | 
| head | 查看文件的前几行 | 
| tail | 查看文件的后几行 | 
| find | 搜索文件或目录 | 
| locate | 快速查找文件 | 
| ln | 创建链接(软链接或硬链接) | 
 
2. 权限与用户管理
 
| 命令 | 作用 | 
|---|
| chmod | 更改文件权限 | 
| chown | 更改文件的拥有者和组 | 
| chgrp | 更改文件的组 | 
| passwd | 更改用户密码 | 
| who | 显示当前登录的用户 | 
| whoami | 显示当前用户的用户名 | 
| su | 切换用户身份 | 
| sudo | 以超级用户权限运行命令 | 
| useradd | 添加新用户 | 
| userdel | 删除用户 | 
| usermod | 修改用户属性 | 
| groupadd | 添加新组 | 
| groupdel | 删除组 | 
| groups | 显示用户所属的组 | 
 
3. 文件搜索与系统状态
 
| 命令 | 作用 | 
|---|
| grep | 搜索文本中的内容 | 
| awk | 文本处理工具,适合格式化输出 | 
| sed | 流编辑器,用于替换文件内容 | 
| df | 查看磁盘使用情况 | 
| du | 查看目录或文件的大小 | 
| top | 实时显示系统进程状态 | 
| ps | 显示当前的进程列表 | 
| kill | 结束进程 | 
| pkill | 通过进程名终止进程 | 
| free | 显示内存使用情况 | 
| uptime | 显示系统运行时间 | 
| dmesg | 显示内核信息 | 
| vmstat | 显示虚拟内存的使用情况 | 
| iostat | 显示I/O设备使用情况 | 
 
4. 网络管理
 
| 命令 | 作用 | 
|---|
| ping | 测试网络连接状态 | 
| ifconfig | 显示或配置网络接口 | 
| ip | 查看或操作网络接口 | 
| netstat | 显示网络连接、路由表等 | 
| ss | 查看套接字统计信息 | 
| traceroute | 跟踪数据包路由路径 | 
| nslookup | 查询域名信息 | 
| dig | 进行DNS查询 | 
| route | 显示或修改路由表 | 
| curl | 发送网络请求 | 
| wget | 下载文件 | 
 
5. 压缩与打包
 
| 命令 | 作用 | 
|---|
| tar | 创建或解压归档文件 | 
| gzip | 压缩文件 | 
| gunzip | 解压gzip文件 | 
| zip | 创建zip压缩文件 | 
| unzip | 解压zip文件 | 
| bzip2 | 压缩文件,压缩比高于gzip | 
| bunzip2 | 解压bzip2文件 | 
 
6. 系统管理与维护
 
| 命令 | 作用 | 
|---|
| shutdown | 关机 | 
| reboot | 重启系统 | 
| systemctl | 控制系统服务和启动项 | 
| service | 管理系统服务(旧版) | 
| journalctl | 查看系统日志 | 
| crontab | 设置定时任务 | 
| at | 指定时间执行命令 | 
| uptime | 查看系统运行时间 | 
| uname | 显示系统信息 | 
| hostname | 显示或设置系统主机名 | 
 
7. 磁盘与分区管理
 
| 命令 | 作用 | 
|---|
| fdisk | 磁盘分区管理工具 | 
| mkfs | 格式化分区 | 
| mount | 挂载文件系统 | 
| umount | 卸载文件系统 | 
| parted | 先进的磁盘分区管理工具 | 
| lsblk | 列出块设备信息 | 
| blkid | 显示分区的UUID等信息 | 
| fsck | 检查和修复文件系统 | 
 
8. 开发与编程
 
| 命令 | 作用 | 
|---|
| gcc | GNU编译器,用于编译C语言代码 | 
| make | 编译和管理项目的工具 | 
| gdb | GNU调试器,用于调试程序 | 
| strace | 跟踪系统调用和信号 | 
| lsof | 列出打开的文件 | 
| time | 计时执行命令的时间 | 
| diff | 比较文件的不同 | 
| patch | 应用补丁文件 | 
| echo | 输出文本内容到终端或文件 | 
 
9. 文件权限与SELinux
 
| 命令 | 作用 | 
|---|
| getfacl | 查看文件的ACL权限 | 
| setfacl | 设置文件的ACL权限 | 
| getenforce | 显示SELinux的当前模式 | 
| setenforce | 设置SELinux模式 | 
 
10. 其他实用工具
 
| 命令 | 作用 | 
|---|
| history | 查看历史命令 | 
| alias | 创建命令别名 | 
| date | 显示或设置系统时间 | 
| cal | 显示日历 | 
| bc | 计算器工具 | 
| man | 查看命令手册 | 
| info | 查看命令的详细信息 | 
| export | 设置环境变量 | 
| env | 查看环境变量 | 
| clear | 清屏 | 
| exit | 退出当前终端 | 
 
这些命令涵盖了Linux系统中常见的文件操作、权限管理、系统状态查看、网络管理等方面的功能。建议从最常用的命令开始练习,并通过man命令深入了解每个命令的详细用法。