linux探索之旅pdf,【Linux探索之旅】第四部分第一課:壓縮文件,解壓無壓力

133321511b76d3e7f02853a2fd53242d.png

內容簡介

1、第四部分第一課:壓縮文件,解壓無壓力

2、第四部分第二課:SSH連接,安全快捷

壓縮文件,解壓無壓力

最近小編因為換工作,從南法搬到巴黎。折騰了很久。

網絡一直用的是公共的無線網,信號不行。無線上網的box盒子已經說通網了,但我覺得牆上的線有問題。反正就是用不了自己的告訴WiFI盒子。

而且還要繼續找房子,剛上班第一周,諸多事情,所以最近停更了很久。不好意思。

不過,現在又重新開始啦。木啊哈哈哈~

百足之蟲,死而不僵。。。

第四部分我們會講Linux網絡方面的一些知識點。既然講到網絡方面,首先我們可以介紹一下如何壓縮和解壓文件,因為我們在網絡上傳輸文件的時候,通常都會先將其壓縮。

說到壓縮文件,如果是Windows用戶,那應該對rar和zip兩種格式不陌生。一般在Windows下,我們會使用Winrar,7zip等壓縮解壓的軟件。這些軟件中有些是收費的,比如winrar。

在Linux下,我們有很多免費的壓縮解壓軟件可供選擇,比如gzip和bzip2。不過,gzip和bzip2,不能同時壓縮多個文件,一次只能壓縮一個文件。

不過,Linux這樣的開源社群可厲害了,他們還有一個軟件tar,算是Linux下用得挺多的程序了吧。tar可以同時壓縮多個文件。

當然了,Linux下也有解壓zip和rar格式的軟件。

這一課沒什么技術難點,不過有些概念還是比較重要的。

就當茶余飯后,休閑泡腳吧... 當然,之后千萬不要用洗腳水泡茶...

tar命令:將多個文件歸檔

首先,我們需要弄清楚兩個概念:打包和壓縮。

打包,是將多個文件變成一個總的文件,這個總的文件我們通常稱為archive,英語是《存檔,歸檔》的意思。

壓縮,是將一個大文件通過某些壓縮算法變成一個小文件。

所以,其實引言中所提到的tar命令,gzip和bzip2命令是這樣使用的:

用tar將多個文件歸檔為一個總的文件,稱為archive。

用gzip或bzip2命令將archive壓縮為更小的文件。

可以用下圖來描述此過程:

fff8ce602bf4506e944fee7297141b08.png

所以,我們會首先介紹tar命令,然后再學習gzip和bzip2命令。當然了,我們也會學習如何在Linux下解壓zip和rar格式的文件。

zip和rar格式是可以同時歸檔和壓縮的。

將多個文件合並為一個文件

我們來實際操作一下。

假設我現在創建了一個目錄,叫做compression,是英語“壓縮”的意思,然后在此文件夾中再創建一個目錄,叫做tutorial,是英語“教程”的意思。在tutorial目錄中,我放入三個C語言的源文件。如下圖所示:

45715b9faa78c84f22d55e702005bd91.png

我們就可以用tar命令對這三個文件進行歸檔。

-cvf:創建一個tar歸檔

我們可以這樣來創建一個tar歸檔:

tar -cvf tutorial.tar tutorial/

tar命令的三個選項參數分別表示:

c:c是create的縮寫,表示“創建”。

v:v是verbose的縮寫,表示“冗余”。會顯示操作的詳細。

f:f是file的縮寫,表示“文件”。指定歸檔文件。

執行以上的命令之后,可以從tutorial這個文件夾(里面包含ws.c,test.c,hanio.c三個文件)創建tutorial.tar這個歸檔。

a50bf2ebfd0266e125de6700fe9f27fd.png

因為加了v選項,所以列出了被歸檔的三個文件。

難道我們一定要先把三個文件都放到tutorial這樣的一個目錄,才能用tar歸檔嗎?

不是的,我們也可以直接對文件進行歸檔操作,不需要先把所有文件放到一個目錄里,如下:

tar -cvf archive.tar file1.txt file2.txt file3.txt

就會把file.txt,file2.txt,file3.txt歸檔為archive.tar。

-tf:顯示歸檔里的內容,並不解開歸檔

我們可以用tf選項參數來看一下我們剛生成的歸檔tutorial.tar中的內容。

tar -tf tutorial.tar

02a68e2d4a6bb57738a7041a0ed77d05.png

可以看到,tutorial.tar這個文件里,首先包含的是tutorial這個目錄,目錄里有三個文件:ws.c,test.c,hanio.c

一般,建立歸檔之前,最好把所有文件都先放置到一個目錄里。因為假如你拿到的歸檔文件是不包含目錄的(如上面 tar -cvf archive.tar file1.txt file2.txt file3.txt這樣),並且里面有好幾百個文件,你將其解開到你的家目錄,那會亂成一團的。

-rvf:追加文件到歸檔

例如:

tar -rvf archive.tar file_extra.txt

表示將file_extra.txt這個文件添加到archive.tar歸檔中。

-xvf:解開歸檔

算是-cvf的相反操作。將生成的歸檔解開。x是extract的縮寫,表示《提取,取出》。

tar -xvf tutorial.tar

de98098882d7ec9cd12d2a86783dfef9.png

gzip和bzip2命令:壓縮歸檔

現在我們已經學會用tar命令來創建一個歸檔了,接下來,我們就學習如何壓縮這個歸檔吧。

Linux中常用的壓縮命令是gzip和bzip2。功能類似。

gzip:比較常用。

bzip2:不是那么常用。bzip2的壓縮率比gzip更大,但是更耗時。

這兩個命令的用法也很簡單,只需傳入要壓縮的歸檔作為參數。經過壓縮,歸檔的后綴名也會改變。

.tar.gz:這是用gzip命令壓縮后的文件后綴名。

.tar.bz2:這是用bzip2命令壓縮后的文件后綴名。

兩個壓縮命令的用法如下:

gzip tutorial.tar

bzip2 tutorial.tar

就會分別生成tutorial.tar.gz和tutorial.tar.bz2兩個壓縮文件。

如果要對這兩個命令生成的壓縮文件分別進行解壓,可以使用gunzip和bunzip2兩個命令:

gunzip tutorial.tar.gz

bunzip2 tutorial.tar.bz2

用tar命令同時歸檔和壓縮

之前我們只介紹了tar命令的歸檔作用,其實我們可以用tar命令同時完成歸檔和壓縮的操作,一氣呵成。

當然了,也就是給tar命令多加一個選項參數,使之完成歸檔操作后,還是調用gzip或bzip2命令來完成壓縮操作。

-zcvf:歸檔,然后用gzip來壓縮歸檔

tar -zcvf tutorial.tar.gz tutorial/

一步到位,從tutorial目錄,歸檔、壓縮,生成tutorial.tar.gz文件。

要解壓,也可以一步到位:

tar -zxvf tutorial.tar.gz

相信常用Linux系統的用戶對這個命令應該很熟悉吧。

-jcvf:歸檔,然后用bzip2來壓縮歸檔

tar -jcvf tutorial.tar.bz2 tutorial/

一步到位,從tutorial目錄,歸檔、壓縮,生成tutorial.tar.bz2文件。

要解壓,也可以一步到位:

tar -jxvf tutorial.tar.bz2

zcat,zmore,zless:直接顯示用gzip壓縮的文件的內容

cat,more和less三個命令我們已經很熟悉了,是用於顯示文件內容。

如果是壓縮文件,比如我們上面生成的tutorial.tar.gz,如果直接用cat,more或less命令來顯示,是會顯示亂碼的。

cat tutorial.tar.gz

d80447bdde9257475999570d4d488afc.png

但是用zcat,zmore,zless命令就可以顯示用gzip命令壓縮的文件的內容了:

zcat tutorial.tar.gz

fcce385b722a913fc793eb7ef79d79ac.png

unzip和unrar命令:解壓zip和rar文件

盡管.tar.gz和.tar.bz2結尾的壓縮文件在Linux世界很常見,但是如果某個Windows用戶給您發送壓縮文件,大部分情況可能是.zip或.rar結尾的壓縮文件,那么在Linux下如何解壓這類來自Windows世界的外來物呢?

不必擔心,我們可以用unzip和unrar命令來分別解壓.zip和.rar格式的壓縮文件。

unzip:解壓.zip格式的壓縮文件

一般Linux發行版中默認沒有安裝這個程序,我們可以用以下命令來安裝:

sudo apt-get install unzip

安裝完之后,要解壓.zip格式的壓縮文件,可以這樣:

unzip archive.zip

很簡單吧。

如果不想解開.zip文件,只想看其中的內容的話,可以加上-l參數:

unzip -l archive.zip

在Linux中,雖然不常見,但是有時候我們也需要創建.zip格式的文件,我們可以安裝zip這個程序:

sudo apt-get install zip

想要生成.zip格式的壓縮文件,可以這樣:

zip -r archive.zip archive/

注意這里有一個-r參數,須要加上,如果不加,則只會壓縮空文件夾而已。加上-r參數,則會遞歸壓縮目錄和子目錄中的所有文件。

unrar:解壓.rar格式的壓縮文件

類似於unzip,安裝unrar的命令如下:

sudo apt-get install unrar

安裝完之后,要解壓.rar格式的壓縮文件,可以這樣:

unrar e archive.rar

可以看到,有些意外,因為e這個選項參數前面沒有-,人生總是有意外的不是嗎?unrar這個命令的作者顯然是不走尋常路。

如果不想解開.rar文件,只想看其中的內容的話,可以加上l參數(是的,也不加-):

unrar l archive.rar

那如果我想在Linux中創建.rar格式的壓縮文件呢?

不好意思,.rar格式的壓縮軟件並沒有公開,解壓的軟件是免費的。如果你要壓縮rar文件,那只能去買收費軟件。

Linux下也有rar這個軟件,你也可以下載安裝,但這是一個試用軟件,到了一定天數后,就會收費。不過,zip軟件是免費的。

第四部分第二課預告

今天的課就到這里,一起加油吧!

下一課我們學習:SSH連接,安全快捷

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/453315.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何在本地搭建一个Android应用crashing跟踪系统-ACRA

https://github.com/bboyfeiyu/android-tech-frontier/tree/master/others/%E5%A6%82%E4%BD%95%E5%9C%A8%E6%9C%AC%E5%9C%B0%E6%90%AD%E5%BB%BA%E4%B8%80%E4%B8%AAAndroid%E5%BA%94%E7%94%A8crashing%E8%B7%9F%E8%B8%AA%E7%B3%BB%E7%BB%9F%EF%BC%8DACRA 如何在本地搭建一个Andr…

20165222第一周查漏补缺

一,第一章要点总结 1,java的特点:面向对象,动态,平台无关。 2,对于带包程序的编译:注意javac -d 编译到一个文件夹内,然后java -cp 文件夹名 包名.类名。 第一章是比较简单的&#x…

一份从 0 到 1 的 Java 项目实践清单

2019独角兽企业重金招聘Python工程师标准>>> 看了一篇文章,感觉还可以,就给大家共享一下: 对于着手一个项目的时候,要从以下入手(即项目清单): 1. 项目规划 1.1 首先,你得…

JWT 简介

JWT是一种用于双方之间传递安全信息的简洁的、URL安全的表述性声明规范。JWT作为一个开放的标准(RFC 7519),定义了一种简洁的,自包含的方法用于通信双方之间以Json对象的形式安全的传递信息。因为数字签名的存在,这些信…

音视频编解码知识学习详解(分多部分进行详细分析)

1. 常用的基本知识 基本概念 编解码 编解码器(codec)指的是一个能够对一个信号或者一个数据流进行变换的设备或者程序。这里指的变换既包括将信号或者数据流进行编码(通常是为了传输、存储或者加密)或者提取得到一个编码流的操作…

SQL*Plus命令

SQL*Plus命令 前言 一:SQL*Plus 与数据库的交互 二:设置SQL* Plus的运行环境 二 - 1 :SET命令概述 二 - 2 :使用SET命令设置运行环境 二 - 2 ____1:Pagesize 变量 1 SYSorcl> show pagesize2 pages…

C语言数码管是共阴共阳程序,C语言实现共阴极数码管操作

共阴极或者共阳极数码管,因为其需要电流大,而一般51输出电流低,需要锁存器。买的开发板使用的共阴极数码管。至于其构造,找个相关方面的书看看,这里主要是对做好的电路板进行编程。刚开始的时候,感觉在数码…

百度与华为全面战略合作 人工智能手机真的要来了

视频加载中...12月21日百度和华为在北京宣布达成全面战略合作。这次合作内容主要包括三点,首先是在语音、语义、视觉和VR上的自然交互,这是百度为华为手机AI赋能的基础层。第二是基于华为HiAI平台和百度PaddlePaddle深度学习框架,共建人工智能…

Android 秒级编译FreeLine

项目地址:FreeLine FreeLine官网: FreeLine 1. 安装FreeLine插件 File->Settings->Plugins, 搜索输入FreeLine Plugin, 查找到后进行安装并重启Android Studio。 图1.png安装好之后,在工具栏就会出一个图标 图2.png2. 配置gradle 根目录build.gr…

C语言中的二级指针(双指针)

二级指针又叫双指针。C语言中不存在引用,所以当你试图改变一个指针的值的时候必须使用二级指针。C中可以使用引用类型来实现。 下面讲解C中的二级指针的使用方法。 例如我们使用指针来交换两个整型变量的值。 错误代码如下: 一级指针 [cpp] view pla…

alpine_glibc 构建sun jdk 8的docker镜像

2019独角兽企业重金招聘Python工程师标准>>> 构建系统基础镜像 alpine glibc 的Dockerfile内容如下&#xff1a; alpine:3.6 MAINTAINER tongqiang<tongqiangyingmail.com># Here we install GNU libc (aka glibc) and set C.UTF-8 locale as default.ENV ALP…

c语言两个循环的ys,c语言编程:从键盘输入两个数,求它们的最小公倍数

满意答案flywisdom2019.06.20采纳率&#xff1a;44% 等级&#xff1a;9已帮助&#xff1a;1064人main(){int p,r,n,m,temp;printf("Please enter 2 numbers n,m:");scanf("%d,%d",&n,&m);//输入两个正整数.if(n{tempn;nm;mtemp;}pn*m;//P是原来…

每日微软面试题

每日微软面试题——day 1 <以下微软面试题全来自网络> <以下答案与分析纯属个人观点&#xff0c;不足之处&#xff0c;还望不吝指出^_^> 题&#xff1a;.编写反转字符串的程序&#xff0c;要求优化速度、优化空间。 分析&#xff1a;构建两个迭代器p 和 q &…

第八章 多态

第八章 多态1. 重写一个类通过继承来产生一个新类&#xff0c;继承了父类的所有变量和方法&#xff0c;在继承这些变量和方法的时候&#xff0c;子类也可以具有自己独特的特征和行为。Public class fruit{Public void print(){System.out.println(“这是超类的方法”);}}Clas…

计划任务 at,cron

示例&#xff1a;每3小时echo和wall命令 转载于:https://www.cnblogs.com/momenglin/p/8551618.html

2017.12.26

转载于:https://www.cnblogs.com/dyh-air/p/8118961.html

MessageBox 弹框

模拟系统的消息提示框而实现的一套模态对话框组件&#xff0c;用于消息提示、确认消息和提交内容。 从场景上说&#xff0c;MessageBox 的作用是美化系统自带的 alert、confirm 和 prompt&#xff0c;因此适合展示较为简单的内容。如果需要弹出较为复杂的内容&#xff0c;请使用…

什么是同轴电缆

同轴电缆从用途上分可分为基带同轴电缆和宽带同轴电缆&#xff08;即网络同轴电缆和视频同轴电缆&#xff09;。同轴电缆分50Ω 基带电缆和75Ω宽带电缆两类。基带电缆又分细同轴电缆和粗同轴电缆。基带电缆仅仅用于数字传输&#xff0c;数据率可达10Mbps。同轴电缆(Coaxial Ca…

android textview表情,Android开发(16)-TextView显示表情图像和文字

从这个案例中我们可以学到当我们美化图片美化界面的时候可以在某一区域输入图片和文字混搭信息,第三张图片按比例缩小&#xff0c;第四张图像有超链接布局文件MainActivity.javapackage com.example.textview3;import java.lang.reflect.Field;import android.os.Bundle;import…

linux的apache2.4限定某个目录禁止解析PHP及user_agent与PHP相关配置

限定某个目录禁止解析PHP 对于使用PHP语言编写的网站&#xff0c;有一些目录是有需求上传文件的&#xff0c;比如服务器可以上传图片&#xff0c;并且没有做防盗链&#xff0c;所以就会被人家当成了一个图片存储服务器&#xff0c;并且盗用带宽流量。如果网站代码有漏洞&#x…