1. 程式人生 > >Linux指令之檔案目錄管理

Linux指令之檔案目錄管理

ls命令

命令功能 列出目標目錄中所有的子目錄和檔案。
命令格式 ls [選項] [目錄名]
常用選項
-a all,目錄下所有檔案,包括隱藏檔案
例項 列舉/tmp 下面的所有檔案
命令 ls –a /tmp
-A 與 -a類似,但沒有當前目錄(.)和父目錄(..)
-h 從K(千位元組)、M(兆位元組)、和G(千兆位元組)中選擇合適的單位顯示檔案的大小
例項 列舉/tmp 下面檔案的資訊(以合適的單位顯示)
命令 ls –lh /tmp
-l 列出每個檔案的更多資訊
例項 列舉/tmp 下面檔案的資訊
命令 ls –l /tmp
-t 按最後一次修改時間的順序顯示檔案
例項 按修改時間的順序(逆序)列舉/tmp下面檔案
命令 ls –t /tmp
-u 按最後一次訪問時間的順序(逆序)顯示檔案
例項 按修改時間的順序(逆序)列舉/tmp下面檔案
命令 ls –u /tmp

cd命令

命令功能 切換當前目錄至dirName
命令格式 cd [目錄名]
常用選項
空 進入當前使用者主目錄
例項 進入當前使用者的主目錄
命令 cd

pwd命令

命令功能 檢視“當前工作目錄”的完整路徑,注意pwd後面無法跟路徑,若使用該命令需要使用cd命令更改路徑。
命令格式 pwd [選項]
常用選項
空 檢視當前工作目錄的完整路徑
例項 檢視當前目錄的完整目錄
命令 pwd
-P pwd -P 顯示出實際路徑,而非使用連線(link)路徑;pwd顯示的是連線路徑

mkdir命令

命令功能 通過 mkdir 命令可以實現在指定位置建立以 DirName(指定的檔名)命名的資料夾或目錄。
命令格式

mkdir [選項] 目錄…
常用選項
-m model,設定許可權
例項 建立許可權為777的目錄
命令 mkdir –m 777 test3
注:777指最大許可權,即owner,group,others都具有讀寫執行的許可權。
-p parents 可以是一個絕對路徑名稱,不存在的路徑將會被建立
例項 在/tmp 目錄下建立一個test1/test11
命令 mkdir /tmp/test1/test11
例項 建立一個專案的目錄結構
命令 mkdir -p scf/{lib/,bin/,doc/{info,product},logs/{info,product},service/deploy/{info,product}}

rm命令

命令功能 刪除一個目錄中的一個或多個檔案或目錄
命令格式 rm [選項] 檔案…
常用選項
-f 強制性刪除,不詢問
例項 刪除/tmp目錄下的test1檔案,不會詢問而直接刪除
命令 rm -f /tmp/test1
-i 互動式刪除
例項 刪除/tmp目錄下的test1檔案,它會在刪除時詢問
命令 rm –i /tmp/test1
-r 遞迴刪除目錄及其子目錄
例項 刪除/tmp/test1目錄及其子目錄
命令 rm –r /tmp/test1

mv命令

命令功能 根據第二個引數的不同,移動或重新命名
視mv命令中第二個引數型別的不同(是目標檔案還是目標目錄),mv命令將檔案重新命名或將其移至一個新的目錄中。當第二個引數型別是檔案時,mv命令完成檔案重新命名,此時,原始檔只能有一個(也可以是源目錄名),它將所給的原始檔或目錄重新命名為給定的目標檔名。當第二個引數是已存在的目錄名稱時,原始檔或目錄引數可以有多個,mv命令將各引數指定的原始檔均移至目標目錄中。在跨檔案系統移動檔案時,mv先拷貝,再將原有檔案刪除,而鏈至該檔案的連結也將丟失
命令格式 mv [選項] 原始檔或目錄 目標檔案或目錄
常用選項
-b 若需覆蓋檔案,則覆蓋前先行備份。
例項 檔案被覆蓋前做簡單備份,前面加引數-b
命令 mv log1.txt -b log2.txt
-f force 強制的意思,如果目標檔案已經存在,不會詢問而直接覆蓋
例項 將檔案log2.txt改名為log3.txt,假如log3.txt存在,那麼內容也會被log2.txt覆蓋掉
命令 mv -f log2.txt log3.txt
-i 若目標檔案 (destination) 已經存在時,就會詢問是否覆蓋!
例項 將檔案log1.txt改名為log2.txt,如果log2.txt已經存在,則詢問是否覆蓋
命令 mv -i log1.txt log2.txt
-u 若目標檔案已經存在,且 原始檔 比較新,才會更新(update)
例項 將目標檔案log1.txt更新為log2.txt
命令 mv -u log2.txt log1.txt
-t –target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY,即指定mv的目標目錄,該選項適用於移動多個原始檔到一個目錄的情況,此時目標目錄在前,原始檔在後。
例項 將log1.txt log2.txt log3.txt 移動到test4目錄中
命令 mv -t /opt/soft/test/test4/ log1.txt log2.txt log3.txt

cp命令

命令功能 將原始檔複製至目標檔案,或將多個原始檔複製至目標目錄。
命令格式 cp [選項]… [-T] 源 目的
常用選項
-a –archive 等於-dR –preserve=all
例項 複製整個目錄
命令 cp -a test3 test5
注:目標目錄存在與不存在執行結果不同
-i –interactive 覆蓋前詢問(使前面的 -n 選項失效)
例項 使用/tmp/log3.txt覆蓋/tmp/test1中的log3.txt,覆蓋前會詢問
命令 cp -i /tmp/log3.txt /tmp/test1
-n –no-clobber 不要覆蓋已存在的檔案(使前面的 -i 選項失效)
例項 使用/tmp/log3.txt覆蓋/tmp/test1中的log3.txt,檔案並沒有被覆蓋
命令 cp -n /tmp/log3.txt /tmp/test1

touch命令

命令功能 touch命令可建立檔案,引數可更改文件或目錄的日期時間,包括存取時間和更改時間。
命令格式 touch [選項]… 檔案…
常用選項
空 建立空檔案
例項 在當前目錄下建立名為log1.txt的檔案
命令 touch log1.txt
-r 把指定文件或目錄的日期時間,統統設成和參考文件或目錄的日期時間相同
例項 更新log.log 的時間和log2.log的時間相同
命令 touch -r log.log log2.log

cat命令

命令功能 顯示、建立、合併
cat主要有三大功能:
1.一次顯示整個檔案:cat filename
2.從鍵盤建立一個檔案:cat > filename 只能建立新檔案,不能編輯已有檔案.
3.將幾個檔案合併為一個檔案:cat file1 file2 > file
命令格式 cat [選項]… 檔案…
常用選項
-b –number-nonblank 對非空輸出行編號
-n –number 對輸出的所有行編號
例項 把 log2012.log 的檔案內容加上行號後輸入 log2013.log 這個檔案裡
命令 cat -n log2012.log log2013.log
> 將多個檔案內容合併到一個檔案
例項 將a1.log a2.log合併到log.log中
命令 cat a1.log a2.log > log.log
tac 和cat類似,只不過是反向顯示
例項 將log.txt反向顯示輸出
命令 tac log.txt

more命令

命令功能 分頁檢視檔案和並支援跳轉行
命令格式 more [-dlfpcsu ] [-num ] [+/ pattern] [+ linenum] [file … ]
常用選項
+n 從笫n行開始顯示
例項 顯示log.txt檔案從第三行起的內容
命令 more +3 log.txt
-n 定義螢幕大小為n行
例項 設定每屏顯示行數
命令 more -5 log.txt
+/pattern 在每個檔案顯示前搜尋該字串(pattern),然後從該字串前兩行之後開始顯示
例項 從檔案中查詢第一個出現”day3”字串的行,並從該處前兩行開始顯示輸出
命令 more +/day3 log.txt
-c 從頂部清屏,然後顯示
-p 通過清除視窗而不是滾屏來對檔案進行換頁,與-c選項相似
-s 把連續的多個空行顯示為一行
常用操作命令
Enter 向下n行,需要定義。預設為1行
Ctrl+F 向下滾動一屏
空格鍵 向下滾動一屏
Ctrl+B 返回上一屏
= 輸出當前行的行號
:f 輸出檔名和當前行的行號
V 呼叫vi編輯器
!命令 呼叫Shell,並執行命令
q 退出more
head命令
命令功能 用來顯示檔案的開頭至標準輸出中
預設列印檔案的開頭10行。
命令格式 head [引數]… [檔案]…
常用選項
-q 隱藏檔名
-v 顯示檔名
-c <位元組> 顯示位元組數
例項 顯示檔案的前20個位元組
命令 head -c 20 log.txt
例項 顯示檔案的除了最後20個位元組以外的內容
命令 head -c -20 log.txt
-n <行數> 顯示的行數
例項 顯示檔案的前5行
命令 head -n 5 log.txt
例項 顯示檔案的除了最後5行以外的內容
命令 head -n -5 log.txt

tail命令

命令功能 用於顯示指定檔案末尾內容,不指定檔案時,作為輸入資訊進行處理。常用檢視日誌檔案。
命令格式 tail [必要引數][選擇引數] [檔案]
常用選項
-f 迴圈讀取
例項 迴圈顯示檔案的內容
命令 tail -f test.log
-q 不顯示處理資訊
-v 顯示詳細的處理資訊
-c<數目> 顯示的位元組數
例項 顯示檔案最後15個位元組的內容
命令 tail -c 15 log.txt
注意:常用來搭配ping 192.168.120.204 > test.log & //在後臺ping遠端主機。並輸出檔案到test.log;這種做法也使用於一個以上的檔案監視。用Ctrl+c來終止。
-n<行數> 顯示行數
例項 顯示檔案最後5行的內容
命令 tail -n 5 log.txt