linux - 如何为用户查找文件和目录并排除 NFS 挂载和 NFS 挂载的符号链接(symbolic link)?

标签 linux bash find

我想查找并更改用户帐户及其在本地文件系统上的默认组,但不包括大量 NFS 安装和指向这些安装的符号链接(symbolic link)。 我尝试了多种语法但没有成功 -

find / -user dummyadm -print \( -fstype nfs -o type l \) -prune 

求助!

最佳答案

听起来您正在寻找 -xdev 选项,或其同义词 -mount。这会导致 find 避免从一个文件系统跨越到另一个文件系统。符号链接(symbolic link)在任何情况下都不是问题,因为 find 的默认行为是遍历符号链接(symbolic link)。然而,这可能意味着您需要命名所有要遍历的文件系统根目录。例如,如果 /home/tmp 都在不同的(本地)文件系统上,那么您可能会这样做

find / /home /tmp -xdev -user dummyadm ...

或者,如果你想使用 -fstype 测试,那么你应该将它与 -not 结合使用,而不是尝试使用 -prune 与它:

find / -user dummyadm -not -fstype nfs ...

关于linux - 如何为用户查找文件和目录并排除 NFS 挂载和 NFS 挂载的符号链接(symbolic link)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38708178/

相关文章:

linux - 检测 Mongod 的端口何时在脚本中打开

regex - Notepad++ - 使用正则表达式查找某些空格并将其替换为逗号

bash - UNIX/shell 脚本中的字符串连接

regex - Bash:使用正则表达式提取范围(也许是 sed?)

linux - 当子进程退出时父进程在 Linux 中畅通无阻,如何让父进程调用等待?

linux - debian 的 NDMP 守护进程

ruby-on-rails - 使用复选框过滤列表

ruby-on-rails - Ruby on Rails : How to set up "find" options in order to not use cache

linux - 将 puppet 与 vagrant 一起使用时,是否有必要在第一个 vagrant up 之后使用 --no-provision 运行下一个 vagrant up?

c++ - Windows 与 Linux GCC argv[0] 值