news 2026/7/20 15:20:55

吃透 Linux Shell 基础命令,告别只会 cd 和 ls

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
吃透 Linux Shell 基础命令,告别只会 cd 和 ls

本文整理 Linux 日常运维、服务器操作、文件处理、进程管理必备 Shell 命令,摒弃晦涩理论,搭配实操示例与易错踩坑点,新手可直接复制上手,老手当作随身速查文档,覆盖文件操作、权限修改、文本筛选、端口排查、定时任务等高频场景。

文章目录

    • 一、Linux命令行
      • 控制台
      • Shell
      • 命令提示符
      • Linux 标准命令行语法
    • 二、高频基础命令详解:附参数表格与场景化案例
        • date:系统时间查看与格式化
      • bash 执行命令
        • passwd:用户密码管理(区分用户权限)
        • cat:一次性读取文件全部内容
        • head:查看文件头部内容
        • tail:查看文件尾部内容
        • less:交互式分页查看文件
        • wc:文本内容统计(行/单词/字节)
        • Tab :补全机制
        • history 命令:历史操作记录的管理与复用
        • script 工具:终端操作录制与回放,实现实验留档
        • Bash 终端快捷键:效率拉满的操作指南
    • 三、总结

一、Linux命令行

控制台

Console:物理与虚拟终端的核心逻辑

Console(控制台),也被称为终端,是 Linux 系统中实现人机交互的核心载体,主要负责接收用户输入的命令行指令,并展示命令执行后的输出结果。根据交互场景的不同,可分为物理控制台与虚拟控制台两类,二者分工明确,适配不同操作场景。

  • 物理控制台

物理控制台,用于与系统交互的硬件接口。

  • 虚拟控制台(tty)

虚拟控制台, 名称为tty1–tty6,通过ctrl + alt + F1…F6切换。tty1是图形化程序所在的终端。具体切换规则如下表所示:

快捷键组合对应终端功能说明
Ctrl + Alt + F1tty1系统图形化桌面终端,适配可视化操作
Ctrl + Alt + F2~F6tty2~tty6纯字符命令行终端,适配高效运维操作

切换至任意虚拟控制台并完成登录后,输入tty命令即可查看当前所在终端编号,便于确认操作环境。

Shell

shell,用于解析终端中输入的字符串,交由kernel执行,并将执行结果显示到终端中。Linux命令行由shell程序提供。在Linux发展过程中,产生了多种shell程序。Bash是类UNIX系统中最成功的shell,也是用户的默认shell。

命令提示符

作用:提示计算机正在等待用户的输入。

提示符符号用户身份示例格式
$普通权限用户[csh@CentOS7 ~]$
#root 超级管理员[root@CentOS7 ~]#

Linux 标准命令行语法

shell命令行,通过空格分隔,包涵三个部分:

命令,第一部分必须是命令,代表要执行的程序,其后可能跟着选项或参数。
选项,调整命令的行为或作用。通常以一个或两个 - 符号开头,例如(-a --all)。
参数,典型的参数是命令的目标,命令后面可能接多个参数。
Enter键,shell开始解析命令行中字符串,并交由kernel执行。

标准语法结构如下:

命令 [选项] [参数]

示例:

[csh@CentOS7 ~]$ ls -1 /home

ls,是命令
-l,是选项
/home,是参数

一行要执行多个命令,使用分号(;)分隔。

二、高频基础命令详解:附参数表格与场景化案例

掌握 Linux 基础命令是运维入门的核心,本文精选日常运维中使用频率最高、实用性最强的8个基础命令,结合参数表格与场景化案例,详细拆解其用法,便于快速上手与记忆。

date:系统时间查看与格式化

date 命令用于查看、格式化系统时间,支持本地时间、UTC 时间及自定义时间计算,是日常运维中查看系统时间、日志时间校准的常用命令,具体参数与功能如下表所示:

命令格式功能说明
date输出系统当前本地 CST 时间(中国标准时间)
date -u / date --utc / date --universal输出 UTC 零时区时间,适用于跨时区操作场景
date -d ‘-1 day’查看前一天的日期与时间,支持负数(过去)与正数(未来)
date -d ‘+100 day’查看100天后的日期与时间
date -d “-1 year +3 month +10 days”支持年、月、日复合时间计算,灵活适配各类时间查询需求
date +%Y%m%d格式化输出,仅显示年、月、日纯数字(如20260714)
date +%Y-%m-%d格式化输出,以横杠分隔的标准日期格式(如2026-07-14)
date +%Y/%m/%d %H:%M:%S格式化输出完整的日期与时间(如2026/07/14 15:30:20)

bash 执行命令

passwd:用户密码管理(区分用户权限)

passwd 命令用于管理系统用户密码,根据执行用户的身份不同,功能权限存在差异:普通用户仅能修改自身密码,root 超级管理员可修改任意用户密码、清空密码、锁定/解锁用户账号,具体用法如下表所示:

执行身份命令格式核心作用
普通用户passwd修改自身登录密码,需验证原密码,且新密码需符合系统复杂度要求
root 管理员passwd 用户名强制修改指定用户密码,无需验证原密码,适用于密码重置场景
root 管理员passwd -d 用户名清空指定用户密码,实现免密登录,适用于临时调试场景
root 管理员passwd -l 用户名锁定指定用户账号,禁止该用户登录系统,提升账号安全性
root 管理员passwd -u 用户名解锁被锁定的用户账号,恢复正常登录权限
cat:一次性读取文件全部内容

cat 命令用于一次性读取文件的全部内容并输出至终端,适用于查看小型文本文件,支持多文件拼接查看、特殊字符显示等功能,具体用法如下表所示:

命令格式核心作用
cat 文件名打印指定文件的全部内容,适用于小型文本文件
cat -A 文件名显示文件中隐藏的特殊字符,行尾标注 $,Tab 制表符显示为 ^I,便于排查格式问题
cat 文件1 文件2依次拼接打印多个文件的内容,输出至终端
head:查看文件头部内容

head 命令用于查看文件的头部内容,默认显示文件前10行,可通过参数自定义显示行数,适用于快速查看文件开头的关键信息(如配置文件的注释、日志的开头记录),具体用法如下表所示:

命令格式功能效果
head 文件名默认打印文件前10行内容
head -n 4 文件名自定义显示文件前4行内容,n 后可替换为任意正整数
head -n -3 文件名输出文件除最后3行以外的全部内容,适用于排除文件末尾无关信息
tail:查看文件尾部内容

tail 命令与 head 命令对应,用于查看文件的尾部内容,默认显示文件最后10行,可通过参数自定义显示行数,是查看日志文件、监控文件实时更新的核心命令,具体用法如下表所示:

命令格式功能效果
tail 文件名默认打印文件最后10行内容
tail -n 4 文件名仅显示文件末尾4行内容,适用于查看最新日志记录
tail -n +4 文件名从文件第4行开始,显示至文件末尾的全部内容
tail -f 文件名实时监控文件内容更新,新写入的内容会自动显示在终端,适用于日志监控
less:交互式分页查看文件

less 命令适用于查看大型文本文件,采用交互式分页显示模式,支持翻页、搜索、跳转等功能,避免因文件过大导致终端内容刷屏,提升查看体验。进入 less 查看模式后,常用操作指令如下:

  • /关键词:向下搜索文件中的指定关键词,按 n 键查看下一个匹配结果,按 N 键查看上一个匹配结果;

  • 方向键上下:逐行滚动查看文件内容;

  • PageUp / PageDown:实现整页翻页,快速浏览文件;

  • q:退出 less 查看模式,返回终端命令行界面。

示例:less -N /etc/profile(-N 参数用于显示行号,便于定位内容位置)。

wc:文本内容统计(行/单词/字节)

wc 命令(word count 的缩写)用于统计文件的行数、单词数、字节数,适用于文本内容分析、日志统计等场景,支持单文件统计与多文件批量统计,具体用法如下表所示:

命令格式统计维度
wc 文件名一次性输出文件的行数、单词数、字节数(顺序固定)
wc -l 文件名仅统计文件的总行数,是最常用的参数之一
wc -w 文件名仅统计文件中的单词数量(以空格分隔)
wc -c 文件名仅统计文件的字节大小,可用于查看文件占用空间
wc 文件1 文件2批量统计多个文件的相关数据,并在最后输出汇总总量
Tab :补全机制

Tab 键是 Linux 终端中提升操作效率的核心功能,支持命令、选项、路径参数的自动补全,无需手动输入完整内容,既能节省时间,又能避免输入错误,具体补全场景如下:

  1. 命令补全:输入命令的前几个字符,按一次 Tab 键,若匹配结果唯一,系统会自动补全完整命令;若匹配结果不唯一,连按两次 Tab 键,终端会列出所有匹配的命令,便于选择。示例:输入pas后连按两次 Tab 键,会列出 passwd、paste、pasuspender 等匹配命令。

  2. 选项补全:输入命令后,输入短选项(-)或长选项(–)的前几个字符,按 Tab 键可自动补全对应的选项。示例:输入passwd --d后按 Tab 键,会自动补全为passwd --delete

  3. 路径参数补全:输入文件或目录路径的前几个字符,按 Tab 键可自动补全完整路径,避免手动输入长路径时出现错误。示例:输入file /e后按 Tab 键,会自动补全为file /etc/

history 命令:历史操作记录的管理与复用

history 命令用于管理终端的历史操作记录,CentOS 系统默认会记录用户在终端中执行过的所有命令,便于后续调取、复用,提升操作效率。

script 工具:终端操作录制与回放,实现实验留档

script 命令是 Linux 终端的操作录制工具,可全程记录终端中的所有输入、输出内容,生成录制日志文件,同时支持录制时间轴,便于后续通过回放功能,完整还原操作过程,适用于实验留档、教学演示、故障排查等场景。

基础录制与回放语法

# 录制操作:将操作内容存入 record.log,时间轴存入 time.log script --timing=record-time.txt record-comand.log # 开始执行各类终端操作(如查看时间、主机名、执行命令等) echo hello world hostname date # 结束录制,退出录制模式 exit # 回放操作:根据时间文件 time.log,回放录制的操作过程 scriptreplay -t time.log record.log

常用参数说明

  • -a:追加写入录制文件,不覆盖原有内容,适用于继续录制;

  • -q:安静模式,录制时不打印脚本启动、结束的提示信息;

  • -c:执行指定命令并录制其执行过程,无需进入交互式终端。

Bash 终端快捷键:效率拉满的操作指南

熟练掌握 Bash 终端快捷键,可大幅提升命令行操作效率,减少鼠标依赖,实现快速编辑、搜索、清屏等操作。以下为日常运维中使用频率最高的快捷键,建议重点记忆:

快捷键组合具体功能
Ctrl + a / Home快速将光标跳转至命令行最开头,便于修改命令前缀
Ctrl + e / End快速将光标跳转至命令行末尾,便于添加选项、参数
Ctrl + u删除光标左侧的全部内容,适用于快速清空错误输入
Ctrl + k删除光标右侧的全部内容,便于快速修改命令后缀
Ctrl + ←向左跳过一个单词,快速定位命令中的关键部分
Ctrl + →向右跳过一个单词,提升命令编辑效率
Ctrl + r模糊搜索历史命令,输入关键词即可快速匹配,按 Esc 退出搜索
Ctrl + w向左删除一个单词或参数,适用于快速修改命令中的错误部分
Esc(松开) + .快速粘贴上一条命令的最后一个参数,适用于连续操作同一目标
Ctrl + l(L 的小写)清空终端屏幕,等效于 clear 命令,保持终端界面整洁
Ctrl + d退出当前终端登录会话,等效于 exit 命令

三、总结

命令行是 Linux 运维的核心基本功,所有服务器批量管理、自动化脚本开发、服务部署、故障排查等工作,均基于 Bash 指令实现。本文系统覆盖了终端原理、命令行语法、高频基础命令、历史命令管理、操作录制及快捷键体系,所有内容均结合实操案例,可直接落地使用。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/20 15:19:20

Expression库Result类型实战:优雅的错误处理与铁路编程

Expression库Result类型实战:优雅的错误处理与铁路编程 【免费下载链接】Expression Functional programming for Python 项目地址: https://gitcode.com/gh_mirrors/exp/Expression Expression库为Python开发者带来了函数式编程的强大工具,其中R…

作者头像 李华
网站建设 2026/7/20 15:19:25

如何使用static_status实现网站和服务状态监控的终极指南

如何使用static_status实现网站和服务状态监控的终极指南 【免费下载链接】static_status 🚦Bash script to generate a static status page. 项目地址: https://gitcode.com/gh_mirrors/st/static_status 想要轻松监控您的网站和服务运行状态吗?…

作者头像 李华
网站建设 2026/7/19 14:53:05

PyAhoCorasick深度剖析:从理论到实践的多模式字符串匹配革命

PyAhoCorasick深度剖析:从理论到实践的多模式字符串匹配革命 【免费下载链接】pyahocorasick Python module (C extension and plain python) implementing Aho-Corasick algorithm 项目地址: https://gitcode.com/gh_mirrors/py/pyahocorasick 在当今信息爆…

作者头像 李华
网站建设 2026/7/20 15:17:33

猫抓浏览器插件:3分钟学会免费下载网页视频的终极指南

猫抓浏览器插件:3分钟学会免费下载网页视频的终极指南 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 你是否经常遇到这种情况&#xf…

作者头像 李华