2013-04-12 65 views
1

我想算僅是可執行文件的文件,只算可執行文件在Linux中不是所有具有執行權限

我試圖

grep -lR '^--x' * | wc -l 

但是這也算具有可執行權限的文件但不是真正可執行的。

什麼是正確的方法是什麼?

+1

是什麼意思有executab le權限但不是真的可執行文件? – FatalError

+0

@FatalError我讀了線的3倍......沒得到什麼意思.... – Kent

+0

還您正則表達式(除了'-'應該是'.')只是爲業主可執行....做你真的是這個意思嗎?無論組和每個人都有'x'嗎? – Kent

回答

1

您可以隨時使用帶有選項

這將只打印可執行文件在/ tmp位置

一些find命令
find /tmp -perm +111 -type f | wc -l</ br> 

對於目錄

find /tmp -perm +111 -type d | wc -l</ br> 
+0

一張紙條,'-perm + xxx'已自2005年棄用,並在最近的版本不再支持。您現在應該使用'-perm/111'來代替。 – John5342

0

的可執行文件,並在UNIX上的未可執行文件之間的唯一區別是「可執行」標誌。 一個與標誌文件始終可執行。但是,可能沒有什麼可以解釋這種類型的文件,但這不是Unix的問題:-)

+0

目錄是可執行的? –

+1

的確是這樣,你通過進入它執行它。在Unix中,一切都是一個文件。目錄是一個可以包含其他文件的文件。執行這個文件/目錄,打開它以顯示其中的其他文件。 – Borniet

0

您可能想忽略文件類型([bcd-])和rw標誌。 (還可以使用ls生成數據,並grep對其進行過濾。):

ls -lR | grep '^...x' | wc -l 
相關問題