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

【实验目的】

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. 基于ELK 7.50搭建elastalert 监控报警和权限控制

    ELK+监控报警全步骤 需求: 公司要求对出在windows服务器上的日志进行日志分析并根据关键字进行报警,并配置kibana权限控制.下面为详细步骤 环境: centos 7.6 elk版本7.50 ...

  2. JOI徽章

    [题目描述] 日本信息学奥赛委员会为了应援将要去台湾参加 IOI 的选手们,打算制作一面新的 JOI 旗帜 .JOI 旗帜为由 M 行 N 列的 M*N 个正方形组 成的图形,每个正方形里写有 J,O ...

  3. 在flask中使用sqlalchemy插入数据返回新增的id

    user = User(‘name’=‘张三’)db.session.add(user)db.session.flush()#输出新插入数据的主键print(user.id)#此时数据才插入到数据库中 ...

  4. MongoDB里做表间关联

    MongoDB与关系型数据库的建模还是有许多不同,因为MongoDB支持内嵌对象和数组类型.MongoDB建模有两种方式,一种是内嵌(Embed),另一种是连接(Link).那么何时Embed何时Li ...

  5. Java学习:递归

    递归的思想 以此类推是递归的基本思想. 具体来讲就是把规模大的问题转化为规模小的相似的子问题来解决.在函数实现时,因为解决大问题的方法和解决小问题的方法往往是同一个方法,所以就产生了函数调用它自身的情 ...

  6. 50道Redis面试题及答案整理,史上最全!

    在网上看到有关Redis的50道面试题,但是没有给出答案,之前我也在寻找这份Redis面试题的答案,今天特地把答案分享出来. 花了大量时间整理了这套Redis面试题及答案,希望对大家有帮助哈~ 弄明白 ...

  7. 端口排查步骤-7680端口分析-Dosvc服务

    出现大量7680端口的内网连接,百度未找到端口信息,需证明为系统服务,否则为蠕虫 1. 确认端口对应进程PID netstat -ano 7680端口对应pid:6128 2. 查找pid对应进程 t ...

  8. C# zip压缩 Ionic.Zip.dll

    #region Ionic.Zip压缩文件 //压缩方法一 public void ExeCompOne() { string FileName = DateTime.Now.ToString(&qu ...

  9. 【JVM学习笔记一】Java内存区域

    1. 运行时数据区域 1) 程序计数器 | 线程私有,存储线程运行时所执行字节码的行号,实现分支.循环.跳转.异常处理.线程恢复等基础功能 | Java方法,记录正在执行的虚拟机字节码指令的行号:Na ...

  10. 【开发笔记】- 在Grails下查看打印真实的SQL

    以往我们都是在hibernate里面开启sql,在grails里面只需要在 DataSource.groovy 里面的一个dataSource加入一个 logSql = true即可,但是这样加后发出 ...