第六章、Linux文件與目錄管理

  • 目錄與路徑

    • 絕對路徑與相對路徑:略

    • 目錄的相關(guān)操作

      • 幾個特殊目錄

        • . 代表此層目錄
        • .. 代表上一層目錄
        • - 代表前一個工作目錄
        • ~ 代表『目前用戶身份』所在的家目錄
        • ~account 代表 account 這個用戶的家目錄(account 是個賬號名稱)
    • 幾個常見處理目錄的指令

      • cd(change directory, 變換目錄)

      • pwd(顯示目前所在的目錄)

        • 選項與參數(shù):
          1. [-P]:顯示出實際路徑而非(link)路徑
          
      • mkdir(建立新目錄)
        • 選項與參數(shù):
          1. -m:指定文件權(quán)限而不需要看預設(shè)權(quán)限(umask)
            eg:mkdir -m 711 file_name
          2. -p:直接將需要的目錄遞歸創(chuàng)建起來
            eg:mkdir -p a/b/c/d
          
      • rmdir(刪除[空]目錄)
        • 選項與參數(shù):
          1. -p:連同『上層』『空的』目錄也一起刪除
          
    • 關(guān)于執(zhí)行文件路徑的變量:$PATH

      + echo $PATH:顯示目前的PATH,執(zhí)行順序即搜到的順序
      + 添加PATH:PATH="${PATH}:/root"
      
      • 不同身份預設(shè)的PATH不同,默認能夠隨意執(zhí)行的指令也不同

  • 文件與目錄管理

    • 文件與目錄檢索:ls

      • 語法
        1. ls [-aAdfFhilnrRSt] 文件名或目錄名稱
        2. ls [--color={never,auto,always}] 文件名或目錄名稱
        3. ls [--full-time] 文件名或目錄名稱
        
      • 選項與參數(shù)
        1. -a :全部的文件, 連同隱藏檔( 開頭為 . 的文件) 一起列出來(常用)
        2. -A :全部的文件, 連同隱藏檔,但不包括 . 與 .. 這兩個目錄
        3. -d : 僅列出目錄本身,而不是列出目錄內(nèi)的文件數(shù)據(jù)(常用)
        4. -f :直接列出結(jié)果,而不進行排序 (ls 預設(shè)會以檔名排序! )
        5. -F :根據(jù)文件、目錄等信息, 給予附加數(shù)據(jù)結(jié)構(gòu),例如: *:代表可執(zhí)行文件; /:代表目錄; =:代表 socket 文件; |:代表 FIFO 文件;
        6. -h : 將文件容量以易讀的方式(例如 GB, KB 等等)列出來;
        7. -i :列出 inode 號碼;
        8. -l : 長數(shù)據(jù)串行出,包含文件的屬性與權(quán)限等等數(shù)據(jù); (常用)
        9. -n :列出 UID 與 GID 而非使用者與群組的名稱
        10. -r : 將排序結(jié)果反向輸出,例如:原本檔名由小到大,反向則為由大到小;
        11. -R : 連同子目錄內(nèi)容一起列出來,等于該目錄下的所有文件都會顯示出來;
        12. -S :以文件容量大小排序,而不是用檔名排序;
        13. -t :依時間排序,而不是用檔名。
        14. --color=never :不要依據(jù)文件特性給予顏色顯示;
        15. --color=always : 顯示顏色
        16. --color=auto : 讓系統(tǒng)自行依據(jù)設(shè)定來判斷是否給予顏色
        17. --full-time :以完整時間模式 (包含年、月、日、 時、分) 輸出
        18. --time={atime,ctime} : 輸出 access 時間或改變權(quán)限屬性時間 (ctime)而非內(nèi)容變更時間 (modification time)
        eg:ll -alF --color=never --full-time ~
        
    • 復制、刪除和移動:cp/rm/mv

      • 語法:
        1. cp [-adfilprsu] 來源文件(source) 目標文件(destination)
        2. cp [options] source1 source2 source3 .... directory
        
      • 選項和參數(shù)
        1. -a :相當于 -dr --preserve=all  (常用)
        2. -d :若來源文件為鏈接文件的屬性(link file), 則復制鏈接文件屬性而非文件本身;
        3. -f : 為強制(force)的意思,若目標文件已經(jīng)存在且無法開啟, 則移除后再嘗試一次;
        4. -i :若目標文件(destination)已經(jīng)存在時,在覆蓋時會先詢問動作的進行(常用)
        5. -l : 進行硬式連結(jié)(hard link)的連結(jié)檔建立,而非復制文件本身;
        6. -p : 連同文件的屬性(權(quán)限、用戶、 時間)一起復制過去,而非使用默認屬性(備份常用);
        7. -r : 遞歸持續(xù)復制,用于目錄的復制行為; (常用)
        8. -s :復制成為符號鏈接文件 (symbolic link);
        9. -u : destination 比 source 舊才更新 destination,或 destination 不存在的情況下才復制。
        10. --preserve=all :除了 -p 的權(quán)限相關(guān)參數(shù)外, 還加入 SELinux 的屬性, links, xattr 等也復制了。
        注:如果source有兩個以上,destination必須得是目錄
        
      • 在預設(shè)條件中,cp的源文件與目標文件的權(quán)限事不同的,目標文件的擁有者通常事指令操作者本身,三思而后復制哈哈
    • rm (移除文件或目錄)

      • 選線和參數(shù):
        1. -f:(force) ,忽略不存在的文件,不會出現(xiàn)警告訊息
        2. -i:刪除前詢問使用者
        3. -r:遞歸刪除
        
    • mv (移動文件與目錄,或更名)

      • 語法:
        1. mv [-fiu] source destination
        2. mv [options] source1 source2 source3 .... directory
        
      • 選項與參數(shù)
        1. -f:如果目標文件已經(jīng)存在,不會詢問而直接覆蓋
        2. -i:若目標文件 (destination) 已經(jīng)存在時,就會詢問是否覆蓋
        3. -u:若目標文件已經(jīng)存在,且 source 比較新,才會更新 (update)
        
    • 取得路徑的文件名與目錄名稱
      1. basename /etc/sysconfig/network-->network
      2. dirname /etc/sysconfig/network-->/etc/sysconfig
      

  • 文件內(nèi)容查閱

    • 直接查看文件內(nèi)容

      • cat(concatenate)

        選項與參數(shù):

        1. -A :等于 -vET
        2. -b :列出行號, 僅針對非空白行做行號顯示
        3. -E : 顯示結(jié)尾斷行符 $ 
        4. -n :列出行號, 連同空白行也會有行號
        5. -T : 將 [tab] 按鍵以 ^I 顯示出來;
        6. -v :列出一些看不出來的特殊字符
        
        
      • tac(反向顯示)

      • nl(添加行號打印)

        選項和參數(shù):

        1. -b :指定行號指定的方式,主要有兩種:
            -b a :表示不論是否為空行,也同樣列出行號(類似 cat -n);
            -b t :如果有空行,空的那一行不要列出行號(默認值);
        2. -n :列出行號表示的方法,主要有三種:
            -n ln :行號在屏幕的最左方顯示;
            -n rn :行號在自己字段的最右方顯示,且不加 0 ;
            -n rz :行號在自己字段的最右方顯示,且加 0 ;
        3. -w :行號字段的占用的字符數(shù)。
        
    • 可翻頁查看

      • more (一頁一頁翻動)

        選項和參數(shù):
        1. 空格鍵 (space):代表向下翻一頁
        2.  Enter :代表向下翻『一行』
        3.  /字符串 :代表在這個顯示的內(nèi)容當中,向下搜尋『字符串』這個關(guān)鍵詞
        4. f :立刻顯示出文件名以及目前顯示的行數(shù)
        5. q :代表立刻離開 more ,不再顯示該文件內(nèi)容
        6. b 或 [ctrl]-b :代表往回翻頁,不過這動作只對文件有用,對管線無用
        
      • less (一頁一頁翻動,man就是使用less來顯示說明文件的)

        選項和參數(shù):
        1. 空格鍵 :向下翻動一頁;
        2. [pagedown]:向下翻動一頁;
        3. [pageup] :向上翻動一頁;
        4. /字符串 :向下搜尋『字符串』的功能;
        5. ?字符串 :向上搜尋『字符串』的功能;
        6. n :重復前一個搜尋 (與 / 或 ? 有關(guān)! )
        7. N :反向的重復前一個搜尋 (與 / 或 ? 有關(guān)! )
        8. g :前進到這個資料的第一行去;
        9. G :前進到這個數(shù)據(jù)的最后一行去 (注意大小寫);
        10. q :離開 less 這個程序;
        
    • 資料擷取

      • head (取出前面幾行)

        • 語法
          1. head [-n number] 文件
          
        • 選項與參數(shù)
          1. -n :后面接數(shù)字,代表顯示幾行,不加此選項默認顯示十行,如為負數(shù)代表顯示負數(shù)絕對值前面的行
          
      • tail (取出后面幾行)

        • 語法
          1. head [-n number] 文件
          
        • 選項與參數(shù)
          1. -n :后面接數(shù)字,代表顯示幾行,如選項為+n,則代表顯示n行以后的數(shù)據(jù)
          2. -f :表示持續(xù)偵測后面所接的檔名,要等到按下[ctrl]-c 才會結(jié)束 tail 的偵測
          
      • 非純文本檔: od(我覺得自己暫時用不到O(∩_∩)O)
    • 修改文件時間或建置新檔: touch

      • 文件的三個主要變動時間
        1. modification time (mtime):文件的內(nèi)容數(shù)據(jù)(文件的內(nèi)容,非屬性或權(quán)限)變更時的時間
        2. status time (ctime):當文件的狀態(tài)(比如權(quán)限和屬性)改變時會更新的時間
        3. access time (atime):當文件的內(nèi)容被讀取時候會更新的讀取時間
      • ls默認情況顯示的是文件的mtime,其余可用ls -l --time={atime,ctime}來查看
      • 語法
        1.  touch [-acdmt] 文件
        
      • 選項與參數(shù)
        1. -a : 僅修改access time;
        2. -c : 僅修改文件的時間,若該文件不存在則不建立新文件(全都修改了)
        3. -d :后面可以接欲修訂的日期而不用目前的日期,也可以使用--date="日期或時間"(atime/mtime)
        4. -m : 僅修改 mtime ;
        5. -t :后面可以接欲修訂的時間而不用目前的時間,格式為[YYYYMMDDhhmm])(atime/mtime)
        

  • 文件與目錄的默認權(quán)限與隱藏權(quán)限

    • 文件預設(shè)權(quán)限:

      umask(目前用戶在建立文件or目錄時的權(quán)限默認值,可直接通過umask value設(shè)定)
      • 兩種查閱方式:

        1. 直接輸入umask,可見到數(shù)字形態(tài)的權(quán)限設(shè)定
        2. 加上-S可以符號形式來顯示
        3. 注:為啥有四組,第一組是特殊權(quán)限
      • 兩種預設(shè)情況

        1. 目錄:drwxrwxrwx,建立目錄時: (drwxrwxrwx) - (d----w--w-) ==> drwxr-xr-x
        2. 文件:-rw-rw-rw-,建立文件時: (-rw-rw-rw-) - (-----w--w-) ==> -rw-r--r--
    • 文件隱藏屬性

      • 注:chattr指令只在ext2/ext3/ext4的Linux傳統(tǒng)文件系統(tǒng)完整生效,其他文件系統(tǒng)eg:xfs只支持部分參數(shù)
      • chattr (配置文件案隱藏屬性)

        • 語法
          1. chattr [+-=][ASacdistu] 文件或目錄名稱
          
        • 選項與參數(shù)
          1. + :增加某一個特殊參數(shù),其他原本存在參數(shù)則不動。
          2. - :移除某一個特殊參數(shù),其他原本存在參數(shù)則不動。
          3. = : 更新為指定參數(shù)
          4. A:文件的atime(access time)不可被修改,這樣可以減少磁盤I/O數(shù)量,對于筆記本電腦有利于提高續(xù)航能力
          5. S:硬盤I/O同步選項,功能類似sync
          6. a : 當設(shè)定 a 之后, 這個文件將只能增加數(shù)據(jù),而不能刪除也不能修改數(shù)據(jù),只有 root 才能設(shè)定這屬性
          7. c:即compresse,文件會自動的經(jīng)壓縮后再存儲,讀取時會自動的解壓
          8. d:不被dump程序備份
          9. i:設(shè)定該屬性后,可使得文件不能被刪除、重命名、設(shè)定連接關(guān)系、寫入或新增數(shù)據(jù),僅有root可設(shè)定此屬性
          10. s:文件被刪除后將被完全移除硬盤空間,不能救回
          11. u:與s相反,文件刪除后可救回
          
        • 注意
          1. 常見使用a與i,很多屬性需要root才能設(shè)定
          2. xfs文件系統(tǒng)僅支持AadiS
          
      • lsattr(顯示文件隱藏屬性)

        • 語法
          1. lsattr [-adR] 文件或目錄
          
        • 選項與參數(shù)
          1. -a : 顯示所有文件的隱藏權(quán)限,包括隱藏文件
          2. -d:顯示目錄的屬性而非目錄內(nèi)文件的屬性
          3. 遞歸顯示目錄下文件和子目錄的屬性
          
    • 文件特殊權(quán)限:SUID,SGID,SBIT

      • Set UID

        當s標志出現(xiàn)在文件owner的權(quán)限上時,(eg:/usr/bin/passwd)此時被稱為Set UID(簡稱SUID的特殊權(quán)限)
        • SUID的限制有功能
          1. SUID權(quán)限僅對二進制程序有效(不能用在shell script上)
          2. 執(zhí)行者需對該程序有x權(quán)限
          3. SUID權(quán)限僅僅在執(zhí)行該程序的過程中有效
          4. 執(zhí)行者在此過程中將具有該程序owner的權(quán)限
        • 這里給的例子真的是讓人一下就明白了,/etc/shadow的權(quán)限為---------- 1 root root,但是一個一般賬號也可以通過passwd指令來修改密碼呀,這就是SUID的功能啦,/usr/bin/passwd的權(quán)限是rwsr-xr-x,所以一般賬號也有x權(quán)限,臨時借用了一下root的權(quán)限對etc/shadow進行修改
      • Set GID

        當s標志在文件group權(quán)限上時,稱為Set GID(簡稱SGID),(eg /usr/bin/locate)
        • 與SUID不同,SGID可以針對文件或目錄及來設(shè)置
          • 對文件
            1. SGID對二進制程序有效
            2. 執(zhí)行者需要對該程序有x的權(quán)限
            3. 執(zhí)行者在執(zhí)行過程中將會得到程序群組的支持
          • eg,locate可以搜尋/var/lib/mlocate/mlocate.db中的內(nèi)容,mlocate.db的權(quán)限為-rw-r-----,locate的權(quán)限為-rwx--s--x,那么一般賬號在執(zhí)行l(wèi)ocate時將會在執(zhí)行過程中的到slocate群組的支持,于是才能讀取mlocate.db的內(nèi)容
        • 對目錄
          1. 用戶對于此目錄具有r與x權(quán)限時,該用戶能夠進入此目錄
          2. 用戶在此目錄下的有效群組將會變成該目錄的群組
          3. 用途:若用戶在此目錄具有w的權(quán)限,則使用則鎖建立的新文件,該新文件的群組與此目錄的群組相同
      • Sticky Bit

        (簡稱SBIT),只針對目錄有效
        • 對目錄
          1. 當用戶對此目錄具有w權(quán)限(具有g(shù)roup或others的權(quán)限時)
          2. 當用戶在該目錄下建立文件or目錄時,僅有自己與root才有權(quán)力刪除/重命名/移動文件
        • eg:以不同用戶在tmp下建立文件,切換用戶嘗試刪除操作
      • SUID/SGID/SBIT權(quán)限設(shè)定
        • 4:SUID
        • 2:SGID
        • 1:SBIT
        • eg:需要將一個文件權(quán)限修改為-rwsr-xr-x,即加入SUID權(quán)限
          chmod  4755 filename  
          順便試一下其他幾種情況
          chmod  6755 filename
          chmod  1755 filename
          chmod  7666 filename,(這種情況下會出現(xiàn)S和T,這是因為文件本身都不具有x的權(quán)限,想一想SUID時文件執(zhí)行時具有文件owner的權(quán)限,既然都不能執(zhí)行,哪來的的權(quán)限借用,所以S、T代表就是“空的”的意思)
           這是符號法來處理(個人認為不如數(shù)字法方便)
           chmod u=rwxs,go=x filename
           chmod g+s,o+t filename
          
    • 觀察文件類型:file

      • 如果想知道某個文件的基本數(shù)據(jù)類型,可以使用file
      • 語法
        1. file filename
        

  • 指令與文件的搜索

    • 腳本文件名的搜索

      • which

        • 語法
          1. which [-a] command
          
        • 選項與參數(shù)
          1. -a:將所有PATH目錄中可以找到的指令列出而不僅僅是列出第一個被找到的指令名稱
          
        • 注:which預設(shè)找PATH內(nèi)所規(guī)范的目錄,但是找不到bash內(nèi)建的指令,eg:which history是找不到的
    • 文件檔名的搜尋
      • whereis(有一些特定的目錄中尋找文件文件名)

        • 語法
          1. whereis [-bmsu] 文件或目錄名
          
        • 選項與參數(shù)
          1. -l:列出whereis會查詢的幾個主要目錄
          2. -b:執(zhí)照二進制格式的文件
          3. -m:只找在說明文件manual路徑下的文件
          4. -s:只找source來源文件
          5. -u:搜尋不在上面三個選項中的其他特殊文件      
          
      • locate/updatedb

        • 語法
          1. locate [-ir] keyword
          
        • 選項與參數(shù)
          1. -i:忽略大小寫差異
          2. -c:不輸出檔名,僅計算找到的數(shù)據(jù)量
          3. -l:輸出幾行的意思,eg,輸出5行: -l 5
          4. -S:輸出locate所使用數(shù)據(jù)庫文件的相關(guān)信息,包括該數(shù)據(jù)庫記錄的文件/目錄數(shù)量...etc
          5. -r:后面可接正則表達式的顯示方式
          
        • 注:locate搜索快的原因是因為他是經(jīng)由數(shù)據(jù)庫搜尋的,而在CentOS7.x中數(shù)據(jù)庫是每天更新一次的,所以可能對于新建立的文件無法搜尋到,需要使用updatedb讀取/etc/updatedb.conf配置更新數(shù)據(jù)庫
          1. updatedb:根據(jù)/etc/updatedb.conf的設(shè)置搜尋硬盤內(nèi)文件名并跟新/var/lib/mlocate內(nèi)的數(shù)據(jù)庫文件
          2. locate:根據(jù)/var/lib/mlocate的數(shù)據(jù)庫記載找出用戶輸入的關(guān)鍵詞文件名
      • find

        • 語法

          1. find [PATH] [option] [action]
          
        • 選項與參數(shù)

          1. 與時間有關(guān)的選項:共有 -atime, -ctime 與 -mtime ,以 -mtime 說明
            -mtime n : n 為數(shù)字,意義為在 n 天之前的『一天之內(nèi)』被更動過內(nèi)容的文件;
            -mtime +n :列出在 n 天之前(不含 n 天本身)被更動過內(nèi)容的文件檔名;
            -mtime -n :列出在 n 天之內(nèi)(含 n 天本身)被更動過內(nèi)容的文件檔名。
            -newer file : file 為一個存在的文件,列出比 file 還要新的文件檔名
          2. 與使用者或組名有關(guān)的參數(shù):
            -uid n : n 為數(shù)字, 這個數(shù)字是用戶的賬號 ID,亦即UID , 這個 UID 是記錄在/etc/passwd 里面與賬號名稱對應(yīng)的數(shù)字。 
            -gid n : n 為數(shù)字, 這個數(shù)字是組名的 ID,亦即 GID, 這個 GID 記錄在/etc/group
            -user name :查找符合指定的擁有者名稱的文件或目錄
            -group name: 查找符合指定的組名稱的文件或目錄
            -nouser:找出不屬于本地主機用戶識別碼的文件或目錄(通過這個指令可以輕易找到不太正常的文件,但是如果找到也不要緊張,有時是正常的~尤其是以原始碼自行編譯軟件時候)
            -nogroup:找出不屬于本地主機群組識別碼的文件或目錄
          3. 與文件權(quán)限即名稱有關(guān)的參數(shù)
            -name filename:搜尋文件名為 filename 的文件
            -size [+-]SIZE:搜尋比 SIZE 還要大(+)或小(-)的文件。 這個 SIZE 的規(guī)格有:c: 代表 byte, k: 代表 1024bytes。所以,要找比 50KB還要大的文件,就是『-size +50k 』
            -type TYPE:搜尋文件的類型為 TYPE 的, 類型主要有:一般正規(guī)文件 (f), 裝置文件 (b, c),目錄 (d), 連結(jié)檔 (l), socket (s), 及 FIFO (p) 等屬性
            -perm mode:搜尋文件權(quán)限剛好等于mode的文件,mode類似于chmod的屬性值,eg:-rwsr-xr-x 的屬性為 4755
            -perm -mode:搜尋文件權(quán)限『必須要全部囊括 mode 的權(quán)限』的文件,比如4755包括0744啦
            -perm /mode:搜尋文件權(quán)限『包含任一 mode 的權(quán)限』的文件,就是會搜索到他的子集啦
          4. 額外可進行的動作
             -exec command: command 為其他指令, -exec 后面可再接額外的指令來處理搜尋到的結(jié)果
              -print:將結(jié)果打印到屏幕上(這是默認的)
          
        • 幾個例子

          1. find / -name ”*passwd*“
          2. find /run -type s
          3. find / -perm /7000,這個比較有意思7000表示---s--s--t,那么搜索其子集的話呢,意味著具有SUID,SGID,SBIT權(quán)限的問價or目錄會被列出
          4. find /usr/bin /usr/sbin -perm /7000 -exec ls -l {} \;
            {}代表由find找到的內(nèi)容,或者說find的結(jié)果會被放置到{}中
            -exec到\;之間是關(guān)鍵詞,代表find額外的動作
          
          
          
        • 關(guān)于時間參數(shù)可參見下圖:
          +4 代表大于等于 5 天前的文件名: find /var -mtime +4
          -4 代表小于等于 4 天內(nèi)的文件名:find /var -mtime -4
          4 則是代表 4-5 那一天的文件名:find /var -mtime 4



  • 權(quán)限與指令之間的關(guān)系

    • 讓用戶能進入某目錄的基本權(quán)限:

      1. 目錄:用戶對此目錄至少有x權(quán)限
      2. 額外:若過想查閱目錄內(nèi)文件名(ls),需有r權(quán)限
    • 讓用戶在某個目錄內(nèi)讀取一個文件的基本權(quán)限:

      1. 目錄:用戶至少有x權(quán)限
      2. 文件:用戶至少有r權(quán)限
    • 讓用戶可修改一個文件的基本權(quán)限:

      1. 目錄:用戶至少有x權(quán)限
      2. 文件:用戶至少對該文件有r,w權(quán)限
    • 用戶建立一個文件的基本權(quán)限:

      1. 目錄:用戶在該目錄要有x,w權(quán)限
    • 用戶進入某目錄并執(zhí)行目錄內(nèi)某個指令:

      1. 目錄:至少有x權(quán)限
      2. 文件:至少有x權(quán)限

  • 重點回顧

    • ls 可以檢視文件的屬性,尤其 -d, -a, -l 等選項特別重要
    • cat -n 與 nl 均可顯示行號,但默認的情況下,空白行會不會編號并不相同
    • 除了傳統(tǒng)的 rwx 權(quán)限之外,在 Ext2/Ext3/Ext4/xfs 文件系統(tǒng)中,還可以使用 chattr 與 lsattr 設(shè)定及觀察隱藏屬性。 常見的包括只能新增數(shù)據(jù)的 +a 與完全不能更動文件的 +i 屬性
    • 新建文件/目錄時,新文件的預設(shè)權(quán)限使用 umask 來規(guī)范。默認目錄完全權(quán)限為 drwxrwxrwx, 文件則為-rw-rw-rw-
    • 文件具有 SUID 的特殊權(quán)限時,代表當用戶執(zhí)行此一 binary 程序時,在執(zhí)行過程中用戶會暫時具有程序擁有者的權(quán)限
    • 目錄具有 SGID 的特殊權(quán)限時,代表用戶在這個目錄底下新建的文件之群組都會與該目錄的組名相同
    • 目錄具有 SBIT 的特殊權(quán)限時,代表在該目錄下用戶建立的文件只有自己與 root 能夠刪除
  • 課后問題

    1. 假設(shè)系統(tǒng)中有兩個賬號,分別是 alex 與 arod ,這兩個人除了自己群組之外還共同支持一個名為project 的群組。假設(shè)這兩個用戶需要共同擁有 /srv/ahome/ 目錄的開發(fā)權(quán),且該目錄不許其他人進入查閱。 請問
      該目錄的權(quán)限設(shè)定應(yīng)為何?(真的做一遍就明白了)
      groupadd project
      useradd -G project alex
      useradd -G project arod
      mkdir /srv/ahome
      chgrp project /srv/ahome
      chmod 2770 /srv/ahome
      
    2. 找出 /etc 底下, 文件大小介于 50K 到 60K 之間的文件,并且將權(quán)限完整的列出 (ls -l)
      find /etc -size +50k -a -size -60k -exec ls -l {} \;( -a 是 and 的意思)
      找出 /etc 底下, 文件容量大于 50K 且文件所屬人不是 root 的檔名,且將權(quán)限完整的列出 (ls -l)
      find /etc -size +50k -a ! -user root -exec ls -ld {} \;
      find /etc -size +50k -a ! -user root -type f -exec ls -l {} \;( ! 代表的是反向選擇)
      找出 /etc 底下,容量大于 1500K 以及容量等于 0 的文件
      find /etc -size +1500k -o -size 0(-o 就是或 (or) )
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容