文章目录
- 引言:
- Linux 下基本指令
- 常用选项
- ls 指令
- pwd 命令
- cd 指令
- touch 指令
- mkdir 指令
- rmdir 指令 && rm 指令
- man 指令
- cp 指令
- mv 指令
- cat 指令
- more 指令
- less 指令
- head 指令
- tail 指令
- date 指令
- cal 指令
- find 指令
- 按文件名搜索
- 按文件大小搜索
- 按修改时间搜索
- 按文件权限搜索
- 按所有者/组搜索
- 组合条件与逻辑操作
- which 指令
- whereis 指令
- 查找命令的对比
- alias 指令
- grep 指令
- zip/unzip指令
- rz/sz 指令
- tar 指令(重点)
- 一、核心功能
- 二、常用选项速查表
- 三、经典场景示例
- 四、压缩格式对比
- 五、注意事项
- 六、速记表
- bc 指令
- uname -r 指令
引言:
在数字化的技术浪潮中,Linux 系统以其高效、稳定和开源的特性,成为服务器运维、软件开发乃至嵌入式领域的核心基石。而命令行操作,更是 Linux 系统的灵魂所在 —— 它不仅是与系统交互的直接方式,更是展现技术功底的 “基本功”。从简单的目录查看(ls)到文件内容的深度检索(grep),从系统信息的查询(uname)到文件压缩(tar),每一个基础指令都像是一把钥匙,打开 Linux 世界的不同角落。
本文将围绕 Linux 最常用的基础指令展开,从文件与目录操作、文本处理、系统查询到实用工具,逐一解析它们的语法、功能与应用场景。无论你是刚接触 Linux 的新手,还是希望夯实基础的开发者,这些指令都将成为你驾驭系统的 “得力助手”。通过深入浅出的讲解和实例演示,我们将带你快速上手,让命令行操作从陌生变得熟悉,从熟悉走向精通。接下来,就让我们一起走进 Linux 指令的世界,开启高效运维与开发的新篇章吧!
Linux 下基本指令
Linux 指令的执行方式丰富多样,本文只讲基本执行格式(单指令)。
- 指令本身:直接执行默认行为,如
pwd
(显示当前路径)、date
(显示时间)。 - 指令 + 选项:通过 -(短选项,如
ls -a
显示隐藏文件)或--
(长选项,如tar --version
查看版本)扩展功能。 - 指令 + 参数:指定操作对象,如
cd /var/log
(切换目录)、cp file.txt /tmp
(复制文件)。 - 指令 + 选项 + 参数:三者结合,如
find / -name "*.log" -type f
(按条件搜索文件)。
常用选项
前面说过了,指令通常配合着选项使用,这里直接汇总一下选项,后续只讲指令常用的搭配选项而不一一说明它们的作用了。
选项 | 作用描述 |
---|---|
-a | 显示所有内容(含隐藏文件,如ls -a );全选(如chmod a+x )。 |
-b | 以字节为单位显示大小(替代默认单位,如ls -b )。 |
-c | 创建(如tar -c 归档,touch -c 不创建新文件)。 |
-d | 查看目录属性(非内容,如ls -d dir );指定分隔符(如cut -d, )。 |
-e | 启用转义字符(如echo -e "\n" );强制退出(部分工具)。 |
-f | 指定文件(如tar -f );强制操作(如rm -f );前端显示(tail -f 跟踪)。 |
-h | 以人类可读格式显示(如ls -h 显示KB/MB);帮助(部分命令-h 等效--help )。 |
-i | 交互确认(如rm -i );忽略大小写(如grep -i )。 |
-k | 搜索关键词(如man -k );保留原文件(如cp -k )。 |
-l | 长格式(ls -l );加载库(bc -l );链接文件(ln -l )。 |
-m | 合并输出(如ls -m 以逗号分隔)。 |
-n | 指定数量(如head -n 10 显示 10 行;mv -n 不覆盖)。 |
-o | 显示指定字段(如ps -o pid,cmd );仅所有者权限(chmod o-w )。 |
-p | 递归创建目录(mkdir -p );指定端口(如ssh -p 22 )。 |
-q | 静默模式(不输出详细信息,如grep -q )。 |
-r, -R | 递归操作(如rm -r 删除目录,grep -r 递归搜索)。 |
-s | 压缩存储(如tar -s );静默模式(部分命令)。 |
-t | 按时间排序(ls -t );指定类型(如file -t )。 |
-v | 详细输出(显示执行过程,如cp -v )。 |
-x | 解压(tar -x );执行权限(chmod +x )。 |
-z | 通过gzip压缩 / 解压(如tar -z )。 |
--help | 显示命令帮助信息(通用选项,如ls --help )。 |
--version | 显示命令版本信息(如ls --version )。 |
ls 指令
语法:ls [选项] [路径]
功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。
常用选项:
- -a 列出目录下所有文件(包括以
.
开头的隐藏文件)- -d 将目录像文件一样显示
- -i 输出文件的 i 节点的索引信息
- -k 以 k 字节的形式表示文件的大小
- -l 列出文件的详细信息
- -n 用数字的 UID,GID 代替名称
- -F -F在每个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通文件;“/”表示目录;“@”表示符号链接;“|”表示FIFOs;“=”表示套接字(sockets)。(目录类型识别)
- -r 对目录反向排序
- -t 以时间排序
- -s 在l文件名后输出文件的大小
- -R 列出所有子目录下的文件(递归展开)
- -1 一行输出一个文件
pwd 命令
语法:pwd
**功能:**显示用户当前目录
常用选项:
无
cd 指令
语法:cd 目录名
**功能:**改变工作路径。将工作路径更改为指定目录下
更改的目录可以是相对路径,也可以是绝对路径。
需要注意的几个符号:
/
:根目录~
:自己的家目录.
:当前目录..
:上级目录-
:最近一次所处目录(用于快速在两个目录中切换)
touch 指令
语法:touch [选项].. [文件]...
功能: 更新文件或目录的日期时间,包括存在时间和更改时间,或者新建一个不存在的文件
常用选项
选项 | 作用描述 |
---|---|
-a | 仅修改文件的访问时间(atime),不改变内容或修改时间。 |
-m | 仅修改文件的修改时间(mtime),不改变内容或访问时间。 |
-c | 不创建新文件,若文件不存在则不操作(默认会创建空文件)。 |
-d | 指定时间戳,支持多种格式(如 “2025-01-01”、“yesterday”)。 |
-t | 指定时间戳(数字格式 [[CC]YY]MMDDhhmm[.ss])。 |
-r | 参考其他文件的时间戳,将目标文件的时间设为与参考文件一致。 |
-c 不创建文件:
mkdir 指令
语法: mkdir [选项] dirname...
功能: 在当前目录下创建文件
常用选项
选项 | 作用 |
---|---|
-p | 递归创建目录:若父目录不存在,则自动创建(避免逐级手动创建)。 |
-v | 显示详细过程:输出创建每个目录的信息(成功或失败)。 |
-m | 设置目录权限(如 755),创建时直接指定权限,无需后续 chmod 。 |
rmdir 指令 && rm 指令
rmdir
语法: rmdir [-p] [dirname]
功能: 删除空目录
常用选项:
-p
:当子目录被删除后如果父目录也变成空目录的话,就连带父目录一起删除
递归式删除目录的时候,如果中间目录不为空的情况:
因为是递归式删除,所以从子目录开始为空的都可以删掉,但是递归到不为空的目录的时候,就停止删除。
rm
语法: rm [选项] [dirname/dir]
功能: 删除文件或目录
常用选项:
选项 | 作用描述 |
---|---|
-r | 递归删除目录(包括子目录和文件),删除非空目录必用。 |
-f | 强制删除(忽略不存在的文件,不提示确认),慎用!可能导致不可逆删除。 |
-i | 删除前交互确认(每个文件 / 目录都提示),安全但繁琐。 |
-v | 显示详细删除过程(verbose 模式)。 |
man 指令
显示 Linux 命令、系统调用、库函数等的手册页(manual pages),是获取官方文档的最直接工具。
语法: man [选项] 命令
常用选项:
选项 | 作用描述 |
---|---|
-k | 按关键词搜索手册页(等效于 apropos 命令)。 |
-f | 显示命令的简短描述(等效于 whatis 命令)。 |
-a | 显示所有匹配的手册页(而非仅第一个)。 |
-l | 显示本地手册页文件(用于自定义手册)。 |
-S | 指定搜索的手册章节(如 man -S 2 open 查系统调用章节的 open )。 |
man
指令的话,需要记住 man 1
、man 2
、man3
的区别,以便我们查找。
man 1
:用户命令,如ls
、cd
man 2
:系统调用,是操作系统内核给我们提供的系统调用接口,如open
、read
、fork
man 3
:库函数,如 C 标准库的printf
- 需要我们注意的是,有些库函数是仅安装了库文件,而并没有安装手册,这个时候需要我们手动去安装库函数的手册
cp 指令
语法: cp [选项] 源文件或目录 目标文件或目录
功能: 复制文件或目录
常用选项:
选项 | 作用描述 |
---|---|
-r , -R | 递归复制目录及其内容(必须用于复制非空目录)。 |
-a | 归档模式,递归复制并保留文件所有属性(权限、时间戳、链接等)。 |
-f | 强制覆盖目标文件(若存在且无写权限,会先删除再复制)。 |
-i | 覆盖前交互确认(询问是否覆盖,避免误操作)。 |
-p | 保留文件属性(如权限、时间戳),但不递归(不同于 -a)。 |
-v | 显示详细复制过程(verbose 模式)。 |
-u | 仅更新(只复制目标不存在或源文件更新的文件)。 |
-l | 硬链接而非复制文件(节省空间,多个文件名指向同一物理文件)。 |
-s | 创建符号链接而非复制文件(类似快捷方式)。 |
mv 指令
语法:mv [选项] 源文件或目录 目标文件或目录
功能:移动文件所在路径,或修改文件名
常用选项:
选项 | 作用描述 |
---|---|
-i | 覆盖前交互确认(询问是否覆盖目标文件,避免误操作)。 |
-f | 强制覆盖目标文件(不提示,直接覆盖,慎用!)。 |
-v | 显示详细移动过程(verbose 模式)。 |
-n | 不覆盖已存在的目标文件(若目标存在则跳过,保持原文件)。 |
cat 指令
语法:cat [选项] [文件]
功能:查看目标文件的内容
常用选项:
选项 | 作用描述 |
---|---|
-n | 对输出的所有行编号(包括空行)。 |
-b | 只对非空行编号(跳过空行)。 |
-s | 压缩连续的空行为一行(多个空行只显示一个空行)。 |
-E | 在每行末尾显示 $ 符号(便于查看行尾是否有空格)。 |
-T | 将 TAB 字符显示为 ^I (便于查看 TAB 位置)。 |
-v | 显示不可打印字符(如控制字符),用 ^ 和 M- 符号表示。 |
-A | 等价于 -vET ,显示所有控制字符、TAB 和行尾标记(最详细的显示模式)。 |
便于我们查询文件中的内容
之后为了查询方便,还会配合管道一起使用,这里只讲最基本的使用,这个暂时先不讲。
more 指令
语法:more [选项]
功能:more命令,功能类似于 cat
,但是它是分页显示文件内容
常用选项:
选项 | 作用描述 |
---|---|
-n | 显示行号(以实际行数编号)。 |
-f | 按实际行数分页(而非按屏幕行数,适合处理包含长行的文件)。 |
-l | 忽略文件中的 Ctrl+L 换页符(不清除屏幕)。 |
-p | 不滚动屏幕,而是清屏后显示新内容(从上到下显示,类似 less 的 -F 模式)。 |
-c | 与 -p 类似,但先显示内容再清屏(可能有闪烁)。 |
-s | 压缩连续空行为一行(多个空行合并为一个)。 |
-u | 禁止将下画线字符(_ )显示为反斜杠(\ )。 |
-num | 指定每页显示的行数(例如 -20 表示每页 20 行)。 |
+num | 从文件的第 num 行开始显示。 |
+/pattern | 从第一个匹配 pattern 的行开始显示。 |
这里把原先 test.txt
的内容复制了几次使得文件比较大,使用more
可以分页显示内容
操作键(交互模式)
在 more
界面中,可通过以下按键导航:
按键 | 作用描述 |
---|---|
空格 | 向下翻一页(显示下一页内容)。 |
Enter | 向下滚动一行。 |
h | 显示帮助信息。 |
q | 退出 more。 |
/string | 搜索字符串 string(向下搜索,按 n 查找下一个匹配项)。 |
?string | 向上搜索字符串 string(按 n 查找上一个匹配项)。 |
= | 显示当前行号和文件总长度。 |
v | 调用默认编辑器(如 vi)编辑当前文件(需安装编辑器且有权限)。 |
less 指令
语法:less [参数] 文件
功能:与 more
类似,但是 less
可以随意浏览文件,而 more
仅能向前移动,却不能向后移动,而且 less
在查看之前不会加载整个文件
常用选项:
选项 | 作用描述 |
---|---|
-n | 显示行号(每行开头显示行号,从 1 开始)。 |
-N | 与 -n 类似,但行号固定显示在每行左侧(更清晰)。 |
-i | 搜索时忽略大小写(默认区分大小写,-I 也可实现)。 |
-m | 显示进度条和文件信息(如 10%,适合超大文件)。 |
-s | 压缩连续空行为一行(合并多个空行)。 |
-f | 强制打开二进制文件(默认会提示警告)。 |
-g | 搜索时仅高亮显示匹配项,而非整个行(节省视觉干扰)。 |
-p | pattern 直接定位到第一个匹配 pattern 的行(类似 more +/pattern)。 |
-x num | 设置制表符(Tab)宽度为 num 个空格(默认 8 个)。 |
+F | 持续监控文件更新(适合查看实时日志,如 less +F /var/log/syslog)。 |
head 指令
语法:head [参数]... [文件]...
功能:用来显示文件的开头至标准输出中,默认 head 命令打印其相应文件的开头 10 行。
选项:
-n
:显示的行数
tail 指令
语法:tail 必要参数 [文件]
功能:用于显示指定文件末尾内容
选项:
-n
:显示的行数
date 指令
功能:用于显示当前时间
基础时间查看
命令 | 作用描述 |
---|---|
date | 显示当前系统时间(默认格式)。 |
date +%F | 显示日期(格式:YYYY-MM-DD)。 |
date +%T | 显示时间(格式:HH:MM:SS)。 |
date +"%Y年%m月%d日 %H:%M:%S" | 自定义中文格式时间。 |
设置时间
需要管理员权限
date -s
设置当前时间date -s 200404102
设置日期date -s 01:01:01
设置时间
时间戳
date +%s
查看当前时间戳date -d @时间戳
时间戳转日期
cal 指令
我的机器并没有默认安装 cal
指令,这就得手动安装一下:
sudo apt update # 更新软件源
sudo apt install bsdmainutils -y # 安装包含 cal 的软件包
语法:cal 参数 [年份]
功能:用于查看日历等时间信息
find 指令
语法:find pathname -options
功能:用于在文件树中查找文件,并作出相应的处理(可能访问磁盘)
按文件名搜索
选项 | 作用描述 |
---|---|
-name "模式" | 按文件名匹配(支持通配符 * 、? )。例如:find . -name " *.txt" (搜索所有 .txt 文件)。 |
-iname "模式" | 忽略大小写的文件名匹配。例如:find . -iname "readme*" (搜索所有以 readme 开头的文件)。 |
按文件大小搜索
选项 | 作用描述 |
---|---|
-size +10M | 搜索大于 10MB 的文件。 |
-size -500k | 搜索小于 500KB 的文件。 |
-size 1G | 搜索大小等于 1GB 的文件。 |
这个就不演示了。
按修改时间搜索
选项 | 作用描述 |
---|---|
-mtime +7 | 搜索 7 天前修改的文件(+ 表示大于)。 |
-mtime -1 | 搜索 24 小时内修改的文件(- 表示小于)。 |
-mmin +30 | 搜索 30 分钟前修改的文件(按分钟计算)。 |
按文件权限搜索
find . -perm 644 # 搜索权限为 644 的文件
按所有者/组搜索
find /home -user root # 搜索属于 root 用户的文件
find /data -group developers # 搜索属于 developers 组的文件
组合条件与逻辑操作
- 逻辑与(默认)
find . -type f -name "*.log" -mtime -1 # 搜索 24 小时内修改的 .log 文件
- 逻辑或(-o)
find . -name "*.txt" -o -name "*.md" # 搜索 .txt 或 .md 文件
- 逻辑非(!)
find . ! -type d # 搜索非目录文件(即所有文件和链接)
which 指令
语法:which [选项] [命令名]
功能:搜索系统指定的命令
which ls # 输出 ls 命令的路径(通常为 /usr/bin/ls)
which cpp # 查看默认 cpp 版本的路径(如 /usr/bin/cpp)
which sudo # 输出 sudo 的路径(如 /usr/bin/sudo)
whereis 指令
语法:whereis 命令
功能:查找命令的二进制文件、源代码和手册页的路径(若存在)。
常用选项
选项 | 作用描述 |
---|---|
-b | 只查找二进制文件(如 /usr/bin/ls )。 |
-m | 只查找手册页(如 /usr/share/man/man1/ls.1.gz )。 |
-s | 只查找源代码(如 /usr/src/ 目录下的源码文件)。 |
-u | 查找缺失任一组件的命令(如只有二进制文件,无手册页)。 |
-B <目录> | 只在指定目录中查找二进制文件(如 -B /usr/local/bin )。 |
-M <目录> | 只在指定目录中查找手册页(如 -M /usr/share/man )。 |
查找命令的对比
命令 | 搜索范围 | 特点 |
---|---|---|
which | 仅 PATH 目录中的可执行文件 | 快速,依赖环境变量 PATH。 |
whereis | 二进制文件、手册页、源代码 | 更全面,但结果可能包含过时路径(依赖系统索引)。 |
find | 整个文件系统(需指定路径) | 支持复杂条件(如按时间、大小搜索),但速度较慢。 |
alias 指令
语法:alias [别名]=[命令或命令组合]
功能:设置命令的别名
- 别名命名规则:由字母、数字、下划线组成,不能包含空格或特殊符号(除 = 外)。
- 命令组合:可包含参数、管道符、重定向等,需用英文引号包裹(单引号或双引号)。
这个取别名是取的临时别名,你把终端重启它就会被重置,要想永久保留得修改配置文件
前面几个命令都是在配置文件中有的
即使是修改配置文件,一般也是修改当前终端的配置文件。
Ubuntu 的该配置文件是在当前用户的主目录下面。
vim ~/.bashrc
修改配置后执行source ~/.bashrc
使配置立即生效
不建议修改所有用户的配置文件!!!
grep 指令
语法:grep [选项] [模式] [文件...]
功能:在文件中搜索字符串,将找到的行打印出来
常用选项:
选项 | 作用描述 |
---|---|
-i | 忽略大小写(如 grep -i "error" 同时匹配 ERROR、Error 等)。 |
-v | 反向匹配(显示不包含模式的行)。 |
-r | 递归搜索目录(如 grep -r "key" /path 搜索目录下所有文件)。 |
-n | 显示匹配行的行号(如 10:this line contains key )。 |
-c | 只输出匹配的行数(如 grep -c "word" file.txt 返回 5)。 |
-w | 按单词匹配(如 grep -w "is" text.txt 不匹配 this)。 |
-A N | 显示匹配行及其后 N 行(如 -A 3 显示匹配行 + 后 3 行)。 |
-B N | 显示匹配行及其前 N 行(如 -B 2 显示匹配行 + 前 2 行)。 |
-C N | 显示匹配行及其前后各 N 行(如 -C 2 显示匹配行 + 前后各 2 行)。 |
-E | 使用扩展正则表达式(支持 +、 、() 等)。-o 只输出匹配的部分(而非整行)。 |
--color | 高亮显示匹配内容(如 grep --color "error" log.txt )。 |
zip/unzip指令
zip
下载zip指令:
sudo apt-get update && sudo apt-get install zip unzip
语法:zip [选项] 压缩包名.zip 目标文件/目录
功能:将目录或文件压缩成zip格式
常用选项:
选项 | 说明 |
---|---|
-r | 递归压缩目录(压缩目录时必须加此选项) |
-q | 静默模式,不显示压缩过程信息 |
-v | 显示详细信息 |
-x | 排除指定文件(如 -x “*.log” 排除所有 .log 文件) |
-z | 为压缩包添加注释(使用 -z “注释内容”) |
-y | 保留软链接(符号链接) |
-9 | 最高压缩比(压缩时间更长) |
-d | 删除压缩包中的文件(如 zip -d 包名.zip 文件路径) |
-m | 压缩后删除原始文件(移动到压缩包中) |
unzip
语法:unzip [选项] 压缩包名.zip
功能:解压zip压缩包
常用选项
选项 | 说明 |
---|---|
-d | 目录 解压到指定目录(如 -d ./extract/ ) |
-x | 排除指定文件(如 -x "*.bak" 不解压 .bak 文件) |
-t | 测试压缩包是否损坏(不解压) |
-o | 强制覆盖已存在文件(无需确认) |
-l | 列出压缩包内容(不解压) |
-n | 不覆盖已存在文件(默认提示) |
-j | 解压时忽略目录结构(仅提取文件到当前目录) |
别问这里为什么切 root 用户了,问就是刚刚创建b目录 的时候忘记切成普通用户导致权限不足
rz/sz 指令
基本功能
- rz:接收文件(从本地计算机上传到服务器)。
- sz:发送文件(从服务器下载到本地计算机)。
上传文件(rz)
- 在服务器终端中执行:
rz
- 终端会显示 Waiting for file to transfer…。
- 在本地终端或 SSH 客户端(如 Xshell、SecureCRT、MobaXterm)中,选择要上传的文件(通常通过菜单或快捷键触发上传)。
- 文件将自动传输到服务器当前目录。
下载文件(sz)
- 在服务器终端中执行:
sz 文件名 # 如:sz data.zip
- 本地 SSH 客户端会弹出文件保存对话框,选择保存位置即可。
tar 指令(重点)
语法:tar [选项] 归档文件名 [文件/目录列表]
功能:用于将多个文件或目录打包成一个归档文件(Tarball),通常结合压缩工具(如 gzip、bzip2、xz)使用。
一、核心功能
- 打包文件 / 目录(不压缩):将多个文件或目录合并为单个 .tar 文件。
- 压缩文件:结合 gzip/bzip2/xz 等压缩算法,生成 .tar.gz/.tar.bz2/.tar.xz 等压缩包。
- 解压缩文件:从压缩包中提取文件到指定位置。
- 查看压缩包内容:无需解压即可查看压缩包内的文件列表。
二、常用选项速查表
选项 | 作用 |
---|---|
操作模式 | |
-c | 创建新的归档文件(Create)。 |
-x | 从归档文件中提取内容(eXtract)。 |
-t | 查看归档文件的内容列表(Test/List)。 |
-r | 追加文件到已有的归档文件(Append)。 |
压缩格式 | |
-z | 使用 gzip 压缩 / 解压缩(生成 .tar.gz)。 |
-j | 使用 bzip2 压缩 / 解压缩(生成 .tar.bz2,更高压缩比)。 |
-J | 使用 xz 压缩 / 解压缩(生成 .tar.xz,最高压缩比)。 |
辅助选项 | |
-v | 显示详细的处理过程(Verbose)。 |
-f | 指定归档文件名(File,必须紧跟文件名,如 -f 包名.tar )。 |
-C | 指定解压目标目录(Change directory,如 -C /目标路径/ )。 |
-p | 保留文件的权限和属性(Preserve)。 |
--exclude | 排除特定文件或目录(如 --exclude=*.log --exclude=temp/ )。 |
三、经典场景示例
- 创建压缩包
# 最常用:创建 gzip 压缩包(平衡速度与压缩比)
tar -czvf 包名.tar.gz 文件/目录
# 更高压缩比:使用 bzip2
tar -cjvf 包名.tar.bz2 文件/目录
# 最高压缩比:使用 xz(适合大文件)
tar -cJvf 包名.tar.xz 文件/目录
- 解压缩包
# 解压 gzip 包到当前目录
tar -xzvf 包名.tar.gz
# 解压到指定目录
tar -xzvf 包名.tar.gz -C /目标目录/
- 查看压缩包内容
tar -tzvf 包名.tar.gz # 查看 gzip 压缩包的文件列表
- 排除特定文件 / 目录
# 备份项目时排除临时文件和日志
tar -czvf 项目备份.tar.gz --exclude=node_modules/ --exclude=*.log ./项目目录
- 增量备份(仅备份修改过的文件)
tar -czvf 增量备份.tar.gz --newer-mtime="2025-06-01" /数据目录
四、压缩格式对比
格式 | 后缀名 | 压缩比 | 速度 | 适用场景 |
---|---|---|---|---|
gzip | .tar.gz | 中等 | 快 | 通用场景(默认选择) |
bzip2 | .tar.bz2 | 高(比 gzip 小约 10-15%) | 较慢 | 需要节省空间的场景 |
xz | .tar.xz | 最高(比 gzip 小约 30%) | 最慢 | 大文件长期存档 |
五、注意事项
- 路径问题:
- 归档时使用相对路径(如
./data
),避免将绝对路径(如/home/user/data
)写入压缩包,导致解压时路径混乱。
- 归档时使用相对路径(如
- 权限保留:
- 解压系统文件时需加
-p
选项保留权限(如tar -xvpzf
系统备份.tar.gz
)。
- 解压系统文件时需加
- 压缩工具依赖:
- 若系统未安装
gzip/bzip2/xz
,需先安装(如sudo apt-get install xz-utils
)。
- 若系统未安装
- 大文件处理:
- 处理 4GB 以上文件时,确保文件系统支持(如 ext4、XFS),并使用
tar
最新版本。
- 处理 4GB 以上文件时,确保文件系统支持(如 ext4、XFS),并使用
六、速记表
创建:c(Create)
解压:x(eXtract)
查看:t(Test/List)
压缩:z(gZip)、j(Bzip2)、J(Xz)
文件:f(File,必须紧跟文件名)
详细:v(Verbose)
目录:C(Change directory)
排除:--exclude
bc 指令
功能:用于高精度计算的计算器工具,支持任意精度的数学运算(如小数、分数),适合需要精确计算的场景。
使用方法:
直接输入 bc 进入交互模式
bc
quit退出
uname -r 指令
语法:uname [选项]
功能:用来获取电脑和操作系统的相关信息