Linux 是开发与运维工作中不可或缺的工具,掌握常用命令能显著提升效率。本篇整理了一些高频使用的命令,覆盖文件操作、系统监控、网络调试等核心场景,适合入门学习或作为日常参考使用。
Linux系统目录结构
Linux采用树形目录结构,以根目录(/)为起点,各个目录有特定的用途:
| 目录 | 描述 |
|---|---|
| /boot | 存放启动Linux时使用的内核文件、连接文件及镜像文件 |
| /etc | 存放系统所需的配置文件和子目录列表。更改这里的文件可能会导致系统无法启动 |
| /lib | 存放基本代码库,类似于Windows中的DLL文件 |
| /sys | 集成proc、devfs和devpts文件系统的信息,反映内核设备树 |
| /bin | 存放最常用的程序和指令,如ls等 |
| /sbin | 存放只有系统管理员能使用的程序和指令 |
| /dev | 存放Linux的外部设备 |
| /media | 存放识别后的其他设备,如U盘、光驱等 |
| /mnt | 临时挂载其他文件系统的目录 |
| /run | 临时文件系统,存储系统启动以来的信息 |
| /lost+found | 系统非法关机后存放一些文件的目录 |
| /tmp | 存放临时文件的目录 |
| /root | 系统管理员的用户主目录 |
| /home (~) | 用户的主目录,以用户的账号命名 |
| /usr | 存放用户的应用程序和文件,类似于Windows的Program Files目录 |
| /usr/bin | 存放系统用户使用的应用程序与指令 |
| /usr/sbin | 存放超级用户使用的高级管理程序和系统守护程序 |
| /usr/src | 内核源代码的默认放置目录 |
| /var | 存放经常修改的数据,如程序运行的日志文件 |
| /proc | 虚拟目录,管理内存空间,是系统内存的映射 |
| /opt | 存放额外安装的软件 |
| /srv | 存放服务启动后需要提取的数据(不用服务器则为空) |
系统启动过程
- BIOS开机自检
- 按照BIOS设置的启动设备启动
- 操作系统接管硬件,读入/boot 目录下的内核文件
- 运行init进程(系统所有进程的起点)
- sync将内存中的数据与磁盘同步
Linux命令基础
命令格式
| 组成部分 | 描述 | 示例 |
|---|---|---|
| 命令 | 要执行的命令或操作 | ls |
| 选项 | 指定命令的具体行为或修改其默认行为 | -l |
| 参数 | 提供命令操作所需的内容或数据(在哪里执行) | /home |
| 命令格式 | command [-options] [parameter1] [parameter2] ... | ls -l /home |
一、最常用命令(日常必用,高频刚需)
命令 | 功能 | 示例 |
| 列出目录内容 |
|
| 切换目录 |
|
| 显示当前路径 |
|
| 创建目录 |
|
| 删除文件/目录 |
|
| 复制文件/目录 |
|
| 移动/重命名 |
|
| 创建空文件/更新时间戳 |
|
| 查看文件内容 |
|
| 输出文本 |
|
| 清屏 |
|
| 查看命令帮助 |
|
| 退出终端 |
|
| 以超级用户执行 |
|
| 查看命令历史 |
|
| 搜索文件内容 |
|
| 查找文件 |
|
| 查看文件头/尾 |
|
| 分页查看文件 |
|
| 打包/解压 |
|
| ZIP压缩/解压 |
|
| 修改权限 |
|
| 修改所有者 |
|
| 查看磁盘空间 |
|
| 查看目录大小 |
|
| 查看内存使用 |
|
| 查看进程 |
|
| 终止进程 |
|
| 实时系统监控 |
|
| 远程登录 |
|
| 安全复制文件 |
|
| 下载文件 |
|
| 测试网络连通性 |
|
| 查看网络配置 |
|
| 关机/重启 |
|
| 查看/设置日期时间 |
|
| 显示当前用户名 |
|
| 显示主机名 |
|
| 显示系统信息 |
|
| 查找命令位置 |
|
这40条命令大家务必学会,基本可以覆盖90%日常操作
二、文件与目录操作
命令 | 功能 | 示例 |
| 删除空目录 |
|
| 提取文件名 |
|
| 提取目录路径 |
|
| 显示文件详细信息 |
|
| 查看文件类型 |
|
| 创建链接 |
|
| 列出块设备信息 |
|
| 磁盘分区工具 |
|
| 高级分区工具 |
|
| 格式化文件系统 |
|
| 检查/修复文件系统 |
|
| 查看块设备UUID |
|
| 挂载/卸载文件系统 |
|
| 同步缓存到磁盘 |
|
| 管理loop设备 |
|
| 复制/转换文件 |
|
三、文本处理与查看
命令 | 功能 | 示例 |
| 流编辑器(文本替换) |
|
| 文本处理工具(提取列) |
|
| 按列提取 |
|
| 排序 |
|
| 去除重复行 |
|
| 统计行/词/字节数 |
|
| 替换/删除字符 |
|
| 比较文件差异 |
|
| 应用补丁 |
|
| 比较两个排序文件的共同行 |
|
| 按列合并文件 |
|
| 按公共字段连接文件 |
|
| 拆分文件 |
|
| 按上下文拆分 |
|
| 转换Tab/空格 |
|
| GNU压缩/解压 |
|
| 更高压缩比 |
|
| 高压缩率 |
|
| 查看压缩文件内容 |
|
| 反转行内容 |
|
| 随机排列行 |
|
四、网络相关命令
命令 | 功能 | 示例 |
| 网络配置(已列) |
|
| 连通性测试(已列) |
|
| 下载工具(已列) |
|
| 远程登录(已列) |
|
| 安全复制(已列) |
|
| 查看网络连接 |
|
| DNS查询 |
|
| 域名解析 |
|
| 追踪路由路径 |
|
| 网络诊断组合工具 |
|
| 测试端口连通 |
|
| 网络扫描 |
|
| 抓包分析 |
|
| 查看ARP缓存 |
|
| 查看路由表 |
|
| 网络连接测试 |
|
| 远程同步文件 |
|
| 防火墙配置 |
|
| 查看/设置主机名 |
|
| 管理网络连接 |
|
五、进程与系统管理
命令 | 功能 | 示例 |
| 查看进程(已列) |
|
| 终止进程(已列) |
|
| 系统监控(已列) |
|
| 查看后台作业 |
|
| 前后台作业切换 |
|
| 后台持久运行 |
|
| 按名杀/查进程 |
|
| 设置进程优先级 |
|
| 周期性执行命令 |
|
| 查看系统负载 |
|
| 虚拟内存统计 |
|
| I/O设备统计 |
|
| 系统活动报告 |
|
| 跟踪系统调用 |
|
| 跟踪库函数调用 |
|
| GNU调试器 |
|
| 性能分析工具 |
|
六、用户与权限管理
命令 | 功能 | 示例 |
| 修改权限(已列) |
|
| 修改所有者(已列) |
|
| 提权执行(已列) |
|
| 添加/删除用户 |
|
| 修改密码 |
|
| 显示用户ID/组 |
|
| 显示用户所属组 |
|
| 切换用户 |
|
| 查看登录用户 |
|
| 查看登录历史 |
|
| 查看最后登录时间 |
|
| 当前用户名(已列) |
|
七、压缩与归档
命令 | 功能 | 示例 |
| 打包/解包(已列) |
|
| ZIP压缩(已列) |
|
| GNU压缩 |
|
| 高压缩比 |
|
| 高压缩率 |
|
| 7-Zip压缩 |
|
| 查看压缩文件 |
|
八、环境变量与Shell内置
命令 | 功能 | 示例 |
| 显示环境变量 |
|
| 设置/导出变量 |
|
| 创建命令别名 |
|
| 删除别名 |
|
(或 ) | 加载配置文件 |
|
| 读取用户输入 |
|
| 移位参数位置 |
|
| 设置shell选项 |
(调试模式) |
| 删除变量/函数 |
|
| 查看命令类型 |
|
九、特殊符号与管道组合
符号 | 功能 | 示例 |
| 管道传递输出 |
|
| 重定向输出(覆盖) |
|
| 重定向输出(追加) |
|
| 重定向错误输出 |
|
| 重定向所有输出 |
|
| 重定向输入 |
|
| 前成功才执行后 |
|
| 前失败才执行后 |
|
| 顺序执行多条命令 |
|
| 命令替换 |
|
date` `` | | ||
| 转义/续行符 |
|
(HereDoc) | 内联输入文档 |
|
十、脚本与任务调度
命令 | 功能 | 示例 |
| 定时任务 |
|
| 延迟执行 |
|
| 信号捕获 |
|
| 转换标准输入为参数 |
|
| 自动确认输出 |
|
| 测量执行时间 |
|
| 生成数字序列 |
|
| 同时输出到文件和屏幕 |
|
| 记录终端会话 |
|
| 终端复用器 |
|
十一、系统信息与硬件
命令 | 功能 | 示例 |
| 系统信息(已列) |
|
| 主机名(已列) |
|
| 运行时间(已列) |
|
| 日期时间(已列) |
|
| 显示日历 |
|
| 命令行计算器 |
|
| 分解质因数 |
|
| CPU架构信息 |
|
| 硬件配置详情 |
|
| USB设备列表 |
|
| PCI设备列表 |
|
| 硬件DMI信息 |
|
| 硬件时钟 |
|
十二、安全与加密
命令 | 功能 | 示例 |
| 生成SSH密钥对 |
|
| 加密/解密工具 |
|
| 加密/签名工具 |
|
| 计算文件校验和 |
|
十三、其他实用工具
命令 | 功能 | 示例 |
| 清屏(已列) |
|
| 重置终端 |
|
| 输出重复字符串(已列) |
|
| 随机排列 |
|
| 质因数分解 |
|
| 反转字符串 |
|
| 周期性执行(已列) |
|
附录1:Shell内置命令速查
命令 | 功能 |
(或 ) | 在当前shell中执行脚本 |
| 替换当前shell进程 |
| 设置环境变量 |
| 从标准输入读取 |
| 移动位置参数 |
| 设置/取消shell选项 |
| 删除变量或函数 |
| 显示命令类型 |
| 设置资源限制 |
附录2:常用快捷键
快捷键 | 功能 |
| 终止当前命令 |
| 暂停当前命令 |
| 退出终端(EOF) |
| 清屏(等同于clear) |
| 跳到行首 |
| 跳到行尾 |
| 删除光标前所有字符 |
| 删除光标后所有字符 |
| 自动补全 |
| 历史命令切换 |
本指南中的命令在以下主流 Linux 发行版上经过验证:
发行版 | 适用性 | 说明 |
Ubuntu | 完全适用 | 使用 |
CentOS | 完全适用 | 使用 |
Kali Linux | 完全适用 | 使用 |
注意:虽然所有命令都能在上述系统上运行,但在以下方面存在差异:
- 软件包管理:Ubuntu/Kali 使用
apt,CentOS 使用yum或dnf - 服务管理:各发行版的服务名称可能不同(如防火墙:Ubuntu 用
ufw,CentOS 用firewalld) - 预装软件:Kali 预装大量渗透测试工具,Ubuntu/CentOS 需自行安装
- 默认 Shell:Ubuntu/CentOS 默认
bash,Kali 默认zsh(向下兼容bash命令)
建议:使用前可通过man <命令名>查看当前系统下的详细用法。