【问题标题】:find -type d and ls return different results on same directoryfind -type d 和 ls 在同一目录上返回不同的结果
【发布时间】:2017-05-31 19:19:05
【问题描述】:

我正在尝试寻找 find 会在 Ubuntu 16.04 上返回部分结果的原因。我有一个谷歌驱动器安装(使用plexdrive)位于 /home/用户/媒体

使用时

find $HOME/media -type d

返回 16 个结果。使用时

ls -d $HOME/media/*/

返回 186 个结果。这些文件夹都可以通过sftp和samba共享浏览,相关目录的所有权限都是775。媒体目录中的内容格式为

a/a.ext
b/b.ext
c/c.ext

之前有没有人见过这种类型的行为,或者对如何找到返回完整结果有任何线索?

【问题讨论】:

  • ls 将显示所有文件,而不仅仅是文件夹...
  • 对不起ls -d $HOME/media/* 是实际命令。我已经编辑了原始帖子。
  • 补充一点,find 在我系统的其他地方工作得很好,所以我认为这可能更像是 plexdrive 中的错误。
  • ls -d 仍将显示文件和文件夹...
  • -d 标志阻止ls 列出目录的内容。唯一包含的文件将是命令中定义的目录中存在的文件。 $HOME/media/ 中没有文件,只有目录。 ls -d $HOME/media/*/ls -d $HOME/media/* 确实返回完全相同数量的结果,并且每个子目录都有内容。

标签: find ubuntu-16.04 ls google-drive-realtime-api


【解决方案1】:

find 正在查看带有符号链接的目录时会发生这种情况。使用 -L 标志查看正确的文件夹结构。 find -L $HOME/media -type d

【讨论】:

    猜你喜欢
    • 2018-11-13
    • 1970-01-01
    • 2012-01-17
    • 1970-01-01
    • 2015-05-04
    • 1970-01-01
    • 2015-02-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多