文章目錄
- 二、基本指令
- 8. man
- 9. nano 和 cat
- 10. cp
- 11. mv
- 12. echo 和 > 和 >> 和 <
- 13. more 和 less
- 14. head 和 tail 和 |
- 未完待續
二、基本指令
8. man
Linux的命令有很多參數,我們不可能全記住,我們可以通過查看聯機手冊獲取幫助。訪問Linux手冊頁的命令就是 man 命令。
man 命令不止可以查 man 命令。
按方向鍵的 ↓ 鍵就可以往下查看。
man 手冊分為 9 章。
如果系統中沒有 man 手冊,CentOS 可以輸入 yum install -y man-pages 來下載。
9. nano 和 cat
nano 命令就相當于Linux系統里的記事本,可以編寫文件。
cat 命令可以查看文件內容。
cat 常用選項:
-b 對非空輸出行編號
-n 對輸出的所有行編號
-s 不輸出多行空行
我們在 file.txt 文件里編寫一個C語言程序。
然后按 Ctrl + X 退出 ,再按 y 同意保存,回車即可。
如果 nano 命令不可用,輸入下載命令 yum install -y nano 。
10. cp
cp 命令即 copy,拷貝的意思。
常用選項:
-f 或 --force 強行復制文件或目錄, 不論目的文件或目錄是否已經存在
-i 或 --interactive 覆蓋文件之前先詢問用戶
-r 遞歸處理,將指定目錄下的文件與子目錄一并處理。若源文件或目錄的形態,不屬于目錄或符號鏈接,則一律視為普通文件處理
-R 或 --recursive遞歸處理,將指定目錄下的文件及子目錄一并處理
cp 命令也可以重命名文件。如果拷貝的 目標目錄不存在 ,則會在目標的最后一個路徑將源文件重命名。
知識點:隱藏文件既不能被刪除,也不能被拷貝。
11. mv
cp 命令相當于 Windows 的復制,而 mv 命令就相當于 剪切 。將文件或目錄移動到目標目錄后,原目錄里就已經沒有了。
常用選項:
-f :force 強制的意思,如果目標文件已經存在,不會詢問而直接覆蓋
-i :若目標文件 (destination) 已經存在時,就會詢問是否覆蓋
mv 命令可以做到在同一個目錄下將一個文件重命名。
知識點:命令的本質就是可執行文件! 我們將我們之前寫的C語言程序給編譯一下,使其成為可執行程序。
同時我們介紹一下 which 命令,這個命令可以查看 指令 的所在目錄。
我們使用任意指令就是 執行這些可執行程序。我們可以將任意可執行程序 mv 到 /usr/bin/(所有指令的目錄位置) 目錄下,使我們的可執行程序也成為指令,這就叫做 指令的下載 。
一般我們在命令行取得別名,重啟系統就自動銷毀了,所以不用刪除。
12. echo 和 > 和 >> 和 <
echo 就跟C語言中的 printf 一樣,給他什么字符串,他就輸出什么字符串,默認輸出到顯示器(即我們所看到的界面)。
而 > 符號的意思是 輸出重定向 ,即改變輸出方向。
Linux下一切皆文件。像Linux的顯示器,也算是文件,echo 命令就是默認向顯示器文件里寫入。
通過上面測試發現:>:輸出重定向,每次都會清空文件,然后再寫入 。所以我們能夠衍生出新的花樣:
即 > file.txt 可以①新建空文件②請空目標文件 。
我們每次往文件內部寫入就會清空文件,這也太扯了吧,要是我就是不想要清空文件呢?我們可以把 > 替換成 >> 。>> 即 追加重定向 ,意思非常好理解,就是更改追加方向。
cat的其他用法:
我們的輸入,就相當于 cat 從鍵盤文件中讀取。
< 就是 輸入重定向 ,修改輸入的方向。
13. more 和 less
more 命令就像 cat 命令,不過 cat 命令適合查看小文件,不適合查看大文件。而 more 命令可以查看大文件,但是 more 命令現在已經不推薦使用了,更推薦使用 less 命令。
我們先創建一個大文件,我們在命令行輸入:i=0; while [ $i -le 1000 ]; do echo “hello $i”; let i++; done > file.txt 這個指令,不需要理解意思,只知道他為我們創建了一個1000行的大文件就行。
常用選項:
-i 忽略搜索時的大小寫
-N 顯示每行的行號
/字符串:向下搜索“字符串”的功能
?字符串:向上搜索“字符串”的功能
n:重復前一個搜索(與 / 或 ? 有關)
N:反向重復前一個搜索(與 / 或 ? 有關)
q:quit,退出
由于more不能上翻文件,所以不推薦more,更推薦 less 命令。
14. head 和 tail 和 |
head 和 tail 指令都是來查看文件內容的,head 是查看頭部內容,默認 10行 ,tail 是查看尾部內容的,默認 10行 。
知識點:我們已經會提取文件的頭部和尾部內容了,那我們怎么提取文件的中間內容呢?其實顯而易見,我們搭配一下 head 和 tail 即可,但難點就是,我們怎么將其中一個的結果當作另一個指令的輸入呢?我們可以創建一個臨時文件來存放其中一個的結果,但是也太不優雅了,我們可以 通過管道來連接 。
| 就是命令行管道 ,簡稱管道。命令行就像 流水 一樣,從左一步一步經過管道往右流 。