linu命令進階篇
預備知識:
本實驗要求實驗者具備如下的相關知識。
前面我們學習了linux的檔案系統,瞭解的檔案系統的結構,也學了linux檔案的屬性和許可權,以及其設定。
當我們執行命令操作一個檔案的時候,卻不知道這個檔案為何種檔案怎麼辦呢?
當我們執行一個指令,我們想知道這個指令是放在哪個目錄裡面的。該怎麼辦呢?
當我們要找一個檔案,卻不知道它在哪兒,該怎麼辦呢?
所有我們這節實驗就是要解決以上的問題。
分別會學到:檔案型別檢視命令:file ;搜尋命令:which,whereis,以及find命令。
本實驗需要登陸系統後,請使用“useradd heetian”建立一個使用者,以便後面的實驗。
許可權與指令直接的關係:之前我們有講過許可權與使用者,檔案直接的關係。那麼我們接下來說一下什麼指令在什麼樣的許可權下才能夠執行吧。(極其重要!!!)
1、讓使用者進入某個目錄成為工作目錄的基本許可權:
可使用的指令:例如cd等改變工作目錄的命令
目錄所需許可權:使用者對這個目錄至少需要具有x許可權
額外需求:如果使用者想要在這個目錄內利用ls列出檔案,則使用者對此目錄還需要r的許可權
2、使用者在某個目錄內讀取一個檔案的基本許可權:
可用命令:例如cat,more,less等
目錄所需許可權:使用者對該目錄至少需要具有x許可權
檔案所需目錄:使用者對檔案至少需要具有 r 的許可權才行
3、讓使用者修改一個檔案的許可權:
可使用的指令:如vim編輯器等
目錄所需許可權:使用者對該目錄至少具有x許可權
檔案所需許可權:使用者對該檔案至少具有r,w許可權
4、讓一個使用者可以建立一個檔案的許可權:
目錄所需許可權:使用者對該目錄至少需要w,x許可權
5、讓使用者進入某個目錄並執行該目錄下的某個命令所需許可權:
目錄所需許可權:該使用者在該目錄至少需要x許可權
檔案所需許可權:使用者對該檔案至少需要x許可權。
命令:file
語法:file [-bLvz] 檔案
解釋:-b:顯示結果,但是不顯示檔名稱
-L:直接顯示符號連結所指向的檔案的型別
-v:顯示版本資訊
-z:測試去讀取壓縮檔案的內容
直接file 檔案,不加任何引數可以顯示檔案型別。
linux命令搜尋之which命令
命令:which
語法:which [-a] 命令
檔案查詢命令
命令之一:whereis
語法:whereis [-bmsu] 目錄或檔名
解釋:-b:只找binary(二進位制)格式的檔案
-m:只找在說明檔案manual路徑下的檔案
-s:只找source來源檔案
-u:搜尋不在上述三個專案當真的其他特殊檔案.
我們在用whereis和locate 查詢檔案時,有時會找到已經被刪除的資料,或者剛剛建立檔案,卻無法查詢到,原因就是因為資料庫檔案沒有被更新
命令之二:locate
語法:locate [-ir] keyword
解釋:-i :忽略大小寫
-r :使用正規運算式做尋找的條件
3.
命令之find
語法:find [路徑] [option] [action]
解釋:find的引數有很多,我們介紹簡單一點的,更多用法記得man find 。
與時間相關的選項:-atime,-ctime和-mtime,以-mtime說明:
-mtime n :n 為數字
-mtime +n :n天之前(不含n天本身)
-mtime -n:n天之內(含n天本身)
-nwer file:file為一個存在的檔案,列出比file更新的檔案。
find相關的時間的意義:
find [路徑] -name 名稱
找出 /etc/下 名為passwd的檔案
三.分析與思考:
1.which檢視可執行檔案的位置
whereis檢視檔案的位置
locate配 合數據庫檢視檔案位置
find實際搜尋硬碟查詢檔名稱