1. 程式人生 > >linux 查詢可執行檔案

linux 查詢可執行檔案

轉自:https://www.cnblogs.com/binyue/p/4707948.html

Linux下的可執行檔案

Linux下如何查詢可執行檔案,作為一個Linux小菜剛剛有了這個問題,

在windows中,可以通過後綴名判斷是否是可執行檔案,比如.exe,.bat等是可執行檔案,但是在Linux下呢?

Linux下不能簡單根據檔案字尾判斷是否可執行。

linux下判斷一個檔案是否可執行,關鍵看是否有可執行許可權,比如:

在終端中輸入:ls -l ,會列出類似於下的列表:

-rwxrwxr-x 1 bingyue bingyue 48141 Jul 17 02:50 redis-trib.rb*
-rw-rw-r-- 1 bingyue bingyue 2163 Aug 5 23:34 release.c
drwxrwxr-x 2 bingyue bingyue 4096 Jul 22 20:03 Documents

  以下面輸出為例,下劃線區域說明了檔案的許可權,包括可讀、可寫、可執行等等。

【-】【rwx】【rwx】【r-x】 1 bingyue bingyue 2324109 Aug 5 23:35 redis-cli*

10個字元確定不同使用者能對檔案幹什麼:
第一個字元代表檔案(-)、目錄(d),連結(l)
其餘字元每3個一組(rwx),讀(r)、寫(w)、執行(x),分別說明檔案所有者(User)、檔案所有者所在的使用者組其他使用者(Group)、其他組使用者(Others)對該檔案擁有的許可權。

第一組rwx:檔案所有者的許可權 是讀、寫和執行
第二組rwx:與檔案所有者同一組的使用者的許可權是讀、寫和執行


第三組r-x:不與檔案所有者同組的其他使用者的許可權是讀和執行,不能寫

另外有部分檔案也可以通過後綴名判斷,比如redhat中,凡是.rpm格式的都能在redhat中執行,debian中.deb格式的在debianlinux中能直接執行。

如何查詢可執行檔案

使用
ls -F|grep "*"

Ubuntu下也可以使用

ll | grep "*"
ll不是linux下一個基本的命令,可以認為是ls -l的一個別名。

ls -F可以把檔案按照型別歸類,並且在末尾加上/ *等符號標識。
-F, --classify append indicator (one of */=>@|) to entries,
-F和--classify

選項可以對列表檢視檔案新增字尾。普通檔案不新增字尾,對可執行檔案新增*號,為目錄新增/號,為符號連結新增@號。
| 管道輸出,grep "*" 從中挑出以"*"結尾的行並輸出。

類似的,
使用ls -F|grep "/" 可以查詢目錄
使用ls -F|grep "@" 可以查詢軟連線

另外,使用ls -color 可以標識出可執行檔案:

例項輸出: