Linux
linux 相當於 dir /b /s /a:-D (遞歸列印所有文件的完整路徑)
我今天剛遷移到 linux,我想知道如何使用 ls 命令來做到這一點(你最擅長的是什麼)。這個想法是獲取目錄中具有完整路徑的所有文件,包括子目錄……我使用的 cmd 命令是:
dir /b /s /a:-D
據我所知,您的命令
dir
下降到/S
子目錄(/B``/A:-D
在 Linux 中執行此操作的可移植方式是通過
find
命令 - 預設情況下它會下降到子目錄,並且可以通過添加-not -type d
(!
可以用作 的同義詞-not
)來省略目錄預設情況下,它報告相對於起點的路徑,因此要獲取絕對路徑,您可以使用 shell 的目前工作目錄變數
PWD
:find "$PWD" -not -type d
如果您使用的 shell 支持遞歸模式匹配(又名“globstar”)和 glob 限定符,還有其他選項 -
zsh
例如,您可以這樣做ls -1d **/*(^D:A)
或者乾脆
printf '%s\n' **/*(^D:A)
您可能還需要考慮您是否真的想要“不是目錄”或“普通文件”:
find "$PWD" -type f
或 (zsh)
printf '%s\n' **/*(.:A)