linux中文件查找:find

来源:互联网 发布:vscode mysql 编辑:程序博客网 时间:2024/06/07 11:44

1、查找可执行的命令:which

举例:

which ls      执行ls命令相当于执行 /bin/ls

root@namenode:~# which ls/bin/ls
which ps

root@namenode:~# which ps/bin/ps

2、查找可执行命令和帮助的位置:whereis

root@namenode:~# whereis lsls: /bin/ls /usr/share/man/man1/ls.1.gz
root@namenode:~# whereis psps: /bin/ps /usr/share/man/man1/ps.1.gz

3、查找文件:locate

locate   文件名

root@namenode:~# locate vi.file/root/vitest/.vi.file.swp/root/vitest/vi.file

4、从某个文件夹开始查找:find

find  文件夹目录  -name  “文件名称(可以使用匹配模式)”

find:查询当前目录相当于  find ./    不指定默认为当前路径

find /:查询根目录

find ./vitest :查询当前目录下的vitest文件夹

find ./vitest -name "vi*" :查询当前目录的vitest文件夹中文件名称以vi开头的文件

root@namenode:~# find ./vitest -name "vi.file*" -ls814987    4 -rw-r--r--   1 root     root          374  5月  8 15:13 ./vitest/vi.file814985    4 -rw-r--r--   1 root     root          748  5月  8 15:22 ./vitest/vi.file2
-ls参数,显示文件的详细信息包括权限,所属用户以及所属组

5、查找并删除

1)-ok参数

-ok rm {} \;  删除的过程中有提示,y删除,n取消

root@namenode:~# find ./vitest -name "vi.file" -ok rm {} \;< rm ... ./vitest/vi.file > ? y
2)-exec参数

-exec rm {} \;查找到直接删除,没有提示


root@namenode:~# ll ./vitest总用量 24drwxr-xr-x  2 root root  4096  5月  8 16:27 ./drwx------ 11 root root  4096  5月  8 15:23 ../-rw-r--r--  1 root root   748  5月  8 15:22 vi.file2-rw-r--r--  1 root root 12288  5月  8 15:23 .vi.file.swproot@namenode:~# ls ./vitestvi.file2root@namenode:~# find ./vitest -name "vi.file2" -exec rm {} \;root@namenode:~# ll ./vitest总用量 20drwxr-xr-x  2 root root  4096  5月  8 16:30 ./drwx------ 11 root root  4096  5月  8 15:23 ../-rw-r--r--  1 root root 12288  5月  8 15:23 .vi.file.swp

6、查找所属用户的文件:-user

find 查找路径  -user  用户 

root@namenode:~# find ./vitest -user root ./vitest./vitest/vi.fileroot@namenode:~# find ./vitest -user root -ls814985    4 drwxr-xr-x   2 root     root         4096  5月  8 16:35 ./vitest814987    4 -rw-r--r--   1 root     root           18  5月  8 16:35 ./vitest/vi.file
查询vitest文件夹下root用户的文件

7、查找所属组的文件:-group

find 查找路径 -group 组名

root@namenode:~# find ./vitest -user root -group root./vitest./vitest/vi.fileroot@namenode:~# find ./vitest -user root -group root -ls814985    4 drwxr-xr-x   2 root     root         4096  5月  8 16:35 ./vitest814987    4 -rw-r--r--   1 root     root           18  5月  8 16:35 ./vitest/vi.file
查询vitest文件夹下所属root组的文件

8、查找指定组的用户的文件:-a(并且)

find 查找目录  -user 用户 -a -group 组名

root@namenode:~# find ./vitest -user root -a -group root ./vitest./vitest/vi.fileroot@namenode:~# find ./vitest -user root -a -group root -ls814985    4 drwxr-xr-x   2 root     root         4096  5月  8 16:35 ./vitest814987    4 -rw-r--r--   1 root     root           18  5月  8 16:35 ./vitest/vi.fileroot@namenode:~# find ./vitest -user root -a -group root -name "vi.file" -ls814987    4 -rw-r--r--   1 root     root           18  5月  8 16:35 ./vitest/vi.file

9、查找所属用户或所属组的文件:-o(或)

find 查找路径 -user 用户 -o  -group 组名

root@namenode:~# find ./vitest -user root -o -group root./vitest./vitest/vi.file

10、查找指定文件类型的文件:-type

文件类型(d:文件夹,f:文件,l:链接)

find 查找目录  -type   文件类型

root@namenode:~# find ./vitest -type d./vitestroot@namenode:~# find ./vitest -type f./vitest/vi.fileroot@namenode:~# find ./vitest -type l

11、命令组合查找:查找用户为root或者(-o)拥有组为root并且(-a)是文件夹类型的文件

find 查找路径  -user 用户  -o -group 组名 -a -type d

root@namenode:~# find ./vitest -user root  -a -type f -o -group root -a -type f./vitest/vi.fileroot@namenode:~# find ./vitest -user root  -a -type d -o -group root -a -type d./vitest

12、查找指定权限的文件:-perm

find 查找路径 -perm 权限等级

root@namenode:~# ll ./vitest/vi.file-rw-r--r-- 1 root root 18  5月  8 16:35 ./vitest/vi.fileroot@namenode:~# find ./vitest -perm 644 ./vitest/vi.fileroot@namenode:~# find ./vitest -perm 644 -ls814987    4 -rw-r--r--   1 root     root           18  5月  8 16:35 ./vitest/vi.fileroot@namenode:~# find ./vitest -perm 777

13、显示命令历史:history命令

14、查询指定用户的passwd信息:grep命令

root@namenode:~# grep root /etc/passwdroot:x:0:0:root:/root:/bin/bashroot@namenode:~# grep hadoop /etc/passwdhadoopuser:x:1001:1001:,,,:/home/hadoopuser:/bin/bashhadoop:x:1002:1002::/home/hadoop:/bin/bash













0 0