Linux-命令的查find命令详解find命令 * 可以查⽂件和命令,可以模糊查和精确查,查的范围是整个Linux系统
find命令是⼀条五星级命令,默认到 / 下⾯查,因为linux所有⽂件都在 / ⽬录下⾯。
格式 : find 【查范围】【查条件】【动作】
【查范围】 默认根⽬录,也可以⾃⼰指定范围
【查条件】 -- 选项
常⽤查条件(选项)
-name : 按⽂件名称查。
-inname: 按⽂件名称查,不区分⼤⼩写。
-size : 按⽂件⼤⼩查。
-user: 按⽂件属主查。
-type: 按⽂件类型查。
-perm : 按⽂件权限查。
-mtime: 按⽂件更改时间查,以24⼩时为单位。
-mmin : 按⽂件更改时间查,以分钟为单位。
-maxdepth:按最⼤深度查。
-newer: 按⽐某个⽂件更新的查。
-name按名字查
-name默认是精确查
根据名字,查根⽬录下⾯的hello⽂件。
## find 是命令
/是查的位置
-name 是查的条件
hello是查的具体的名字
[root@localhost lianxi]# find / -name hello
/usr/bin/hello
/lianxi/hello
/lianxi/aa/bb/cc/dd/hello
/lianxi/aa/bb/cc/hello
/lianxi/aa/bb/hello
/lianxi/aa/hello
/wuxia/hello
/hello
/sanchuang/hello
如果想要模糊查,可以与通配符搭配使⽤。
例如查出所有以hello开头的⽂件,在hello后⾯加⼀个*号。
*代表任意个字符 --》个或者n个
使⽤通配符必须⽤引号将hello引起来,不然linux会将它当成⼀个路径。
这样就能把以hello开头的⽂件都出来,
[root@localhost lianxi]# find / -name  "hello*"
/boot/grub2/d
/usr/bin/hello
/usr/lib/grub/d
/usr/lib/golang/doc/
/lianxi/hello
/
lianxi/hello.c
/
/lianxi/aa/bb/cc/dd/hello
/lianxi/aa/bb/cc/hello
/lianxi/aa/bb/hello
/lianxi/aa/hello
/wuxia/hello
/jindafu/boot/grub2/d
/hello
/sanchuang/hello.c
/sanchuang/hello
/
如果想要查出名字⾥⾯包含hello的,就⽤通配符*将hello包含起来
[root@localhost lianxi]# find / -name  "*hello*"
/boot/grub2/d
/usr/bin/hello
/usr/lib/grub/d
/usr/lib/golang/doc/
/usr/lib64/python2.7/__phello__.foo.py
/usr/lib64/python2.7/__phello__.foo.pyc
/usr/lib64/python2.7/__phello__.foo.pyo
/usr/lib64/python3.6/__phello__.foo.py
/
usr/lib64/python3.6/__pycache__/__phello__.foo.cpython-36.opt-1.pyc
/usr/lib64/python3.6/__pycache__/__phello__.foo.cpython-36.opt-2.pyc
/usr/lib64/python3.6/__pycache__/__phello__.foo.cpython-36.pyc
/lianxi/hello
/lianxi/hello.c
/
/lianxi/aa/bb/cc/dd/hello
/lianxi/aa/bb/cc/hello
/lianxi/aa/bb/hello
/lianxi/aa/hello
/wuxia/hello
/
jindafu/boot/grub2/d
/hello
/sanchuang/hello.c
/sanchuang/hello
find查命令的使用/
-iname 按名字查,但是不区分⼤⼩写
⽤-iname时候它会将所有名字等于xiaomi的⽂件都出来,但是不区分⼤⼩写。
[root@localhost lianxi]# find / -iname xiaomi
/lianxi/XIAOMI
/lianxi/xiaomi
[root@localhost lianxi]#
-
size 按⽂件⼤⼩来查⿊洞⽂件 /dev/null
+1k  ⼤于kb的⽂件  k要⼩写
-1M ⼩于1Mb的⽂件
+1G ⼤于1G的⽂件
[root@localhost lianxi]# find . -size +1k
.
./.for.sh.swp
./sc_game_v2.sh
./passwd
[root@localhost lianxi]# find . -size -1M
./
.
/hello
./hello.c
./
./DAMI
./XIAOMI
./
./dami
./
./aa/bb/cc/dd/hello
./aa/bb/cc/hello
./aa/bb/hello
.
/aa/hello
./xiaomi
[root@localhost lianxi]#
2> /dev/null    意思是将错误的信息就丢到⿊洞⽂件⾥⾯去。
2>代表错误的输出重定向
/dev 是存放设备⽂件的⽬录 device
Linux ⾥每⼀个硬件会有⼀个⽂件和它对应,例如:⿏标,键盘,⽹卡,显⽰器,磁盘等设备    Linux⾥⾯⼀切皆⽂件
null 是⼀个Linux ⾥的⿊洞⽂件,任何的内容放到这个⽂件⾥都会消失,相当于⼀个垃圾处理站有些东西我们不想保存到磁盘⾥,也不想看到,所以我们定向到/dev/null
例如: 不加⿊洞⽂件之前
因为在/⽬录下⾯没有超过100M的⽂件,所以会产⽣报错信息。
[root@localhost lianxi]# find / -size +100M
/proc/kcore
find: ‘/proc/2719/task/2719/fd/6’: 没有那个⽂件或⽬录
find: ‘/proc/2719/task/2719/fdinfo/6’: 没有那个⽂件或⽬录
find: ‘/proc/2719/fd/5’: 没有那个⽂件或⽬录
find: ‘/proc/2719/fdinfo/5’: 没有那个⽂件或⽬录
/sys/devices/pci0000:00/0000:00:0f.0/resource1_wc
/sys/devices/pci0000:00/0000:00:0f.0/resource1
/usr/lib/locale/locale-archive
现在加⼊⿊洞⽂件,错误信息就全部都丢⼊⿊洞⽂件 /dev/null⾥⾯了。
[root@localhost lianxi]# find / -size +100M 2>/dev/null /proc/kcore
/
sys/devices/pci0000:00/0000:00:0f.0/resource1_wc /sys/devices/pci0000:00/0000:00:0f.0/resource1
/usr/lib/locale/locale-archive
[root@localhost lianxi]#
-user 根据属主来查
因为是在当前⽬录下⾯查的,所以只有这么多。
[root@localhost lianxi]# find . -user root
.
./.li
./.adwd
./bigfile.py
./prefix_name.sh
.
/hosts
./bbigfile.py
./luckygame.sh
./.for.sh.swp
./
./
./unluckygame.sh
./
./hello
./hello.c
./
.
/DAMI
./XIAOMI
./1.txt
./
./
./python
./python/python-test
./python/python-test/python.py
./backup
./dami
./rm_file.sh
.
/
./sc_game_v2.sh
./sc_game.sh
./aa
./aa/bb
./aa/bb/cc
./aa/bb/cc/dd
./aa/bb/cc/dd/hello
./aa/bb/cc/hello
./aa/bb/hello
./aa/hello
.
/xiaomi
./passwd
-type 根据⽂件类型来查
校招题⽬:
说说有哪⼏种⽂件类型
f 类型为⽂件 file
d 类型为⽂件夹(⽬录) directory
l 类型为链接⽂件 link
b 类型为块设备⽂件 block
c 类型为字符设备⽂件 character
p 类型为管道⽂件 pipe
s 类型为socket⽂件
[root@localhost lianxi]# find . -type f
./bigfile.py
./prefix_name.sh
./hosts
./bbigfile.py
./luckygame.sh
./.for.sh.swp
./
./
./unluckygame.sh
.
/
./hello
./hello.c
./
./DAMI
./XIAOMI
./1.txt
./
./
./python/python-test/python.py
./dami
.
/rm_file.sh
./
./sc_game_v2.sh
./sc_game.sh
./aa/bb/cc/dd/hello
./aa/bb/cc/hello
./aa/bb/hello
./aa/hello
./xiaomi
./passwd
[root@localhost lianxi]# find . -type d
.
./.li
./.adwd
./python
./python/python-test
./backup
./aa
./aa/bb
./aa/bb/cc
./aa/bb/cc/dd
-mtime 根据更改时间来查-mtime以24⼩时为单位
例如:查7天前修改过的⽂件:
find . -mtime +7 -type f
查7天以内修改过的⽂件:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。