
往期《Linux系统编程》回顾:/------------ 入门基础 ------------/ 【Linux的前世今生】 【Linux的环境搭建】 【Linux基础 理论+命令】(上)
hi~小伙伴们大家好啊!(ノ≧∀≦)ノ 今天是阳历10月21号,同时也是阴历九月初一哦!( ̄︶ ̄)↗ 所以说,今天也算是新一月的开启之日呀!✧。٩(ˊᗜˋ)و✧。 古人将秋季分为孟秋、仲秋、季秋三个阶段,而农历九月正处于季秋时节,也被大家称之为“深秋”。(。•ᴗ•。) 说到这儿,必须提一句鼠鼠超爱这个月份!正如诗句所言:“自古逢秋悲寂寥,我言秋日胜春朝。” ٩(◕‿◕)۶
那我们就在这个秋意满满的时刻,继续我们Linux系统编程的学习吧~(ノ´∀`) 今天学习的内容就是【Linux基础 理论+命令】(下)啦!准备好的话,就放下手里的鱼吧~(`⌒´メ)

时间戳(Timestamp):是数字世界中用于精准标记特定时刻的“时间印记”
定位、记录、追溯和同步时间戳的核心是 “标记时间”,但为了适应不同场景(比如:人类理解或计算机处理),衍生出了多种形式: 1. Unix 时间戳(计算机友好型) 这是编程和计算机系统中最常用的形式,本质是一个整数,代表从 “时间起点”——1970 年 1 月 1 日 00:00:00 UTC(协调世界时,即格林尼治标准时间) 开始,到目标时刻所经过的秒数(或毫秒数、微秒数)
这种形式的优势在于格式统一、占用空间小、便于计算机存储和计算,无需处理时区、闰年等复杂逻辑,因此广泛用于数据库记录、程序日志、API 接口等场景。
2. 人类可读时间戳(用户友好型)(了解即可) 以人类日常习惯的时间格式呈现,直接包含年月日、时分秒等信息,比如:
2024-05-20 15:30:45(年 - 月 - 日 时:分: 秒)2024年5月20日 下午3点30分45秒2024-05-20T15:30:45+08:00(其中+08:00表示东八区,即北京时间)这种形式直观易懂,常见于文件命名(如:“会议记录_20240520.txt”)、新闻发布时间、聊天记录等场景。
3. 媒体文件中的时间戳(内容定位型)(了解即可) 在视频、音频、直播等媒体内容中,时间戳特指内容在文件中的具体位置,通常以 “时:分: 秒” 或 “分:秒” 表示。
这种时间戳在视频剪辑(如:PR 中标记关键帧)、字幕制作(匹配台词出现的时间)、弹幕定位(对应画面的时刻)、影视剧 “名场面” 分享(如 “第 45 分钟高能”)等场景中至关重要,能帮助用户快速定位到目标内容。
小知识:为什么计算机关机后,开机还能准确记录时间呢?
这样一来,即便长时间关机,实时时钟也能维持正常走时,开机后系统就能读取到准确时间啦~
小知识:1970 年 1 月 1 日 00:00:00 UTC —— 格林尼治标准时间 格林尼治天文台是世界上最具标志性的天文机构之一,位于英国伦敦东南部的格林尼治公园,因确立了
“本初子午线”和“格林尼治标准时间(GMT)”而闻名全球,成为连接地理、时间与全球导航的重要坐标。

1. 数字与时间的转换桥梁 时间戳(像
1725974746这类 Unix 时间戳 )能精准转换为人类可读的具体时间,把冰冷的数字,变成 “2025 年 X 月 X 日 X 时 X 分 X 秒” ,让计算机记录的时间,能被我们直观理解。

2. 行为追溯的 “时间证人”
当用户(比如:张三)在系统里操作(如:删除动作),系统会生成日志,每条日志都会绑定时间戳 。
通过 用户→日志→时间戳 这条线索,能清晰还原:
无论是排查误删问题、审计操作流程,还是保障系统安全,时间戳都是关键的 “时间证据”,让每一步行为都有迹可循~
一、“是什么”—— 概念区分 打包核心是:文件合并 ,把多个零散文件或文件夹,整合成一个独立的 “打包文件”(比如:Windows 里的
.zip初始打包、Linux 下的.tar文件 )
压缩关键是:减少体积 ,通过算法(如:常见的 zip、gzip、7z 算法 ),对文件数据进行 “瘦身” 处理。
压缩率取决于文件类型: 二、“为什么”—— 实用价值 打包的意义:防丢失、好管理
压缩的价值:省空间、快传输
虽然打包和压缩有概念区分,但实际操作里, 打包和压缩常被 “绑定使用” :
.zip .rar 这类 “既合并又瘦身” 的文件
注:Linux 下 tar 是纯打包,tar + gzip 才是打包 + 压缩
简单总结:
x86 是 Intel、AMD 等芯片长期使用的 指令集体系结构 (指令集是体系结构的核心部分,规定了 CPU 能识别、执行哪些操作命令)
它们的区别本质是:体系结构在 “指令集、内存管理能力” 上的迭代 ,直接影响计算机能装多少内存、能跑多复杂的程序
严格来说,Linux 所指的操作系统核心是 “内核(kernel)” ,但普通用户无法直接与 kernel 交互。
所以:我们得借助 kernel 的 “外壳” 程序 —— Shell ,来与 kernel 沟通。
从技术角度看,Shell 最简洁的定义是 命令行解释器(command Interpreter) ,主要承担两大任务:
对比 Windows 系统的图形界面(GUI),我们操作 Windows 时,也不是直接操作内核,而是通过图形接口(比如:双击 D 盘盘符进入 D 盘、点击图标运行程序)
Shell 对 Linux 的作用,和 Windows 图形界面类似:解析用户指令,传达给 Linux 内核;内核运行出结果后,再通过 Shell 反馈给用户 ,让我们不用懂内核复杂逻辑,就能轻松用 Linux 干活。 为了方便理解,举个趣味类比:
通过 Shell ,你不用直面内核的 “高冷”(你不用和翠花说话),就能让系统干活~(就能向翠花表白)

date
核心作用:显示或设置系统的日期和时间
基本用法:
date:不带任何参数时,显示当前系统的日期和时间(默认格式)
date # 示例输出:Thu Aug 7 15:30:45 CST 2025date +[格式符]:按指定格式显示日期时间(格式符以 % 开头)
date +"%Y-%m-%d %H:%M:%S" # 按 "年-月-日 时:分:秒" 格式显示date -s "[日期时间]":设置系统日期和时间(需要 root 权限)
sudo date -s "2025-08-07 16:00:00" # 设置系统时间为2025年8月7日16:00:00常用格式符:
%Y:4 位年份(如:2025)%m:2 位月份(01-12)%d:2 位日期(01-31)%H:24 小时制小时(00-23)%M:分钟(00-59)%S:秒(00-59)%a:缩写星期(如:Thu)%A:完整星期(如:Thursday)%b:缩写月份(如:Aug)%B:完整月份(如:August)%F:等价于 %Y-%m-%d(标准日期格式)%T:等价于 %H:%M:%S(标准时间格式)使用示例:
date +"%F" # 显示当前日期(如 2025-08-07)
date +"%T" # 显示当前时间(如 15:35:22)
date +"%Y年%m月%d日 %H:%M" # 显示中文格式日期时间(如 2025年08月07日 15:36)
date -d "2 days ago" # 显示两天前的日期时间
date -d "next Monday" # 显示下周一的日期
sudo date -s "20:30" # 仅修改系统时间(保持日期不变)注意事项:
date 查看时间,无法修改系统时间hwclock -w 命令,需 root 权限)-d 选项可用于显示相对时间(如:过去 / 未来的日期),非常实用
cal - 英文全称为 “calendar”
核心作用:显示当前或指定年份、月份的日历,以直观的表格形式展示日期分布
基本用法:
cal:不带任何参数时,显示当前月份的日历(当前日期会高亮显示)
cal # 显示当前月的日历cal [月份] [年份]:显示指定月份和年份的日历(月份在前,年份在后,年份需为 4 位数字)
cal 10 2025 # 显示2025年10月的日历
cal 2 2024 # 显示2024年2月的日历(2024是闰年,2月有29天)cal [年份]:显示指定年份的全年日历(12 个月)
cal 2025 # 显示2025年全年的日历常用选项:
-3:显示上一个月、当前月和下一个月的日历(共 3 个月)-y:显示当前年份的全年日历(与cal [当前年份]效果相同)-j:显示一年中的第几天(儒略日,1-365/366)使用示例:
cal 12 2023 # 查看2023年12月的日历
cal -3 5 2024 # 显示2024年4月、5月、6月的日历
cal -j 2024 # 以儒略日显示2024年全年日历注意事项:
cal 命令支持更多功能(如:-A n 显示当前月及之后 n 个月,-B n 显示当前月及之前 n 个月),可通过 man cal 查看详细说明
top - 英文全称为 “table of processes”
核心作用:实时动态监控系统进程和系统资源(CPU、内存、负载等)的使用情况,默认按 CPU 使用率排序,是系统性能分析的常用工具
基本用法:
top:直接运行,进入实时监控界面,按 q 退出
top # 启动实时进程监控,界面会动态刷新(默认3秒一次)top [选项]:带选项运行,自定义监控方式
top -n 3 # 只刷新3次后自动退出
top -d 5 # 每5秒刷新一次界面核心信息(顶部系统状态区):
进程列表字段(主要列):
PID:进程 IDUSER:进程所有者PR/NI:进程优先级(PR:系统动态优先级;NI:nice 值,-20~19,值越小优先级越高)VIRT/RES/SHR:进程内存使用(VIRT:虚拟内存;RES:物理内存;SHR:共享内存)S:进程状态(R:运行;S:休眠;Z:僵尸;T:停止等)%CPU/%MEM:进程占用 CPU 和内存的百分比TIME+:进程累计 CPU 使用时间COMMAND:进程命令名称常用交互命令(在 top 界面中输入):
P:按 CPU 使用率排序(默认)M:按内存使用率排序N:按 PID 排序T:按累计 CPU 时间排序k:杀死指定 PID 的进程(需输入 PID 并确认信号,默认 15:正常终止,9:强制终止)u:过滤显示指定用户的进程(输入用户名)f:自定义显示的字段(按上下键选择,按空格键切换显示状态)h:查看帮助信息q:退出 top使用示例:
top -d 2 # 每2秒刷新一次
top -n 5 # 刷新5次后退出
top -p 1234 # 只监控PID为1234的进程
top -u root # 只显示root用户的进程注意事项:
%CPU 列中单个进程使用率超过 100%(多核 CPU)是正常的,代表占用多个核心top 类似的工具还有 htop(更友好的交互界面,需额外安装)
uname - 英文全称为 “Unix name”
核心作用:显示当前操作系统的相关信息,包括内核名称、版本、主机名、硬件架构等,常用于识别系统环境
基本用法:
uname:不带选项时,默认只显示内核名称
uname # 示例输出:Linux(表示内核为Linux)uname [选项]:通过选项指定要显示的系统信息
uname -a # 显示所有系统信息常用选项:
-a:显示所有可用的系统信息(完整信息,最常用)-s:显示内核名称(与默认无选项效果相同)-n:显示网络节点主机名(即系统主机名)-r:显示内核发行版本号-v:显示内核版本(编译信息等)-m:显示硬件架构(如:x86_64、arm64 等)-p:显示处理器类型(部分系统可能显示 “unknown”)-i:显示硬件平台(部分系统可能显示 “unknown”)-o:显示操作系统名称使用示例:
uname -a # 显示所有信息,示例输出:
# Linux myserver 5.15.0-78-generic #85-Ubuntu SMP Fri Jul 15 19:07:51 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
uname -r # 显示内核版本,示例输出:5.15.0-78-generic
uname -n # 显示主机名,示例输出:myserver
uname -m # 显示硬件架构,示例输出:x86_64(表示64位x86架构)
uname -o # 显示操作系统,示例输出:GNU/Linux注意事项:
uname 主要显示内核和硬件相关信息,若需查看更详细的操作系统发行版信息(如:Ubuntu 版本、CentOS 版本),需结合其他命令(如:lsb_release -a、cat /etc/os-release)uname 输出格式基本一致,但部分选项(如:-p、-i)的结果可能不同uname -m 常用于判断系统架构,以选择对应版本的软件包-r)通常包含内核主版本、次版本、补丁级别及发行商定制信息
shutdown
核心作用:安全关闭、重启或定时关闭系统,支持立即操作或设置延迟时间,是管理系统电源状态的标准命令
基本用法:
shutdown [选项] [时间] [消息]:按指定时间和方式操作系统,可选消息会发送给所有登录用户
shutdown -h now # 立即关闭系统常用选项:
-h:关闭系统(halt),等同于系统断电-r:重启系统(reboot)-c:取消已计划的 shutdown 操作-k:仅发送关机消息,不实际执行关机(模拟操作)时间参数格式:
now:立即执行(等同于时间 0)hh:mm:指定 24 小时制时间(如:23:30 表示晚上 11 点 30 分)+m:延迟 m 分钟后执行(如:+10 表示 10 分钟后)使用示例:
shutdown -h now # 立即关闭系统
shutdown -r +5 # 5分钟后重启系统
shutdown -h 22:00 # 晚上10点关闭系统
shutdown -k +15 "系统将在15分钟后维护,请注意保存工作" # 发送提醒消息,不实际关机
shutdown -c # 取消已计划的关机/重启任务注意事项:
shutdown 通常需要管理员权限(root 或 sudo)才能执行halt(关机)、reboot(重启)命令是 shutdown 的简化版本poweroff 命令zip/unzip
核心作用:zip 用于创建 ZIP 格式的压缩包,unzip 用于解压缩 ZIP 格式的文件,是跨平台(Linux、Windows、macOS)常用的压缩工具
zip 基本用法:
zip [压缩包名称] [文件/目录]:将指定文件或目录压缩为 ZIP 包
zip docs.zip report.txt # 将 report.txt 压缩为 docs.zipzip -r [压缩包名称] [目录]:递归压缩目录(包含子目录和所有文件)
zip -r images.zip ./photos/ # 递归压缩 photos 目录为 images.zipzip 常用选项:
-r:递归压缩目录(必须用于目录压缩)-q:安静模式,不显示压缩过程信息-9:最高压缩比(默认是 6,数值 1-9,越大压缩率越高但速度越慢)-0:仅打包不压缩(快速创建归档)-u:更新压缩包,添加新文件或替换已存在的旧文件-d:从压缩包中删除指定文件unzip 基本用法:
unzip [压缩包名称]:将 ZIP 包解压缩到当前目录
unzip docs.zip # 解压缩 docs.zip 到当前目录unzip [压缩包名称] -d [目标目录]:将 ZIP 包解压缩到指定目录
unzip images.zip -d ./pics/ # 解压缩 images.zip 到 pics 目录unzip 常用选项:
-d:指定解压缩的目标目录(目录不存在会自动创建)-l:列出压缩包内的文件列表,不实际解压缩-q:安静模式,不显示解压缩过程信息-o:覆盖已存在的文件,不提示确认-n:不覆盖已存在的文件,跳过相同名称的文件-j:解压缩时忽略目录结构,所有文件直接提取到目标目录使用示例:
# zip 示例
zip -r -9 backup.zip ./docs/ ./data/ # 高压缩比打包多个目录
zip -q update.zip newfile.txt # 安静模式压缩单个文件
zip -u docs.zip addendum.txt # 向 docs.zip 添加新文件
zip -d temp.zip old.txt # 从 temp.zip 中删除 old.txt
# unzip 示例
unzip -l archive.zip # 查看 archive.zip 内的文件列表
unzip -o bigfile.zip -d ./extract/ # 强制解压缩到 extract 目录,覆盖现有文件
unzip -j images.zip -d ./all_pics/ # 忽略目录结构,提取所有图片到 all_pics注意事项:
sudo apt install zip unzip 或 sudo yum install zip unzip)zip -y 选项(保留符号链接)或改用 tar 命令-O UTF-8 选项(如:unzip -O UTF-8 中文压缩包.zip)-q 选项减少输出信息

tar - 英文全称为 “tape archive”
核心作用:将多个文件或目录打包成单一归档文件(tar 包),并支持结合不同压缩算法(如:gzip、bzip2)进行压缩,是 Linux 系统中最常用的归档与备份工具
基本用法:
tar [选项] [归档文件名] [文件/目录]:对指定文件或目录进行打包、压缩或解压操作
tar -cvf archive.tar docs/ # 将 docs 目录打包为 archive.tar核心选项:
-c:创建新的归档文件(打包/压缩)-x:从归档文件中提取内容(解包/解压)-t:列出归档文件中的内容(查看)-z:使用 gzip 压缩/解压(对应 .tar.gz 或 .tgz 格式)-j:使用 bzip2 压缩/解压(对应 .tar.bz2 格式)-J:使用 xz 压缩/解压(对应 .tar.xz 格式,压缩率最高)-f [文件名]:指定归档文件名称(必须紧跟文件名,通常放选项末尾)-v:显示操作过程(verbose 模式,列出处理的文件)-C [目录]:指定 解压/打包 的目标目录--exclude [模式]:排除符合模式的文件或目录操作示例:
# 1. 打包(仅归档,不压缩)
tar -cvf data.tar file1.txt dir1/ # 将文件和目录打包为 data.tar
# 2. 打包并压缩
tar -zcvf backup.tar.gz docs/ # gzip压缩(最常用)
tar -jcvf logs.tar.bz2 /var/log/ # bzip2压缩
tar -Jcvf images.tar.xz pics/ # xz压缩(高压缩率)
# 3. 查看归档内容(不解压)
tar -ztvf backup.tar.gz # 查看 gzip 压缩包内容
tar -jtvf logs.tar.bz2 # 查看 bzip2 压缩包内容
# 4. 解压缩
tar -zxvf backup.tar.gz # 解压到当前目录
tar -Jxvf images.tar.xz -C ./pictures/ # 解压到指定目录
# 5. 排除文件打包
tar -zcvf src.tar.gz --exclude "*.log" src/ # 打包时排除 .log 文件注意事项:
-f 必须紧跟归档文件名,推荐格式为 tar [功能选项][压缩选项]f 文件名(如:tar zcvf ...)xz > bzip2 > gzip,但压缩速度相反(gzip 最快)tar zcvf - docs/ | ssh user@host "cat > backup.tar.gz")
man - 英文全称为 “manual”
核心的作用:查看 Linux 系统中命令、配置文件、系统调用等的帮助手册,获取详细的使用说明
基本的用法:
man [命令/配置文件/函数名]:查看指定对象的帮助手册
man ls # 查看 ls 命令的帮助手册
man passwd # 查看 passwd 命令(或其配置文件)的手册
man 3 printf # 查看 C 语言中 printf 函数的手册(指定章节)手册的章节:(常用)
手册通常分为 8 个章节,用于区分不同类型的内容,可通过数字指定:
1:用户命令(如:ls、cd 等)2:系统调用(内核提供的函数,如:open、read)3:库函数(编程语言的函数,如:C 库的 printf)5:配置文件格式(如:/etc/passwd、/etc/fstab)8:系统管理命令(如:service、useradd,通常需要 root 权限)例如:
man 5 passwd 查看 /etc/passwd 配置文件的格式说明man 1 passwd 查看 passwd 命令的用法手册内操作:(常用)
/option 查找包含 option 的内容),按 n 跳至下一个结果,N 跳至上一个b 向前翻页,f 向后翻页使用的示例:
man rm # 查看 rm 命令的完整帮助find
核心作用:在指定目录下递归查找符合条件的文件或目录,支持按名称、类型、大小、修改时间等多种条件筛选
基本用法:
find [查找路径] [匹配条件] [操作]:在指定路径下按条件查找,并可对结果执行操作
find /home -name "*.txt" # 在 /home 目录下查找所有 .txt 文件find [匹配条件]:默认在当前目录查找符合条件的 文件/目录
find -type d -name "docs" # 在当前目录及子目录中查找名为 docs 的目录匹配条件:
-name "模式":按文件名匹配(区分大小写,支持通配符 *、?、[])-iname "模式":按文件名匹配(忽略大小写)-type [类型]:按类型匹配(f 普通文件、d 目录、l 符号链接等)-size [大小]:按文件大小匹配(+n 大于 n、-n 小于 n,单位 b/k/M/G)-mtime [天数]:按修改时间匹配(+n 超过 n 天、-n 少于 n 天,以 24 小时为单位)-user [用户名]:查找属于指定用户的文件使用示例:
# 按名称查找
find /etc -name "*.conf" # 在 /etc 下查找所有 .conf 配置文件
find . -iname "readme" # 在当前目录查找 readme(忽略大小写)
# 按类型和大小查找
find /var -type f -size +100M # 在 /var 下查找大于100MB的普通文件
find ~ -type d -name "tmp*" # 在用户家目录查找以 tmp 开头的目录
# 按时间查找
find . -mtime -1 # 查找当前目录下24小时内修改过的文件
find /log -mtime +30 -name "*.log" # 查找 /log 下30天前修改的日志文件
alias
核心作用:为命令创建自定义别名,简化长命令或常用命令组合的输入,提高操作效率
基本用法:
alias [别名]=[原始命令]:为指定命令创建别名(等号两侧无空格,原始命令含特殊字符需用引号包裹)
alias ll='ls -l' # 为 ls -l 命令创建别名 llalias:不带参数时,显示当前系统中所有已定义的别名
alias # 列出所有别名,输出如:alias ll='ls -l' alias grep='grep --color=auto'unalias [别名]:删除指定的别名(虽然是独立命令,但常与 alias 配合使用)
unalias ll # 删除 ll 这个别名常用场景:
简化长命令:将常用的复杂命令简化为短别名固定命令选项:为命令预设常用选项(如:详细输出、自动着色)组合命令:将多个命令组合为一个别名(需用分号分隔)使用示例:
alias la='ls -a' # 用 la 代替 ls -a(显示所有文件,包括隐藏文件)
alias grep='grep --color' # 为 grep 命令添加颜色高亮选项
alias cls='clear' # 用 cls 代替 clear(类似 Windows 命令习惯)
alias update='sudo apt update && sudo apt upgrade' # 组合更新系统的命令
alias rm='rm -i' # 为 rm 命令添加交互式确认,防止误删注意事项:
~/.bashrc、~/.zshrc),添加后需执行 source ~/.bashrc(或重启终端)使其生效\ls)所以说:在 Linux 系统中,ll 命令并不是系统默认自带的标准命令,而是通过 alias ll='ls -l' 这样的别名设置在配置文件中定义的。它本质上是 ls -l 命令的简化形式。

bc - 英文全称为 “Basic Calculator”
核心作用:用于在命令行进行高精度的数学计算,支持整数、小数运算及数学函数,可作为交互式计算器或在脚本中执行计算任务
基本用法:
bc:直接运行进入交互式计算模式,输入表达式后按回车获取结果,按 Ctrl+D 退出
bc # 进入交互式模式
123 + 456 # 输入计算表达式
579 # 输出结果echo "[表达式]" | bc:通过管道传递表达式,非交互式计算
echo "2^10" | bc # 计算 2 的 10 次方,输出 1024bc [文件名]:执行包含计算表达式的文件
bc calc.txt # 执行 calc.txt 中的计算命令常用选项:
sin、log 等)内置功能:
+(加)、-(减)、*(乘)、/(除)、%(取余)、^(幂运算)==(等于)、!=(不等于)、>(大于)等(返回 1 表示真,0 表示假)-l 选项):sin(x)、cos(x)、tan(x)、log(x)、sqrt(x)(平方根)等a=10; b=20; a+b)scale=2 表示保留 2 位小数)使用示例:
# 基本运算
echo "100 - 3*15" | bc # 计算 100-45,输出 55
echo "10/3" | bc # 整数除法,输出 3
echo "scale=2; 10/3" | bc # 保留 2 位小数,输出 3.33
# 幂运算与平方根
echo "2^8" | bc # 计算 2的8次方,输出 256
echo "sqrt(625)" | bc -l # 计算平方根(需加 -l),输出 25.0000000000
# 数学函数(弧度制)
echo "s(1)" | bc -l # 计算 sin(1) 弧度,输出约 0.8414709848
echo "l(10)" | bc -l # 计算自然对数 ln(10),输出约 2.3025850930
# 交互式模式下的变量与比较
bc
a=5; b=3
a*b # 输出 15
a > b # 输出 1(真)
scale=4
(a + b) / 2 # 输出 4.0000注意事项:
bc 只进行整数运算,需设置 scale 变量或使用 -l 选项才能处理小数bc 可替代 $((...)) 或 expr 进行更复杂的数学计算bc 的语法规则)
在 Linux 系统的终端(Terminal)中,掌握常用热键(快捷键)可以极大提升操作效率。 以下是按功能分类的核心热键,适用于大多数 Shell 环境(如:Bash、Zsh):
光标移动与编辑:
Ctrl + a:将光标快速移动到命令行开头(类似 Windows 的Home键)Ctrl + e:将光标快速移动到命令行末尾(类似 Windows 的End键)Ctrl + f:光标向右移动一个字符(同右方向键)Ctrl + b:光标向左移动一个字符(同左方向键)Alt + f:光标向右跳一个单词(以空格或标点分隔)Alt + b:光标向左跳一个单词Ctrl + xx:在当前光标位置和命令行开头之间切换文本删除与剪切:
Ctrl + d:删除光标所在位置的字符(若命令行为空,会退出当前终端)Ctrl + h:删除光标左侧的字符(同退格键Backspace)Ctrl + k:剪切(删除)从光标位置到命令行末尾的所有内容(可粘贴)Ctrl + u:剪切(删除)从光标位置到命令行开头的所有内容(可粘贴)Alt + d:剪切光标右侧的整个单词(从光标位置到单词结尾)Alt + Backspace:剪切光标左侧的整个单词(从单词开头到光标位置)命令历史与搜索:
Ctrl + r:进入历史命令搜索模式,输入关键词可快速查找曾执行过的命令(按Enter执行找到的命令,按Ctrl + g退出搜索)Ctrl + p:调用上一条历史命令(同上方向键↑)Ctrl + n:调用下一条历史命令(同下方向键↓)!!(输入两个感叹号):重复执行上一条命令(常用于需要sudo权限时,如:sudo !!)终端控制:
Ctrl + c:强制终止当前运行的命令(最常用,如:终止卡住的程序)Ctrl + z:将当前命令暂停并放入后台(可通过fg命令恢复到前台)Ctrl + l:清空终端屏幕(同clear命令)Ctrl + s:暂停终端输出(防止滚动过快,常用于查看日志时)Ctrl + q:恢复终端输出(解除Ctrl + s的暂停)Ctrl + d:退出当前 Shell 会话(同exit命令,若在输入状态则删除字符)其他实用热键:
Tab:自动补全命令、文件名或目录名(输入前几个字符按Tab,不确定时按两次Tab显示所有可能选项)Esc + .(按Esc后松开,再按.):粘贴上一条命令的最后一个参数(例如:上一条命令是cp file1.txt /home/docs,按此热键会粘贴/home/docs)Ctrl + w:删除光标左侧的一个单词(与Alt + Backspace类似,部分 Shell 行为略有差异)注意事项
Alt相关)在不同终端模拟器(如:GNOME Terminal、Konsole)中可能需要开启 “元键(Meta)” 支持,默认通常可用 掌握这些热键后,终端操作会变得非常流畅,尤其是Ctrl + r(历史搜索)、Tab(自动补全)和Ctrl + c(终止命令)堪称 “必备技能”。