根據直播講義整理的內容,從第四課開始。前三課的內容若後面有精力會一併整理進來。
建立、刪除、複製、移動和重新命名
touch
命令建立檔案
語法
>$ touch file0 [file1 file2 ...]
>$ touch file.txt
touch
命令可以建立空檔案,將檔名作為引數即可。傳遞多個檔名可同時建立多個檔案。
若使用 file 作為引數,將自動建立10個空檔案,名字分別為file0.txt
、file1.txt
、...、file9.txt
。
若傳遞給touch
的檔案已存在於磁碟上,則不會建立此檔案,但會更新該檔案的時間戳。
mkdir
命令建立目錄
語法
>$ mkdir [-p] dir1 [dir2 dir3 ...]
>$ mkdir [-p] dir1
mkdir
命令可以建立目錄,將目錄名作為引數即可。
傳遞多個目錄名可同時建立多個目錄。
若想同時建立子目錄,則需要使用-p
引數,否則只能建立空目錄。
示例
# 在當面目錄下建立名為 dir1 的空目錄。
>$ mkdir dir1
# 在當前目錄的子目錄 dir1 內建立子目錄 dir2。
>$ mkdir dir1/dir2
# 錯誤:dir3 不存在,建立多級子目錄應使用 -p 引數。
>$ mkdir dir3/dir4
# 同時建立 dir3 目錄及其子目錄 dir4。
>$ mkdir -p dir3/dir4
# 建立 3 個目錄,名字分為為 dir5、dir6、dir7。
>$ mkdir dir
rm
命令刪除檔案或目錄
語法
>$ rm [-rf] dir1/file1 [dir2/file2 ...]
rm
命令可以刪除檔案或目錄。
-r
引數表示要刪除乙個目錄。
-f
引數表示強制刪除,且靜默刪除,不會詢問使用者,被刪除的檔案不存在也不會報錯。
注意:此命令較危險,被刪除的檔案幾乎無法恢復,使用時需謹慎。
cp
命令複製目錄或檔案
語法
>$ cp [-rfv] src dest
cp
命令將src
引數所指定的檔案或目錄複製到dest
引數所指定的位置。
-r
引數用於遞迴複製目錄中的檔案,若複製目錄時未使用此引數,則僅複製目錄本身,目錄中的檔案及子目錄不會被複製。
-f
引數表示強制複製。
-v
引數表示列印複製的過程。
mv
命令移動或重新命名檔案及目錄
語法
>$ mv [-fv] src dest
mv
命令有兩個作用,當src
引數所指定的檔案或目錄與dest
引數所指定的路徑為同乙個目錄時,相當於做重新命名,否則相當於將src
移動到dest
。
-f
引數表示強制移動或重新命名。
-v
引數表示列印移動的過程。
示例
# 當前目錄 dir 與檔案 file1 在相同的目錄中。
>$ tree
.├── dir
└── file1
1 directory, 1 file
# 將 file1 重新命名為 file2。
>$ mv file1 file2
>$ tree
.├── dir
└── file2
1 directory, 1 file
# 將 file2 移動到 dir 目錄下。
>$ mv file2 dir
>$ tree
.└── dir
└── file2
1 directory, 1 file
檔案讀寫
echo
命令輸出字串
語法
echo [-n] "string"
使用echo
命令可以將string
引數的字串列印到控制台上。
-n
引數表示不要輸出換行符\n
。
實際上echo
命令是將string
引數的字串寫入到其標準輸出流stdout
中了,但由於預設的情況下stdout
就是控制台,所以看上去echo
命令就是向控制台列印了字串。
shell重定向運算子>
與>>
通過shell的重定向運算子>
和>>
可以將標準輸出流(stdout
)本來應該列印到控制台的內容寫入(重定向)到檔案中去。
語法
>$ echo "abc" > file1.txt
>$ echo "def" >> file1.txt
>
重定向運算子將echo
命令向標準輸出流(stdout
)列印的字串abc
寫入到檔案file1.txt
中,此處file1.txt
的內容為abc\n
。
其中\n
是linux
系統的換行符。
若file1.txt
不存在則由重定向運算子自動建立。
>>
重定向運算子將echo
命令向標準輸出流(stdout
)列印的字串def
追加寫入到檔案file1.txt
的末尾,此處file1.txt的內容為abc\ndef\n
。
cat
命令檢視檔案全部內容
語法
>$ cat [-n] file1 [file2 ...]
cat
命令將檔案filen
的內容從頭至尾讀取出來,並列印到控制台(實際上是列印到標準輸出stdout
中)。
-n
引數表示列印行號。
示例
>$ cat file1.txt
abcdef
若file1.txt
為空檔案,則cat
命令無任何輸出。
head
檢視檔案開頭部分
語法
>$ head [-n n] file
head
命令會從檔案file
的第1行開始讀取資料,共讀取10行,列印到控制台。
-n
引數可以要求head
命令讀取n
行資料,n
預設為10。
tail
檢視檔案末尾部分
語法
>$ tail [-n n] [-f] file.log
tail
命令與head
命令恰恰相反,從檔案的末尾第n
行開始讀取資料,並列印到控制台,n
預設為10行,同樣可以通過-n
引數來指定。
-f
引數非常有用,若file.log
檔案中不斷有內容寫入,則tail
命令可以監聽到這種變化,並不斷的將最新的內容列印到控制台上。通常檢視日誌的時候會用到此引數。
more
命令按頁檢視檔案
語法
>$ more file.txt
當要檢視的檔案file.txt
的內容特別長的時候,使用cat
命令檢視並不方便,而more
命令剛好可以滿足這種需求。
more
命令會從頭讀取file.txt
的末尾時more
命令才會退出。
more
命令適合瀏覽長檔案時使用或在純shell(非模擬終端)場景使用。
less
命令更靈活的按頁檢視檔案
語法
>$ less file.txt
less
命令與more
命令非常相似,可以看做是加強版的more
命令。
less
命令不僅支援與more
命令相同的分頁顯示、回車鍵
和空格鍵
向後讀取檔案,還支援使用游標控制鍵(上下箭頭)
、vim游標控制鍵(j、k)
和emacs游標控制鍵(c-n、c-p)
來向後或向前讀取檔案。使使用者可以用更加靈活的方式檢視檔案。
Node入門 (第四課)
buffer的結構和陣列很像,操作的方法和陣列類似,既然存在陣列,為什麼還要出現buffer?陣列中不能儲存二進位制檔案,而buffer就是專門用來儲存二進位制資料的 在buffer使用時,不需要引入模組,直接使用即可。在buffer中儲存的都是二進位制資料,但是在顯示時都是以16進製制的形式顯示。...
Linux基礎 第四課
nfs伺服器設定 安裝sudo apt get install portma 安裝sudo apt get install nfs kernel server 配置檔案etc exports 增加共享的目錄 ip2位址以及許可權 啟動服務 service portmap start 然後啟動服務 s...
MongoDB 入門第四課 查詢高階
分頁查詢 排序查詢 模糊查詢 比較查詢 包含查詢 條件連線查詢 在上一課,我們介紹了最基礎的幾種查詢方式,這節課我們接著介紹一些常用的查詢語句。統計查詢使用 count 方法,語法如下 db.collection name.count query,options 兩個引數的用途如下 query 查詢...