简介:本文系统梳理 Linux 命令行的高频命令与核心用法,覆盖权限提升、文本编辑、用户管理、文件查看、时间配置、帮助手册与磁盘统计等典型场景,逐条解析常用参数的真实含义与操作细节,并补充生产环境最佳实践,帮助读者快速夯实命令行基础,提升日常开发与运维效率。
在与 Linux 系统打交道的日常工作中,图形界面往往不是主角:远程服务器通常只暴露一个终端连接,自动化脚本依赖命令行完成,故障排查更是离不开一连串命令的组合使用。可以说,命令行熟练度直接决定了开发与运维工作的下限。
本文按照“权限提升—文本编辑—用户管理—文件查看—时间管理—帮助系统—磁盘统计”的脉络,把最常用的命令及其参数含义逐一讲透,并补充实际工作中的使用建议,帮助读者建立起一条清晰的命令行知识主线。
日常操作应使用普通用户,需要特权时再通过 sudo 单条提权,这比直接以 root 身份登录安全得多。sudo 的授权规则中,一条典型的配置由三个 ALL 组成:
用户名 ALL=(ALL) ALL
这三个 ALL 各司其职,共同界定了“从哪里、以谁的身份、能做什么”:
理解这三段结构后就能明白:宽松的授权配置意味着巨大的越权风险。实践中应遵循最小权限原则,把三个位置收敛到实际需要的主机、身份和命令白名单上。此外,sudo 的每次执行都会被记录,便于事后审计追溯,这也是它优于共享 root 密码的重要原因。
使用 vim 文件名 即可打开文件(文件不存在时会新建)。vi/vim 是典型的模式编辑器,新手最容易卡住的地方就在于模式切换:
i 进入编辑模式,这时才可以向文件里编辑内容;ESC 键返回普通模式;shift + : 进入末行命令状态,输入相应指令并回车:wq:保存并退出;q:未做修改时直接退出;q!:放弃修改,强制退出。记住一个关键点:在编辑模式里输入冒号不会触发任何命令,必须先按 ESC 回到普通模式。理清“普通模式—编辑模式—末行命令”三层状态,绝大多数“键盘没反应”的困惑都会消失。
useradd 用户名:新增用户,需要管理员权限。新用户通常还需执行 passwd 用户名 设置密码后才能正常登录;userdel 用户名:删除用户;若想连同家目录一并清理,可加上 -r 选项,避免留下无主目录;cat /etc/passwd:查看系统内所有用户。该文件每行对应一个账号,以冒号分隔出用户名、用户 ID、所属组、家目录、默认 Shell 等字段,是排查账号问题的第一入口。建议把“创建—设密—验证—删除”作为一个完整闭环来练习,理解用户信息在系统中的组织方式。
ls 是使用频率最高的命令之一,重点掌握以下几种形态:
ls:列出当前目录下的可见文件;ls -l:长格式输出,展示权限、硬链接数、属主、属组、大小、修改时间和文件名;ls -ld 目录名:查看目录自身的属性而不是其内部内容,它等价于在长格式基础上指定 --directory 参数,检查目录权限时非常实用;ls -a:显示以 . 开头的隐藏文件,例如各类配置文件。两个补充技巧:一是多个命令可以用分号 ; 隔开,按顺序依次执行,例如 ls -l; date;二是长格式输出可再配合 -h 选项,让文件大小以 K、M、G 等人类可读的单位呈现,判断起来更直观。
date '+%F %H:%M:%S',其中 %F 表示“年-月-日”,%H:%M:%S 表示“时:分:秒”,非常适合在脚本中生成带时间戳的日志或文件名;date -s '2020-11-28 14:17:20',该操作需要管理员权限。需要提醒的是,手工设置的时间会随重启或时钟漂移逐渐偏离,而日志分析、证书校验、定时任务都高度依赖准确时间。因此生产环境中更推荐启用时间同步机制,让系统时钟持续与标准时间对齐,date -s 仅用于特殊场景下的临时修正。
命令和参数浩如烟海,靠死记硬背不现实,掌握“自助查文档”的方法才是根本。
1. 快速定位三件套
whatis 命令名:输出一行简介,快速说明该命令是做什么的;which 命令名:显示命令可执行文件的所在路径,用于确认实际调用的是哪一个;命令 --help:多数命令内置的快速帮助,直接在终端输出参数摘要,适合“忘了某个参数怎么写”的场景。2. 手册阅读模式
执行 man date 或 info date 会进入全屏阅读模式,常用操作如下:
q 退出,返回命令行;/ 后输入需要过滤的关键词并回车,即可在手册中查找;查找之后,通过大小写字母 N 在多个匹配结果之间上下跳转定位。3. 读懂语法约定
帮助信息中的符号有固定含义:[] 表示里面的参数可选,可以省略;<> 表示里面的参数必须传递,否则执行命令会报错。看懂这两个符号,就能迅速判断一条命令的最小可执行形态,避免照抄示例时漏传必填参数。
排查“磁盘空间被谁占用”时,du -sh * 是最常用的入口,它会列出当前目录下每个文件和子目录的总大小:
-s(—summarize):只对每个参数显示一个汇总值,不逐层展开细节;-h(—human-readable):以人类可读的格式打印大小,例如 1K、234M、2G。推荐的排查路径是:先执行 du -sh * 定位占用最大的目录,再逐层进入下钻,最终找到问题文件。与之互补,df 命令用于查看文件系统整体的挂载与剩余空间。两者结合,可以完成从“整体水位”到“具体目录”的完整定位。
--help 再 man,把查手册变成肌肉记忆;sudo、vim、用户管理、ls、date、帮助系统、du,这些命令覆盖了 Linux 日常操作的主干场景。它们单个都不复杂,真正的价值在于理解每个参数背后的设计意图——权限如何收敛、模式如何切换、帮助如何阅读、空间如何定位。把这些基本功打扎实,再逐步学习管道、重定向与脚本化组合,就能从“会敲命令”进阶到“用命令解决问题”。