Linux下在当前目录以及子目录下查找某个文件,使用find命令怎么表示这个目录层次 ?

时间:2022-12-16 12:08:15
大家好! 我想在Linux下在当前目录以及子目录下查找某个文件, 应该写成 “find ./ -name ” 还是写成"find . -name " , 我想问的的是这里的"./"和"."的区别是什么 ? 都可以表示当前目录以及子目录的递归查询吗 ?

15 个解决方案

#1


没区别,都是当前目录.

#2


没区别,就像 /root 和 /root/的区别那样。

#3


引用
都可以表示当前目录以及子目录的递归查询吗 ?

你亲自动手做个试验什么都明白了

#4


都是一样的。

#5


其实我是想知道,有时执行一个可执行文件,例如可执行的脚本文件test.sh的时候,我们可以用"./test.sh", 为什么不能用".test.sh" 呢 ?

#6


引用 5 楼 powerwbj 的回复:
其实我是想知道,有时执行一个可执行文件,例如可执行的脚本文件test.sh的时候,我们可以用"./test.sh", 为什么不能用".test.sh" 呢 ?

不会有文件名字是./test.sh  但是会有文件名 是 .test.sh 所以用./test.sh 不会有歧义,用.test.sh就会有歧义了。
说白了这就是一种约定,只要遵守约定来使用就行了。

#7


引用 5 楼 powerwbj 的回复:
其实我是想知道,有时执行一个可执行文件,例如可执行的脚本文件test.sh的时候,我们可以用"./test.sh", 为什么不能用".test.sh" 呢 ?

export PATH=$PATH:.

执行这个命令之后,就不用./test.sh了,直接test.sh就行了。

#8


引用 5 楼 powerwbj 的回复:
其实我是想知道,有时执行一个可执行文件,例如可执行的脚本文件test.sh的时候,我们可以用"./test.sh", 为什么不能用".test.sh" 呢 ?
这就好比/bin/和/bin都表示同一个路径,你可以/bin/ls执行ls命令,但不能/binls执行命令,.和./也类似,就像6楼说的那样

#9


表示目录的时候多个/都会被忽略

/b//////a
/b/a

等价的

#10


引用 6 楼 louyong0571 的回复:
Quote: 引用 5 楼 powerwbj 的回复:

其实我是想知道,有时执行一个可执行文件,例如可执行的脚本文件test.sh的时候,我们可以用"./test.sh", 为什么不能用".test.sh" 呢 ?

不会有文件名字是./test.sh  但是会有文件名 是 .test.sh 所以用./test.sh 不会有歧义,用.test.sh就会有歧义了。
说白了这就是一种约定,只要遵守约定来使用就行了。
 没有看明白您说的是什么意思,什么叫“不会/会有文件名字” ?

#11


引用 10 楼 powerwbj 的回复:
说白了这就是一种约定,只要遵守约定来使用就行了。
 没有看明白您说的是什么意思,什么叫“不会/会有文件名字” ?
不用理会
先记着
慢慢自己就懂了

#12


引用 11 楼 ljc007 的回复:
Quote: 引用 10 楼 powerwbj 的回复:

说白了这就是一种约定,只要遵守约定来使用就行了。
 没有看明白您说的是什么意思,什么叫“不会/会有文件名字” ?

不用理会
先记着
慢慢自己就懂了
解释一下嘛

#13


引用 6 楼 louyong0571 的回复:
Quote: 引用 5 楼 powerwbj 的回复:

其实我是想知道,有时执行一个可执行文件,例如可执行的脚本文件test.sh的时候,我们可以用"./test.sh", 为什么不能用".test.sh" 呢 ?

不会有文件名字是./test.sh  但是会有文件名 是 .test.sh 所以用./test.sh 不会有歧义,用.test.sh就会有歧义了。
说白了这就是一种约定,只要遵守约定来使用就行了。

什么叫“不会有文件名字是./test.sh  但是会有文件名 是 .test.sh ” ? 请解释一下嘛 

#14


引用 13 楼 powerwbj 的回复:
Quote: 引用 6 楼 louyong0571 的回复:

Quote: 引用 5 楼 powerwbj 的回复:

其实我是想知道,有时执行一个可执行文件,例如可执行的脚本文件test.sh的时候,我们可以用"./test.sh", 为什么不能用".test.sh" 呢 ?

不会有文件名字是./test.sh  但是会有文件名 是 .test.sh 所以用./test.sh 不会有歧义,用.test.sh就会有歧义了。
说白了这就是一种约定,只要遵守约定来使用就行了。

什么叫“不会有文件名字是./test.sh  但是会有文件名 是 .test.sh ” ? 请解释一下嘛 

如果用.test.sh 系统怎么知道你指的是文件.test.sh   还是test.sh
用./test.sh 就没这样的问题咯。

#15


谢谢大家的回复!

#1


没区别,都是当前目录.

#2


没区别,就像 /root 和 /root/的区别那样。

#3


引用
都可以表示当前目录以及子目录的递归查询吗 ?

你亲自动手做个试验什么都明白了

#4


都是一样的。

#5


其实我是想知道,有时执行一个可执行文件,例如可执行的脚本文件test.sh的时候,我们可以用"./test.sh", 为什么不能用".test.sh" 呢 ?

#6


引用 5 楼 powerwbj 的回复:
其实我是想知道,有时执行一个可执行文件,例如可执行的脚本文件test.sh的时候,我们可以用"./test.sh", 为什么不能用".test.sh" 呢 ?

不会有文件名字是./test.sh  但是会有文件名 是 .test.sh 所以用./test.sh 不会有歧义,用.test.sh就会有歧义了。
说白了这就是一种约定,只要遵守约定来使用就行了。

#7


引用 5 楼 powerwbj 的回复:
其实我是想知道,有时执行一个可执行文件,例如可执行的脚本文件test.sh的时候,我们可以用"./test.sh", 为什么不能用".test.sh" 呢 ?

export PATH=$PATH:.

执行这个命令之后,就不用./test.sh了,直接test.sh就行了。

#8


引用 5 楼 powerwbj 的回复:
其实我是想知道,有时执行一个可执行文件,例如可执行的脚本文件test.sh的时候,我们可以用"./test.sh", 为什么不能用".test.sh" 呢 ?
这就好比/bin/和/bin都表示同一个路径,你可以/bin/ls执行ls命令,但不能/binls执行命令,.和./也类似,就像6楼说的那样

#9


表示目录的时候多个/都会被忽略

/b//////a
/b/a

等价的

#10


引用 6 楼 louyong0571 的回复:
Quote: 引用 5 楼 powerwbj 的回复:

其实我是想知道,有时执行一个可执行文件,例如可执行的脚本文件test.sh的时候,我们可以用"./test.sh", 为什么不能用".test.sh" 呢 ?

不会有文件名字是./test.sh  但是会有文件名 是 .test.sh 所以用./test.sh 不会有歧义,用.test.sh就会有歧义了。
说白了这就是一种约定,只要遵守约定来使用就行了。
 没有看明白您说的是什么意思,什么叫“不会/会有文件名字” ?

#11


引用 10 楼 powerwbj 的回复:
说白了这就是一种约定,只要遵守约定来使用就行了。
 没有看明白您说的是什么意思,什么叫“不会/会有文件名字” ?
不用理会
先记着
慢慢自己就懂了

#12


引用 11 楼 ljc007 的回复:
Quote: 引用 10 楼 powerwbj 的回复:

说白了这就是一种约定,只要遵守约定来使用就行了。
 没有看明白您说的是什么意思,什么叫“不会/会有文件名字” ?

不用理会
先记着
慢慢自己就懂了
解释一下嘛

#13


引用 6 楼 louyong0571 的回复:
Quote: 引用 5 楼 powerwbj 的回复:

其实我是想知道,有时执行一个可执行文件,例如可执行的脚本文件test.sh的时候,我们可以用"./test.sh", 为什么不能用".test.sh" 呢 ?

不会有文件名字是./test.sh  但是会有文件名 是 .test.sh 所以用./test.sh 不会有歧义,用.test.sh就会有歧义了。
说白了这就是一种约定,只要遵守约定来使用就行了。

什么叫“不会有文件名字是./test.sh  但是会有文件名 是 .test.sh ” ? 请解释一下嘛 

#14


引用 13 楼 powerwbj 的回复:
Quote: 引用 6 楼 louyong0571 的回复:

Quote: 引用 5 楼 powerwbj 的回复:

其实我是想知道,有时执行一个可执行文件,例如可执行的脚本文件test.sh的时候,我们可以用"./test.sh", 为什么不能用".test.sh" 呢 ?

不会有文件名字是./test.sh  但是会有文件名 是 .test.sh 所以用./test.sh 不会有歧义,用.test.sh就会有歧义了。
说白了这就是一种约定,只要遵守约定来使用就行了。

什么叫“不会有文件名字是./test.sh  但是会有文件名 是 .test.sh ” ? 请解释一下嘛 

如果用.test.sh 系统怎么知道你指的是文件.test.sh   还是test.sh
用./test.sh 就没这样的问题咯。

#15


谢谢大家的回复!