实验六 文件及目录的压缩解压缩相关命令的使用

【实验目的】

1、掌握linux压缩文件实质

2、掌握linux中压缩及解压缩指令的用法

【实验环境】

1、 标准配置PC一台

2、 linux操作系统:CentOS 7.0

3、 虚拟机软件:VMWare 14.0以上版本

【实验重点及难点】

1、压缩及解压缩指令的用法

【实验内容】

实验内容1:熟悉CentOS7的基本命令

1、gzip指令

1)用gzip压缩/tmp中的/passwd文件,并设定压缩等级为1(没有就从/etc/passwd复制一个)

gzip -1 passwd

2)解压缩该文件

gunzip passwd.gz

3)用gzip压缩/tmp中的/passwd文件,并设定压缩等级为9

cd /tmp;gzip -9 passwd

4)查看压缩后的文件内容

zcat passwd.gz

5)解压缩该文件,并定向输出为passwd

gunzip -c passwd.gz > password  -c或--stdout或--to-stdout:把解压后的文件输出到标准输出设备。

Linux压缩保留源文件的方法: 
gzip –c filename > filename.gz 
Linux解压缩保留源文件的方法: 
gunzip –c filename.gz > filename

2、bzip2指令

1)用bzip2压缩/tmp中的/passwd文件,并设定压缩等级为1

bzip2 -1 passwd

2)解压缩该文件

bunzip passwd.bz2

3)用bzip2压缩/tmp中的/passwd文件,并设定压缩等级为9

bzip2 -9 passwd

4)查看压缩后的文件内容

bzcat passwd.bz2

5)解压缩该文件,并定向输出为passwd

bunzip2 -c passwd.bz2 > passwd

3、tar指令

1)把/etc内的文件打包之后存储到/tmp下(第一个压缩文件)

tar -cvf etc1.tar /etc/

1、 -c: 建立压缩档案,打包指定目录和文件 -v:显示所有过程
参数-f是必须的

-f: 文件名:使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。

2)把/etc内的文件打包并且用bzip2的方式压缩,之后存储到/tmp下(第二个压缩文件)

tar  -cjvf etc2.tar.bz2 /etc/    -j:有bz2属性的

3)把/etc内的文件打包并且用gzip的方式压缩,之后存储到/tmp下(第三个压缩文件)

tar -czvf etc3.tar.gz /etc/    -z:有gzip属性的

4)分别查看压缩后的文件中都包含哪些文件

tar -tvf etc1.tar;tar -tjvf etc2.tar.bz2;tar -tzvf etc3.tar.gz  -t:查看内容

5)解压缩第一个压缩文件

tar -xvf etc1.tar -C /tmp/etc1   -x:解压  -C:解压位置

6)把第二个压缩文件解压缩到/tmp/etc2中(没有就建一个)
tar -xjvf etc2.tar.bz2 -C /tmp/etc2

7)把第三个压缩文件中的/passwd文件解压缩到/tmp/etc3中(没有就建一个)

tar -xzvf etc3.tar.gz -C /tmp/etc2

8)备份/etc中的所有文件到/tmp中,并且保证权限不变

tar -cvpf etcp.tar /tmp  -p :使用原文件的原来属性(属性不会依据使用者而变) -P :可以使用绝对路径来压缩!

9)把/home中比2010.8.15新的文件备份到/tmp下面

tar -czvf home.tar.gz /home/ --newer-mtime 2010/8/15

10)把/etc和/root中的数据备份到/tmp下面,但是不备份/root下的initial-setup-ks.cfg文件

tar -czvf etcroot.tar.gz /etc/ /root/ --exclude /root/initial-setup-ks.cfg

4、综合指令练习

1)使用centos在centos的家目录下新建文件夹testdir

mkdir testdir

2)进入testdir,创建文本文件firstfile,并在其中输入姓名和学号的全拼
cd testdir;touch firstfile;vi firstfile

3)在testdir中创建文件firstfile的副本

cp firstfile fitstfile.bak

4)在testdir中创建文件firstfile的软硬链接文件

ln -s firstfile first-soft

ln -d fitstfile first-hard

5)修改firstfile的内容

vi firstfile

6)查看firstfile的副本,firstfile的软硬链接文件的内容

7)返回centos的家目录,将目录testdir打包并压缩为testdir.tar.gz

 cd /home/centos;tar -czvf.tar.gz testdir/

8)进入目录/tmp中,并在其中创建子目录tdir

cd /tmp;mkdir tdir

9)将刚才创建的压缩包复制到当前目录的子目录tdir中

cp /home/centos/testdir.tar.gz .   . :当前目录

10)在/tmp目录中解压该压缩包,观察解压后的目录出现在何处

tar -xzvf testdir.tar.gz

11)使用选项-C将该压缩包解压到指定目录中/tmp/tdir2(没有就创建一个),观察解压后的目录出现在何处

mkdir /tmp/tdir2;tar -xzvf testdir.tar.gz -C /tmp/tdir2/

12)将testdir再次压缩为testdir2.tar.gz,此次使用p和P选项

tar -czvpPf testdir2.tar.gz

13)将testdir2.tar.gz复制到/tmp/tdir中fa

cp testdir.tar.gz /tmp/tidr

14)将centos的家目录的testdir目录删除,接着将/tmp下解压出的testdir目录也删除

rm -rf

15) 将压缩包/tmp下的testdir2.tar.gz解压,完成后在centos家目录下和/tmp目录中搜索testdir目录的位置,观察其结果。

tar -czvpPf testdir2.tar.gz /home/centos/testdir

第3章 常用linux命令 3.5 文件压缩命令的更多相关文章

  1. PHP调用Linux的命令行执行文件压缩命令&&创建文件夹修改权限

    一开始,我和普通青年一样,想到用PHP内置的 ZipArchive纠结的是环境上没安装zip扩展,想采用用PHP调用Linux的命令行 ,执行压缩命令,感兴趣的朋友可以了解下,希望本文对你有所帮助 前 ...

  2. Linux下几种文件传输命令

    Linux下几种文件传输命令 sz rz sftp scp 最近在部署系统时接触了一些文件传输命令,分别做一下简单记录: 1.sftp Secure Ftp 是一个基于SSH安全协议的文件传输管理工具 ...

  3. Linux下几种文件传输命令 sz rz sftp scp

    Linux下几种文件传输命令 sz rz sftp scp 最近在部署系统时接触了一些文件传输命令,分别做一下简单记录: 1.sftp Secure Ftp 是一个基于SSH安全协议的文件传输管理工具 ...

  4. [原创] Linux下几种文件传输命令 sz rz sftp scp介绍

    Linux下几种文件传输命令 sz rz sftp scp介绍 1.sftp Secure Ftp 是一个基于SSH安全协议的文件传输管理工具.由于它是基于SSH的,会在传输过程中对用户的密码.数据等 ...

  5. 【Linux学习】Linux文件系统5—查看文件内容命令

    Linux文件系统5-查看文件内容命令 cat: 由第一行开始显示文件内容 more: 一页一页地显示文件内容,空格键可以继续翻页显示下一页内容 less:与more类似,但是可以往前翻页 head: ...

  6. [转帖]Linux下主机间文件传输命令

    Linux下主机间文件传输命令 https://yq.aliyun.com/articles/53631?spm=a2c4e.11155435.0.0.580ce8ef4Q9uzs   SCP命令: ...

  7. [转帖]linux下的find文件查找命令与grep文件内容查找命令

    linux下的find文件查找命令与grep文件内容查找命令 https://www.cnblogs.com/shileima/p/8431393.html 在使用linux时,经常需要进行文件查找. ...

  8. Linux常用命令(第二版) --文件搜索命令

    文件搜索命令 1.which /usr/bin/which #显示系统命令所在目录,绝对目录,不能查找文件 格式:which [系统命令] e.g. which ls 附-whereis:也可以查找到 ...

  9. Linux常用命令大全 --- 文件备份和压缩命令

    在linux中,常用的文件压缩工具有gzip.bzip2.zip . bzip2是最理想的压缩工具,它提供了最大限度的压缩.zip 兼容性好windows也支持 1.bzip2 命令 在shell 提 ...

随机推荐

  1. idea导入工程

    idea导入svn中的工程,一般是多模块的工程. 1 在idea中导入一个工程的目录,可以建立对应的文件夹 dy-task ,svn选择对应的分支导入 2 在dy-task同目录下建立其他目录 dy- ...

  2. 什么是 ZFS文件系统?ZFS概念及特点简介

    什么是 ZFS? ZFS(Zettabyte File System)是由SUN公司的Jeff Bonwick领导设计的一种基于Solaris的文件系统,最初发布于20014年9月14日. SUN被O ...

  3. git cherry-pick 命令,解决冲突后没有 commit 变更,再次pull 时出错

    Git : You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists). 解决方法:(1)使用git status 命令查看当前 ...

  4. 一个萝卜一个坑#我的C坑_两局变量

    前面的笔记慢慢补 全局变量和局部变量的区别: 1.首字母 尽量不用全局变量原因: 1.占内存 2.降低通用性和可靠性 3.降清晰度 若在同一源文件中,全局变量和局部变量同名,记住很重要的一条:实参决定 ...

  5. C++分治策略实现线性时间选择

    问题描述: 给定线性序集中n个元素和一个整数k,1≤k≤n,要求找出这n个元素中第k小的元素,即如果将这n个元素依其线性序排列时,排在第k个的元素即为要找到元素. 细节须知:(与之前的随笔相比) (1 ...

  6. 两数相加(C#数据结构和算法练习)

    两数相加 给出两个 非空 的链表用来表示两个非负的整数.其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字. 如果,我们将这两个数相加起来,则会返回一个新的链表来表 ...

  7. vant-ui rem问题

    使用vant-ui时rem单位问题 vue-cli3.x项目引入vant-ui1.6.21,要求在项目中使用rem单位,但vant是px的.故,需要添加一个自动转换插件和一段修改html根元素的fon ...

  8. 2019 哔哩哔哩java面试笔试题 (含面试题解析)

      本人5年开发经验.18年年底开始跑路找工作,在互联网寒冬下成功拿到阿里巴巴.今日头条.哔哩哔哩等公司offer,岗位是Java后端开发,因为发展原因最终选择去了哔哩哔哩,入职一年时间了,也成为了面 ...

  9. grid网格布局——色子布局

    一.基本概念 样式 含义 grid-area 定义名称 grid-auto-columns 定义列数 grid-auto-flow 定义单元格流动方向(想象水流的样子) grid-auto-rows ...

  10. android中activity和service是否在同一个进程中

    分两种情况,如果是本地线程,肯定是同一个进程中的, 如果是远程服务,那么activity和service将在不同的进程中的 ----- 非远程服务,和Activity属于同一个进程和线程:而远程服务和 ...