我正在使用一个包含许多嵌套文件夹的目录,例如/path/to/project/users/me/tutorial
我在这里找到了一种向上浏览文件夹的巧妙方法: https://superuser.com/questions/449687/using-cd-to-go-up-multiple-directory-levels
但我想知道如何将它们记录下来。这似乎要困难得多,但目录结构的一些事情会有所帮助。每个目录中只有另一个目录,或者可能是一个目录和一个 README。
我正在寻找的目录看起来更像一个传统项目,其中可能包含随机目录和文件(肯定比任何其他更高级别的目录都多)。
现在我正在研究一个解决方案,使用呃.. 递归 bash 函数 cd'ing 进入下面唯一的目录,直到有 0 或 2+ 个目录循环。这还行不通..
我是不是太复杂了?我觉得使用 find 可能会有一些不错的解决方案。理想情况下,我希望能够输入如下内容:
down path
其中 path 是顶级文件夹。这将带我进入底部文件夹教程。
最佳答案
有一个名为CDPATH
的环境变量。 cd
使用此变量的方式与可执行文件在搜索路径名时使用 PATH
的方式相同。
例如,如果您有以下目录:
/path/to/project/users/me
/path/to/project/users/me/tutorial
/path/to/project/users/him
/path/to/project/users/him/test
/path/to/project/users/her
/path/to/project/users/her/uat
/path/to/project/users/her/dev
/path/to/application
/path/to/application/conf
/path/to/application/bin
/path/to/application/share
export CDPATH=/path/to/project/users/me:/path/to/project/users/him:/path/to/project/users/her:/path/to/application
cd tutorial
等简单命令将在上述路径中搜索 tutorial
。
假设 /path/to/application
下面有目录,即 conf
、bin
、share
。一个简单的 cd conf
将把你带到 /path/to/application/conf
只要它之前的路径都没有 conf
目录。此行为类似于 PATH
中的可执行文件。第一次出现的总是被选中
关于linux - 转到最底部的目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40351599/