touch 命令
touch命令用于創建空文件,例如有時應用程序希望在它們寫入數據之前,某個日志文件就已經存在。這時可用touch命令創建一個空文件:touch test1
;
touch命令還可以用來改變已有文件的訪問時間和修改時間,而不改變文件內容,例如已存在test1
文件,再次執行touch test1
時,文件的創建時間就會為當前時間,-t
參數后跟時間戳則可以將文件的創建時間改成指定時間;
cp 命令
此命令用以復制文件或者目錄,cp命令需要兩個參數,源對象和目標對象,最基本的用法為:
cp source destination
當source
和destination
都為文件時,新文件以destination
命名,source
和destination
也都可為目錄文件
著重介紹cp命令的幾個常用參數:
- -p:為目標文件保留源文件的訪問時間和修改時間
- -v:詳細模式,解釋復制過程中發生了什么(可用于shell程序日志記錄)
- -r:遞歸復制,用于復制目錄時及其子目錄
- -b:創建備份,而不覆蓋
- -f:強制覆蓋,無需詢問
mv 命令
mv即為moving,用來將文件和目錄移動到另外一個位置,基本用法為:
mv source destination
可用mv命令進行文件重命名,將destination
改為新的名字就好
注意,移動一個有軟連接指向的文件會使得軟連接文件失效
rm命令
rm命令用于刪除文件,在rm后跟文件或者目錄名即可
- -i:在刪除文件前進行詢問確認
- -r:遞歸刪除目錄文件及其子目錄
- -f:強制性刪除文件,不進行任何詢問(例如刪除擁有git倉庫的文件)
注意,因為rm命令不是將文件回收垃圾站,而是徹底消失,在執行
rm -rf destination
這個命令時務必小心謹慎,輕則幾天的心血付之東流,重則你正在使用的系統全部被刪干凈
本人借鑒網絡上前輩的處理經驗,附上刪除至回收站代碼(在.zshrc文件中添加)
alias rmtrash=trash alias lltrash=‘ll /.Trash’ trash() { mv -v $@ /.Trash/ }
這種情況下可以執行rmtrash
命令代替rm
命令,lltrash
命令查看垃圾箱中的文件
mkdir 命令
創建目錄命令,-p參數用于遞歸創建
file 命令
查看文件類型命令
File命令將文件分成3類
- 文本文件:包含可打印字符的文件
- 可執行文件:可在系統上運行的文件
- 數據文件:包含不可打印二進制字符,又不能在系統上運行的文件
查看整個文件
cat命令
cat命令就是簡單的將文件的內容全部顯示出來,理解很簡單,介紹下幾個參數
- -n:給顯示的內容加上行號
- -b:只給有文本的行添加行號
- -s:將多個空白行壓縮到單個空白行
more命令
cat命令的缺陷是,一旦運行了cat命令,則對于內容非常多的文件,將會持續打印直到完成,這樣在打印的過程中將無法進行其他的命令,除非強制退出當前命令。為了解決這個問題,開發人員編寫了more命令。more命令會顯示文本文件的內容,但是會在顯示每頁數據之后停下來,等待操作人員輸入命令來進行后續活動。
less命令
less命令的命名實際上是個文字游戲—“less is more”,應該說查看文件內容就用less命令,不會將文件內容打印到終端,并且支持許多命令還有方向鍵查看文件內容,這樣在查看文件內容時你就有完全控制權了。
查看部分文件
head命令
顯示文件開頭幾行的內容,默認顯示10行,可以大致知道文件的內容而不用加載全部文件。參數與tail命令差不多,接下來著重介紹tail命令
tail命令
tail命令會顯示文件末尾部分的內容。默認情況也是顯示文件的末尾10行,也可跟參數控制
- -c bytes:顯示文件最后的bytes個字節的字符
- -n lines:顯示文件最后的lines行
- -f:讓tail程序一直保持活動狀態,如果有新的內容則在文件的末尾顯示出來
- -pid=PID:和-f參數一起,跟蹤一個文件直到ID為PID的進程結束
- -s sec:和-f參數一起,在每次循環輸出之間休眠sec秒
其中 -f 參數是tail命令的一個突出的特性,它允許你在其他進程使用該文件時查看文件的內容。tail命令會保持活動狀態并不斷地顯示添加到文件中的內容。是實時監測系統日志的絕妙方式。