linux 文件查找命令 汇总

locate

只能按照文件名搜索 速度快,因为由一个文件索引 updaedb  find是全部遍历

缺点,数据不及时 比如新建的文件 立即找不到,必须强制更新 mlocate.db

强制更新 数据库  updaedb

locate  配置文件  /etc/updatedb.conf

 

PRUNE_BIND_MOUNTS=”yes”   yes 下面的规则全部都生效  no 全都不生效

# PRUNENAMES=”.git .bzr .hg .svn”  忽略 该种格式的文件更新

PRUNEPATHS=”/tmp /var/spool /media /home/.ecryptfs /var/lib/schroot”   这种目录中更新的文件不搜索

PRUNEFS=”NFS nfs nfs4 rpc_pipefs afs binfmt_misc proc smbfs autofs iso9660 ncpfs coda devpts ftpfs devfs mfs shfs sysfs cifs lustre tmpfs usbfs udf fuse.glusterfs fuse.sshfs curlftpfs ecryptfs fusesmb devtmpfs”

不筛选/搜索 如上系统格式类型

命令找命名  whereis   which

whereis  -b 只显示命令位置  -m只显示文档位置  更多选项  whereis  –help

zhang@zhangleitao:/tmp$ whereis pwd
pwd: /bin/pwd /usr/include/pwd.h /usr/share/man/man1/pwd.1.gz

which

centos6.5:

[root@AY140703205709916892Z ~]# which cd
/usr/bin/which: no cd in (/usr/local/mysql5.5/bin/:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/root/bin)

[root@AY140703205709916892Z ~]# echo $PATH
/usr/local/mysql5.5/bin/:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/root/bin

ubuntu16.04

which cd   没有任何提示

cd是shell内置的命令 不属于linux系统命令

 

find 过于强大

按照名称搜索 find  path    -name  文件名  区分大小写    -iname  文件名 不区分大小写

搜索属于精准匹配  想模糊搜索可以用通配符   * 任意字符”*abcd*”含有abcd的文件  “?abcd”开头任意一个字符结尾是abcd的     ” e[abcd]” 开头是e结尾是 a   或 b 或 c 或d 的文件

按照文件归属搜索   find path -user  root  搜索属于 root 用户的文件         -nouser 搜索没有文件归属的文件

在 linux中除了 内核产生的文件  目录proc sys 内的   以及外来文件 如 光盘 移动硬盘 U盘等   其它没有归属的文件都是垃圾文件

按照I节点查询   find path -inum i节点号

i节点号可以用 ls -i 查看

1
2
3
4
5
6
7
8
9
zhang@zhangleitao:/tmp$ ls -i
4587531 config-err-NyoEOL
4587561 fcitx-socket-:1
4587609 grilo-plugin-cache-I2NHZY
4587608 grilo-plugin-cache-PM1OZY
 
zhang@zhangleitao:/tmp$ sudo find -inum 4587531
./config-err-NyoEOL
zhang@zhangleitao:/tmp$

按照时间搜索  find path -atime  10 十天前这24小时内访问的文件    -10十天内被访问的文件  +10 10天之前被访问的文件

-ctime 表示 改变时间

-mtime 修改时间

搜索 前两天 到前一天被修改的文件 可以用  -a  表示 and  -o  表示 or  -exec 命令  {} \ ;固定格式 表示处理前面命令执行的结果交给第二个命令处理{} 和 \之间由空格

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
zhang@zhangleitao:/tmp$ sudo find . -mtime -2 -a -mtime -1 -exec ls -lh {} \;
总用量 60K
-rw------- 1 zhang zhang    0 5月   6 02:00 config-err-NyoEOL
srw------- 1 zhang zhang    0 5月   6 02:00 fcitx-socket-:1
drwx------ 2 zhang zhang 4.0K 5月   6 11:56 grilo-plugin-cache-I2NHZY
drwx------ 2 zhang zhang 4.0K 5月   6 11:56 grilo-plugin-cache-PM1OZY
drwx------ 2 zhang zhang 4.0K 5月   6 11:56 grilo-plugin-cache-SPBOZY
drwxr-xr-x 2 zhang zhang 4.0K 5月   7 18:27 hsperfdata_zhang
drwx------ 2 zhang zhang 4.0K 5月   7 21:58 kde-zhang
srwxrwxrwx 1 mysql mysql    0 5月   6 01:59 mysql.sock
drwx------ 2 root  root  4.0K 5月   6 01:59 pulse-PKdhtXMmr18n
-rw------- 1 zhang zhang   23 5月   6 23:03 sess_1pdkp3lucqfc17v9594ki5e1r7
-rw------- 1 zhang zhang   14 5月   6 02:10 sess_nnibu71ifg1chs9qc31it3g1h5
-rw-rw-rw- 1 zhang zhang    5 5月   6 02:00 sogou-qimpanel:1.pid
srwxrwxr-x 1 zhang zhang    0 5月   6 02:00 sogou-qimpanel-cellzhang
srwxrwxr-x 1 zhang zhang    0 5月   6 02:00 sogou-qimpanelzhang
drwx------ 3 root  root  4.0K 5月   6 01:59 systemd-private-661861c3157e49ce9961578d277c1337-colord.service-aeIKQQ
drwx------ 3 root  root  4.0K 5月   6 01:59 systemd-private-661861c3157e49ce9961578d277c1337-rtkit-daemon.service-cUVaxz
drwx------ 3 root  root  4.0K 5月   6 01:58 systemd-private-661861c3157e49ce9961578d277c1337-systemd-timesyncd.service-Ux01pR
drwx------ 2 zhang zhang 4.0K 5月   7 21:59 tracker-extract-files.1000
drwxrwxrwt 2 root  root  4.0K 5月   6 01:59 VMwareDnD
drwx------ 2 root  root  4.0K 5月   6 01:59 vmware-root
总用量 4.0K
-rw-rw-r-- 1 zhang zhang 110 5月   7 21:58 xauth-1000-_1
-rw-rw-r-- 1 zhang zhang 110 5月   7 21:58 ./kde-zhang/xauth-1000-_1
总用量 0
总用量 0
zhang@zhangleitao:/tmp$

按照大小搜索 find path  -size 文件大小

10k (k小写)   10M(m大写)  10 占用10个数据块  大小的文件  ,这个数据块不是硬盘格式化的时候那个 4k  对其的数据块 而是扇区和磁道 交叉形成的那个数据块 (每一个固定512字节) 所以10 就代表是 5120字节大小的文件

还有 +10k表示大于 10k的文件  -10k 表示小于10k的文件

找 后缀是 zip的文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
zhang@zhangleitao:~/下载$ find -name "*.zip"
./bootstrap-datetimepicker-master.zip
./plupload-master.zip
./wangEditor-2.1.23.zip
./bootstrap-datepicker-master.zip
./icheck-1.x (1).zip
./201505091706.zip
./hdjs/Dev/cal/cal.zip
./layer-v3.0.3.zip
./icheck-1.x.zip
./mobile-upload-master.zip
./Discuz_X3.3_SC_UTF8.zip
./bootstrap-wysiwyg-master.zip
./NewIndex.zip
./plupload-2.3.1.zip
./wysiwyg-editor-master.zip
./PhotoSwipe-master.zip
./simditor-emoji-master.zip
./simditor-2.3.6.zip
zhang@zhangleitao:~/下载$

 

找后缀是zip 并且 大于 2M的文件  小于 25M的文件

1
2
3
4
zhang@zhangleitao:~/下载$ find . -name "*.zip" -a  -size +2M -a -size -25M  -exec ls -lh {} \;
-rw-rw-r-- 1 zhang zhang 2.9M 4月  26 17:26 ./wangEditor-2.1.23.zip
-rw-rw-r-- 1 zhang zhang 11M 5月   6 09:13 ./Discuz_X3.3_SC_UTF8.zip
-rw-rw-r-- 1 zhang zhang 4.0M 4月  27 12:59 ./simditor-emoji-master.zip

 

查找结尾是.tgz 且占用 218个数据块的文件(很别扭计算半天)

1
2
zhang@zhangleitao:~/下载$ find . -name "*.tgz" -a -size 218  -exec ls -lh {} \;
-rw-rw-r-- 1 zhang zhang 109K 4月  19 18:09 ./apcu-5.1.8.tgz

 

 

 

 

未经允许不得转载:开心乐窝-乐在其中 » linux 文件查找命令 汇总

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏