Linux命令之 文件归档管理
1.文件相关知识
Linux怎样保存文件
数据
-这里数据就是文件的内容
元数据
-在linux系统中,所有与某个文件相关的额外信息都保存在一个叫做i-节点(inode)的节构中
文件名
-文件名保存在名为目录项(dentry)的机构中
i-节点
所有的文件都有如下的属性:
文件类型、链接数、用户所有者、组所有者、权限和时间信息。
链接数i-节点记录文件的链接数,也就是引用该文件的目录项(dentry)数。通常常规文件只有一个文件名,链接数也就是1
时间信息
每个i-节点保存与文件相关的三种时间信息,通常叫做atime、ctime、mtime,含义如下
缩写 | 名称 | 目的 |
atime | 访问时间 |
文件数据每次被阅读后更新 |
ctime | 改变时间 | 文件的i-节点信息每次被改变后都会更新 |
mtime | 修改信息 | 文件数据每次被更改后更新 |
用 stat 命令查看i-节点的信息
一个文件的i-节点信息集合叫做改文件的状态(startus)。
我们可以吧stat命令看做是现实文件状态的命令。
用法:
stat [option] file
一个文件系统内,每个i-节点都分配到一个独一无二的i-节点编号
硬链接和软链接
硬链接:
将多项目录关联到一个i-节点(同一个文件保存在两个地方或不同的文件名)
ln 目标文件 链接文件
软链接:是一些不同的i-节点,用来引用其他文件名(相当于快捷方式)
ln -s 目标文件 链接文件
查找文件find命令
用法:
find {搜索目录} {搜索条件} [动作]
搜索条件:
-size n 文件的大小
-type 文件的类型(f普通、d目录、i软链接)
-name 按照文件名查找。支持通配符 可以参考
Linux学习一些在Terminal可以用到的快捷键及Shell常用的通配符
-user 按照文件属主查找
-group 按照文件所属的组查找
-mitime n 按照文件的更改时间来查找文件
-atime n 搜索在过去n天读取过的文件
-ctime n 搜索在过去n天修改过的文件
-n 表示文件更改时间距现在n天以内,+n表示文件更改时间距现在n天以前
与时间相关的选项:-atime、-ctime、-mtime,以-mtime说明
-mtime n :n为数字,意义为在n天之前(一天之内)被更改过内容的文件
-mtime +n:列出在n天之前(不包括n天本身)被更改过内容的文件名
-mtime -n:列出在n天之内(含n天本身)被更改内容的文件名
-print:输出搜索结果并打印
find命令查找文件的几种方法:
(1)根据文件名查找
例如,我们想要查找一个文件名是lilo.config的文件,
find / -name lilo.config
find命令后的 /表示搜索整个硬盘
(2)快速查找文件
根据文件名查找文件会遇到一个实际问题,就是要花费相当长的时间,特别是大型Linux文件系统和大容量硬盘文件放在很深的子目录中时。如果我们知道了这个文件放在某个目录中,那么只要在这个目录中往下寻找就能节省很多时间。比如smb.config文件,从文件后缀config得知是配置文件,就可以从/etc目录查找,如下
find /etc -name smb.config
(3)混合查找方式查找文件
如:我们想要在/etc查找大于300000字节,并且在24小时内修改的,则可以使用-and把两个查找参数连接起来组成一个混合查找
find /etc -size +300000c -and -mtime +1
2.文件压缩
gzip
用法:
gzip [option] file
参数:-c 将输出重定向到标准输出
-d 解压缩文件
-r 对目录递归,将里面的文件分别压缩
-1……9 指定压缩级别
文件后缀:.gz
bzip2
用法:
bzip2 [option] 压缩后文件 要压缩的文件
参数: -c 将输出重定向到标准输出
-d 解压缩文件
文件后缀:.bz
文件归档tar
将文件归档可以把整个目录树保存在一个文件中
tar命令用于创建、列出、抽取归档文件
归档文件通常也会一并压缩
用法:
tar [option] file
-c 创建归档文件
-x 释放文档
-v 显示详细信息
-f 文件名(可带路径)
-z 使用gzip压缩
-j 使用bzip2压缩
【来自 乐智的菜园子:www.cnblogs.com/AIThink 亲们,码字不容易,转载请注明出处。】