代码之家  ›  专栏  ›  技术社区  ›  Anil Namde

如何使用unix ls命令列出特定权限的文件?

  •  2
  • Anil Namde  · 技术社区  · 14 年前

    我想在一个非只读的目录或驱动器中递归地查看所有文件。

    我想这样做,因为我正在使用明确的案例,我想检查将添加到源代码管理或查看私人文件的文件。

    即使是一个明确的案例命令也会有所帮助,谢谢。对于明确的具体情况,我尝试了“ls-vob-u only”命令,但没有得到帮助,或者我没有使用它,所以我觉得使用unix命令可能会有所帮助。

    3 回复  |  直到 14 年前
        1
  •  2
  •   heijp06    14 年前
    find . -type f -perm -o=r
    
        2
  •  1
  •   Vijay    14 年前
    find . -type f -perm 
    

    有关详细信息,请查看-perm选项的手册页。

        3
  •  0
  •   Community CDub    7 年前

    ClearCase中的提交文件实际上是只读的。

    如果通过“非只读”指向尚未添加到视图中的私有文件,则可以从 looking for private files ,基于递归上的grep规则 ls

    cleartool ls -r -nxn
    

    这比“只读”条件更安全,因为私有文件也可以是只读的(即使它们“尚未签入”,但尚未由ClearCase管理)。

    递归背后的思想 LS 显示与视图中所有文件关联的所有规则。

    • 没有规则 表示“私有”(文件是否为只读)
    • Rule: ...\aBranch\LATEST 意味着它是承诺的(顺便说一下,是只读的)
    • Rule: CHECKEDOUT 表示已提交,但正在修改(读写,但没有任何内容阻止用户在不签入的情况下再次将其设置为只读)
    • Rule: hijacked/eclipsed :已提交,但在未签出的情况下进行了修改(读写,但同样可以在不通知ClearCase的情况下变为只读)

    因此,您可以根据ClearCase规则(或缺少该规则)从该列表中grep实际需要的任何文件集。