与终端同居日记:Shell交响曲の终极共舞指南

前言:

《与终端同居日记》特别篇:当文件们开始叠罗汉

亲爱的压缩包驯兽师:

欢迎来到「文件马戏团」!在这里,zip是那个强迫症整理狂,tar是爱玩俄罗斯套娃的魔法师,而gzip------绝对是偷偷给文件喝减肥茶的健身房教练。

如果你曾眼睁睁看着桌面变成文件垃圾场,并发出"这堆东西怎么比我的生活还混乱"的哀嚎,恭喜,本章节将教你用命令行表演"量子折叠术"。但请注意:

  1. zip的日常

    • 打包时:zip -r 回忆.zip 黑历史/,仿佛在说"封存吧,我的黑眼圈!"

    • 解压时:unzip 回忆.zip,结果弹出300个文件名乱码的文件------原来机器也会吃错药。

    • 冷知识:用zip -e加密压缩包,就像给日记本上锁,然后......自己忘了密码。(别问,问就是《百年孤独之压缩包篇》)

  2. tar的哲学

    • 初级咒语:tar -cvf 人生.tar 挫折/ 迷茫/ 秃头记录/ (-c=创建,-v=废话多,-f=快问我文件名叫啥)

    • 高级操作:加个z变成tar -czvf,瞬间让文件集体跳进压缩泳池(然后淹死几个不兼容的)

    • 解压时:tar -xvf 人生.tar,结果所有文件逃逸到桌面------像极了打开快递盒爆出的泡沫塑料

  3. 人类迷惑行为大赏

    • tar打完包才发现没压缩,文件体积比原神安装包还膨胀(此时应播放《凉凉》)

    • tar -zxvf记成rap歌词:"天干物燥,小心火烛,-z是压缩,-x是解压,-v是废话,-f是文件!"

    • 试图用zip打包整个硬盘,结果弹出提示:"您是否想发明新的时间单位来等待?"

故障情景剧(欢迎对号入座)

  • unzip报错时:

    • 你:"这压缩包有毒吧?!"

    • 终端:"有没有可能......你下载时手抖了1%?"

  • tar拒绝解压时:

    • 你:"我命令你立刻展开!"

    • 终端:"笑死,你根本没加-f指定文件名,演什么霸道总裁呢?"

终极生存指南

  • 遇到.tar.gz文件,请先做三次深呼吸,默念口诀:"先targzip,就像先穿袜子再穿鞋"

  • 永远在rm前假装自己是拆弹专家:"这根红线(命令)剪了会炸吗?"

  • 记住:用zipnote偷看压缩包备注,堪比拆情书前先透视信封

现在,请挺直腰板敲下gzip -9 压力,把生活压缩成高密度笑话。毕竟,在这个用df -h查看硬盘就会焦虑的时代,能笑着把文件叠成俄罗斯方块,也算一种数字时代的马戏团艺术啊!

------ 您忠实的文件打包手(正在治疗tar: Unexpected EOF PTSD中)

目录

[1.打包/压缩指令:Linux 界的「搬家师傅」和「真空压缩袋」](#1.打包/压缩指令:Linux 界的「搬家师傅」和「真空压缩袋」)

1.是啥

2.为啥

3.怎么办?

[1.打包 + 压缩一步到位(打工人最爱)](#1.打包 + 压缩一步到位(打工人最爱))

2.纯打包(不压缩)

4.冷知识

5.总结:打包压缩の哲学

2.zip指令

[2.1.zip:Linux 界的「文件外卖员」,打包时总爱问「要加辣吗?」](#2.1.zip:Linux 界的「文件外卖员」,打包时总爱问「要加辣吗?」)

2.2.基础用法:打包就像点外卖

1.单点套餐(压缩文件)

2.全家桶套餐(压缩文件夹)

[2.3.高级玩法:zip の 黑暗料理](#2.3.高级玩法:zip の 黑暗料理)

1.加密配送(防老板偷看)

[2. 分卷配送(对付小胃口的U盘)](#2. 分卷配送(对付小胃口的U盘))

[3. 挑食模式(排除不想打包的)](#3. 挑食模式(排除不想打包的))

[4. 破釜沉舟(压缩完删原文件)](#4. 破釜沉舟(压缩完删原文件))

2.4.zip的冷知识

[总结:zip の 外卖哲学](#总结:zip の 外卖哲学)

3.unzip指令

[3.1.unzip:Linux 界的「拆快递狂魔」,但密码错误时比分手还痛!](#3.1.unzip:Linux 界的「拆快递狂魔」,但密码错误时比分手还痛!)

3.2.基础用法:拆快递的快乐

[1. 暴力开箱(默认解压)](#1. 暴力开箱(默认解压))

[2. 优雅签收(解压到指定目录)](#2. 优雅签收(解压到指定目录))

[3.3.高级用法:unzip の 的黑暗艺术](#3.3.高级用法:unzip の 的黑暗艺术)

[1. 查快递单(查看内容不拆包)](#1. 查快递单(查看内容不拆包))

[2. 覆盖の恐惧(解压时遇到同名文件)](#2. 覆盖の恐惧(解压时遇到同名文件))

3.静默拆包(不废话模式)

4.密码试错(极限挑战版)

3.4.unzip的冷知识

[总结:unzip の 拆包哲学](#总结:unzip の 拆包哲学)

4.tar指令

[4.1.tar:Linux 界的「文件收纳大师」,但打包时总爱玩捆绑Play!](#4.1.tar:Linux 界的「文件收纳大师」,但打包时总爱玩捆绑Play!)

4.2.基础用法:打包就像整理行李箱

[1. 普通打包(纯捆不缩)](#1. 普通打包(纯捆不缩))

[2. 打包压缩一条龙(打工人必备)](#2. 打包压缩一条龙(打工人必备))

[4.3.高级玩法:tar の 空间魔法](#4.3.高级玩法:tar の 空间魔法)

[1. 解压到指定目录(避免文件天女散花)](#1. 解压到指定目录(避免文件天女散花))

[2. 查看包裹内容(不拆包偷窥)](#2. 查看包裹内容(不拆包偷窥))

[3. 追加密件(更新包裹内容)](#3. 追加密件(更新包裹内容))

[4. 精准拆包(只解压部分文件)](#4. 精准拆包(只解压部分文件))

4.4.tar的冷知识

[总结:tar の 捆绑哲学](#总结:tar の 捆绑哲学)

5.比较重要的热键

1.Tab键

[2.Ctrl + R键](#2.Ctrl + R键)

[3.Ctrl + C键](#3.Ctrl + C键)

[4.Ctrl + D键](#4.Ctrl + D键)

6.总结

1.打包/压缩指令:Linux 界的「搬家师傅」和「真空压缩袋」

1.是啥

  • 打包 :把一堆文件塞进一个包裹里(不减肥,纯整理)。 代表指令:tar(Tape Archive,原为磁带备份设计,现在是个「文件收纳师」)。

  • 压缩 :把包裹里的空气抽干,瘦身成小体积。 代表工具:gzip(快但压得一般)、bzip2(慢但压得狠)、xz(最狠但最慢,像用榨汁机压文件)。

2.为啥

  • 省空间:压缩后文件变小,硬盘能多存10部电影(假装是工作资料)。

  • 方便传文件:把100个散装文件变成1个包裹,防止传输时漏成筛子。

  • 防手滑:打包后乱删原文件?不存在的!(前提是你记得备份)

3.怎么办?

1.打包 + 压缩一步到位(打工人最爱)
bash 复制代码
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.纯打包(不压缩)
bash 复制代码
tar -cvf 旧项目.tar 项目/  # 得到一个胖乎乎的.tar文件(适合怀旧人士)  

4.冷知识

  • 「解压时请对暗号!」 解压命令:

    bash 复制代码
    tar -xzvf 黑历史.tar.gz  # -x 表示解压(eXtract),其他参数和压缩时一致  
  • 「别拿WinRAR挑衅我!」 Linux 的压缩包在 Windows 打不开?不,是你没装解压软件!(手动狗头)

5.总结:打包压缩の哲学

bash 复制代码
人生就像tar:  
不经历 -z(压力)、-j(煎熬)、-J(往死里卷),  
哪来的 -v(精彩故事)和 -f(最终成果)?  

上面说的仅仅就是对于打包/压缩指令的初步认识,下面小编将要带领各位详细学习学习一下两个常用的指令

2.zip指令

2.1.zip:Linux 界的「文件外卖员」,打包时总爱问「要加辣吗?」

zip跨平台压缩界的社交达人 ,它不像 tar 那样高冷复杂,反而像个贴心外卖小哥------随手打包、跨平台配送、还能给包裹加密码锁!但小心,它的隐藏技能可能让你直呼:「这也能行?!」

2.2.基础用法:打包就像点外卖

1.单点套餐(压缩文件)
bash 复制代码
zip 黑历史.zip 黑料1.txt 黑料2.jpg  # 把文件塞进「黑历史」外卖盒  

输出:

bash 复制代码
  adding: 黑料1.txt (stored 0%)  
  adding: 黑料2.jpg (deflated 42%)  # 图片被「压缩瘦身」了!  

(注:deflated 表示压缩率,0% 就是纯打包,瘦了个寂寞。)

2.全家桶套餐(压缩文件夹)

-r 参数,化身「抄家大队长」,连文件夹里的蟑螂(文件)都不放过:

bash 复制代码
zip -r 摸鱼日记.zip 日记本/  # -r 表示递归(Recursive)  ,当然,如果系统询问你是否压缩,你可以用在加一个-f参数,表示强制性递归的压缩

(如果漏了 -r,你只会得到一个空的「日记本」外卖盒,气不气?)

2.3.高级玩法:zip の 黑暗料理

1.加密配送(防老板偷看)

-e 参数,给包裹加上「魔法结界」:

bash 复制代码
zip -e 机密文件.zip 老板的丑照.jpg  # -e 表示加密(Encrypt)  

系统会问:

bash 复制代码
Enter password: [输入时请遮挡键盘]  
Verify password: [再输一次,确认没手滑]  

(建议密码别用 iloveboss,容易被猜中!)

2. 分卷配送(对付小胃口的U盘)

-s 参数,把大包裹切成「一口吞」小块:

bash 复制代码
zip -r -s 500m 大型游戏.zip 游戏文件夹/  # 每块500MB  

生成:

bash 复制代码
大型游戏.zip  
大型游戏.z01  
大型游戏.z02  
...  

合并时用:

bash 复制代码
zip -s=0 大型游戏.zip --out 完整版.zip  # 合成一个「巨无霸」  
3. 挑食模式(排除不想打包的)

-x 参数,像点外卖时说:「别忘记放汉堡」(亲身经历,等会总结的时候我详细说说):

bash 复制代码
zip 代码.zip src/ -x "*.log"  # 排除所有日志文件(日志:你礼貌吗?)  
4. 破釜沉舟(压缩完删原文件)

-m 参数,压缩后删原文件,像外卖小哥带走你的垃圾:

bash 复制代码
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 の 外卖哲学

bash 复制代码
zip -r 人生.zip 酸甜苦辣/ -x "悲伤回忆/*"  # 只打包美好,悲伤拒收!  

简单、粗暴、跨平台------这就是 zip 的生存之道。但切记:「比压缩失败更惨的,是解压时发现密码忘了!」

3.unzip指令

3.1.unzip:Linux 界的「拆快递狂魔」,但密码错误时比分手还痛!

unzip,这位压缩包界的剪刀手 ,专治各种 .zip 包裹!它的任务只有一个:撕开包裹,释放你的文件!但手滑时可能让文件「天女散花」,甚至触发「密码遗忘 PTSD」......

3.2.基础用法:拆快递的快乐

1. 暴力开箱(默认解压)
bash 复制代码
unzip 黑历史.zip  # 解压到当前目录,文件可能散落一地!  
bash 复制代码
Archive:  黑历史.zip  
  inflating: 黑料1.txt              # 「inflating」表示解压成功  
  inflating: 黑料2.jpg              # 图片:重见天日!  

2. 优雅签收(解压到指定目录)

-d 参数,让文件「送货上门」:

bash 复制代码
unzip 摸鱼日记.zip -d 保险柜/  # 解压到「保险柜」,深藏功与名  

(如果目录不存在?unzip 会贴心地帮你创建!)

3.3.高级用法:unzip の 的黑暗艺术

1. 查快递单(查看内容不拆包)

-l 参数,化身「包裹扫描仪」:

bash 复制代码
unzip -l 机密文件.zip  # 列出压缩包内容,但不动手拆  

输出:

bash 复制代码
Archive:  机密文件.zip  
  Length      Date    Time    Name  
---------  ---------- -----   ----  
     1024  2023-10-01 12:00   老板的秘密.txt  
---------                     -------  
     1024                     1 file  

(老板:你礼貌吗?!)

2. 覆盖の恐惧(解压时遇到同名文件)

默认 unzip 会灵魂拷问:

bash 复制代码
replace 旧日记.txt? [y]es, [n]o, [A]ll, [N]one, [r]ename:   
  • y:覆盖,旧文件当场去世。

  • r:改名,比如「旧日记.txt」变「旧日记.txt~」。

  • N:怂了,直接跑路。

3.静默拆包(不废话模式)

-q 参数,让 unzip 闭嘴干活:

bash 复制代码
unzip -q 静默包裹.zip  # 适合偷偷解压摸鱼资料  
4.密码试错(极限挑战版)

输错密码时,unzip 会嘲讽:

bash 复制代码
[机密文件.zip]  密码:  
   skipping: 老板的秘密.txt        incorrect password  

(此时建议:深呼吸,回忆密码是否为「1qaz2wsx」)

3.4.unzip的冷知识

  • 「我比 Windows 自带解压更暴躁!」 Windows 双击解压失败可能只是弹个窗,但 unzip 会直接在终端喷红字,让你直面惨淡人生!

  • 「我能拆分卷压缩包!」 如果你有分卷压缩的 大型游戏.z01, 大型游戏.z02......只需解压第一个:

    bash 复制代码
    unzip 大型游戏.z01  # 自动合并所有分卷(需要全部在同一目录)  
  • 「别拿我解压 tar.gz!」 unzip 只认 .zip 格式,解压 tar.gz 时它会摆烂:

    bash 复制代码
    unzip 文件.tar.gz  # 输出:End-of-central-directory signature not found(翻译:这啥玩意?)  ,术业有专攻,下面就来讲述一下tar指令喽~

总结:unzip の 拆包哲学

bash 复制代码
unzip 人生.zip -d 新生活/  # 把过去解压到「新生活」,继续前行!  

快、稳、狠------这是 unzip 的拆包之道。但切记:「比解压失败更惨的,是发现压缩包里是老板的周报!」

4.tar指令

4.1.tar:Linux 界的「文件收纳大师」,但打包时总爱玩捆绑Play!

tar文件捆绑界的扛把子 !它不压缩文件,而是把它们捆成一个「量子纠缠包裹」 (后缀 .tar),方便你搬运、备份,甚至穿越时空(误)。但注意:它和压缩工具(gzipbzip2)是「黄金搭档」,组合技威力无穷!

4.2.基础用法:打包就像整理行李箱

1. 普通打包(纯捆不缩)
bash 复制代码
tar -cvf 黑历史.tar 黑料1.txt 黑料2.jpg  # -c创建,-v唠嗑,-f指定包裹名  

输出:

bash 复制代码
黑料1.txt  
黑料2.jpg  

(生成一个「胖乎乎」的 .tar 文件,体积≈原文件总和,适合怀旧党!)

2. 打包压缩一条龙(打工人必备)

-z-j-J 召唤压缩神龙:

bash 复制代码
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 参数,像让包裹「送货上门」:

bash 复制代码
tar -xzvf 黑历史.tar.gz -C 保险箱/  # 解压到「保险箱」  

(如果目录不存在?tar会冷漠拒绝,建议提前mkdir!)

2. 查看包裹内容(不拆包偷窥)

-t 参数,化身「包裹X光机」:

bash 复制代码
tar -tf 摸鱼日记.tar.gz  # 列出内容,但不解压  

输出:

bash 复制代码
日记本/  
日记本/周一摸鱼.txt  
日记本/周二摸鱼.txt  

(老板:你一周摸五天?!)

3. 追加密件(更新包裹内容)

-r 参数,给包裹「塞小纸条」:

bash 复制代码
tar -rvf 黑历史.tar 新增黑料3.txt  # 往.tar包裹里追加文件(仅适用未压缩的tar包!)  

(压缩过的包裹?先解压再打包,别想偷懒!)


4. 精准拆包(只解压部分文件)

解压时指定文件名,像从行李箱里只掏袜子:

bash 复制代码
tar -xzvf 摸鱼日记.tar.gz 日记本/周三摸鱼.txt  # 只解压周三的摸鱼记录  

(适合紧急销毁证据!)

4.4.tar的冷知识

  • 「我比 zip 更元老!」 tar 最初是为磁带备份设计的(名字 T ape Archive),但意外成为Linux打包标配。

  • 「压缩?那是我兄弟干的!」 tar 只负责打包,压缩靠 gzip/bzip2/xz,但人类非要把它们写成 tar.gz/tar.bz2/tar.xz

  • 「解压万能口诀:-zxvf 走天下!」 面对未知压缩包,勇士们常用:

    bash 复制代码
    tar -zxvf 神秘文件.tar.xx  # 暴力尝试,解不开就换-jxvf或-Jxvf  

    (解不开?大概率是zip包的间谍!)

总结:tar の 捆绑哲学

bash 复制代码
tar -czvf 人生.tar.gz 酸甜苦辣/ --exclude="后悔的事"  # 打包回忆,排除emo!  

稳、准、狠------这就是 tar 的打包之道。但切记:「比打包失败更惨的,是解压时发现漏了关键文件!」

5.比较重要的热键

以上就是对于Linux中基础指令的讲解,但这并不是我要讲述指令的终点,而是起点,以后我还会讲述很多的指令,就比如vim指令,chmod指令,kill指令等等,这些都是后话了,现在为了让更多朋友用着Linux更加的顺畅,下面我讲几个在Linux中常常用到的热键。

1.Tab键

Tab键可以说是我们日常在Linux中的用到的最多键之一,它的功能有:命令补全和档案补齐的功能,后者我们不常用,所以我就不细讲了(其实因为我也不懂),前面这个键的功能是我们最长用到的,假设我们在写一个C文件的时候文件名取的太长:

bash 复制代码
touch zhejinjinjiushiyigeceshidewenjiangeweibuyaoyongzhemochangdewenjianming.c #我想说的尽在文件名中~

如果你想查看文件的内容,一个一个输入的话那就太累了,所以如果你按下Tab键,那么系统会自动的补全,这里我就不延时了,各位读者可以直接复制我上面的代码到你的终端来尝试这个功能~不过,如果你仅仅就写一个字母的话系统会不认得,所以可能会出现下面的列表:

不过这也怪不了系统,因为系统也不一定会知道你的想法,所以最好多输几个字母,这样才让系统懂得你的想法~

2.Ctrl + R键

这个键也是贼好用,因为日常我们在输入指令的时候,难免会出现需要用到之前指令的问题,如果在一个一个打出来,那就太费力了,这样做不适合我这种大懒人,幸亏系统的工程师体谅我们这些"懒人",所以它特意推出了这个热键,当我们如何这个键,然后加上方向键(如果各位的键盘没有方向键,我猜多半是为了打游戏而用的少键数的键盘,游戏要少打哦~),按上方向键就可以查看之前的代码,如果不相信略过了(就像我略过的爱情【狗头】),那么可以用下方向键往后中找。有了这个热键,会让我们的代码变的更轻松。

3.Ctrl + C键

这个键也是我们平常比较常常用的键位,当我们在写C语言代码的时候不小心遇到了死循环,此时我们就可以按下它,它的功能就是杀死进程(进程我会在以后讲的),但其实是用到了信号的知识(也是以后要说的内容之一),但这些各位可能都无法直接看出来,我们可以看出来的是循环停止了,命令行又开始了新的一行;所以各位遇到死循环或者信息太多的时候,就可以按下这个键,直接会停止循环。

4.Ctrl + D键

这个键的作用是退出Linux操作系统,它其实是比较鸡肋的,要不是看到资料有写我也不会讲这个键位,这个键位简单来说,就是会直接关闭Xshell,但是这样是没大有意义的,当想要关闭Xshell的时候,可以直接点击右上角的X,这样直接就退出了。

6.总结

Linux的基础指令我就先讲到这了,但是和我之前说的一样,这仅仅只是开始,而不是结束,Linux的指令是有很多的,我也会在以后的讲述中慢慢的在涉及到许多的指令;不过文章最后的几个热键还是比较重要的,希望各位读者知晓他们的功能(除了最后一个),一起学习的时光总是短暂的,那么各位大佬们,我们下一期见喽!

相关推荐
数巨小码人12 分钟前
Linux常用指令
linux·运维·服务器
●^●18 分钟前
Linux 命令行与 vi/vim 编辑器完全指南
linux·编辑器·vim
哈哈幸运25 分钟前
Linux Awk 深度解析:10个生产级自动化与云原生场景
linux·云原生·自动化·awk·三剑客
Linux运维老纪32 分钟前
Linux之七大难命令(The Seven Difficult Commands of Linux)
linux·运维·服务器·云计算·运维开发
漫谈网络1 小时前
Ollama工具调用(Tool Calls)业务应用案例
linux·ai·aigc·工具调用·ollama·tool calls
unique_落尘1 小时前
java操作打印机直接打印及详细linux部署(只适用于机器和打印机处于同一个网段中)
java·linux·打印机
张书名1 小时前
高性能服务器配置经验指南3——安装服务器可能遇到的问题及解决方法
运维·服务器
bing_1582 小时前
Nacos 客户端 SDK 的核心功能是什么?是如何与服务端通信的?
服务器·数据库·nacos 通信
supermapsupport2 小时前
SuperMap GIS基础产品FAQ集锦(20250421)
服务器·webgl·supermap·idesktop
前进的程序员2 小时前
在Linux驱动开发中使用DeepSeek的方法
linux·运维·服务器·人工智能