Abd*_*red 14 command-line find
我想执行一个脚本来挑选一个随机目录路径:
find / -type d | shuf -n1
Run Code Online (Sandbox Code Playgroud)
不幸的是,我收到有关禁止进入某些目录的错误消息。
如何使用 find 从搜索中排除目录?
Gil*_*il' 18
要排除特定路径,在 Linux 上:
find / -path /sys -prune -o -path /proc -prune -o -type d
Run Code Online (Sandbox Code Playgroud)
另一种方法是告诉find不要在不同的文件系统下递归。
find / -xdev -type d
Run Code Online (Sandbox Code Playgroud)
您还可以使用locate来查询文件名数据库(通常每晚更新,您也可以使用 手动更新它updatedb)而不是实时系统。
locate '*' | shuf -n 1
Run Code Online (Sandbox Code Playgroud)
小智 7
使用 GNU find 您也可以使用正则表达式选项,例如:
find / -regextype posix-extended -regex "/(sys|srv|proc)" -prune -o -type d
Run Code Online (Sandbox Code Playgroud)