Linux零基礎入門第四課

2021-09-08 14:01:00 字數 4937 閱讀 5972

根據直播講義整理的內容,從第四課開始。前三課的內容若後面有精力會一併整理進來。

建立、刪除、複製、移動和重新命名

touch命令建立檔案

語法

>$ touch file0 [file1 file2 ...]

>$ touch file.txt

touch命令可以建立空檔案,將檔名作為引數即可。傳遞多個檔名可同時建立多個檔案。

若使用 file 作為引數,將自動建立10個空檔案,名字分別為file0.txtfile1.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

其中\nlinux系統的換行符。

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 查詢...