Linux命令速查网站:https://linux.embeddev.asia
目前已经搜集了600+条命令,对每一条命令都有详细的介绍。
 
本文展示的命令不全是安装系统时自带的。
Linux命令基于Unix哲学,旨在创建简单、短小、可组合的工具。每个命令通常只执行一个任务,但通过管道和重定向可以组合多个命令来完成复杂任务。Linux命令行工具一般用C语言编写。
- 可执行文件:很多Linux命令是独立的可执行文件,通常位于/bin、/usr/bin、/sbin等目录下。例如,ls、cp、grep等。
- Shell内建命令:一些命令是Shell(如Bash、Zsh)的内建命令(built-in commands),它们直接由Shell解释执行,而不是独立的可执行文件。例如,cd、echo、alias等。
- 脚本:一些命令是用脚本语言(如Bash、Python等)编写的脚本文件。例如,某些系统管理工具和用户自定义命令。
使用 CTRL F可在本页内搜索。
命令速览
- 一、文件管理
- 二、磁盘管理
- 三、磁盘维护
- 四、备份压缩
- 五、系统设置
- 六、系统管理
- 七、文本处理
- 八、设备管理
- 九、网络通信
- 十、电子邮件与新闻组
- 十一、文件传输
- 拓展:使用man命令查看帮助
以下每个分类仅仅是部分命令,Linux命令众多,即使是本文介绍的部分命令,也只有部分是常用的。
分类并不是严格的。
一、文件管理
| 命令 | 功能 | 
|---|---|
| cat | 连接文件并打印到标准输出 | 
| chattr | 改变文件属性 | 
| chgrp | 改变文件的组 | 
| chmod | 改变文件模式 | 
| chown | 改变文件所有者和组 | 
| cksum | 计算并打印文件的 CRC 校验和字节数 | 
| cmp | 比较两个文件,如果不同则显示不同之处 | 
| cp | 复制文件和目录 | 
| cut | 从每行中提取指定的字段或字符 | 
| diff | 比较文件的差异 | 
| diffstat | 显示 diff 命令输出的文件统计信息 | 
| file | 确定文件类型 | 
| find | 搜索文件和目录 | 
| git | 分布式版本控制系统 | 
| gitview | Git 的图形用户界面工具 | 
| indent | 格式化 C 语言源代码 | 
| locate | 查找文件,使用已建立的数据库 | 
| ln | 创建硬链接或符号链接 | 
| lsattr | 列出文件属性 | 
| mattrib | 改变 MS-DOS 文件的属性 | 
| mc | Midnight Commander 文件管理器 | 
| mcopy | 复制 MS-DOS 文件 | 
| mdel | 删除 MS-DOS 文件 | 
| mdir | 列出 MS-DOS 目录内容 | 
| mktemp | 创建临时文件或目录 | 
| mmove | 移动或重命名 MS-DOS 文件 | 
| mread | 从 MS-DOS 文件读取文件到 Unix 系统 | 
| mren | 重命名 MS-DOS 文件 | 
| mshowfat | 显示 MS-DOS 文件的文件分配表 | 
| mtools | 一组在 Unix 和 MS-DOS 文件系统之间操作文件的工具 | 
| mtoolstest | 测试 mtools 配置 | 
| mv | 移动或重命名文件 | 
| od | 输出文件的八进制、十六进制、十进制、或 ASCII 表示形式 | 
| paste | 合并文件的行 | 
| patch | 应用补丁文件 | 
| rcp | 远程文件拷贝 | 
| rhmask | 批量重命名文件 | 
| rm | 删除文件或目录 | 
| slocate | 安全地查找文件,使用已建立的数据库 | 
| split | 将文件拆分成更小的部分 | 
| tee | 从标准输入读取并写入到标准输出和文件 | 
| tmpwatch | 删除临时文件 | 
| touch | 更改文件的时间戳 | 
| umask | 设置默认文件创建权限掩码 | 
| whereis | 显示程序的二进制文件、源代码文件及其手册页的路径 | 
| which | 显示命令的完整路径 | 
二、磁盘管理
| 命令 | 功能 | 
|---|---|
| cd | 切换当前工作目录 | 
| df | 显示文件系统磁盘空间使用情况 | 
| dirs | 显示目录栈中的目录 | 
| du | 显示文件和目录的磁盘使用情况 | 
| edquota | 编辑用户或组的磁盘配额 | 
| eject | 弹出可移动媒体(如光盘、U盘等) | 
| lndir | 创建目录树的符号链接(通常用于构建环境) | 
| ls | 列出目录内容 | 
| mcd | 切换到MS-DOS文件系统中的目录 | 
| mdeltree | 删除MS-DOS文件系统中的目录及其内容 | 
| mdu | 显示MS-DOS文件系统中的磁盘使用情况 | 
| mkdir | 创建新目录 | 
| mlabel | 改变MS-DOS文件系统中的卷标 | 
| mmd | 创建MS-DOS文件系统中的新目录 | 
| mmount | 挂载MS-DOS文件系统 | 
| mrd | 删除MS-DOS文件系统中的目录 | 
| mzip | 控制Iomega ZIP驱动器 | 
| pwd | 显示当前工作目录的路径 | 
| quota | 显示磁盘使用配额信息 | 
| quotacheck | 检查文件系统的磁盘使用配额 | 
| quotaoff | 关闭文件系统的磁盘配额 | 
| quotaon | 打开文件系统的磁盘配额 | 
| repquota | 报告文件系统的磁盘使用配额 | 
| rmdir | 删除空目录 | 
| rmt | 为远程磁带操作提供后台支持(通常不直接使用) | 
| stat | 显示文件或文件系统的状态信息 | 
| tree | 以树状图列出目录内容 | 
| umount | 卸载文件系统 | 
三、磁盘维护
| 命令 | 功能 | 
|---|---|
| badblocks | 查找文件系统中的坏块 | 
| cfdisk | 以图形界面方式管理磁盘分区 | 
| dd | 用于转换和复制文件 | 
| e2fsck | 检查和修复 ext2/ext3/ext4 文件系统 | 
| ext2ed | 编辑 ext2 文件系统 | 
| fdisk | 磁盘分区管理工具 | 
| fsck.ext2 | 检查和修复 ext2 文件系统(通常是 fsck 的一个变体) | 
| fsck | 检查和修复文件系统 | 
| fsck.minix | 检查和修复 Minix 文件系统 | 
| fsconf | 配置文件系统(不是所有系统都支持) | 
| hdparm | 配置和优化 IDE/SATA 硬盘参数 | 
| losetup | 设置和卸载 loop 设备 | 
| mbadblocks | 查找并标记坏块(Minix 文件系统相关) | 
| mformat | 格式化磁盘(MS-DOS 文件系统相关) | 
| mkbootdisk | 创建引导盘 | 
| mkdosfs | 创建 MS-DOS 文件系统 | 
| mke2fs | 创建 ext2/ext3/ext4 文件系统 | 
| mkfs.ext2 | 创建 ext2 文件系统(通常是 mkfs 的一个变体) | 
| mkfs | 创建文件系统 | 
| mkfs.minix | 创建 Minix 文件系统 | 
| mkfs.msdos | 创建 MS-DOS 文件系统 | 
| mkinitrd | 创建初始 RAM 磁盘映像 | 
| mkisofs | 创建 ISO 9660 文件系统(用于刻录光盘) | 
| mkswap | 创建交换分区 | 
| mpartition | 管理 Minix 文件系统分区(不是所有系统都支持) | 
| sfdisk | 磁盘分区管理工具 | 
| swapoff | 关闭交换空间 | 
| swapon | 启用交换空间 | 
| symlinks | 处理符号链接 | 
| sync | 同步文件系统缓冲区 | 
四、备份压缩
| 命令 | 功能 | 
|---|---|
| ar | 创建、修改和提取归档文件(如库文件) | 
| bunzip2 | 解压缩 .bz2文件 | 
| bzip2 | 压缩文件为 .bz2格式 | 
| bzip2recover | 恢复损坏的 .bz2文件 | 
| compress | 使用 Lempel-Ziv 算法压缩文件(通常生成 .Z文件) | 
| cpio | 归档工具,用于备份和恢复文件 | 
| dump | 备份文件系统 | 
| gunzip | 解压缩 .gz文件 | 
| gzexe | 将可执行文件压缩为 .gz格式 | 
| gzip | 压缩文件为 .gz格式 | 
| lha | 处理 LHA 格式的归档文件 | 
| restore | 从 dump 备份中恢复文件 | 
| tar | 归档文件和目录(可结合 gzip 或 bzip2 使用) | 
| unarj | 解压 .arj文件 | 
| unzip | 解压 .zip文件 | 
| zip | 压缩文件为 .zip格式 | 
| zipinfo | 显示 .zip文件的内容 | 
五、系统设置
| 命令 | 功能 | 
|---|---|
| alias | 创建命令别名 | 
| apmd | 管理高级电源管理 | 
| aumix | 配置声音混音器 | 
| bind | 配置和管理 DNS 服务器 | 
| chkconfig | 管理系统服务和启动项 | 
| chroot | 更改根目录(用于创建隔离的环境) | 
| clock | 管理系统时钟(有时被 hwclock取代) | 
| crontab | 编辑用户的定时任务表 | 
| declare | 声明变量(用于 bash 脚本) | 
| depmod | 生成内核模块依赖关系文件 | 
| dircolors | 设置 ls命令的颜色 | 
| dmesg | 显示内核和启动信息 | 
| enable | 启用系统服务 | 
| eval | 计算和执行命令字符串 | 
| export | 设置环境变量 | 
| fbset | 设置帧缓冲设备参数 | 
| grpconv | 更新 /etc/group文件格式 | 
| grpunconv | 恢复 /etc/group文件格式 | 
| hwclock | 管理硬件时钟 | 
| insmod | 插入内核模块 | 
| kbdconfig | 配置键盘布局 | 
| lilo | 管理 LILO 引导加载程序 | 
| liloconfig | 配置 LILO 引导加载程序 | 
| lsmod | 列出已加载的内核模块 | 
| minfo | 显示 MTools 归档文件的信息 | 
| mkkickstart | 创建 Kickstart 文件(用于自动化安装) | 
| modinfo | 显示内核模块的信息 | 
| modprobe | 加载和卸载内核模块 | 
| mouseconfig | 配置鼠标参数 | 
| ntsysv | 以文本模式管理系统服务 | 
| passwd | 修改用户密码 | 
| pwconv | 生成 /etc/passwd和/etc/shadow的密码文件 | 
| pwunconv | 从 /etc/shadow文件中删除密码 | 
| rdate | 从网络时间服务器同步系统时间 | 
| resize | 调整终端窗口大小 | 
| rmmod | 卸载内核模块 | 
| rpm | 管理 RPM 软件包 | 
| set | 设置 shell 变量 | 
| setconsole | 配置控制台终端 | 
| setenv | 设置环境变量(在 csh 中使用) | 
| setup | 运行系统安装和配置向导 | 
| sndconfig | 配置声音设备 | 
| SVGAText Mode | 设置 SVGAText 模式(用于某些显示模式的配置) | 
| timeconfig | 配置系统时间(不同系统可能有不同的实现) | 
| ulimit | 设置用户进程的资源限制 | 
| unalias | 删除命令别名 | 
| unset | 删除 shell 变量 | 
六、系统管理
| 命令 | 功能 | 
|---|---|
| adduser | 添加新用户 | 
| chfn | 修改用户的全名 | 
| chsh | 更改用户的默认 shell | 
| date | 显示或设置系统日期和时间 | 
| exit | 退出当前 shell 会话 | 
| finger | 显示用户信息 | 
| free | 显示内存使用情况 | 
| fwhois | 查找 WHOIS 信息(通常是 whois的变体) | 
| gitps | 显示 Git 仓库的进程状态(特定于某些环境或工具) | 
| groupdel | 删除用户组 | 
| groupmod | 修改用户组信息 | 
| halt | 立即关闭计算机 | 
| id | 显示用户 ID 和组 ID | 
| kill | 发送信号给进程(通常用于终止进程) | 
| last | 显示最近的登录记录 | 
| lastb | 显示失败的登录尝试记录 | 
| login | 登录系统 | 
| logname | 显示当前登录用户的用户名 | 
| logout | 退出当前登录会话 | 
| logrotate | 管理日志文件的轮转 | 
| newgrp | 切换到新的用户组 | 
| nice | 以调整的优先级运行程序 | 
| procinfo | 显示系统进程信息 | 
| ps | 显示当前运行的进程 | 
| pstree | 以树状图显示进程结构 | 
| reboot | 重新启动计算机 | 
| renice | 更改正在运行进程的优先级 | 
| rlogin | 远程登录(不推荐,通常使用 ssh代替) | 
| rsh | 远程 shell(不推荐,通常使用 ssh代替) | 
| rwho | 显示当前登录用户的列表 | 
| screen | 创建和管理多个 shell 会话 | 
| shutdown | 关闭或重新启动计算机 | 
| sliplogin | 配置 SLIP 网络连接(通常不再使用) | 
| su | 以另一个用户身份运行命令 | 
| sudo | 以超级用户权限运行命令 | 
| suspend | 暂停当前进程 | 
| swatch | 监控和处理日志文件(使用 swatch工具) | 
| tload | 以图形方式显示系统负载 | 
| top | 实时显示系统进程和资源使用情况 | 
| uname | 显示系统信息 | 
| useradd | 添加新用户 | 
| userconf | 配置用户信息(不常见,通常使用 usermod) | 
| userdel | 删除用户 | 
| usermod | 修改用户信息 | 
| vlock | 锁定虚拟控制台 | 
| w | 显示当前登录用户及其活动 | 
| who | 显示当前登录用户的信息 | 
| whoami | 显示当前用户的用户名 | 
| whois | 查询域名和 IP 地址的 WHOIS 信息 | 
七、文本处理
| 命令 | 功能 | 
|---|---|
| awk | 文本处理和数据提取工具 | 
| col | 格式化文本,去除回车符 | 
| colrm | 删除指定列范围的文本 | 
| comm | 比较两个已排序文件并显示其共同和不同的行 | 
| csplit | 按照指定模式或大小拆分文件 | 
| ed | 行编辑器,用于编辑文件 | 
| egrep | 扩展的 grep,支持扩展正则表达式 | 
| ex | 编辑器 vi的底层模式(可以用来编辑文件) | 
| fgrep | 不支持正则表达式的 grep,用于固定字符串匹配 | 
| fmt | 格式化文本,使其每行宽度相同 | 
| fold | 将长行折叠成多行 | 
| grep | 在文件中搜索匹配的字符串 | 
| ispell | 拼写检查工具 | 
| jed | 文本编辑器 | 
| joe | 文本编辑器 | 
| join | 合并两个文件的行,根据指定字段匹配 | 
| look | 显示以指定字符串开头的所有行 | 
| mtype | 显示或打印消息文件的内容(通常用于处理邮件) | 
| pico | 简单的文本编辑器 | 
| rgrep | 递归搜索目录中的文件 | 
| sed | 流编辑器,用于处理和转换文本 | 
| sort | 排序文件的内容 | 
| spell | 查找文件中的拼写错误(较老的工具,现代系统中通常用 aspell) | 
| tr | 替换或删除字符 | 
| uniq | 去除文件中重复的行 | 
| vi(vim) | 强大的文本编辑器 | 
| wc | 计算文件中的字数、行数和字符数 | 
八、设备管理
| 命令 | 功能 | 
|---|---|
| dumpkeys | 显示当前键盘映射的键值对 | 
| loadkeys | 加载键盘映射文件 | 
| MAKEDEV | 创建设备文件(通常在 /dev目录下) | 
| rdev | 显示或修改设备文件的设备号 | 
| setleds | 设置键盘指示灯状态(如 Caps Lock、Num Lock) | 
九、网络通信
| 命令 | 功能 | 
|---|---|
| dip | 处理动态 IP 协议(有时用于配置拨号网络连接) | 
| getty | 启动终端登录会话 | 
| mingetty | 轻量级的 getty实现 | 
| ppp-off | 关闭 PPP 连接 | 
| smbd | Samba 守护进程,用于提供文件和打印共享服务 | 
| telnet | 远程登录协议 | 
| uulog | 显示 uucp 的日志 | 
| uustat | 显示 uucp 任务状态 | 
| uux | 发送或接收 uucp 文件 | 
| cu | 远程控制程序 | 
| dnsconf | 配置 DNS 服务(在某些系统中使用) | 
| efax | 发送和接收传真 | 
| httpd | HTTP 服务器守护进程(Apache 的守护进程) | 
| ip | 显示和配置 IP 地址 | 
| ifconfig | 配置和显示网络接口 | 
| mesg | 显示或禁用其他用户发送的消息 | 
| minicom | 串口终端仿真程序 | 
| nc | 网络工具,用于读写网络连接 | 
| netconf | 网络配置工具 | 
| netconfig | 网络配置工具(较旧版本的网络配置工具) | 
| netstat | 显示网络连接、路由表和接口统计 | 
| ping | 测试网络连接 | 
| ping6 | 测试 IPv6 网络连接 | 
| pppstats | 显示 PPP 连接的统计信息 | 
| samba | 配置和管理 Samba 文件和打印服务(通常是服务命令) | 
| setserial | 配置串口设备 | 
| shapecfg | 配置流量整形工具 | 
| statserial | 显示串口设备的状态 | 
| talk | 与另一用户进行即时聊天 | 
| tcpdump | 捕获和分析网络数据包 | 
| testparm | 检查 Samba 配置文件的参数 | 
| traceroute | 跟踪数据包到达目标的路径 | 
| tty | 显示当前终端的设备文件名 | 
| uuname | 显示系统的 UUCP 名称 | 
| wall | 向所有用户发送消息 | 
| write | 向指定用户发送消息 | 
| ytalk | 进行即时聊天(增强版的 talk) | 
| arpwatch | 监视网络上的 ARP 活动 | 
| apachectl | 控制 Apache HTTP 服务器 | 
| smbclient | Samba 客户端工具,用于访问共享文件和打印机 | 
| pppsetup | 配置 PPP 连接 | 
十、电子邮件与新闻组
| 命令 | 功能 | 
|---|---|
| archive | 归档工具(具体功能取决于上下文) | 
| ctlinnd | 控制 innd(NNTP 服务器)的运行状态 | 
| elm | 电子邮件客户端 | 
| getlist | 显示新闻组的文章列表 | 
| inncheck | 检查和维护 inn(新闻服务器)状态 | 
| 发送和接收电子邮件 | |
| mailconf | 配置邮件系统(具体工具可能不同) | 
| mailq | 显示邮件队列 | 
| messages | 显示系统消息或邮件(具体工具或用途取决于上下文) | 
| metamail | 处理多媒体邮件 | 
| mutt | 电子邮件客户端 | 
| nntpget | 从 NNTP 服务器获取新闻组文章 | 
| pine | 电子邮件客户端 | 
| slrn | 文章阅读器,处理新闻组文章 | 
| X WINDOWS SYSTEM | 图形用户界面系统(通常指 X Window System) | 
| reconfig | 配置系统或软件(具体工具和用途取决于上下文) | 
| startx | 启动 X Window System | 
| Xconfigurator | 配置 X Window System | 
| XF86Setup | 配置 X Window System(老版本工具) | 
| xlsatoms | 显示 X11 中的原子列表 | 
| xlsclients | 显示 X11 客户端应用程序的列表 | 
十一、文件传输
| 命令 | 功能 | 
|---|---|
| bye | 退出 FTP 会话 | 
| ftp | 文件传输协议客户端 | 
| ftpcount | 显示当前 FTP 连接数 | 
| ftpshut | 关闭 FTP 服务 | 
| ftpwho | 显示当前连接到 FTP 服务器的用户列表 | 
| ncftp | 高级 FTP 客户端 | 
| tftp | 轻量级文件传输协议客户端 | 
| uucico | 启动 UUCP 连接 | 
| uucp | Unix 到 Unix 复制,用于在 Unix 系统间传输文件 | 
| uupick | 从 UUCP 文件中选择和接收邮件或文件 | 
| uuto | 发送文件通过 UUCP | 
| scp | 安全复制,通过 SSH 进行远程文件传输 | 
拓展:使用man命令查看帮助
man命令 是Linux下的帮助指令,通过man指令可以查看Linux中的指令帮助、配置文件帮助和编程帮助等信息。
有时候使用man命令来查看一个命令的帮助信息,更加快捷,给出的帮助信息非常详细。通过我的网站搜索,结果会相对简洁,描述更加通俗易懂。
或许使用man的中文输出更加合适:
 (1)设置系统语言为中文(如果没有的话)
a. 安装中文语言包
sudo apt-get update
sudo apt-get install language-pack-zh-hans
sudo locale-gen zh_CN.UTF-8
b. 设置并刷新环境变量
echo 'export LANG=zh_CN.UTF-8' >> ~/.bashrc
echo 'export LANGUAGE=zh_CN.UTF-8' >> ~/.bashrc
echo 'export LC_ALL=zh_CN.UTF-8' >> ~/.bashrc
source ~/.bashrc
(2)安装manpages-zh
sudo apt-get install manpages-zh
(3)使用man查看命令中文帮助
man commands
