如何列出我的主目录中的公共文件?(模式 777)

Eig*_*ght 7 permissions command-line bash home-directory

我想在我的主文件夹中的所有文件的列表中,有rwx(读写执行)或777级权限的每个人

另外,知道文件权限的命令是什么?

ish*_*ish 12

从终端:

  • 默认情况下,终端会在您的主目录中打开。从其他任何地方,键入cd ~以返回主目录。

  • ls -l 将在开始时向您显示文件权限,例如

    -rwxr-xr-x 1 izx izx 11217428 Oct 2 2011 wkhtmltoimage-amd64

第一种方法:将手表和学习方式

  • 然后您可以使用 grep 过滤以获得您想要的结果:

    ls -l | grep -P ".{7}rwx.*"
    Run Code Online (Sandbox Code Playgroud)
    • 这里的正则表达式告诉 grep 只选择字符 8-10 所在的行 rwx
  • 在我的主目录中显示:

    -rwxrwxrwx 1 izx izx 0 Jun 15 23:42 sd.png
    -rwxrwxrwx 1 izx izx 0 Jun 15 23:42 slashdot.png
    drwxrwxrwx 3 izx izx 4096 Jun 15 21:31 src
    

第二种方法:正确的递归方式

  • 在您的主目录中,键入 find . -perm -a+rwx

    • 您告诉find查看当前(主)目录和所有子目录,以查找所有文件rwx;结果将显示完整的相对路径,例如
    ./.mozilla/firefox/lr5z24b3.default/lock
     ./src
    ./src/accountsservice-0.6.15/src/libaccountsservice/.libs/libaccountsservice.so
    ./src/accountsservice-0.6.15/src/libaccountsservice/.libs/libaccountsservice.la
    ./src/accountsservice-0.6.15/src/libaccountsservice/.libs/libaccountsservice.so.0
    ./src/accountsservice-0.6.15/debian/libaccountsservice-dev/usr/lib/libaccountsservice.so
    ./src/accountsservice-0.6.15/debian/libaccountsservice0/usr/lib/libaccountsservice.so.0
    ./src/accountsservice-0.6.15/debian/tmp/usr/lib/libaccountsservice.so
    ./src/accountsservice-0.6.15/debian/tmp/usr/lib/libaccountsservice.so.0
    ./.pulse/676238f89edd1f57138b3da400000004-runtime
    ./sd.png 
    ./slashdot.png
    ./XnView/lib/libQtGui.so.4
    ./XnView/lib/libQtWebKit.so.4
    ./XnView/lib/libQtXml.so.4
    ./XnView/lib/libQtDBus.so.4
    ./XnView/lib/libQtNetwork.so.4
    ./XnView/lib/libQtCore.so.4
    ./XnView/lib/libQtSvg.so.4
    
  • 主目录中的粗体条目也出现在第一种方法中。


有关使用find来完成您想要的操作的更多方法,请参阅Eliah Kagan 的答案,就在这个答案的上方或下方。