1. 程式人生 > >檔案與目錄管理

檔案與目錄管理

注:Linux命令是區分大小寫的 1.logout和exit的區別
logout 登出使用者
exit 退出控制檯,對於多層shell,用於逐層退出,到最頂層shell,作用就和logout相同。
如果沒有切換過使用者的話,這兩個命令都是退出控制檯了。 如果切換過使用者的話,這兩個命令都是登出當前使用者,返回上一個使用者。
2.ls命令 ls    -al        列出當前資料夾下所有隱藏檔案與相關的檔案屬性 ls    -ld        只顯示當前目錄的詳細屬性 ls    -l    資料夾1【或檔案】    資料夾2【或檔案】        顯示多個檔案或資料夾的資訊 ls    -F    *代表可執行檔案,/代表目錄 3.date命令
顯示日期與時間 4.檔案許可權與如何改變檔案所屬使用者組、使用者及許可權 4.1檔案許可權 r-可讀,對應數字為4 w-可寫,對應數字為2 x-可執行,對應數字為1,對目錄而言,x代表使用者是否可以進入這個目錄 4.2改變檔案所屬使用者組、使用者及許可權 4.2.1    chgrp     chgrp    [-R]    使用者組名    檔名---------------》改變檔案所屬使用者組,加上-R是代表遞迴改變目錄中的所有檔案 4.2.2    chown   1.chown   [-R]     使用者名稱    檔名-----------------》改變檔案所屬使用者,加上-R是代表遞迴改變目錄中的所有檔案
2.chown也可以同時改變使用者組,例如: chown    使用者名稱:使用者組    檔名 3.chown也可以單獨的改變使用者組 chown    .使用者組    檔名 4.2.3    chmod 1.使用數字表示(4+2+1) chmod   [-R]    xyz       檔名 x-對應使用者的許可權 y-對應使用者組的許可權 z-對應其他人的許可權 2.使用符號改變檔案許可權 (1)幾個符號的意思 u-使用者 g-使用者組 o-其他人 a-所有 (2)使用符號型別改變檔案許可權 示例1: chmod    u=rwx,go=rx    檔名 示例2:只是單純的增加(減少)一個檔案屬性 chmod    a+r    檔名 chmod    a-w    檔名 5.切換使用者
(1)su    使用者名稱 (2)su - 使用者名稱 注:使用第二種方式,“-”前後要有空格 6.mkdir命令 (1)mkdir    -p    test1/test2/test3                迴圈建立整套目錄 (2)mkdir    -m    711    test2                        給目錄賦許可權 7.rmdir命令 (1)rmdir    -p    test1/test2/test3                迴圈刪除目錄 (2)rm    -r    test1        會一級級的問你要不要刪除          rm    -fr    test1        問都不問,直接全部刪除 8.查詢ip ifconfig    eth0 9.設定Linux環境變數 Linux下命令的執行需要在環境變數中配置路徑,否則得用絕對路徑或者相對路徑 (1)查詢環境變數配置 echo    $PATH (2)設定環境變數 PATH="$PATH":路徑 10.cp命令 (1)cp    [options]    原始檔【,原始檔2】    目標檔案(檔名可以自定義) -a    相當於-pdr -p    連同檔案的屬性一起復制,而非使用預設屬性(備份常用) -d    若原始檔為連線檔案【注:連線檔案就是快捷鍵】,則複製的是連線檔案,而非檔案本身 -r    遞迴複製,用於目錄的複製行為(常用) -i    若目標檔案已經存在,則操作時會進行詢問(常用) -f    強制複製,若目標檔案已經存在,則刪除再複製 -l    進行硬連線的檔案建立------------>硬連線 -s    複製檔案為快捷方式--------------->軟連線 -u    原始檔比目的檔案新時才複製(常用於備份) (2)預設情況下,cp的原始檔與目的檔案的許可權是不同的,目的檔案的所有者通常會是命令操作者本身 (3)普通使用者使用cp使用者時,即使加上-a引數,也無法改變使用者的所有者與使用者組 11.rm命令 (1)rm    [-fir]    檔名1,檔名2 (2)root使用者使用rm    -r時預設加上了-i引數,這樣是為了保護操作, 如果確定要刪除,則可以使用\rm    -r    檔名。 注:命令前加上反斜槓,可以忽略掉alias的指定引數 12.mv命令 (1)mv    [-fiu]    原始檔1【,原始檔2】    目標檔案 -u    只有原始檔比目標檔案新時才去更新 (2)mv    原始檔    新檔名 這個命令可以更改檔名 (3)rename命令可以批量更改檔名 13.取得檔名與目錄名稱 basename    路徑        取得檔名 dirname    路徑        取得目錄名 14.檔案內容查閱 檔案內容查閱的命令: cat    從第一行開始顯示檔案內容 tac    從最後一行開始顯示檔案內容 nl    顯示的時候順便顯示行號 more    分頁顯示檔案內容,不可向前翻頁 less    分頁顯示檔案內容,可以向前翻頁 head    只看頭幾行 tail    只看結尾幾行 od    以二進位制方式讀取檔案內容 15.cat命令 -A    相當於-vET,v:列出看不出來的字元,E:顯示結尾的斷行字元$,T:將Tab鍵顯示為^I -b    列出行號,空白行不顯示行號 -n    列出行號,空白行顯示行號 16.nl命令 -b    a    空行也顯示行號         t    空行不顯示行號 -n    ln    行號顯示在螢幕的最左方         rn    行號在最右方顯示,行號自動補0         rz    行號在最右方顯示,不補0 -w    行號欄位佔用的位數,例:-w    3    表示001     17.more命令 空格鍵        向下翻一頁 Enter          向下滾動一行 /字串       向下查詢字串,按Enter鍵查詢,按n向下看,q退出 :f              立即顯示檔名與目前顯示的行數 q                 退出more b                 向前翻頁(只對檔案有用,對管道無用) 18.less命令 空格鍵        向下翻頁 PgDn         向下翻頁 PgUp         向上翻頁 /字串       向下查詢字串 ?字串       向上查詢字串 n                重複向下查詢 N                重複向前查詢 q                退出 19.head命令 -n    數字    檔案 (1)不加數字預設顯示頭10行 (2)-數字,代表最後多少行不顯示 20.tail命令 -n    數字    檔案 -f    持續檢測後面輸出的內容,ctrl+c結束 (1)不加數字預設顯示最後10行 (2)+數字,代表顯示多少行以後的資料 (3) 問:取出某檔案第11到第20的資料 答:思路先取出前20行,再取出後10行,藉助“管道”,所以為 head    -n    20    檔案    |    tail    -n    10 21.od命令 讀取非純文字檔案 -t    a    利用預設的字元輸出        c    利用ASCII字元輸出        d[大小]    利用10進位制輸出,每個整數佔用大小        f[大小]     利用浮點數輸出        o[大小]    利用8進位制輸出        x[大小]     利用16進位制輸出 22.touch命令 (1)修改檔案的時間 touch    [-acdmt]    檔案 -a   修改訪問時間 -c    修改檔案的狀態時間(如檔案的許可權或屬性被更改時的時間),若該檔案不存在,則不建立新檔案  -d    日期/時間 -m    修改檔案的內容更改的時間 -t    日期/時間,格式為[YYMMDDhhmm] (2)touch    檔案 若檔案不存在,則會建立一個新的檔案 23.umask命令——很重要(對於架設檔案伺服器或FTP伺服器) (1)查詢檔案的預設許可權 umask    顯示數字,主要看後3個數字,是指應該被拿掉的許可權 umask    -S (2)檔案預設許可權與目錄預設許可權的區別 檔案:一般不應該有執行的許可權,只用於讀寫,所以最大為-rw-rw-rw-(666) 目錄:由於x表示是否能進入目錄,所以許可權全放開,最大為drwxrwxrwx(777) (3)root使用者的umask預設是0022,一般使用者的umask預設是0002,修改umask的預設屬性的方式為 umask    需要修改的值(只有3位數字) 24.檔案的隱藏屬性 1.chattr命令 chattr    [+-=]    [ASacdistu]    檔案或目錄 A    訪問時不修改atime,減少磁碟IO S    一般情況下檔案是非同步寫入磁碟的,改成S會使檔案同步寫入磁碟 a    檔案只能增加資料,不能刪除或修改(只有root能設定這個屬性) c    自動對檔案壓縮,讀取時自動解壓 d    使得檔案不被dump備份 i    使得檔案不能寫入、改名、連線,一般用於系統安全(只有root才能設定這個屬性) s    徹底刪除檔案 u    不徹底刪除,還能找回 2.lsattr命令 lsattr    [-adR]    檔案或目錄 a    顯示隱藏檔案的屬性 d    僅顯示目錄本身的屬性 R    連同子目錄的資料一併列出來 25.file命令 file    檔案        檢視檔案型別 26.查詢檔案 1.指令碼檔案的查詢 (1)which    [-a]    命令 在$PATH中查詢命令的完整檔名,不同的使用者$PATH值不一樣,查到的結果也不一樣。 (2)內建命令使用type    command查詢 2.檔名的查詢 (1)通常使用whereis和locate查詢,而不使用find。因為whereis和locate查的是資料庫,而find查詢的是硬碟,所以速度比find快。 whereis    [-bmsu]    檔案或目錄名 -b:只查詢二進位制格式檔案 -m:只找在說明檔案manual路徑下的檔案 -s:只找source原始檔 -u:除上述3個選項以外的檔案 (2)locate    [-ir]    關鍵詞 -i:忽略大小寫 -r:後面接正則表示式 updatedb    更新資料庫 因為whereis和locate是查詢資料庫,如果想要最新的資料,需要手動觸發更新。 updatedb是根據/etc/updatedb.conf的設定去查詢系統盤內的檔名,並更新/var/lib/mlocate內的資料庫檔案。 (3)find    路徑    選項   [action]
  • 與時間相關的引數
find    /    -mtime    0            找出過去24小時內有改動的檔案 find    /    -mtime    +day        找出day天前被改動的檔案 find    /    -mtime    -day        找出day天內被改動的檔案 find    /    -mtime    day        找出day天當天被改動的檔案
  • 與使用者和使用者組相關的引數
find    /    -user    使用者1        找出屬於使用者1的檔案 find    /    -nouser                 尋找系統中不存在於/etc/passwd中使用者的檔案
  • 與檔案許可權及名稱有關的引數
find    /    -name    檔名 find    /    -size    (+/-)xxx(c/k)    查詢大於(+)或者小於(-)xxx位元組(c)或者xxx千位元組(k)的檔案 find    /    -type    【f-檔案,b,c-裝置,d-目錄,l-連結,s-socket】 find    /    -perm    (+/-)許可權數字    
  • find特殊用法
find    /    -name    xxx    -exec    命令(不能用命令別名)    \;        -exec和\;代表命令的開始和結束 find    /    -name    帶有萬用字元的檔名