Linux 常用命令大全
Linux 命令是对 Linux 系统进行管理的核心工具。对于 Linux 系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件。Linux 系统管理的命令是其正常运行的核心。有一点需要注意,与 DOS 命令不同的是,Linux 的命令(包括文件名等)对大小写是敏感的。
Linux 的命令可以分为内部命令和外部命令:内置命令在系统启动时就调入内存,是常驻内存的,执行效率高。而外部命令是系统的软件功能,用户需要时才从硬盘中读入内存。外部命令也称为文件系统命令,是 bash shell 之外的程序,它并不是 shell 的一部分。外部命令一般位于 /bin、/usr/bin、/sbin 或 /usr/sbin 中。
内置命令和 shell 是一体的,它们作为 shell 工具的组成部分存在,不需要通过衍生出子进程来执行,也不需要打开程序文件。需要注意的是,有很多命令有多种实现(例如同一命令可能即是内部命令又是外部命令)。
线上查询及帮助命令
在使用命令时,获取帮助是首要步骤。
man <command>: 查看命令的手册页。例如man ls。info <command>: 查看 GNU 项目的详细文档。<command> --help: 显示命令的基本帮助信息。apropos <keyword>: 根据关键词搜索手册页名称。
文件和目录操作命令
这是日常使用中最频繁的一类命令。
ls [选项]: 列出目录内容。常用选项-l(长格式),-a(显示隐藏文件)。cd <路径>: 切换当前工作目录。cd ..返回上级,cd ~进入家目录。pwd: 打印当前工作目录的绝对路径。mkdir [选项] <目录名>: 创建目录。-p可递归创建多级目录。rmdir <目录名>: 删除空目录。touch <文件名>: 创建空文件或更新文件时间戳。rm [选项] <文件/目录>: 删除文件或目录。-f强制删除,-r递归删除目录。cp [选项] <源> <目标>: 复制文件或目录。-r用于目录。mv <源> <目标>: 移动文件或重命名文件。ln [选项] <源> <链接>: 创建硬链接或软链接。-s创建符号链接。
查看文件及内容处理命令
cat <文件>: 连接文件并打印到标准输出。less <文件>: 分页查看文件内容,支持上下翻页。more <文件>: 类似 less,但功能较少。head [选项] <文件>: 显示文件头部。默认前 10 行,-n指定行数。tail [选项] <文件>: 显示文件尾部。-f可实时跟踪日志文件变化。grep [选项] <模式> <文件>: 文本搜索工具,按模式过滤行。wc [选项] <文件>: 统计文件的行数、单词数和字节数。diff <文件 1> <文件 2>: 比较两个文件的差异。sort <文件>: 对文件内容进行排序。uniq <文件>: 去除相邻的重复行。
文件压缩及解压缩命令
tar [选项] <归档文件>: 打包和解包工具。常用组合:-cvf(创建),-xvf(解压),-z(gzip),-j(bzip2)。gzip <文件>: 压缩文件,生成.gz后缀。gunzip <文件.gz>: 解压 gzip 文件。zip <归档.zip> <文件>: 创建 zip 压缩包。unzip <归档.zip>: 解压 zip 压缩包。
信息显示命令
uname [选项]: 显示系统信息。-a显示所有信息。hostname: 显示或设置系统主机名。uptime: 显示系统运行时间及负载情况。free [选项]: 显示内存使用情况。df [选项]: 显示文件系统的磁盘空间使用情况。du [选项] <目录>: 估算文件或目录的空间占用。top: 动态显示系统中各个进程的资源状况。htop: top 的增强版,界面更友好。
搜索文件命令
find <路径> [表达式]: 强大的文件搜索工具。可按名称、类型、时间等查找。locate <文件名>: 基于数据库快速搜索文件名。需定期更新数据库 (updatedb)。whereis <命令>: 查找命令的二进制、源码和帮助文档位置。which <命令>: 查找命令的可执行文件路径。
用户管理命令
useradd [选项] <用户名>: 创建新用户。userdel [选项] <用户名>: 删除用户。passwd <用户名>: 修改用户密码。su [选项] [<用户名>]: 切换用户身份。sudo <命令>: 以超级用户权限执行命令。id [用户名]: 显示用户的 UID 和 GID 信息。groups [用户名]: 显示用户所属的用户组。
基础网络操作命令
ping <主机>: 测试网络连接状态。ip [选项]: 现代的网络配置工具,替代 ifconfig。netstat [选项]: 显示网络连接、路由表、接口统计等信息。curl [选项] <URL>: 传输数据的命令行工具。wget [选项] <URL>: 非交互式的网络文件下载工具。ssh <用户@主机>: 安全远程登录。scp <源> <目标>: 安全复制文件。
深入网络操作命令
traceroute <主机>: 追踪数据包到达目标主机所经过的路由。nslookup <域名>: 查询 DNS 记录。dig <域名>: 更强大的 DNS 查询工具。telnet <主机> <端口>: 用于测试 TCP 端口连通性。nc <主机> <端口>: 网络调试利器,可用于端口扫描和数据传输。
有关磁盘与文件系统的命令
fdisk <设备>: 分区表管理工具。mkfs.<类型> <设备>: 格式化文件系统。mount [选项] <设备> <挂载点>: 挂载文件系统。umount <设备或挂载点>: 卸载文件系统。blkid: 显示块设备的属性。fsck <设备>: 检查并修复文件系统错误。
系统权限及用户授权相关命令
chmod [选项] <文件或目录>: 改变文件访问权限。chown [选项] <用户>:<组> <文件或目录>: 改变文件所有者和所属组。chgrp [选项] <组> <文件或目录>: 改变文件所属组。umask: 设置创建文件时的默认权限掩码。
查看系统用户登陆信息的命令
last: 显示最近登录的用户列表。w: 显示当前登录用户及其活动。who: 显示当前登录用户的信息。lastlog: 显示每个用户最后一次登录的时间。
内置命令及其它
echo <字符串>: 输出字符串到标准输出。export <变量>=<值>: 设置环境变量。alias <别名>=<命令>: 为命令设置别名。history: 显示命令历史记录。source <脚本>: 在当前 shell 环境中执行脚本。
系统管理与性能监视命令
systemctl [选项] <服务>: systemd 系统和服务管理器。service <服务> [start|stop|status]: 传统的服务控制命令。vmstat: 报告虚拟内存统计信息。iostat: 报告 CPU 和输入输出统计信息。sar: 系统活动报告器,收集性能数据。
关机 / 重启 / 注销和查看系统信息的命令
shutdown [选项] [时间]: 关闭或重启系统。reboot: 重启系统。poweroff: 关闭电源。exit: 退出当前 shell 会话。
进程管理相关命令
ps [选项]: 快照式显示当前进程状态。pgrep <进程名>: 按名称查找进程 ID。kill [信号] <PID>: 向进程发送信号,默认为 SIGTERM。pkill <进程名>: 按名称杀死进程。nice <命令>: 以调整过的优先级运行命令。renice <优先级> <PID>: 改变已运行进程的优先级。
以上命令涵盖了 Linux 系统管理和日常开发的大部分场景。建议在实际操作中结合 man 手册深入学习各参数的具体含义。


