linux基础之文件管理


一、文件与文件系统的打包与压缩

压缩技术的原理:我们知道计算机中存储的单位最小的是bit,而我们常用的是byte,而1byte=8bit。那么当我们存储一个数字1时,计算机会以字节的形式存储,那么用二进制表示00000001,我们发现0不起任何作用,那么压缩技术就是把这些没有用到的空间利用起来。
注意:压缩的后的文件是无法被操作系统直接使用的,需要解压缩

**压缩比:压缩前与压缩后的文件所占

.gz gzip程序压缩的文件
.bz2 bzip2程序压缩的文件
.tar tar程序打包的数据,并没有被压缩过
.tar,gz tar程序打包后的文件,经过gzip的压缩
.tar.bz2 tar程序打包后的文件,经过bzip2程序的压缩
tar程序仅仅是将很多文件打包成一个文件,本来没有压缩的功能,后来在GNU计划中加入了压缩的功能。


  • gzip和zcat

注意:可以解压zip,compress,gzip压缩过的文件,也可以使用gzip压缩文件,在windows中可以用winrar解压。使用cat可以读取纯文本文件,而使用zcat可以读取纯文本文件压缩后的文件。

gzip +(-cdtv#) 文件名
zcat 文件名.gz

使用gzip 加文件名默认直接压缩成文件名.gz格式。

[root@localhost tmp]# ls
1  cq  nn.gz

使用gzip -d 文件名.gz,解压文件

[root@localhost tmp]# ls
1  cq  nn
[root@localhost tmp]# gzip nn
[root@localhost tmp]# ls
1  cq  nn.gz
[root@localhost tmp]# gzip -d nn.gz 
[root@localhost tmp]# ls
1  cq  nn

使用gzip -v 文件名,显示压缩比并且压缩文件生成文件名.gz

[root@localhost tmp]# gzip -v nn 
nn:  61.9% -- replaced with nn.gz
[root@localhost tmp]# ls
1  cq  nn.gz

使用zcat +文件名.gz,查看已经压缩的文件。

[root@localhost tmp]# zcat nn.gz 
# 
#
# This file is used by the man-db package to configure the man and cat paths.
# It is also used to provide a manpath for those without one by examining
# their PATH environment variable. For details see the manpath(5) man page.

gzip + -num(1-9) -c 文件名 > 文件名.gz
用指定的压缩比压缩文件并且保留原来的文件。-c表示将压缩的数据输出到屏幕。
1-9为压缩的等级,1是最快的压缩方式,而9是最佳的压缩方式。

[root@localhost tmp]# ls
1  cq  nn.gz
[root@localhost tmp]# gzip -9 -c cq > cq.gz
[root@localhost tmp]# ls
1  cq  cq.gz  nn.gz

也可以使用gunzip +文件名.gz解压文件


  • bzip2和bzcat
    注意:bzip2是比gzip更强的压缩工具,他提供了更好的压缩比

bzip2 + -z 文件名 表示压缩一个文件
bzip2 + -d 文件名.bz2 表示解压一个文件

[root@localhost tmp]# ls
passwd
[root@localhost tmp]# bzip2 -z passwd 
[root@localhost tmp]# ls
passwd.bz2
[root@localhost tmp]# bzip2 -d passwd.bz2 
[root@localhost tmp]# ls
passwd

bzip2 +-k +文件名 表示不删除原文件压缩,保留原文件压缩。

[root@localhost tmp]# bzip2 -k passwd 
[root@localhost tmp]# ls
passwd  passwd.bz2

使用bzip2 + -9 + -c 文件名 > 文件名.gz
用指定的压缩比压缩并且保留原文件。

[root@localhost tmp]# ls
passwd
[root@localhost tmp]# bzip2 -1 -c passwd  > passwd.bz2
[root@localhost tmp]# ls
passwd  passwd.bz2
[root@localhost tmp]# du -h passwd.bz2 
4.0K    passwd.bz2
[root@localhost tmp]# du -h passwd
4.0K    passwd
[root@localhost tmp]# bzip2 -9 -c passwd  > passwd1.bz2
[root@localhost tmp]# ls
passwd  passwd1.bz2  passwd.bz2
[root@localhost tmp]# du -h passwd1.bz2 
4.0K    passwd1.bz2

使用bzcat+文件名.bz2,查看压缩文件

[root@localhost tmp]# bzcat passwd.bz2 
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown

使用bunzip2 文件名.bz2代替bzip2 -d 文件名.bz2

[root@localhost tmp]# ls
passwd  passwd1.bz2  passwd.bz2
[root@localhost tmp]# rm -rf passwd
[root@localhost tmp]# bunzip2 passwd.bz2 
[root@localhost tmp]# ls
passwd  passwd1.bz2

  • tar
    前面所介绍的gzip和bzip2都是对单个文件进行压缩,虽然可以对目录进行压缩但是仅仅只是对目录中的各个文件分别进行压缩。
    而tar这个命令就是可以将多个文件或者目录打包成一个大的文件,同时还可以通bzip2和gzip的支持,将该文件同时进行压缩。
    注意:由于tar使用非常广泛,windows下的winrar也支持对tar.gz文件的解压缩。

首先,需要了解几个重要的参数
[-j | -z] -j表示bzip2的支持,-z表示gzip的支持。
-c,表示打包文件,x表示解压缩。


我们常用tar -zxf 文件名.tar.gz
解压文件,z表示gzip支持,保留原压缩文件进行解压。而使用tar -zxvf ,则会在解压的过程中显示操作的文件名。
使用tar -zxf .tar.gz -C 文件名,解压到指定的地方。
而把z换成j那么就可以用到bzip2支持的文件格式,那么怎样将文件打包压缩成bzip2,gzip支持的文件格式。
注意:使用tar打包压缩文件,默认会保留原文件*

[root@localhost tmp]# tar -jcvf cq.bz2 etc/
[root@localhost tmp]# tar -zcvf cq.tar.gz etc/
注意,压缩后文件名为我们自己创造的需要放在原文件名的前面

综上:
几种常用的解压压缩方式
[root@localhost tmp]# tar -jcf cq.bz2 etc/
[root@localhost tmp]# tar -zcf cq.tar.gz etc/
[root@localhost tmp]# tar -zxf cq.tar.gz
[root@localhost tmp]# tar -zxf cq.tar.gz -C /tmp/
[root@localhost tmp]# tar -jxf cq.bz2

查看压缩文件中的文件名,加上-v会显示具体文件的属性和权限,而只有t的话只会显示压缩操作的文件名。
[root@localhost tmp]# tar -jtvf cq.bz2
[root@localhost tmp]# tar -ztvf cq.bz2

保留文件的属性和权限进行备份
tar -zpcvf /root/etc.tar.gz /etc

特别注意:我们在备份一些重要的文件的时候,打包压缩后的文件路径往往不会带根路径,可以观察我们在打包压缩一个目录的时候会有提示

[root@localhost tmp]# tar -jcvf  /tmp/cq.bz2 /etc/*
tar: 从成员名中删除开头的“/”

此时,解压生成的文件的路径为当前解压后文件所在的目录。

由于我们备份的文件很有可能会被再次使用,如果没有去掉根目录,那么,解压压缩后的文件会自动变成绝对路径,如此一来,你的当前目录的原文件会备覆盖的。
-P参数会使得压缩的文件不删除根目录。


  • dd
    dd这个工具可以直接读取磁盘设备的内容,然后将整个设备备份成一个文件.
[root@localhost tmp]# dd if=/etc/passwd of=/tmp/passwd
记录了3+1 的读入
记录了3+1 的写出
2005字节(2.0 kB)已复制,0.000168052 秒,11.9 MB/秒
[root@localhost tmp]# ls
cq.bz2  passwd

备份磁盘的第一块扇区

[root@localhost tmp]# dd if=/dev/vda1 of=/tmp/mbr.back bs=512 Count=1

由于很少使用dd,我们仅仅需要了解dd这个命令可以直接从磁盘上备份。
如果我们想要构建两块一样的磁盘的时候,我们可以从旧的分区将所有数据通过dd复制过来,连同各种块一起复制过来。
dd if=/dev/sda of=/dev/sdb完整的复制一块磁盘


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,084评论 6 503
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,623评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,450评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,322评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,370评论 6 390
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,274评论 1 300
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,126评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,980评论 0 275
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,414评论 1 313
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,599评论 3 334
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,773评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,470评论 5 344
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,080评论 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,713评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,852评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,865评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,689评论 2 354

推荐阅读更多精彩内容