Linux常用命令(第二版) 文件搜索命令

本文发布时间: 2019-Mar-22
文件搜索命令1、which/usr/bin/which#显示系统命令所在目录,绝对目录,不能查找文件格式:which [系统命令]e.g.which ls 附-whereis:也可以查找到命令的绝对路径与whereis不同,which会列出这个命令的别名记录,而whereis会显示出这个命令的帮助文档所在位置2、find/usr/bin/find#查找文件或目录,任何文件皆可,如图片,压缩包等语法:find [搜索路径] [搜索选项] filenamea)find /etc -name 文件名#-name 最常见的选项find /etc -name init// 在目录/etc中查找文件init文件注意:1-尽量缩小查找范围,不要在根目录下查找,不然:1、查找速度非常慢;2、占用大量系统资源.2-占用系统资源越少越好,而且尽量在服务器压力较小时用find进行查找.3-find .. -name 查找结果与Windows不同,如:Windows会把所有包含init关键词的文件全都列出来而Linux则只会匹配init关键词4-使用通配符:*:用于匹配任意字符find /etc -name init*#查找所有以init开头的文件find /etc -name *init* #init左右都没有空格,用于查找所有包含init关键词的文件?:用于匹配单个字符find /etc -name init???#这个文件会有七个字符。find /etc -name ?init?? b)find /etc -size 文件大小 #他是以数据块为单位的!512字节 = 0.5KB, 1K = 2Blocks 100M=?blocks100M = 102400K = 102400*2blocksE.gfind /etc -size +204800 #在/etc下查找大于80MB大于100MB的文件find /etc -size -204800#在/etc下查找大于80MB小于100MB的文件find /etc -size 204800#在/etc下查找等于100MB的文件,不常用! c)find /etc -user username查找属于username的文件find /home/xiaofang/Programme/Data_Structure/ -user xiaofang d)通过时间值查找:1、以天为单位:ctime,atime,mtime2、以分钟为单位:cmin,amin,mmin#更为常用c-change改变:表示文件的属性被修改过,比如:所有者,所属组,权限a-access访问:文件被浏览过m-modify修改:文件内容被修改过-多长时间之内,+超过多少时间E.g.find /etc -mtime -1find /etc -amin -60find /home -cmin -120 e)find /etc -type 文件类型#根据文件类型查找f二进制文件l软链接文件d目录E.g.find /etc -type ffind /etc -type l f)-inum#根据i节点进行查找 E.g.touch -- -abc#删除:rm -- -abctouch “a b”#删除:rm “a b”find . -inum 159341find . -inum 159341 -exec rm -f {} \;#找到i节点为159341的文件,并删除它 附-find连接符:1、-a:and逻辑与-o:or逻辑或E.g.find /etc -size +163840 -a -size 204800#查找>80M,<100M的文件find /etc -name init* -a -type f#查找名为init并且为二进制的文件,并不包含目录 2、find ….. -exec 命令 {} \;#固定格式,只能这样来写{}:find的查询结果\ :转义符-使得符号命令使用本身的含义;:语句结束 e.g.find /etc -name inittab -exec ls -l {} \; #在/etc下查找inittab文件并显示其详细信息find /home -user sax -exec rm -rf {} \;#删除用户sax所有的文件find /home -user sax -ok rm -rf {} \;#-ok连接符#删除用户sax所有的文件,他会提示你是否确认find /etc -name init* -ok rm -rf {} \; 3、locate[list file in databases]:/usr/bin/locate说明:#是Linux所特有的命令,寻找文件或目录,最好用于快速定位系统命令,配置文件等#虽然搜索速度很快,但有时候会找不到#locate是在文件数据库中查找的,所以速度会很快#但是如果数据库没有包含这个文件的话,他就会找不到; 格式:locate [搜索关键字] 配合:updatedb [update a database for mlocate]:/usr/bin/updatedb#建立整个系统目录文件的数据库 注意:其执行权限为:root!!! 4、grep:/bin/grep#在文件中搜寻字串匹配的行并输出格式:grep [指定字串] [源文件] E.g.grep ftp /etc/services 附:grep功能特别强大,支持正则表达式,她的更加具体的介绍请参考我的另一篇博文:《四天精通Shell编程(二)》


(以上内容不代表本站观点。)
---------------------------------
本网站以及域名有仲裁协议。
本網站以及域名有仲裁協議。

2024-Mar-04 02:10pm
栏目列表