一个公司最重要的是什么?当然是公司的数据。数据的安全性就无比重要了,作为管理员数据就是那一个个文件。价值千万的东西在我们手中,我们怎么保护好这些文件,合理划分文件尤为重要。维护这些数据我们的手段都有哪些?linux中内嵌了哪些文档管理工具。
一文件查找
这一节是说归档啊,为什么要先学文件查找。归档前我们要先确定,我们要归档和管理的文件,使用文件查找命令可以快速的帮我们把所需要的文档找出来,方便我们后续的管理。
- 一个基于数据库的文件查找工具locat
我们主要使用它来查找系统文件。
既然locat是基于数据库查找的命令,他一定具有一个特点,特别快。同时它支持正则表达式,借用正则表达式的特点,我们可以非常灵活的查找到我们需要的文件。
同时它有一个缺点,它的查找不是实时查找,也是因为它是基于数据库,真是成也数据库败也数据库。构建数据库的命令是updatedb。
- 实时查找的命令find
他的速度虽然别locat慢,但是它可以实时查找。我们更多的会去选择使用它,因为我们既然要查找文件,那么我们都文件的特性了解的一定不是很清楚,但是了解文件的一部分特性。find就是基于文件一部分特性需找类似文件的工具,生是为我们打造的。
find的格式: find [option] dirname option的选项 -type (f|d|l|c|b|s|p) 指定要查找的文件类型 -size #[k,m,g,t] 指定文件的大小不指定默认为k。这里举一个例子: -size [+|-]6m
-atime [+|-] 指定访问时间 -mtime[+|-] 指定修改时间 -ctime[+|-] 指定改变时间,它们三个的格式和-size的格式类似 -perm[/|-] 指定权限。/只要有一位权限匹配,该文件就被匹配。-需全部匹配文件才算被匹配。 -userusername 匹配文件用户名 -nouser -uid 匹配文件uid -gid 匹配文件gid
二文件压缩
文件在磁盘里一定是不安全的,因为磁盘会坏,那我们怎么最大程度的保护数据,数据备份。一个硬盘坏了,我们可以多复制几分放在不同的磁盘内。备份数据时,我们一般不会一个个文件的复制,都是把所有要备份的数据保存到一个目录下,然后整体复制走。这就有一个问题了,如果数据量特别大每次备份的压力多大啊。
嗯,我们有两种备份方式:增量备份和全部备份。
全部备份,有一个硬伤,数据特别多的时候很难备份。但是比如数据库文件,这个没法采用增量备份,我们只好采用全部备份,但是数据那么多,我们怎么减少数据备份的数量,减少数据的大小压缩文件。
- 压缩
Linux中内置了四种压缩方式,每种压缩方式的压缩后的文件后缀名不一样,压缩文件是采用不同的后缀名区分哪些文件是否可以解压。
compress 压缩后的文件的后缀名为.X。压缩后删除文件。 -d 解压后删除压缩包 -c 输出到屏幕
gzip压缩后的文件的后缀名是.gz
bzip2压缩后的文件的后缀名是.bz2
xz压缩后的文件的后缀名是.xz 这三个命令的使用格式一致 -d 解压 -k 保留原文件 -# 指定压缩比,默认6 这四个命令的使用格式是类似的,例如 Commandname.gz sourcename
三文件打包
系统复制零碎文件的速度和复制视频文件的速度,大家都深有体会吧!我们怎么让复制零碎文件具有复制单个文件的速度呢!把文件打包成一个大文件后复制保存。
Linux中的打包命令tar。Tar的格式
Tar <option> name.tar sourcename Option的选项 -c 创建包 -f 递归 -x 解包 -g 创建包的同时,以gzip压缩包 -j 创建包的同时,以bz2压缩包 -J 创建包的同时,以xz压缩包 Tar命令的简单用法 Tar xf name.tar.[gz|bz2|xz] 直接解压解包
总结
归档工具很少但是特别强大,归档前寻找数据采用适当的工具,可以快速的定位我们需要的文件,压缩工具已经内嵌到了tar内。
遗忘的find的用法
-name -amin -name "文件名称":支持使用glob *, ?, [], [^] -iname "文件名称":不区分字母大小写 -inum n 按inode号查找 -samefile name 相同inode号的文件 -links n 链接数为n的文件 -regex "PATTERN":以PATTERN匹配整个文件路径字符串,而不仅仅是文件名称 -ls:类似于对查找到的文件执行“ ls-l”命令 -delete:删除查找到的文件; -fls file:查找到的所有文件的长格式信息保存至指定文件中 -ok COMMAND {} \; 对查找到的每个文件执行由 COMMAND指定的命令; 对于每个文件执行命令之前,都会交互式要求用户确认 -exec COMMAND {}\; 对查找到的每个文件执行由COMMAND指定的命令 {}: 用于引用查找到的文件名称自身 find传递查找到的文件至后面指定的命令时,查找到所有符合条件的文件一次性传递给后面的命令 find | xargsCOMMAND