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

时间:2010-07-22 10:02:09

标签: unix clearcase

我希望在目录或驱动器中以递归方式查看所有文件,这些文件不是只读的。

我想这样做,因为我正在使用明确的案例,我想检查要添加到源代码控制或查看专用文件的文件。

即使是明确的案例命令也会有所帮助。为了明确具体情况,我尝试了“ls -vob_only”命令,但没有帮助,或者我没有使用它,所以觉得使用UNIX命令可能会有所帮助。

3 个答案:

答案 0 :(得分:2)

find . -type f -perm -o=r

答案 1 :(得分:1)

find . -type f -perm 

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

答案 2 :(得分:0)

ClearCase中的已提交文件确实是只读的。

如果“不只读”是指您尚未添加到视图中的私有文件,则可以looking for private files开头,基于递归 ls

cleartool ls -r -nxn

这比“只读”标准更安全,因为私有文件也可以只读(即使它们“尚未登记”,尚未由ClearCase管理)

递归ls背后的想法是显示与视图的所有文件关联的所有规则。

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

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