每一天的坚持虽然有些累,但是却有一定的收获。在今天特殊的日子里,我依旧平静的过…….
常见两种压缩格式
gzip 压缩比不是很高,但是压缩时间快
bzip2 压缩比很高,压缩时间很长。 以时间换取空间
压缩
gzip filename,压缩完成后,源文件是不存在的
bzip2 filename压缩完成后,源文件是不存在的
以上两种只是一次压缩一个,而且不能对目录进行压缩,于是
zip filename.zip filename(s)
压缩格式 压缩后的文件名 需要压缩的文件。。。
可以一次性压缩多个文件或者目录,压缩完成后,源文件仍然存在
例:
gzip filename
bzip2 filename
zip done.zip filename1 filename2
解压缩
gunzip filename
bunzip2 filename
unzip filename
例:
gunzip filename.gz
bunzip2 filename.bz2
unzip done.zip
归档,把小文件合并成一个大文件,便于复制,移动等操作
tar [cvf] package_name filename(s)归档
tar cvf[z/j] package_name filename(s)归档压缩
例:
tar cvf all.tar file1 file2 file3
all.tar:归档后的文件全名 file1,file2,file3要归档的文件
tar cvfz done.tar.gz file1 file2 file3
done表示归档压缩后的文件名, .tar表示归档文件,.gz表示压缩格式是gzip
cvf 归档 cvfz 加z表示以gzip格式进行压缩
tar cvfj done.tar.bz2 file1 file2 file3 …
done.tar.bz2 done表示归档压缩后的文件名, tar表示归档文件,bz2表示压缩格式是bzip2
cvfj 加j表示以bzip2格式进行压缩
解档
tar xvf 解档
tar xvfj package_name 解档解压缩,文件格式是 以bzip2 压缩的文件,如done.tar.bz2
tar xvfz package_name 解档解压缩,文件格式是 以gzip 压缩的文件,如done.tar.gz
硬链接 和软链接
ln [-s] source_file destination_file
不加 -s 是硬链接.
硬链接的局限性:
1: 硬链接不允许跨分区而建。
2: 通常而言,对于目录是不能建硬链接的。
硬链接可防止误删文件, 相当于起别名,比如:原有文件为/etc/passwd, 我创建了p1.h, p2.h,然后删除passwd文件,依旧可以使用more命令查看p1.h的 内容。它所删除的只是一个别名(链接号),对于磁盘的存储内容是不受影响的。如果完全删除所有链接号,文件(索引释放)才会不存在。如果不重写或者覆盖数据块,数据块的内容还是存在的,然后找到相对应的索引,就还可以找到对应的内容,这就是所谓的恢复删除文件。反之,则不存在
借图说下文件查找顺序,这样便于理解硬链接删除和创建
为了方便说明原理,以下软硬链接编号均为假设,可以自己去尝试寻找它的真实编号。 命令ls -i
文件存储分为索引区和数据区。索引区存放文件属性信息,数据区存放真正的内容。我们这里假设索引区的每一块编号为1,2,3,4…..,数据块编号为1000,1001,1002,…… 我们使用ls命令的时候,看到的信息就是索引块的信息,使用more命令的时候,就是通过数据块编号找到数据块的内容。
我们的passwd索引块是4号对应的passwd数据块编号是1002,使用more查看的时候,就是调用passwd索引块的属性信息中的数据块编号去调数据块中的内容。
那么我们怎么知道passwd索引块就是4号块呢?
我们来看,etc是一个目录,它也需要自己的索引块,假定它的索引块是1号块,数据块编号是1001,1号块存放的就是etc的属性信息,除此以外,最后一项放的是数据块的编号。数据块含有若干项,每项分为两部分,第一部分子目录或者名字,第二部分放passwd的索引编号4。同理;etc的索引块呢,又是它上一层目录所得来的,直到根目录,根目录为固定编号。当创建硬链接的时候,就会在etc数据块中新加入一个子项,一部分是名字,一部分是编号,如图中p1.h,p2 它们都是相同的文件,大小相同。只是入口不同,但是所指向的其实都是4号索引块,所以当你删除其中的一个,是不会影响其他的,但是链接数会减少,当所有的入口都删除完了,那么就不存在索引块 了,只剩下数据块中的内容了。 这个上面有提到。说了这么多,其实就是共享源文件的索引。
整个查找顺序:
etc索引块—>etc数据块—》passwd索引块,取出数据块编号—>passwd数据块–>内容
加-s 是软连接
软链接相当于Windows上的快捷方式,可以建立在任何目录下。同样举例,原有文件为passwd, 我创建了p1.h.s, p2.h.s,然后删除passwd文件,这个时候使用more命令查看p1.h.s的 内容。会告诉你找不到这个文件或者目录。
看图
编号全是假设,真实的自己可查。前半部分与硬链接相同,不再重复。
这里创建软链接的时候,软链接的编号将不会再试4,而会有变化,这里假设1,这个时候再索引块1中会显示它的属性信息。 这个文件信息格式 lXX-X—– ,还记得吧, 第一个字符代表什么文件,这里决定了它后面如何查找,同理,根据相应的数据块编号1000去数据块中继续查找,为什么呢?刚说了,因为第一个字符为l,存放的肯定是链接路径,所以继续根据路径查找,如果是常规文件,就直接显示内容了。那么,删除为什么会有影响,应该明白了吧。当你把所指向的链接路径删除了,当然无法找到了。这里指的是你把/etc/passwd删除了, 那么 pass1.s指向谁呢?肯定会出错啦!
Man
调取某个命令的手册
空格键显示下一页,
回车 滚动一行,
b 上一屏
f 下一屏
q 退出
/string 查找 如 :/index, /and group , ….
n next 继续搜索