kurokirasama Asked: 2018-06-29 18:17:42 +0800 CST2018-06-29 18:17:42 +0800 CST 2018-06-29 18:17:42 +0800 CST linux 相当于 dir /b /s /a:-D (递归打印所有文件的完整路径) 772 我今天刚迁移到 linux,我想知道如何使用 ls 命令来做到这一点(你最擅长的是什么)。这个想法是获取目录中具有完整路径的所有文件,包括子目录......我使用的 cmd 命令是: dir /b /s /a:-D linux shell 1 个回答 Voted Best Answer steeldriver 2018-06-29T19:10:42+08:002018-06-29T19:10:42+08:00 据我所知,您的命令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)
据我所知,您的命令
dir
下降到/S
子目录(/B
/A:-D
在 Linux 中执行此操作的可移植方式是通过
find
命令 - 默认情况下它会下降到子目录,并且可以通过添加-not -type d
(!
可以用作 的同义词-not
)来省略目录默认情况下,它报告相对于起点的路径,因此要获取绝对路径,您可以使用 shell 的当前工作目录变量
PWD
:如果您使用的 shell 支持递归模式匹配(又名“globstar”)和 glob 限定符,还有其他选项 -
zsh
例如,您可以这样做或者干脆
您可能还需要考虑您是否真的想要“不是目录”或“普通文件”:
或 (zsh)