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 亲们,码字不容易,转载请注明出处。】

原文地址:https://www.cnblogs.com/AIThink/p/4946229.html