Linux 基础指令入门指南:解锁命令行的实用密码
文章目录
- 引言:
- 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 [选项]
功能:用来获取电脑和操作系统的相关信息
相关文章:

Linux 基础指令入门指南:解锁命令行的实用密码
文章目录 引言:Linux 下基本指令常用选项ls 指令pwd 命令cd 指令touch 指令mkdir 指令rmdir 指令 && rm 指令man 指令cp 指令mv 指令cat 指令more 指令less 指令head 指令tail 指令date 指令cal 指令find 指令按文件名搜索按文件大小搜索按修改时间搜索按文…...

标准精读:2025 《可信数据空间 技术架构》【附全文阅读】
《可信数据空间 技术架构》规范了可信数据空间的技术架构,明确其作为国家数据基础设施的定位,以数字合约和使用控制技术为核心,涵盖功能架构(含服务平台与接入连接器的身份管理、目录管理、数字合约管理等功能)、业务流程(登记、发现、创建空间及数据流通利用)及安全要求…...

山东大学软件学院项目实训-基于大模型的模拟面试系统-面试官和面试记录的分享功能(2)
本文记录在发布文章时,可以添加自己创建的面试官和面试记录到文章中这一功能的实现。 前端 首先是在原本的界面的底部添加了两个多选框(后期需要美化调整) 实现的代码: <el-col style"margin-top: 1rem;"><e…...

Webug4.0靶场通关笔记05- 第5关SQL注入之过滤关键字
目录 一、代码审计 1、源码分析 2、SQL注入分析 (1)大小写绕过 (2)双写绕过 二、第05关 过滤型注入 1、进入靶场 2、sqlmap渗透 (1)bp抓包保存报文 (2)sqlmap渗透 &…...

ONLYOFFICE文档API:更强的安全功能
在数字化办公时代,文档的安全性与隐私保护已成为企业和个人用户的核心关切。如何确保信息在存储、传输及协作过程中的安全,是开发者与IT管理者亟需解决的问题。ONLYOFFICE作为一款功能强大的开源办公套件,不仅提供了高效的文档编辑与协作体验…...
深入浅出MQTT协议:从物联网基础到实战应用全解析
深入浅出MQTT协议:从物联网基础到实战应用全解析 作为一名在物联网领域摸爬滚打多年的老程序员,今天来和大家聊聊物联网通信中最核心的技术之一——MQTT协议。无论是Java后端开发还是嵌入式硬件开发,掌握MQTT都能让你在物联网项目中如鱼得水…...

解析楼宇自控系统:分布式结构的核心特点与优势展现
在建筑智能化发展的进程中,楼宇自控系统作为实现建筑高效运行与管理的关键,其系统结构的选择至关重要。传统的集中式楼宇自控系统在面对日益复杂的建筑环境和多样化的管理需求时,逐渐暴露出诸多弊端,如可靠性低、扩展性差、响应速…...

C#数字图像处理(三)
文章目录 前言1.图像平移1.1 图像平移定义1.2 图像平移编程实例 2.图像镜像2.1 图像镜像定义2.2 图像镜像编程实例 3.图像缩放3.1 图像缩放定义3.2 灰度插值法3.3 图像缩放编程实例 4.图像旋转4.1 图像旋转定义4.2 图像旋转编程实例 前言 在某种意义上来说,图像的几…...
STM32 智能小车项目 L298N 电机驱动模块
今天开始着手做智能小车的项目了 在智能小车或机器人项目中,我们经常会听到一个词叫 “H 桥电机驱动”,尤其是常见的 L298N 模块,就是基于“双 H 桥”原理设计的。那么,“H 桥”到底是什么?为什么要用“双 H 桥”来驱动…...

SQL Transactions(事务)、隔离机制
目录 Why Transactions? Example: Bad Interaction Transactions ACID Transactions COMMIT ROLLBACK How the Transaction Log Works How Data Is Stored Example: Interacting Processes Interleaving of Statements Example: Strange Interleaving Fixing the…...
【动画】unity中实现骨骼蒙皮动画
我是一名资深的游戏客户端,没事的时候我就想手搓轮子 本文目标 搓一个骨骼动画的核心实现,促进理解骨骼动画本质 骨骼动画简介 官方解释上网搜或者问豆包 快速理解 想知道骨骼动画怎么个事要先知道模型是怎么个事 简单来说:模型 顶点数…...
VSCODE的终端无法执行npm命令
问题原因:PowerShell 默认可能限制脚本执行。 解决方法: 在 PowerShell 中运行以下命令,查看当前策略: Get-ExecutionPolicy 如果结果是 Restricted,改为 RemoteSigned: Set-ExecutionPolicy RemoteSigne…...
Langchian - 自定义提示词模板 提取结构化的数据
场景:从自然语言中提取固定结构信息返回 例如:根据一段文字,提取文字中人的具体特征 马路上走来一个1米7的女生,她一头乌黑的长发披在肩上随风飘动,在她旁边的是她的男朋友,叫:刘山;比她高10厘米 如果想要提取上面这句话中人的身高及头发的颜色,并以固定的格式返回,…...

【机器学习基础】机器学习入门核心:Jaccard相似度 (Jaccard Index) 和 Pearson相似度 (Pearson Correlation)
机器学习入门核心:Jaccard相似度 (Jaccard Index) 和 Pearson相似度 (Pearson Correlation) 一、算法逻辑Jaccard相似度 (Jaccard Index)**Pearson相似度 (Pearson Correlation)** 二、算法原理与数学推导1. Jaccard相…...

QT之头像剪裁效果实现
文章目录 源码地址,环境:QT5.15,MinGW32位效果演示导入图片设置剪裁区域创建剪裁小窗口重写剪裁小窗口的鼠标事件mousePressEventmouseMoveEventmouseReleaseEvent 小窗口移动触发父窗口的重绘事件剪裁效果实现 源码地址,环境&…...
apptrace 视角下移动端深度链接技术与优势
官网链接:AppTrace - 专业的移动应用推广追踪平台 App 拉起,本质上是移动端深度链接技术的具象化呈现。在这一领域,apptrace 凭借前沿技术与创新理念,实现从 H5 网页到 App 的无缝跳转,精准定位 App 内指定页面&#…...
微前端之micro-app数据通信
在这之前如果还没接触过微前端,可以找一些视频、资料先去了解一下,就不在这里赘述了。 现在常见的微前端框架包括: single-spa micro-app qiankun EMP 无界 目前了解到的基本上是这些哈,大家感兴趣可以自行去了解一下,看下它们之间的区别。 因为我目前使用的是mic…...

【GPT入门】第40课 vllm与ollama特性对比,与模型部署
【GPT入门】第40课 vllm与ollama特性对比,与模型部署 1.两种部署1.1 vllm与ollama特性对比2. vllm部署2.1 服务器准备2.1 下载模型2.2 提供模型服务 1.两种部署 1.1 vllm与ollama特性对比 2. vllm部署 2.1 服务器准备 在autodl 等大模型服务器提供商,…...

unity开发棋牌游戏
使用unity开发的棋牌游戏,目前包含麻将、斗地主、比鸡、牛牛四种玩法游戏。 相关技术 客户端:unity 热更新:xlua 服务器:c Web服务器:ruoyi 游戏视频 unity开发棋牌游戏 游戏截图...

Nat Commun项目文章 ▏小麦CUTTag助力解析转录因子TaTCP6调控小麦氮磷高效利用机制
今年2月份发表在《Nature Communications》(IF14.4)的“TaTCP6 is required for efficientand balanced utilization of nitrate and phosphorus in wheat”揭示了TaTCP6在小麦氮磷利用中的关键调控作用,为优化肥料利用和提高作物产量提供了理…...
Qt OpenGL 相机实现
在Qt中使用OpenGL实现相机功能主要涉及视图矩阵(view matrix)的操作,包括相机位置、观察方向和上向量等概念。下面我将介绍如何在Qt中实现一个基本的3D相机。 基本概念 OpenGL相机本质上是通过视图矩阵(view matrix)来实现的,它定义了从世界空间到观察…...
云原生时代 Kafka 深度实践:03进阶特性与最佳实践
3.1 数据可靠性与一致性 Producer 端可靠性策略 Kafka 通过acks参数控制消息确认机制,不同设置适用于不同场景: acks0:Producer 发送消息后不等待 Broker 确认,立即返回。这种模式吞吐量最高,但可能丢失消息&#x…...
基于关联表字段映射的批量数据更新 SQL 实现方案(AIGC)
UPDATE po_upfiles u JOIN po_micro m ON u.from_id = m.ent_id_old SET u.from_id = m.ent_id; 我的提问 批量更新po_upfiles数据中from_id=ent_id_old的数据中from_id为ent_id,语句怎么写“问题重新按照适合AI的逻辑进行提问,如何修改 精确版...
Hadoop复习(二)
部署Hadoop 考试不考部署,就复习选择和大题 问题 1 单项选择 2 / 2 分 下面哪个是MapReduce的核心配置文件 core-site.xml hdfs-site.xml yarn-site.xml mapred-site.xml 问题 2 单项选择 2 / 2 分 下面哪个是HDFS的核心配置文件 core-site.xml hdf…...

C 语言开发中常见的开发环境
目录 1.Dev-C 2.Visual Studio Code 3.虚拟机 Linux 环境 4.嵌入式 MCU 专用开发环境 1.Dev-C 使用集成的 C/C 开发环境(适合基础学习),下载链接Dev-C下载 - 官方正版 - 极客应用 2.Visual Studio Code 结合 C/C 扩展 GCC/MinGW 编译器,…...

vscode命令行debug
vscode命令行debug 一般命令行debug会在远程连服务器的时候用上,命令行debug的本质是在执行时暴露一个监听端口,通过进入这个端口,像本地调试一样进行。 这里提供两种方式: 直接在命令行中添加debugpy,适用于python…...

Matlab作图之 subplot
1. subplot(m, n, p) 将当前图形划分为m*n的网格,在 p 指定的位置创建坐标轴 matlab 按照行号对子图的位置进行编号 第一个子图是第一行第一列,第二个子图是第二行第二列......... 如果指定 p 位置存在坐标轴, 此命令会将已存在的坐标轴设…...
Springboot 项目一启动就获取HttpSession
在 Spring Boot 项目中,HttpSession 是有状态的,通常只有在用户发起 HTTP 请求并建立会话后才会创建。因此,在项目启动时(即应用刚启动还未处理任何请求)是无法获取到 HttpSession 的。 方法一:使用 HttpS…...
PostgreSQL的扩展 insert_username
PostgreSQL的扩展 insert_username insert_username 是 PostgreSQL 的一个实用扩展,用于自动记录数据行的创建者和最后修改者信息。这个扩展特别适合需要审计跟踪的应用场景。 一 扩展安装与启用 1.1 安装扩展 -- 使用超级用户安装 CREATE EXTENSION insert_use…...

【机器学习基础】机器学习入门核心算法:层次聚类算法(AGNES算法和 DIANA算法)
机器学习入门核心算法:层次聚类算法(AGNES算法和 DIANA算法) 一、算法逻辑二、算法原理与数学推导1. 距离度量2. 簇间距离计算(连接标准)3. 算法伪代码(凝聚式) 三、模型评估1. 内部评估指标2. …...