歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> Linux學習之三——操作檔案與目錄

Linux學習之三——操作檔案與目錄

日期:2017/3/1 12:25:42   编辑:關於Linux
一. 目錄文檔操作指令 1. pwd 顯示目前所在目錄 如果加上-P 的選項,則取得正確的目錄名稱,而不是以鏈接文件的路徑來顯示。 例如CentOS下,剛剛好/var/mail是/var/spool/mail的連結檔 2. cd 變更工作路徑 可以使用絕對路徑和相對路徑。 另外還有如下幾種特別的路徑代表方式: 1) . 代表此層目錄 2) .. 代表上一層目錄 3) - 代表前一個工作目錄 4) ~ 代表『目前用戶身份』所在的家目錄 5) ~account 代表 account 這個用戶的家目錄(account是個賬號名稱) 3. ls 列出目錄下的目錄和檔案 選項與參數: -a :全部檔案,包括隱藏檔案一起列出 -A :全部檔案,包括隱藏檔,但不包括 . 與 .. 這兩個目錄 -d :僅列出目錄 -f :直接列出結果,而不進行排序 (默認會以檔名排序!) -F :根據檔案、目錄等信息,給予附加數據結構,例如: *:代表可執行文件; /:代表目弽; =:代表 socket 檔案; |:代表 FIFO 檔案; -h :將檔案容量以人類較易讀的方式(例如 GB, KB 等等)列出; -i :列出 inode 號碼; -l :列表輸出 -n :列出 UID 與 GID 而非使用者與群組的名稱 -r :將排序結果反向輸出,例如:原本檔名由小到大,反向則為由大到小; -R :連同子目錄內容一起列出來; -S :以檔案容量大小排序; -t :依時間排序。 --color=never :不要依據檔案特性給予顏色顯示; --color=always :顯示顏色 --color=auto :讓系統自行依據設定來判斷是否給予顏色 --full-time :以完整時間模式 (包括年、月、日、時、分) 輸出 --time={atime,ctime} :輸出 access 時間或改變權限屬性時間,而非內容變更時間。 4. mkdir 建立新目錄 選項和參數: -m :配置文件夾權限,權限用三位0到7之間的數字組成。 -p :直接建立多層目錄,如: mkdir -p test1/test2/test3 5. rmdir 刪除空目錄 選項和參數: -p: 直接刪除多層空目錄,如: rmdir -p test1/test2/test3 6. cp 復制檔案或目錄 用法 1) cp 選項 源文件 目標文件 2) cp 選項 source1 source2 source3 .... directory 選項與參數: -a :相當於 -pdr 的意思; -d :若源文件為鏈接文件,則復制鏈接文件而非檔案本身,默認復制鏈接文件時會將鏈接到的源文件復制過來; -f :為強制復制,若目標檔案已經存在無法復制,則移除後再嘗試一次; -i :若目標文件已經存在,在覆蓋時會先詢問動作的進, CentOS7默認詢問 -l :進行硬式連結(hard link)的連結檔建立,而非復制檔案本身; -p :連同檔案的屬性一起復制過去,而非使用默認屬性(備份常用); -r :遞歸復制,用於目錄復制; -s :復制成為符號鏈接文件 (symbolic link快捷方式); -u :若 destination 比 source 舊才更新 destination。 7. rm (移除檔案或目錄) 可刪除非空目錄,刪除時可使用通配符,例如b*代表b打頭的所有文件. 刪除-打頭的檔案,因為-會被誤解為選項,如rm -aaa, 可以改為rm ./-aaa,或者rm -- -aaa 選項與參數: -f :就是 force 的意思,忽略不存在的檔案,不會出現警告訊息; -i :互動模式,在刪除前會詢問使用者是否動作。 -r :遞歸刪除 8. mv (移動檔案與目錄,或更名) 用法 1) mv 選項 source destination 2) mv 選項 source1 source2 source3 .... directory -f :force 強制的意思,如果目標檔案已經存在,不會詢問而直接覆蓋; -i :互動模式,詢問是否覆蓋 -u :若目標檔案已經存在,且 source 比較新,才會更新 (update) 9. basename 取得路徑的文件名 10. dirname 取得路徑的目錄名 11. cat 由第一行開始顯示檔案內容 選項與參數: -A :相當於 -vET 的整合選項,可列出一些特殊字符而不是空白而已; -b :列出行號,空白行不標行號! -n :列出行號,連同空白行也會有行號 -E :將結尾的斷行字符 $ 顯示出來; -T :將 [tab] 按鍵以 ^I 顯示; -v :列出一些看不出來的特殊字符 12. tac 從最後一行開始倒著顯示 13. nl 顯示的時候,輸出行號 選項與參數: -b :指定行號指定的方式,主要有兩種: -b a :表示空行也同樣列出行號(類似 cat -n); -b t :表示空行不列出行號(默認); -n :列出行號的表示方法,主要有三種: -n ln :行號在屏幕的最左方顯示; -n rn :行號在自己字段的最右方顯示,且不加 0 ; -n rz :行號在自己字段的最右方顯示,且加 0 ; -w :行號字段占用的位數。 14. more 用於浏覽大文件,一頁一頁的顯示檔案內容 在用該命令開始浏覽時可用下面的按鍵進行互動: 1) 空格鍵 (space):代表向下翻一頁; 2) Enter :代表向下翻一行; 3) /字符串 :代表向下搜尋『字符串』這個關鍵詞, CentOS7下不好用 4) :f :立刻顯示出文件名以及目前顯示的行數; 5) q :代表立刻離開 more ,丌再顯示該檔案內容。 6) b 或 [ctrl]-b :代表往回翻頁,不過只對檔案有用,對管線無用。 15. less 與 more 類似,但是功能更強大好用! 在用該命令開始浏覽時可用下面的按鍵進行互動: 1) 空格鍵 :向下翻一頁; 2) [pagedown]:向下翻一頁; 3) [pageup] :向上翻一頁; 4) /字符串 :向下搜尋『字符串』的功能; 5) ?字符串 :向上搜尋『字符串』的功能; 6) n :重復前一個搜尋 (與 / 或 ? 有關!) 7) N :反向重復前一個搜尋 (與 / 或 ? 有關!) 8) q :離開 less 這個程序; 16. head 只看頭幾行 選項與參數: -n :後面接數字,代表顯示幾行的意思 17. tail 只看尾巴幾行 選項與參數: -n :後面接數字,代表顯示幾行的意忠 -f :表示持續偵測檔案,當檔案有數據寫入時就立刻顯示到屏幕上,直到按下[ctrl]-c結束tail的偵測 18. od 以二進制的方式讀取檔案內容! 選項與參數: -t :後面可以接各種『類型 (TYPE)』的輸出,例如:   a :利用默認的字符輸出;   c :使用 ASCII 字符輸出   d[size] :利用十進制(decimal)輸出數據,每個整數占用 size bytes ;   f[size] :利用浮點數(floating)輸出數據,每個數占用 size bytes ;   o[size] :利用八進制(octal)輸出數據,每個整數占用 size bytes ;   x[size] :利用十六進制(hexadecimal)輸出數據,每個整數占用 size bytes ; 19. touch 修改檔案時間 選項與參數: -a :僅修訂 access time; -c :僅修改檔案的時間,若該檔案不存在則不建立新檔案; -d :後面可以接修訂的日期而不用目前的日期,也可以使用 --date="日期或時間" -m :僅修改 mtime ; -t :後面可以接修訂的時間而不用目前的時間,格式為[YYMMDDhhmm] 二、目錄和文檔的搜尋 1. which 尋找指令文件位置,只找PATH參數定義的位置。 which [-a] command 選項或參數: -a :列出所有指令,默認只列第一個被找到的指令位置。 2. whereis 用於程序名的搜索,而且只搜索二進制文件(參數-b)、man說明文件(參數-m)和源代碼文件(參數-s),利用數據庫搜 whereis [-bmsu] 檔案或目錄名 選項與參數: -b :只找 binary 格式的檔案 -m :只找在說明文件 manual 路徑下的檔案 -s :只找 source 來源檔案 3. locate 根據檔案的部分名稱(路徑部分包含也算)來搜尋,利用數據庫搜,一般可能一天更新一次數據庫,如果等不及可以直接用updatedb來更新數據庫。 locate [-ir] keyword 選項與參數: -i :忽略大小寫的差異; -r :後面可接正規表示法的顯示方式 4. find 在文件系統中查找文件 find [PATH] [option] [action] 選項與參數: 1) 與時間有關的選項:共有 -atime, -ctime 與 -mtime ,以 -mtime 說明 -mtime n :在第n天前(僅n本身)被更過內容的檔案; -mtime +n :列出在n天前(不含 n 天本身)被更改過內容的檔案檔名; -mtime -n :列出在 n 天內(含 n 天本身)被更改過內容的檔案檔名。 -newer file :file 為一個存在的檔案,列出比 file 還要新的檔案檔名 2) 與使用者或組名有關的參數: -uid n :n 為數字,這個數字是用戶的UID -gid n :n 為數字,這個數字是組名的 GID -user name :name 為使用者賬號名稱 -group name:name 為組名 -nouser :尋找檔案的擁有者不存在於 /etc/passwd 中的人! -nogroup :尋找檔案的擁有群組不存在於 /etc/group 的檔案! 自行安裝軟件時可能存在沒有檔案擁有者的檔案。 3)與檔案權限及名稱有關的參數: -name filename:搜尋文件名為 filename 的檔案; -size [+-]SIZE:搜尋比 SIZE 還要大(+)或小(-)的檔案。這個 SIZE 癿規格有: c: 代表 byte, k: 代表 1024bytes。 -type TYPE :搜尋檔案的類型為 TYPE 的,類型主要有:一般正規檔案 (f), 裝置檔案 (b, c), 目錄 (d), 連結檔 (l), socket (s), 及 FIFO (p) 等屬性。 -perm mode :搜尋檔案權限『剛好等於』 mode 的檔案,這個 mode 為類似 chmod 的屬性值 -perm -mode :搜尋檔案權限『必須要全部囊括 mode 的權限』的檔案,比如, 我們要搜尋 -rwxr--r-- ,即0744 的檔案,使用 -perm -0744, 當一個檔案的權限為 -rwsr-xr-x ,亦即 4755 時,也會被列出來, 因為 -rwsr-xr-x 的屬性已經囊括了 -rwxr--r-- 的屬性了。 -perm +mode :搜尋檔案權限『包含任一 mode 的權限』的檔案, 4) 額外可進行的動作: -exec command :command 為其他指令,用來處理搜尋到的結果。 -print :將結果打印到屏幕上,這個動作是預設動作!
Copyright © Linux教程網 All Rights Reserved