
文件查找与文件管理学习大纲
文件的搜索
常用的文件操作指令
文件的压缩与解压压缩
文件的备份
文件在备份时压缩与解压
1、文件的搜索
可执行文件的搜索
locate搜索文件
find搜索文件
find条件查询
对查找到的文件进一步操作
1.1、可执行文件的搜索
在Linux系统中,有成百上千个指令,不同的指
令对应的指令文件,又放在不同的目录里。如果快速地查找指令的绝对路径是相当重要的。which <指令>
显示一个指令的完整路径与别名。
whereis <指令>
搜索一个指令的完整路径以及其帮助文件。
1.2、locate搜索
在Linux系统中存在一个数据库,在这个数据库
中保存了系统中所有文件的绝对路径。用户就可以使用下面的命令来查询文件的完整路径。
语法:locate[关键字]
这个指令会将文件名或目录名中包含有此关键字的
路径全部显示出来。
用户刚创建的文件系统不会立即加入数据库中
,用户可以通过updatedb指令来手动的更新这个数据库。
1.3、Find查询的描述
find是一个相当重要的查询文件绝对路径的指令
语法:find <路径> <选项> [表达式]
find查找文件的特点:
从指定路径下递归向下搜索文件。
支持按照各种条件方式搜索。
支持对搜索得到的文件再进一步的使用指令操作(例
如:删除、统计大小、复制等)。
1.4、Find条件查询
find <路径> <参数> [表达式]
重要选项:
-name根据文件名寻找文件
-user根据文件拥有者寻找文件
-group根据文件所属组寻找文件
-perm根据文件权限寻找文件
-size根据文件大小寻找文件[±Sizek]
-type根据文件类型寻找文件,常见类型有:
f(普通文件) 、c(字符设备文件)、b(块设备文件)、l(连接文件)、d(目录)
-o 表达式或
-and表达式与
-not 表达式非
1.5、对查找到的文件进一步操作
语法
find [路径] [参数] [表达式] -exec 指令 {} \\;
{}代表find找到的文件
\\ 转意
;表示本行指令结束
例:find /etc –name “host*” –exec du –h {} \\;2、常用的文件操作指令
head / tail more / less 文件的查看
wc统计文件的行、词、字数
grep显示文件中匹配关键字的行
sort按序重排文本并送显示
uniq去除文件中相邻的重复的行
tr转换字符
cut显示文件中的某一列
paste将文本按列拼接
2.1、文件查看指令
在第二间讲中,我们说了一个指令“cat”,用于
连接并显示文件的内容。
但是如果一个文件的内容相当多的时候,一屏
就显示不完了。我们可以使用下面的指令来指令显示文件的内容以及分屏显示文件的内容。
head与tail,指定显示文件的前面几行内容与后面几
行内容。
more与less,分屏显示文件的内容。
2.2、文件操作指令(wc)
功能说明:计算字数
语 法:wc [选项] <文件...>
补充说明:利用wc指令我们可以计算文件的字
符数、单词数以及行数,若不指定文件名称、或是所给予的文件名为“-”,则wc指令会从标准输入设备读取数据。
常用选项:
-c只显示文件的字符数。
-l只显示行数。
-w只显示单词数。
2.3、文件操作指令(grep)
功能说明:查找文件里符合条件的字符串。
语 法:grep [选项] <关键字> <文件…>
常用选项:
-c计算匹配关键字的行数
-i忽略字符大小写的差别
-n显示匹配的行及其行号
-s不显示不存在或不匹配文本的错误信息
-h查询多个文件时不显示文件名
-l查询文件时只显示匹配字符所在的文件名
2.4、文件操作指令(sort)
功能说明:将文本文件内容加以排序
语 法:sort [选项] <文件>
常用选项:
-o <输出文件> 将排序后的结果存入指定的文件
-r 以相反的顺序来排序
-t <分隔字符>指定排序时所用的栏位分隔字符。
+<起始栏位> -<结束栏位> 以指定的栏位来排序,
范围由起始栏位的后一栏到结束栏位2.5、文件操作指令(uniq)
功能说明:合并文件中相邻的重复的行
语 法:uniq[选项] [文件]
常用选项:
-c 在每行旁边显示该行重复出现的次数
-d 仅显示重复出现的行列
-u 仅显示出一次的行列
2.6、文件操作指令(tr)
功能说明:转换字符
语 法:cat 文件 | tr[选项]
常用选项:
-s 把连续重复的字符以单独一个字符表示
2.7、文件操作指令(cut)
功能说明:显示文件中的某一列
语法:cut <选项> 文件
常用选项:
-d 指定分隔符
-f 指定显示某一列
-c 指定几个字符对应的列
2.8、文件操作指令(paste)
功能说明:合并文件的列
语 法:paste[选项] [文件1] [文件2]
补充说明:paste指令会把每个文件以列对列的
方式,一列列地加以合并。
常用选项:
-d 用指定的间隔字符取代跳格字符
-s 串列进行而非平行处理
3、文件的压缩与解压缩
文件的压缩与解压指令
.gz与.bz系列指令
3.1、文件的压缩与解压指令gzip,gunzip
Linux标准压缩工具
对文本文件可以达到75%的压缩率
例:
gzip man.config
gunzip man.config.gz
bzip2,bunzip2
更新的Linux压缩工具
比gzip有着更高的压缩率
例:
bzip2 httpd.conf.bk
bunzip2 httpd.conf.bk.bz23.2、不解压显示压缩文件的内容
对于用gzip压缩的文件,有一系列以z开头的指
令,可以在不经解压的情况下,就直接显示文件的内容。
zcat:直接显示压缩文件的内容
zless:直接逐行显示压缩文件的内容
对于用bzip压缩的文件,也有一系列以bz开头
的文件。
bzcat:直接显示压缩文件的内容
bzless:直接逐行显示压缩文件的内容
4、tar指令
功能说明:用于建立、还原备份文件的工具,它也可以
加入或解开备份文件内的文件。有时也称之为“打包”。
语法:tar<选项>【文件|目录】
常用选项:
c创建包
v将过程输出
x解出包
t显示tar文件的内容
r在tar文件尾部追加文件
z用gzip压缩或解压文件
j用bzip压缩或解压文件
f指定备份文件名
-T从指定的文件中读取欲打包的文件路径
-C将文件备份到指定的目录
5、文件在备份时压缩与解压解压
备份时压缩
#tar jcvf test.tar.bz test* ( j:使用bzip2 )
#tar zcvf test.tar.gz test* ( z:使用gzip )
解压备份文件
#tar jxvf test.tar.bz -C /tmp(j:使用bzip2 )
#tar zxvf test.tar.gz -C /tmp(z:使用gzip )
练习(1)
查找“useradd”指令的绝对路径。
搜索“/etc”目录下大于500Kb的文件,并显示出每
个文件的大小。
使用一个普通用户在“/tmp”目录下创建10个文件
(文件名不能相似),然后用一个相对简单的办法将这10个文件的权限改为“rwxrw-r-x”。
查询“/etc”当前目录中,文件名中包含有“host”
的文件,并将这些文件路径保存到
“/tmp/hostname”文件中。
练习(2)
只显示boot分区的分区名与使用百分比。
统计整个“/etc”目录中有多少个连接文件。
将/root目录备份到root.tar文件中。
将/boot目录压缩到boot.tar.gz文件中。
分别解开root.tar、boot.tar.gz到/tmp/rootbk/、
/tmp/bootbk/目录中。
结束
The End
Thanks
