与终端同居日记:Shell交响曲の终极共舞指南
前言:
《与终端同居日记》特别篇:当文件们开始叠罗汉
亲爱的压缩包驯兽师:
欢迎来到「文件马戏团」!在这里,zip
是那个强迫症整理狂,tar
是爱玩俄罗斯套娃的魔法师,而gzip
——绝对是偷偷给文件喝减肥茶的健身房教练。
如果你曾眼睁睁看着桌面变成文件垃圾场,并发出“这堆东西怎么比我的生活还混乱”的哀嚎,恭喜,本章节将教你用命令行表演“量子折叠术”。但请注意:
-
zip
的日常-
打包时:
zip -r 回忆.zip 黑历史/
,仿佛在说“封存吧,我的黑眼圈!” -
解压时:
unzip 回忆.zip
,结果弹出300个文件名乱码的文件——原来机器也会吃错药。 -
冷知识:用
zip -e
加密压缩包,就像给日记本上锁,然后……自己忘了密码。(别问,问就是《百年孤独之压缩包篇》)
-
-
tar
的哲学-
初级咒语:
tar -cvf 人生.tar 挫折/ 迷茫/ 秃头记录/
(-c=创建,-v=废话多,-f=快问我文件名叫啥) -
高级操作:加个
z
变成tar -czvf
,瞬间让文件集体跳进压缩泳池(然后淹死几个不兼容的) -
解压时:
tar -xvf 人生.tar
,结果所有文件逃逸到桌面——像极了打开快递盒爆出的泡沫塑料
-
-
人类迷惑行为大赏
-
用
tar
打完包才发现没压缩,文件体积比原神安装包还膨胀(此时应播放《凉凉》) -
把
tar -zxvf
记成rap歌词:“天干物燥,小心火烛,-z是压缩,-x是解压,-v是废话,-f是文件!” -
试图用
zip
打包整个硬盘,结果弹出提示:“您是否想发明新的时间单位来等待?”
-
故障情景剧(欢迎对号入座)
-
当
unzip
报错时:-
你:“这压缩包有毒吧?!”
-
终端:“有没有可能……你下载时手抖了1%?”
-
-
当
tar
拒绝解压时:-
你:“我命令你立刻展开!”
-
终端:“笑死,你根本没加
-f
指定文件名,演什么霸道总裁呢?”
-
终极生存指南
-
遇到
.tar.gz
文件,请先做三次深呼吸,默念口诀:“先tar
后gzip
,就像先穿袜子再穿鞋” -
永远在
rm
前假装自己是拆弹专家:“这根红线(命令)剪了会炸吗?” -
记住:用
zipnote
偷看压缩包备注,堪比拆情书前先透视信封
现在,请挺直腰板敲下gzip -9 压力
,把生活压缩成高密度笑话。毕竟,在这个用df -h
查看硬盘就会焦虑的时代,能笑着把文件叠成俄罗斯方块,也算一种数字时代的马戏团艺术啊!
—— 您忠实的文件打包手(正在治疗tar: Unexpected EOF
PTSD中)
目录
1.打包/压缩指令:Linux 界的「搬家师傅」和「真空压缩袋」
1.是啥
2.为啥
3.怎么办?
1.打包 + 压缩一步到位(打工人最爱)
2.纯打包(不压缩)
4.冷知识
5.总结:打包压缩の哲学
2.zip指令
2.1.zip:Linux 界的「文件外卖员」,打包时总爱问「要加辣吗?」
2.2.基础用法:打包就像点外卖
1.单点套餐(压缩文件)
2.全家桶套餐(压缩文件夹)
2.3.高级玩法:zip の 黑暗料理
1.加密配送(防老板偷看)
2. 分卷配送(对付小胃口的U盘)
3. 挑食模式(排除不想打包的)
4. 破釜沉舟(压缩完删原文件)
2.4.zip的冷知识
总结:zip の 外卖哲学
3.unzip指令
3.1.unzip:Linux 界的「拆快递狂魔」,但密码错误时比分手还痛!
3.2.基础用法:拆快递的快乐
1. 暴力开箱(默认解压)
2. 优雅签收(解压到指定目录)
3.3.高级用法:unzip の 的黑暗艺术
1. 查快递单(查看内容不拆包)
2. 覆盖の恐惧(解压时遇到同名文件)
3.静默拆包(不废话模式)
4.密码试错(极限挑战版)
3.4.unzip的冷知识
总结:unzip の 拆包哲学
4.tar指令
4.1.tar:Linux 界的「文件收纳大师」,但打包时总爱玩捆绑Play!
4.2.基础用法:打包就像整理行李箱
1. 普通打包(纯捆不缩)
2. 打包压缩一条龙(打工人必备)
4.3.高级玩法:tar の 空间魔法
1. 解压到指定目录(避免文件天女散花)
2. 查看包裹内容(不拆包偷窥)
3. 追加密件(更新包裹内容)
4. 精准拆包(只解压部分文件)
4.4.tar的冷知识
总结:tar の 捆绑哲学
5.比较重要的热键
1.Tab键
2.Ctrl + R键
3.Ctrl + C键
4.Ctrl + D键
6.总结
1.打包/压缩指令:Linux 界的「搬家师傅」和「真空压缩袋」
1.是啥
-
打包:把一堆文件塞进一个包裹里(不减肥,纯整理)。 代表指令:
tar
(Tape Archive,原为磁带备份设计,现在是个「文件收纳师」)。 -
压缩:把包裹里的空气抽干,瘦身成小体积。 代表工具:
gzip
(快但压得一般)、bzip2
(慢但压得狠)、xz
(最狠但最慢,像用榨汁机压文件)。
2.为啥
-
省空间:压缩后文件变小,硬盘能多存10部电影(假装是工作资料)。
-
方便传文件:把100个散装文件变成1个包裹,防止传输时漏成筛子。
-
防手滑:打包后乱删原文件?不存在的!(前提是你记得备份)
3.怎么办?
1.打包 + 压缩一步到位(打工人最爱)
tar -czvf 黑历史.tar.gz 黑料1.txt 黑料2.jpg # -z 表示用gzip压缩
tar -cjvf 摸鱼日记.tar.bz2 日记/ # -j 表示用bzip2压缩
tar -cJvf 终极机密.tar.xz 机密文件/ # -J 表示用xz压缩
参数解释:
-
-c
:创建包裹(Create)。 -
-v
:显示过程(让tar变成「话痨」)。 -
-f
:指定包裹名(必须放在最后,否则tar会懵圈)。
2.纯打包(不压缩)
tar -cvf 旧项目.tar 项目/ # 得到一个胖乎乎的.tar文件(适合怀旧人士)
4.冷知识
-
「解压时请对暗号!」 解压命令:
tar -xzvf 黑历史.tar.gz # -x 表示解压(eXtract),其他参数和压缩时一致
-
「别拿WinRAR挑衅我!」 Linux 的压缩包在 Windows 打不开?不,是你没装解压软件!(手动狗头)
5.总结:打包压缩の哲学
人生就像tar:
不经历 -z(压力)、-j(煎熬)、-J(往死里卷),
哪来的 -v(精彩故事)和 -f(最终成果)?
上面说的仅仅就是对于打包/压缩指令的初步认识,下面小编将要带领各位详细学习学习一下两个常用的指令
2.zip指令
2.1.zip:Linux 界的「文件外卖员」,打包时总爱问「要加辣吗?」
zip
,跨平台压缩界的社交达人,它不像 tar
那样高冷复杂,反而像个贴心外卖小哥——随手打包、跨平台配送、还能给包裹加密码锁!但小心,它的隐藏技能可能让你直呼:「这也能行?!」
2.2.基础用法:打包就像点外卖
1.单点套餐(压缩文件)
zip 黑历史.zip 黑料1.txt 黑料2.jpg # 把文件塞进「黑历史」外卖盒
输出:
adding: 黑料1.txt (stored 0%) adding: 黑料2.jpg (deflated 42%) # 图片被「压缩瘦身」了!
(注:deflated
表示压缩率,0% 就是纯打包,瘦了个寂寞。)
2.全家桶套餐(压缩文件夹)
加 -r
参数,化身「抄家大队长」,连文件夹里的蟑螂(文件)都不放过:
zip -r 摸鱼日记.zip 日记本/ # -r 表示递归(Recursive) ,当然,如果系统询问你是否压缩,你可以用在加一个-f参数,表示强制性递归的压缩
(如果漏了 -r
,你只会得到一个空的「日记本」外卖盒,气不气?)
2.3.高级玩法:zip の 黑暗料理
1.加密配送(防老板偷看)
用 -e
参数,给包裹加上「魔法结界」:
zip -e 机密文件.zip 老板的丑照.jpg # -e 表示加密(Encrypt)
系统会问:
Enter password: [输入时请遮挡键盘]
Verify password: [再输一次,确认没手滑]
(建议密码别用 iloveboss
,容易被猜中!)
2. 分卷配送(对付小胃口的U盘)
用 -s
参数,把大包裹切成「一口吞」小块:
zip -r -s 500m 大型游戏.zip 游戏文件夹/ # 每块500MB
生成:
大型游戏.zip
大型游戏.z01
大型游戏.z02
...
合并时用:
zip -s=0 大型游戏.zip --out 完整版.zip # 合成一个「巨无霸」
3. 挑食模式(排除不想打包的)
用 -x
参数,像点外卖时说:「别忘记放汉堡」(亲身经历,等会总结的时候我详细说说):
zip 代码.zip src/ -x "*.log" # 排除所有日志文件(日志:你礼貌吗?)
4. 破釜沉舟(压缩完删原文件)
加 -m
参数,压缩后删原文件,像外卖小哥带走你的垃圾:
zip -m 旧回忆.zip 前女友的信.txt # -m 表示Move(删原文件)
(警告:手滑党请绕道!)
2.4.zip的冷知识
-
「我比 tar 更懂Windows!」
zip
是 Windows 用户看了会流泪的格式,解压不用装软件(系统自带!)。 -
「我压得不如 gzip 狠,但比它快!」 想压得更小?用
-9
参数开启「榨干CPU模式」:zip -9 终极压缩.zip 大文件.txt # 压缩率++,速度--
-
「解压?找我的好基友 unzip!」
unzip 黑历史.zip # 解压到当前目录 unzip 机密文件.zip -d 保险箱/ # 解压到「保险箱」(像外卖送货上门)
总结:zip の 外卖哲学
zip -r 人生.zip 酸甜苦辣/ -x "悲伤回忆/*" # 只打包美好,悲伤拒收!
简单、粗暴、跨平台——这就是 zip
的生存之道。但切记:「比压缩失败更惨的,是解压时发现密码忘了!」
3.unzip指令
3.1.unzip:Linux 界的「拆快递狂魔」,但密码错误时比分手还痛!
unzip
,这位压缩包界的剪刀手,专治各种 .zip
包裹!它的任务只有一个:撕开包裹,释放你的文件!但手滑时可能让文件「天女散花」,甚至触发「密码遗忘 PTSD」……
3.2.基础用法:拆快递的快乐
1. 暴力开箱(默认解压)
unzip 黑历史.zip # 解压到当前目录,文件可能散落一地!
Archive: 黑历史.zip inflating: 黑料1.txt # 「inflating」表示解压成功 inflating: 黑料2.jpg # 图片:重见天日!
2. 优雅签收(解压到指定目录)
用 -d
参数,让文件「送货上门」:
unzip 摸鱼日记.zip -d 保险柜/ # 解压到「保险柜」,深藏功与名
(如果目录不存在?unzip
会贴心地帮你创建!)
3.3.高级用法:unzip の 的黑暗艺术
1. 查快递单(查看内容不拆包)
用 -l
参数,化身「包裹扫描仪」:
unzip -l 机密文件.zip # 列出压缩包内容,但不动手拆
输出:
Archive: 机密文件.zip Length Date Time Name
--------- ---------- ----- ---- 1024 2023-10-01 12:00 老板的秘密.txt
--------- ------- 1024 1 file
(老板:你礼貌吗?!)
2. 覆盖の恐惧(解压时遇到同名文件)
默认 unzip
会灵魂拷问:
replace 旧日记.txt? [y]es, [n]o, [A]ll, [N]one, [r]ename:
-
选
y
:覆盖,旧文件当场去世。 -
选
r
:改名,比如「旧日记.txt」变「旧日记.txt~」。 -
选
N
:怂了,直接跑路。
3.静默拆包(不废话模式)
加 -q
参数,让 unzip
闭嘴干活:
unzip -q 静默包裹.zip # 适合偷偷解压摸鱼资料
4.密码试错(极限挑战版)
输错密码时,unzip
会嘲讽:
[机密文件.zip] 密码: skipping: 老板的秘密.txt incorrect password
(此时建议:深呼吸,回忆密码是否为「1qaz2wsx」)
3.4.unzip的冷知识
-
「我比 Windows 自带解压更暴躁!」 Windows 双击解压失败可能只是弹个窗,但
unzip
会直接在终端喷红字,让你直面惨淡人生! -
「我能拆分卷压缩包!」 如果你有分卷压缩的
大型游戏.z01
,大型游戏.z02
……只需解压第一个:unzip 大型游戏.z01 # 自动合并所有分卷(需要全部在同一目录)
-
「别拿我解压 tar.gz!」
unzip
只认.zip
格式,解压tar.gz
时它会摆烂:unzip 文件.tar.gz # 输出:End-of-central-directory signature not found(翻译:这啥玩意?) ,术业有专攻,下面就来讲述一下tar指令喽~
总结:unzip の 拆包哲学
unzip 人生.zip -d 新生活/ # 把过去解压到「新生活」,继续前行!
快、稳、狠——这是 unzip
的拆包之道。但切记:「比解压失败更惨的,是发现压缩包里是老板的周报!」
4.tar指令
4.1.tar:Linux 界的「文件收纳大师」,但打包时总爱玩捆绑Play!
tar
,文件捆绑界的扛把子!它不压缩文件,而是把它们捆成一个「量子纠缠包裹」(后缀 .tar
),方便你搬运、备份,甚至穿越时空(误)。但注意:它和压缩工具(gzip
、bzip2
)是「黄金搭档」,组合技威力无穷!
4.2.基础用法:打包就像整理行李箱
1. 普通打包(纯捆不缩)
tar -cvf 黑历史.tar 黑料1.txt 黑料2.jpg # -c创建,-v唠嗑,-f指定包裹名
输出:
黑料1.txt
黑料2.jpg
(生成一个「胖乎乎」的 .tar
文件,体积≈原文件总和,适合怀旧党!)
2. 打包压缩一条龙(打工人必备)
用 -z
、-j
、-J
召唤压缩神龙:
tar -czvf 摸鱼日记.tar.gz 日记本/ # -z用gzip压缩(快但压得一般)
tar -cjvf 灵魂代码.tar.bz2 src/ # -j用bzip2压缩(慢但压得狠)
tar -cJvf 终极机密.tar.xz 机密/ # -J用xz压缩(最狠但CPU骂娘)
(参数顺序口诀:-f必须放最后,否则tar会懵圈!)
4.3.高级玩法:tar の 空间魔法
1. 解压到指定目录(避免文件天女散花)
用 -C
参数,像让包裹「送货上门」:
tar -xzvf 黑历史.tar.gz -C 保险箱/ # 解压到「保险箱」
(如果目录不存在?tar会冷漠拒绝,建议提前mkdir
!)
2. 查看包裹内容(不拆包偷窥)
加 -t
参数,化身「包裹X光机」:
tar -tf 摸鱼日记.tar.gz # 列出内容,但不解压
输出:
日记本/
日记本/周一摸鱼.txt
日记本/周二摸鱼.txt
(老板:你一周摸五天?!)
3. 追加密件(更新包裹内容)
用 -r
参数,给包裹「塞小纸条」:
tar -rvf 黑历史.tar 新增黑料3.txt # 往.tar包裹里追加文件(仅适用未压缩的tar包!)
(压缩过的包裹?先解压再打包,别想偷懒!)
4. 精准拆包(只解压部分文件)
解压时指定文件名,像从行李箱里只掏袜子:
tar -xzvf 摸鱼日记.tar.gz 日记本/周三摸鱼.txt # 只解压周三的摸鱼记录
(适合紧急销毁证据!)
4.4.tar的冷知识
-
「我比 zip 更元老!」
tar
最初是为磁带备份设计的(名字 Tape Archive),但意外成为Linux打包标配。 -
「压缩?那是我兄弟干的!」
tar
只负责打包,压缩靠gzip
/bzip2
/xz
,但人类非要把它们写成tar.gz
/tar.bz2
/tar.xz
! -
「解压万能口诀:-zxvf 走天下!」 面对未知压缩包,勇士们常用:
tar -zxvf 神秘文件.tar.xx # 暴力尝试,解不开就换-jxvf或-Jxvf
(解不开?大概率是
zip
包的间谍!)
总结:tar の 捆绑哲学
tar -czvf 人生.tar.gz 酸甜苦辣/ --exclude="后悔的事" # 打包回忆,排除emo!
稳、准、狠——这就是 tar
的打包之道。但切记:「比打包失败更惨的,是解压时发现漏了关键文件!」
5.比较重要的热键
以上就是对于Linux中基础指令的讲解,但这并不是我要讲述指令的终点,而是起点,以后我还会讲述很多的指令,就比如vim指令,chmod指令,kill指令等等,这些都是后话了,现在为了让更多朋友用着Linux更加的顺畅,下面我讲几个在Linux中常常用到的热键。
1.Tab键
Tab键可以说是我们日常在Linux中的用到的最多键之一,它的功能有:命令补全和档案补齐的功能,后者我们不常用,所以我就不细讲了(其实因为我也不懂),前面这个键的功能是我们最长用到的,假设我们在写一个C文件的时候文件名取的太长:
touch zhejinjinjiushiyigeceshidewenjiangeweibuyaoyongzhemochangdewenjianming.c #我想说的尽在文件名中~
如果你想查看文件的内容,一个一个输入的话那就太累了,所以如果你按下Tab键,那么系统会自动的补全,这里我就不延时了,各位读者可以直接复制我上面的代码到你的终端来尝试这个功能~不过,如果你仅仅就写一个字母的话系统会不认得,所以可能会出现下面的列表:
不过这也怪不了系统,因为系统也不一定会知道你的想法,所以最好多输几个字母,这样才让系统懂得你的想法~
2.Ctrl + R键
这个键也是贼好用,因为日常我们在输入指令的时候,难免会出现需要用到之前指令的问题,如果在一个一个打出来,那就太费力了,这样做不适合我这种大懒人,幸亏系统的工程师体谅我们这些“懒人”,所以它特意推出了这个热键,当我们如何这个键,然后加上方向键(如果各位的键盘没有方向键,我猜多半是为了打游戏而用的少键数的键盘,游戏要少打哦~),按上方向键就可以查看之前的代码,如果不相信略过了(就像我略过的爱情【狗头】),那么可以用下方向键往后中找。有了这个热键,会让我们的代码变的更轻松。
3.Ctrl + C键
这个键也是我们平常比较常常用的键位,当我们在写C语言代码的时候不小心遇到了死循环,此时我们就可以按下它,它的功能就是杀死进程(进程我会在以后讲的),但其实是用到了信号的知识(也是以后要说的内容之一),但这些各位可能都无法直接看出来,我们可以看出来的是循环停止了,命令行又开始了新的一行;所以各位遇到死循环或者信息太多的时候,就可以按下这个键,直接会停止循环。
4.Ctrl + D键
这个键的作用是退出Linux操作系统,它其实是比较鸡肋的,要不是看到资料有写我也不会讲这个键位,这个键位简单来说,就是会直接关闭Xshell,但是这样是没大有意义的,当想要关闭Xshell的时候,可以直接点击右上角的X,这样直接就退出了。
6.总结
Linux的基础指令我就先讲到这了,但是和我之前说的一样,这仅仅只是开始,而不是结束,Linux的指令是有很多的,我也会在以后的讲述中慢慢的在涉及到许多的指令;不过文章最后的几个热键还是比较重要的,希望各位读者知晓他们的功能(除了最后一个),一起学习的时光总是短暂的,那么各位大佬们,我们下一期见喽!