Directory
您如何定義文件夾結構的“深度”?
這不是與任何軟體直接相關的問題,而是關於目錄樹深度的術語和定義的問題。
當我查看
find . -maxdepth 0
其工作原理時,似乎深度 0 處唯一的東西是.
. 如果您這樣做find . -maxdepth 1
,它會找到該目錄中的所有目錄和文件.
。這對我來說似乎違反直覺。我認為位於給定路徑根目錄的任何目錄或文件都將被認為位於樹的最低深度,即深度 = 0。但這似乎不是
find
命令的情況。採用以下類型的目錄結構:
/ /fileA.txt /home /home/fileB.txt /home/user /home/user/fileC.txt /home/user/morefiles /home/user/morefiles/fileD.txt
關於目錄/樹的深度,每個文件相對於根目錄有多深
/
?fileA.txt
深度是0 還是 1?/home
目錄呢?是fileC.txt
在深度 2 還是 3?ETC我想這個問題可以簡化為“文件和文件夾位於
/
(例如/fileA.txt
)深度 0 還是深度 1?” 是否有一個易於理解的解釋來解釋為什麼這樣定義?
從 的手冊頁中
find
,maxdepth
定義如下。-maxdepth 0 means only apply the tests and actions to the starting-points themselves.
因此,位於起始目錄中的文件或文件夾的深度為 1。在您的特定情況下
fileA.txt
,深度為 1。您
/home/user/fileC.txt
的深度為 3,/home
第一級也是如此,/home/user
是第二級,最後/home/user/fileC.txt
是第三級等級制度。關於你的問題為什麼它是這樣定義的?,對我來說,將所有文件和文件夾相對於搜尋開始的級別設置為 1 並且起點本身位於級別 0 才有意義。
在 IT 中,您通常從 0(零)開始計數,例如,很常見的是數組中的第一個元素由 0(零)引用。
在位置參數
shell
中$0
涉及呼叫 shell 或 scriptname。