linux - 如何使用 ls 在 bash 中获取可执行文件的名称

标签 linux bash file terminal ls

我尝试使用 ls -l 获取可执行文件的名称。 然后我尝试使用 grep -w x 获取带有 x 的 ls -l 行,但结果不正确:缺少一些可执行文件(.sh)。

我只需要可执行文件的名称而不是路径,但我不知道如何...

    user@user-K53TA:~/Bureau$ ls -l
total 52
-rwxrwxrwx 1 user user   64 oct.   6 21:07 a.sh
-rw-rw-r-- 1 user user   11 sept. 29 21:51 e.txt
-rwxrwxrwx 1 user user  140 sept. 29 23:42 hi.sh
drwxrwxr-x 8 user user 4096 juil. 30 20:47 nerdtree-master
-rw-rw-r-- 1 user user  492 oct.   6 21:07 okk.txt
-rw-rw-r-- 1 user user 1543 oct.   6 21:07 ok.txt
-rw-rw-r-- 1 user user  119 sept. 29 23:27 oo.txt
-rwxrwxr-x 1 user user 8672 sept. 29 21:20 prog
-rw-rw-rw- 1 user user  405 sept. 29 21:23 prog.c
-rw-rw-r-- 1 user user    0 sept. 29 21:58 rev
drwxrwxr-x 3 user user 4096 sept. 29 20:51 sublime

 user@user-K53TA:~/Bureau$ ls -l | grep -w x
drwxrwxr-x 8 user user 4096 juil. 30 20:47 nerdtree-master
-rwxrwxr-x 1 user user 8672 sept. 29 21:20 prog
drwxrwxr-x 3 user user 4096 sept. 29 20:51 sublime

最佳答案

Don't parse ls .这可以通过 find 来完成。

find . -type f -perm /a+x

这会找到设置了任何可执行位的文件:用户、组或其他。

关于linux - 如何使用 ls 在 bash 中获取可执行文件的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32978153/

相关文章:

c# - C#和多线程逻辑

linux - 没有覆盖 -n 被 cp 命令忽略

linux - 从终端提示中删除 "unset"

linux - Ubuntu 中的 PATH 变量设置在哪里?

linux - 无法在 bash 脚本中正确设置环境变量 LD_PRELOAD

java - 使用 BufferedReader 将文件内容存储在 Integer 的 ArrayList 中

linux - NO_PUBKEY 和 KEYEXPIRED

linux sed,如何删除剩下的字?

linux - 如何将 GCE 用户添加到保留成员身份的组?

java - 声明静态 FileWriter 和 FileReader