Linux學習:鳥哥的私房菜---第6章 Linux文件與目錄管理

注:以下內容是個人學習總結,請尊重原作者版權,詳情請看—《鳥哥的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)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章