linux中 find . -name和find -name有啥区别啊!我执行命令结果是一样的,求指教

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux中 find . -name和find -name有啥区别啊!我执行命令结果是一样的,求指教相关的知识,希望对你有一定的参考价值。

1、find是用来查找文件或目录。首先看一下最简单的用法直接根据路径来查找文件。命令详解:find +(路径)+(文件名或目录名),注意不要在 /(根)目录下查找文件,最好在查找的时候精确一点。

2、“-name”命令详解:find + (路径) -name (文件名或目录名)。

3、参数“*”,“*”可以匹配任意值包括空值,在搜索文件的时候有多种用法,用于搜索模糊记忆的文件,图中的 “abc*”指的是以abc开头的文件或目录名。命令详解:find+ (路径) -name +abc*

4、*abc*所指的是包含abc的文件名,无论是abc开头的文件、结尾的文件或者是文件或目录中包含abc的文件,这里都会显示出来。命令详解:find+ (路径) -name +*abc*。

5、*de 所指的是就是以de结尾的文件,那么用find查找出来的结果就只有结尾是de的文件或者目录名。命令详解:find+ (路径) -name +*de。

参考技术A find . -name是指在当前命令的执行目录下进行查找,而find -name应该会报错的吧,按find命令的规则来说的话。建议还是用前面的命令。 参考技术B find 命令语法:
find[path...] [expression]

所以第一个参数是要搜索的目录,如果省略了目录,则查找当前目录。
在Linux shell 里, 一个点号 . 可以代表当前目录,两个点号 .. 代表父目录。

所以这两条命令是等价的。
参考技术C 用法: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression]
默认路径为当前目录;默认表达式为 -print
表达式可能由下列成份组成:操作符、选项、测试表达式以及动作:
操作符 (优先级递减;未做任何指定时默认使用 -and):
( EXPR ) ! EXPR -not EXPR EXPR1 -a EXPR2 EXPR1 -and EXPR2
EXPR1 -o EXPR2 EXPR1 -or EXPR2 EXPR1 , EXPR2
位置选项 (总是真): -daystart -follow -regextype
普通选项 (总是真,在其它表达式前指定):
-depth --help -maxdepth LEVELS -mindepth LEVELS -mount -noleaf
--version -xdev -ignore_readdir_race -noignore_readdir_race
比较测试 (N 可以是 +N 或 -N 或 N): -amin N -anewer FILE -atime N -cmin N
-cnewer 文件 -ctime N -empty -false -fstype 类型 -gid N -group 名称
-ilname 匹配模式 -iname 匹配模式 -inum N -ipath 匹配模式 -iregex 匹配模式
-links N -lname 匹配模式 -mmin N -mtime N -name 匹配模式 -newer 文件
-nouser -nogroup -path PATTERN -perm [+-]MODE -regex PATTERN
-readable -writable -executable
-wholename PATTERN -size N[bcwkMG] -true -type [bcdpflsD] -uid N
-used N -user NAME -xtype [bcdpfls]
-context CONTEXT
actions: -delete -print0 -printf FORMAT -fprintf FILE FORMAT -print
-fprint0 FILE -fprint FILE -ls -fls FILE -prune -quit
-exec COMMAND ; -exec COMMAND + -ok COMMAND ;
-execdir COMMAND ; -execdir COMMAND + -okdir COMMAND ;
认真看下咯~

.这个符号指代当前目录,..指代上一级目录。

参考资料:http://savannah.gnu.org

参考技术D find . -name 这句中的点是从当前目录开始,查找当前及其子目录
find -name 没有指明从哪个目录开始,那就从默认的当前目录开始查找了

以上是关于linux中 find . -name和find -name有啥区别啊!我执行命令结果是一样的,求指教的主要内容,如果未能解决你的问题,请参考以下文章

linux中怎样查看已安装的软件

linux系统中怎样卸载软件?

linux终端中第一行$后打啥

linux中如何删除文件

linux中如何编译c文件

linux 中 用gzip 如何压缩目录?