注:以下內容是個人學習總結,請尊重原作者版權,詳情請看—《鳥哥的Linux私房菜-基礎學習篇(第四版)》
1、相對路徑和絕對路徑
相對路徑:從當前工作目錄開始
絕對路徑:從"/"開始
2、處理目錄命令:cd、pwd、mkdir、rmdir
cd:切換工作目錄
pwd:顯示當前的工作路徑
mkdir:創建目錄
rmdir:刪除空目錄
3、文件於目錄的查看:ls
選項:-a、-d、-l
4、複製文件或目錄:cp
選項:-a、-i、-p、-r
5、刪除文件或目錄:rm
選項:-f、-I、-r
6、移動文件和文件重命名:mv
選項:-f、-u、-i
7、獲取路徑的文件名和目錄命:basename、dirname
獲取文件名:basename
獲取目錄命:dirname
8、文件查看:cat、more、less、od
cat:直接查看文本
選項:-n
more:只能向下翻頁查看文本內容
/字符串:向下查找字符串
b:回翻
less:可以向上向下查看文本內容
/字符串:向下查找
?字符串:向上查找
od:非純文本文件
9、數據截取:head、tail
head:從開始截取
選項:-n
tail:從尾部開始截取
選項:-n
10、創建文件touch
說明:touch這個命令是通過改變時間戳來進行的創建
這裏有三個時間:
修改時間(mtime):內容發生改變時,這個時間會變
狀態時間(atime):文件權限發生改變隨之而變
讀取時間(ctime):如cat讀取文件則會改變
選項:-a、-c、-d、-m、-t
11、文件隱藏屬性:
lsattr:顯示文件隱藏屬性
chattr:設置文件隱藏屬性,通過+,-來設置權限
chattr選項:a、i
12、文件默認權限:umask
說明:默認權限是通umask碼來設置的
文件的默認權限:666
目錄的默認權限:777
通過文件或目錄的默認權限減去umask碼
(當然umask碼會顯示4個數字:0022,比如這樣的,第一個數字權限爲SUID和SGID,後面有所介紹)
選項:-s
13、***SUID和SGID、SBIT(僅用於目錄)的介紹:
上面說到這兩個特殊的權限,先說明:SUID爲4、SGID爲2、SBIT爲1
SUID的限制:
**
- 執行者要對這個文件有執行權限;
- SUID權限僅對二進制程序有效
- 本權限只在執行的過程中有效
- 執行者將具有程序擁有者的權限
**
例如:
大家都知道如果想修改密碼就必須對/etc/shadow這個文件作出修改,這個文件只有root才能夠修改,當然普通用戶修改密碼也會寫入到/etc/shadow這文件,那麼爲什麼普通用戶又有權限對自己的密碼進行修改呢(可以有權限修改/etc/shadow這個文件)?
來看看/etc/shadow的權限:
再來看看/usr/etc/passwd文件的權限:
你會發現一個s在裏面,那就對了。這個就是SUID
/bin/cat文件的權限:
這裏沒有任何的特殊權限,重點來了:對於/usr/etc/passwd這個文件來說,文件的屬主有個特殊權限爲SUID,而你是屬於其他人,對這個文件只有執行權限,但是因爲有SUID特殊權限所以你在執行/usr/bin/passwd改密碼時會暫時獲得/usr/etc/passwd文件屬主的權限,屬主是root,所以你在執行改密碼的時候就會獲得root的權限,而root的權限可以對/etc/shadow進行修改,也就是這樣/etc/shadow裏面關於用戶密碼也就更新了。(usr/bin/passwd和/etc/shadow裏面都有關於用戶密碼的信息。)
同理,爲什麼普通用戶不能查看etc/shadow裏面的內容,因爲對於/bin/cat這個執行文件沒有SUID特殊權限。而查看/etc/shadow內容也只有root可以做到。
SGID的限制: - SGID對二進制程序有用
- 執行者對於該程序來說要有x權限
- 執行者在執行過程中獲得該程序用戶組的支持
以這兩個文件來說明/usr/bin/locate /var/lib/mlocate/mlocate.db
這個和SUID非常相似,如果使用一個普通用戶來執行/usr/bin/locate則它會取得slocate的所屬組的身份,從而就可以查看/var/lib/mlocate/mlocated.db
這個在所屬組上面的s就是SGID;
SGID也可以對目錄有效 - 用戶若對此目錄有x和w權限時,該用戶可以進入該目錄
- 用戶在此目錄下的有效用戶組則會變成該目錄的用戶組(注意此用戶並沒有獲得用戶組的權限)
- 此目錄的用戶組下有w權限,那麼這個用戶創建文件的屬組也是該目錄的屬組
SBIT的限制 - 當用戶對於此目錄有w、x權限時,既有寫入的權限
- 當用戶在該目錄下面創建文件或目錄時,只有root和本人才能對自己的文件和目錄進行刪除
t則是SBIT特殊權限。
14.文件類型:file 後接文件
15.腳本文件的查找:which
which是根據定義的PATH環境變量來查找
通過which可以獲得命令的完全路徑,如 which ls
16.文件的查找:whereis,locate/updatedb,find
whereis:有一些特定文件目錄來查找文件
選項:
-l,-b,-m,-s,-u
-l:主要查找的幾個目錄
locaet/updatedb:
該命令是通過文件數據庫(datedb)來查找文件
手動更新數據庫:uodateup
- updatedb:根據/etc/updatedb.conf的設置去找系統磁盤,並且更新/var/lib/mlocate數據庫文件
- locate:依據/var/lib/mlocate內的數據庫記錄,來查找文件
find:
這個命令比前面兩個查找速度都慢,因爲它是直接遍歷磁盤來查找,會消耗一定的資源
用法:find PATH 選項
命令比較強大,可以通過man手冊來獲取幫助
(幾個小選項:-gid,-uid,-name,-size,-perm)