linux使用find查找文件目录(如何查找某路径下名称含指定词的所有文件或目录)
linux使用find查找文件目录(如何查找某路径下名称含指定词的所有文件或目录)如果找文件内容含指定词,则使用grep命令。如果找文件名称含有指定词,则使用find命令。find . -group root找到某路径下占用空间超过1G的所有文件find . -type f -size 1Gfind命令的常用命令选项-print: 使用换行符(\n)分隔找到的文件或目录。-print0: 使用字符'\0'分隔找到的文件或目录。通常结合xargs -0一起使用。当所找的文件名或目录名含空格时,使用-print0。-name: 用于指定目录或文件的名称。-type d: 只找目录。-type f: 只找文件。不使用-type: 不但找目录也找文件。-user: 指定所找文件或目录的属主。-group: 指定所找文件或目录的属组。-exec: 每找到一个文件或目录都执行一遍-exec后面指定的命令。-size: 用于指定所找文件占用的硬盘空间大小。-size
方法1# 查找某路径下名称含指定词的全部文件,-type f指定只找文件
find ./ -type f -name "*data*"
# 查找某路径下名称含指定词的全部目录,-type d指定只找目录
find ./ -type d -name "*data*"
# 查找某路径下名称含指定词的全部文件和全部目录,不使用-type,则不但找文件也找目录
find ./ -name "*data*"
方法1
方法2find . | grep 'data'
方法3
ls -l ./ | awk '{print $9}' | grep 'data'
方法2和方法3
find命令的其他使用场景找到某路径下属主为root的所有文件和目录
find . -user root
找到某路径下属组为root的所有文件和目录
find . -group root
找到某路径下占用空间超过1G的所有文件
find . -type f -size 1G
find命令的常用命令选项
- -print: 使用换行符(\n)分隔找到的文件或目录。
- -print0: 使用字符'\0'分隔找到的文件或目录。通常结合xargs -0一起使用。当所找的文件名或目录名含空格时,使用-print0。
- -name: 用于指定目录或文件的名称。
- -type d: 只找目录。
- -type f: 只找文件。
- 不使用-type: 不但找目录也找文件。
- -user: 指定所找文件或目录的属主。
- -group: 指定所找文件或目录的属组。
- -exec: 每找到一个文件或目录都执行一遍-exec后面指定的命令。
- -size: 用于指定所找文件占用的硬盘空间大小。-size只对文件起作用,对目录是不起作用的。
find命令除了上面的命令选项之外,还有很多命令选项,可以通过执行man find命令查到有哪些命令选项以及如何使用这些命令选项。
find命令和grep命令的区别find和grep的区别本质上就是文件名称和文件内容的区别。
如果找文件名称含有指定词,则使用find命令。
如果找文件内容含指定词,则使用grep命令。