1. 程式人生 > >Linux常用命令詳解—基於CentOS7

Linux常用命令詳解—基於CentOS7

本文件是根據網路資料整理的,參考文章眾多,若有雷同,純屬巧合!

Linux 目錄

- /:根目錄,一般只存放目錄,不存放檔案

- /bin -> /usr/bin:可執行二進位制檔案的目錄,也是常用命令目錄,如常用的命令 ls、cat、mv 等

- /boot:該目錄中存放系統的核心檔案,系統引導時使用的各種檔案

- /dev:存放 linux 系統中所有裝置的目錄,訪問其中的某個檔案就相當於訪問某個裝置,常用於掛載光碟機 mount /dev/cdrom /mnt

- /etc:系統配置檔案存放的目錄,存放系統管理和配置檔案

- /home:普通使用者主目錄,新添使用者預設在此目錄新增使用者的主目錄,用於存放使用者個人的資料

- /lib -> /usr/lib:系統的函式庫的目錄

- /lib64 -> /usr/lib64:系統的函式庫的目錄

- /media:媒體,顧名思義,該目錄下放的是可移除的裝置,包括軟碟、光碟、DVD等

- /mnt:目錄主要用來臨時掛載檔案系統,為某些裝置提供預設掛載點,如通常光碟掛載於 /mnt/cdrom 下,也可以選擇任意位置進行掛載

- /opt:給主機額外安裝軟體所擺放的目錄

- /proc:虛擬檔案系統目錄,是系統記憶體的對映。可直接訪問這個目錄來獲取系統資訊

- /root:系統管理員 root 的主目錄

- /sbin -> usr/sbin:存放著只有系統管理員才能執行的命令,一般使用者只能看不能用,如 fdisk、shutdown 等

- /tmp:用於存放各種臨時檔案,須定時清除,任何人都可訪問

- /usr:用於存放系統應用程式,如安裝的軟體預設裝在 /usr/local/

Linux ls 命令

ls 即 list,用來列出給定目錄下的檔案,引數為空預設列出當前目錄下的檔案。

【用法】ls [選項] [目錄]

【常用選項】

-a、–all:列出目錄下的所有檔案,包括以 . 開頭的隱含檔案

-A:列出除了 . 和 .. 以外的檔案

-l:列出檔案的詳細資訊,如建立者、建立時間、檔案的讀寫許可權列表等(詳細說明可檢視 Linux chmod 命令)

-h:以合適的單位換算大小,需配合 -l 使用

-t:按時間對檔案進行排序

-S:按大小對檔案進行排序

【注意】通常也使用 ll 直接檢視當前目錄,即:ll 等價於 ls -l

Linux cd 命令

cd 即改變目錄(Change Directory),用於進入到指定目錄

【用法】cd [目錄]

【注意】. 代表當前目錄,.. 代表當前目錄的父級目錄,- 代表上一次使用的目錄,~ 代表當前使用者的主目錄

【示例】

cd ..:進入父級目錄

cd -:進入上一次所在的目錄

cd ~:進入當前使用者的主目錄

Linux pwd 命令

pwd:即列印當前工作目錄(Print Working Directory)

Linux touch 命令

touch 一般用於更改檔案時間戳或建立一個空檔案。該命令不常用

【用法】touch [選項] 檔案

【常用選項】

-a、--time=atime、--time=access、--time=use:只更改訪問時間

-c、--no-create:不建立任何檔案

-d、--date=字串:使用指定字串表示時間而非當前時間

-f:此引數將忽略不予處理,僅負責解決 BSD 版本 touch 指令的相容性問題

-m、--time=mtime、--time=modify:只更改修改時間

-r:把指定檔案或目錄的時間,統統設成和參考檔案或目錄的時間相同

-t:使用指定的時間,而非當前時間,時間格式為:[[CC]YY]MMDDhhmm[.ss]

【示例】

touch info.log error.log:建立不存在的檔案

touch -c debug.log:如果 debug.log 不存在,則不建立檔案

touch -r info.log error.log:更新 info.log 的時間和 error.log 時間戳相同

touch -t 202005122230.50 info.log:設定檔案的時間戳。

【注意】-t time 使用 time 值作為指定檔案的新時間戳,time 為 [[CC]YY]MMDDhhmm[.SS] 格式的十進位制數,其中 CC 為年數中的前兩位(即"世紀數");YY為年數的後兩位(即"某世紀中的年數")。如果不給出 CC 的值,則 touch 將把年數 CCYY 限定在 1969—2068 之內;MM 為月數,DD 為天數,hh 為小時數,mm 為分鐘數,SS 為秒數(範圍是0—61,可以處理閏秒)。這些數字組成的時間是環境變數TZ指定的時區中的一個時間,由於系統的限制,早於1970年1月1日的時間是錯誤的。

Linux mkdir 命令

mkdir 即建立目錄(Make Directory)。用於建立具有指定名稱的目錄,要求該目錄不存在且當前使用者對工作目錄具有寫許可權

【用法】mkdir [選項] [目錄...]

【常用選項】

-m、--mode=模式:為目錄指定訪問許可權,與 chmod 類似

-p、--parents:當目錄的父級目錄不存在時建立父級目錄。常用於建立多級目錄

-v、--verbose:每次建立新目錄都顯示資訊

【示例】

mkdir test:建立一個名為 test 的目錄

mkdir -p test/test1/test2:先建立 test 目錄,再在 test 目錄下建立 test1 目錄,最後在 test1 目錄下建立 test2 目錄(即級聯建立多個目錄)

mkdir -m 777 test:建立一個名為 test 的目錄,並賦予可讀可寫許可權

Linux rm 命令

rm 即 remove,用於刪除目錄或檔案(可以遞迴刪除指定目錄下的所有檔案及子目錄)

【用法】rm [選項] [目錄或檔案]

【注意】rm 是一個極其危險的命令,使用的時候要特別當心,尤其對於初學者來說

【常用選項】

-f、--force:不提示,強制刪除檔案或目錄

-i、--interactive:刪除已有檔案或目錄之前先詢問使用者,即"互動式刪除"

-r、-R、--recursive:遞迴刪除,將指定目錄下的所有檔案與子目錄都刪除。若沒有 -r 選項則不會刪除目錄

-v、--verbose:顯示指令的詳細執行過程

Linux rmdir 命令

rmdir 命令(等價於:rm -r dir 命令)用於刪除空目錄(即一個目錄被刪除前必須是空的)。

【用法】rmdir [選項] 目錄...

【常用選項】

-p:遞迴刪除指定目錄。子目錄被刪除後,若其父目錄也為空,則一併刪除。如果整個路徑被刪除或由於某種原因導致部分路徑未被刪除,則顯示相應資訊。

-v、--verbose:顯示指令的執行過程

Linux mv 命令

mv 即 move,常用來對目錄或檔案進行重新命名、移動。這是個常用命令,常用於備份檔案或目錄。

【用法】

mv [選項] source dest

mv [選項] source... directory

【常用選項】

-b:當檔案存在時,在覆蓋前為其建立一個備份

-f、--force:覆蓋前不詢問

-i、--interactive:覆蓋前詢問

-n、--no-clobber:不覆蓋已存在檔案,如果指定了 -i、-f、-n 中的多個,僅最後一個生效

-u、--update:當目標檔案存在,且原始檔較新時才會更新

【示例】

mv 檔名 檔名:將原始檔名改為目標檔名

mv 檔名 目錄名:將檔案移動到目標目錄

mv 目錄名 目錄名:目標目錄已存在,將源目錄移動到目標目錄;目標目錄不存在則改名

mv 目錄名 檔名:出錯

mv a.txt b.txt:將 a.txt 重新命名為 b.txt

mv a.txt test/:將 a.txt 移動到 test 目錄下

mv aaa bbb:將檔案 aaa 更名為 bbb

mv info/ log:將 info 目錄放入 log 目錄中。若 log 目錄不存在,則將 info 重新命名為 log

mv /usr/test/* .:將 /usr/test 下的所有檔案和目錄移到當前目錄下

Linux cp 命令

cp 即 copy,用於將一個或多個原始檔或目錄複製到指定的目標檔案或目錄。它可以將單個原始檔複製成一個指定檔名的具體檔案或一個已經存在的目錄下。但當一次複製多個檔案時,目標檔案引數必須是一個已存在的目錄,否則將出錯。

【用法】cp [選項] [原始檔] [目標檔案]

【常用選項】

-b:覆蓋已存在的目標檔案前將目標檔案備份

-d:當複製符號連線時,把目標檔案或目錄也建立為符號連線,並指向與原始檔或目錄連線的原始檔案或目錄

-f:強行復制檔案或目錄,不論目標檔案或目錄是否已存在,且覆蓋前不詢問

-i:覆蓋既有檔案前先詢問使用者

-l:對原始檔建立硬連線,而非複製檔案

-p:保留原始檔或目錄的屬性

-r、-R:遞迴複製指定目錄下的所有檔案與子目錄

-s:對原始檔建立符號連線,而非複製檔案

-u:若目標檔案存在,且原始檔比目標檔案新,才會更新

-S:在備份檔案時,用指定的字尾 SUFFIX 代替檔案的預設字尾

-v、--verbose:顯示詳細的進行步驟

【示例】

cp dir1/a.doc dir2:將 dir1 目錄下的 a.doc 檔案複製到 dir2 目錄下

cp -r dir1 dir2:將 dir1 及其所包含的所有檔案複製到 dir2 目錄下

cp -r dir1/. dir2:將 dir1 目錄下的所有檔案複製到 dir2 目錄下,不包括 dir1 目錄本身

cp dir1/a.doc .:將 dir1 目錄下的 a.doc 檔案複製到當前目錄下

cp dir1/a.doc dir2/b.doc:將 dir1 目錄下的 a.doc 檔案複製到 dir2 目錄下,並重命名為 b.doc

cp -r /usr/dir1 /usr/dir2:將 /usr/dir1 目錄下的所有檔案及目錄複製到 /usr/dir2 目錄中

cp -i /usr/dir1 i*.log /usr/dir2:互動式地將 /usr/dir1 目錄下以 i 開頭的所有 .log 檔案都複製到 /usr/dir2 目錄中

cp dir1/* /dir2:複製 dir1 目錄下的所有檔案到 /dir2 目錄下,若 /dir2 目錄下有和 dir1 目錄下同名的檔案,需要按 Y 來確認,並且會忽略 dir1 目錄下的子目錄

cp -r dir1/* /dir2:依然需要按 Y 來確認操作,但沒有忽略子目錄

cp -r -a dir1/* /dir2:需要按 Y 來確認操作,並且把 /dir1 目錄以及子目錄和檔案屬性也傳遞到了 /dir2

\cp -r -a dir1/* /dir2:成功,沒有提示按Y、傳遞了目錄屬性、沒有略過目錄。

Linux ln 命令

ln 命令用來為檔案建立連結。連結型別分為硬連結和軟連結(符號連結)兩種。

1)、軟連線:和Windows系統中的快捷方式有點類似

2)、硬連結:相當於多了一個檔名指向同一塊記憶體空間,目錄無法建立硬連結,不可以跨檔案系統建立硬連結

【注意】刪除檔名不影響硬連結與檔案的使用,但軟連結卻無法繼續使用。

【用法】ln [選項] [原始檔或目錄] [目標檔案或目錄]

【常用選項】

-b:刪除,覆蓋以前建立的連結

-d:建立指向目錄的硬連結(只適用於超級使用者)

-f:強制執行,操作前不詢問

-i:互動模式,檔案存在則提示使用者是否覆蓋

-n:把符號連結視為一般目錄

-s:建立軟連結(符號連結)

-v:顯示詳細的處理過程

【示例】

ln -s a.txt a_softlink.txt:對 a.txt 建立軟連結 a_softlink.txt

ln a.txt a_hardlink.txt:對 a.txt 建立硬連結 a_hardlink.txt

Linux cat 命令

cat 命令用於連線檔案並列印到標準輸出裝置上,常用於檢視小文字檔案。

【用法】cat [選項] [檔名]

【常用選項】

-A、-show-all:與 -vET 等價

-b、--number-nonblank:對非空輸出行編號。和 -n 相似,只不過對於空白行不編號

-e:與 -vE 等價

-E、--show-ends:在每行結束處顯示 $

-n、--number:由 1 開始對所有輸出的行數編號

-s、--squeeze-blank:當遇到有連續兩行以上的空白行,就代換為一行的空白行

-t:與 -vT 等價

-T、--show-tabs:將 TAB 字元顯示為 ^I

-v、--show-nonprinting:使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外

【示例】

cat a.txt:檢視 a.txt 檔案的內容

cat a.txt b.txt:同時顯示 a.txt 和 b.txt 檔案內容。注意檔名之間以空格分隔,而不是逗號

cat -n a.txt > b.txt:把 a.txt 文件內容加上行號後輸入到 b.txt 文件裡,會覆蓋原來的內容,檔案不存在則建立它

cat -n a.txt >> b.txt:把 a.txt 文件內容加上行號後追加到 b.txt 中去,不會覆蓋原來的內容,檔案不存在則建立它

cat -b a.txt b.txt >> c.txt:把 a.txt、b.txt 文件內容加上行號(空白行除外)後再將內容追加到 c.txt 文件裡

cat /dev/null > /etc/a.txt:清空 /etc/a.txt 文件內容

Linux nl 命令

nl 命令在 linux 系統中用來計算檔案中行號(類似於 cat -n 命令)。該命令還可以將輸出的檔案內容自動加上行號,其預設的結果與 cat -n 是有區別的。

【用法】nl [選項...] [檔案...]

【常用選項】

-b:指定列出行號的方式,主要有兩種

  -b a:不論是否為空行,都列出行號(類似於 cat -n)

  -b t:如果有空行,則空的那一行不列出行號(預設值)

-n:指定表示行號的方法,主要有三種

  -n ln:行號在螢幕的最左方顯示

  -n rn:行號在自己欄位的最右方顯示,且不加 0

  -n rz:行號在自己欄位的最右方顯示,且加 0

-w:行號欄位佔用的位數。預設為 6 位

-p:在邏輯定界符處不重新開始計算

Linux head 命令

head 命令用於檢視文件的頭部指定數量的字元塊,預設顯示指定文件的開頭 10 行。如果給定的檔案不止一個,則在顯示的每個檔案前面加一個檔名標題。與 tail 命令用法相似。
【用法】head [選項] [檔案...]
【常用選項】
-c、--bytes=[-]K:k 表示顯示文件開始的前 k 個位元組,-k 表示不顯示文件結尾的最後 k 個位元組
-n、--lines=[-]K:k 表示顯示文件開始的前 k 行,-k 表示不顯示文件結尾的最後 k 行
-q、--quiet、--silent:不顯示包含給定檔名的檔案頭
-v、--verbose:總是顯示包含給定檔名的檔案頭
【示例】
head -c 5 logs/info.log:顯示檔案的前 5 個位元組
head -n 5 logs/info.log:顯示檔案的前 5 行
head -c -5 logs/info.log:顯示檔案中除了最後 5 個位元組以外的內容
head -n -5 logs/info.log:顯示檔案中除了最後 5 行以外的內容

Linux tail 命令

tail 命令用於檢視文件的尾部指定數量的字元塊,預設顯示文件的最後 10 行。如果給定的檔案不止一個,則在顯示的每個檔案前面加一個檔名標題。與 head 命令用法相似。
【用法】tail [選項] [檔案...]
【常用選項】
-c、--bytes=K:k 表示顯示文件結尾的前 k 位元組,+k 表示不顯示文件開始的前 k-1 位元組
-n、--lines=K:k 表示顯示文件結尾的 k 行,+k 表示不顯示文件開始的前 k-1 行
-q、--quiet、--silent:當有多個檔案引數時,不輸出各個檔名
-f、--follow[={name|descriptor}]:動態監視文件最新追加的內容
-s、--sleep-interval=N:與 -f 選項連用,指定監視檔案變化時間隔的秒數
【示例】
tail logs/info.log:顯示 info.log 檔案的最後 10 行
tail +20 logs/info.log:顯示 info.log 檔案從第 20 行至檔案末尾的內容
tail -4 logs/info.log:顯示 info.log 檔案最後 4 行內容
tail -c 10 logs/info.log:顯示 info.log 檔案的最後 10 個字元
tail -n +10 logs/info.log:顯示 info.log 檔案除了前 9 行以外的內容
tail -f logs/info.log:顯示 info.log 檔案的動態變化

Linux which 命令

which 命令常用於檢視指定命令的絕對路徑,還可以看到某個系統命令是否存在、執行的到底是哪一個位置的命令。
【用法】which [命令]
【示例】
which ls:檢視 ls 命令的絕對路徑

## Linux whereis 命令
whereis 命令用於搜尋,且只能搜尋與指定名字匹配的二進位制檔案、原始檔和幫助手冊檔案所在的路徑。如果省略引數,則返回所有資訊。和 find 相比,whereis 查詢的速度非常快,因為 linux 系統會將系統內的所有檔案都記錄在一個數據庫檔案中,使用 whereis 和 locate 時會從資料庫中查詢資料,而 find 命令則是通過遍歷硬碟來查詢。但該資料庫檔案不是實時更新的,預設是每星期更新一次,所以在用 whereis 和 locate 查詢檔案時,可能會找到已被刪除的資料或剛建立的檔案無法被查詢到,這就是因為資料庫檔案沒有更新。
【用法】whereis [-bmsu] [BMS 目錄名 -f] 檔名
【常用選項】
-b:定位可執行檔案
-m:定位幫助檔案
-s:定位原始碼檔案
-u:搜尋預設路徑下除可執行檔案、原始碼檔案、幫助檔案以外的其它檔案
-B:指定搜尋可執行檔案的路徑
-M:指定搜尋幫助檔案的路徑
-S:指定搜尋原始碼檔案的路徑
【示例】
whereis svn:查詢所有和 svn 有關的檔案
whereis -b svn:查詢和 svn 有關的二進位制檔案

Linux locate 命令

locate 命令用於查詢符合條件的文件。它會去儲存文件和目錄名稱的資料庫內查詢合乎範本樣式條件的文件或目錄。一般情況下只需輸入 locate fileName 即可。該命令的速度比 find 更快,但剛建立的檔案通過該命令將搜尋不到。
【附加說明】
locate 與 find 不同: find 是去硬碟找,而 locate 是在 /var/lib/slocate/slocate.db 資料庫中找,所以 locate 的速度比 find 快。但 locate 查詢並非實時的,而是以資料庫的更新為準,一般是系統自己維護,也可以手工(命令為:updatedb)升級資料庫。
【安裝命令】yum install mlocate
【用法】locate [選項] [範本樣式...]
【常用選項】
-d、--database=<檔名>:指定 locate 命令使用的資料庫。系統預設為 /var/lib/slocate/slocate.db 檔案
-c、--count:只輸出找到的數量
-e:將排除在尋找的範圍之外
-q、--quiet:安靜模式,不會顯示任何錯誤資訊
-i、--ignore-case:忽略大小寫
-f:將特定檔案系統排除在外(如:沒必要把 proc 檔案系統中的檔案放進資料庫中)
-n:至多顯示 n 個輸出
-o:指定資料庫中存的名稱
【示例】
locate pwd:查詢和 pwd 相關的所有檔案
locate ./logs/info:搜尋 ./logs 目錄下所有以 info 開頭的檔案
locate ./logs/*.log:搜尋 ./logs 目錄下所有以 .log 結束的檔案

Linux grep 命令

grep 用於查詢內容包含指定範本樣式的檔案,如果發現某檔案的內容符合所指定的範本樣式,則會把含有範本樣式的那一列顯示出來。若不指定任何檔名稱,或是所給予的檔名為 -,則 grep 指令會從標準輸入裝置讀取資料。
【用法】grep [常用選項...] 範本樣式 fileName
【常用選項】
-a、--text:不忽略二進位制資料
-A<顯示行數>、--after-context=<顯示行數>:除了顯示符合範本樣式的列外,還顯示該行之後的內容
-b、--byte-offset:在顯示符合樣式的行之前,標示出該行第一個字元的編號
-B<顯示行數>、--before-context=<顯示行數>:除了顯示符合樣式的行外,還顯示該行之前的內容
-c、--count:計算符合樣式的列數
-C<顯示行數>、--context=<顯示行數>、-<顯示行數>:除了顯示符合樣式的行外,還顯示該行之前後的內容
-d<動作>、--directories=<動作>:當指定要查詢的是目錄時,必須使用這項引數,否則 grep 指令將會報資訊並停止動作
-e<範本樣式>、--regexp=<範本樣式>:指定字串做為查詢檔案內容的樣式
-E、--extended-regexp:將樣式為延伸的普通表示法來使用
-f<規則檔案>、--file=<規則檔案>:指定規則檔案,其內容含有一個或多個規則樣式,讓 grep 查詢符合規則條件的檔案內容,格式為每行一個規則樣式
-F、--fixed-regexp:將樣式視為固定字串的列表
-G、--basic-regexp:將樣式視為普通的表示法來使用
-h、--no-filename:在顯示符合樣式的行前,不標示該行所屬的檔名稱
-H、--with-filename:在顯示符合樣式的行之前,表示該行所屬的檔名稱
-i、--ignore-case:忽略字元大小寫的差別
-l、--file-with-matches:列出檔案內容符合指定的樣式的檔名稱
-L、--files-without-match:列出檔案內容不符合指定的樣式的檔名稱
-n、--line-number:在顯示符合樣式的行之前,標示出該行的列數編號
-q、--quiet或--silent:不顯示任何資訊
-r、--recursive:此引數的效果和指定 -d recurse 引數相同
-s、--no-messages:不顯示錯誤資訊
-v、--revert-match:顯示不包含匹配文字的所有行
-w、--word-regexp:只顯示全字符合的列
-x、--line-regexp:只顯示全列符合的列
-y:此引數的效果和指定 -i 引數相同。
【範本樣式】
^:錨定行的開始(如:'^grep'匹配所有以 grep 開頭的行)
$:錨定行的結束(如:'grep$'匹配所有以 grep 結尾的行)
.:匹配一個非換行符的字元(如:'gr.p'匹配 gr 後接一個任意字元,然後是 p)
*:匹配零個或多個先前字元(如:'*grep'匹配所有一個或多個空格後緊跟 grep 的行)
.*:代表任意字元
[]:匹配一個指定範圍內的字元(如:'[Gg]rep'匹配 Grep 和 grep)
[^]:匹配一個不在指定範圍內的字元(如:'[^A-FH-Z]rep'匹配不包含 A-R 和 T-Z 的一個字母開頭,緊跟 rep 的行)
\(..\):標記匹配字元(如:'\(love\)',love 被標記為1)
\<:錨定單詞的開始(如:'\<grep'匹配包含以grep開頭的單詞的行)
\>:錨定單詞的結束(如:'grep\>'匹配包含以 grep 結尾的單詞的行)
x\{m\}:重複字元x,m次(如:'0\{5\}'匹配包含5個0的行)
x\{m,\}:重複字元x,至少 m 次(如:'o\{5,\}'匹配至少有5個o的行)
x\{m,n\}:重複字元x,至少 m 次,不多於 n 次(如:'o\{5,10\}'匹配 5-10個o的行)
\w:匹配文字和數字字元,也就是[A-Za-z0-9](如:'G\w*p'匹配以G後跟零個或多個文字或數字字元,然後是p)
\W:\w 的反置形式,匹配一個或多個非單詞字元(如:點號、句號等)
\b:單詞鎖定符(如: '\bgrep\b'只匹配 grep)
【示例】
ps -ef|grep svn:查詢指定程序
ps -ef|grep svn -c 或 ps -ef|grep -c svn:查詢指定程序個數
cat test.txt | grep -f test2.txt:輸出 test.txt 檔案中含有從 test2.txt 檔案中讀取出的關鍵詞的內容行
cat test.txt | grep -nf test2.txt:輸出 test.txt 檔案中含有從 test2.txt 檔案中讀取出的關鍵詞的內容行,並顯示每一行的行號
grep 'linux' test.txt 或 grep -n 'linux' test.txt:從檔案中查詢關鍵詞,後者多顯示行號
grep 'linux' test.txt test2.txt 或 grep -n 'linux' test.txt test2.txt:從多個檔案中查詢關鍵詞,後者多顯示行號。注意多檔案輸出資訊內容行時,會把檔名在行最前面輸出並加上":"作為標示符
cat test.txt |grep ^u:找出以 u 開頭的行內容
cat test.txt |grep ^[^u]:輸出非 u 開頭的行內容
cat test.txt |grep hat$:輸出以 hat 結尾的行內容
cat test.txt |grep -E "ed|at":顯示包含 ed 或 at 字元的內容行
grep '[a-z]\{7\}' *.txt:顯示當前目錄下以 .txt 結尾的檔案中所有包含每個字串至少有7個連續小寫字元的字串的行

Linux wget 命令

wget 命令用於從網路下載資源,若不指定儲存目錄,則預設存放在當前目錄。
【用法】wget [選項] [URL地址]
【常用選項】
-b、–background:後臺下載資源。下載大檔案時可以使用該引數進行後臺下載
-o、–output-file=fileName:把記錄寫到 fileName 檔案中
-a、–append-output=fileName:把記錄追加到 fileName 檔案中
-O –output-document=fileName:把文件寫到 fileName 檔案中
-q、–quiet:安靜模式,沒有任何輸出
-t、–tries=次數:設定最大嘗試連結次數(0 表示無限制)
-c、–continue:接著下載未下載完的檔案
-N、–timestamping:不要重新下載檔案除非比本地檔案新
-S、–server-response:列印伺服器的響應
–spider:不下載任何東西
-T、–timeout=SECONDS:設定響應超時的秒數
-w、–wait=SECONDS:兩次嘗試之間間隔 SECONDS 秒
-Q、–quota=NUMBER:設定下載的容量限制
–limit-rate=RATE:限定下載輸率
-nd、–no-directories:不建立目錄
-x、–force-directories:強制建立目錄
-nH、–no-host-directories:不建立主機目錄
-P、–directory-prefix=dir:將檔案儲存到指定目錄
【示例】
wget -O xiazai.zip http://www.no.com/download.zip:使用 wget -O 下載檔案並重命名再儲存
wget --limit-rate=300k http://www.no.com/download.zip:使用 wget –limit-rate 限速下載
wget -c http://www.no.com/download.zip:使用 wget -c 斷點續傳
wget -b http://www.no.com/download.zip:使用 wget -b 後臺下載

Linux wc 命令

wc 命令用來統計位元組數、字元數、字數、行數等。
【用法】wc [選項] [檔案]
【常用選項】
-c、--bytes:統計位元組數
-m、--chars:統計字元數。不能與 -c 一起使用
-w、--words:統計字數。一個字被定義為由空白、跳格或換行字元分隔的字串
-l、--lines:統計行數
-L:列印最長行的長度
【示例】
wc -c test.txt:統計 test.txt 的位元組數
wc -l test.txt:統計 test.txt 的行數

Linux tar 命令

tar 命令的功能:將多個檔案打包為一個檔案;將檔案打包並壓縮;將打包的檔案解包;將打包壓縮的檔案解壓。
打包和壓縮:打包是指將一大堆檔案或目錄變成一個總的檔案;壓縮則是將一個大的檔案或目錄通過壓縮演算法變成一個小檔案。
【用法】
通用:tar [選項] [檔案..]
壓縮:tar -jcv -f filename.tar.bz2 要壓縮的檔案或目錄名稱
查詢:tar -jtv -f filename.tar.bz2
解壓:tar -jxv -f filename.tar.bz2 -C 欲解壓縮的目錄
【常用選項】
-A、--catenate:新增檔案到已存在的壓縮檔案
-B:設定區塊大小
-C、--directory=DIR:將檔案解壓到指定目錄
-c、--create:建立新的壓縮檔案
-d:記錄檔案的差別
-f、--file:列出壓縮檔案中的內容,後面只能接檔名
-j、--bzip2:通過 bzip2 解壓檔案
-k、--keep-old-files:保留原始檔不覆蓋
-r、--append:追加檔案至歸檔結尾
-t、--list:列出壓縮檔案的內容
-u、--update:僅追加比歸檔中副本更新的檔案
-v、--verbose:顯示指令執行過程
-x、--extract、--get:從壓縮檔案中還原檔案
-z、--gzip、--gunzip、--ungzip:通過 gzip 指令處理壓縮檔案
-Z、--compress、--uncompress:通過 compress 指令處理壓縮檔案
【常見解壓/壓縮命令】
- tar(該目錄是打包而非壓縮)相關
解包:tar xvf FileName.tar
打包:tar cvf FileName.tar DirName
- .gz 相關
解壓1:gunzip FileName.gz
解壓2:gzip -d FileName.gz
壓縮:gzip FileName
- .tar.gz 和 .tgz 相關
解壓:tar zxvf FileName.tar.gz
壓縮:tar zcvf FileName.tar.gz DirName
- .zip 相關
解壓:unzip FileName.zip
壓縮:zip FileName.zip DirName
- .rar 相關
解壓:rar x FileName.rar
壓縮:rar a FileName.rar DirName
【示例】
tar -cvf test.tar 1.txt 2.txt 3.txt 4.txt:將 1.txt、2.txt、3.txt、4.txt 檔案打包為 test.tar
tar -zcvf test.tar.gz 1.txt 2.txt 3.txt 4.txt:將 1.txt、2.txt、3.txt、4.txt 檔案打包並壓縮為 test.tar.gz
tar -jcvf test.tar.bz2 *.txt:將 1.txt、2.txt、3.txt、4.txt 檔案打包並壓縮為 test.tar.bz2
tar -tf test.tar:列出 test.tar 裡的檔案
tar -xvf test.tar:將 test.tar 解包
tar -zxvf test.tar.gz:將 test.tar.gz 解壓
tar -jxvf test.tar.bz2:將 test.tar.bz2 解壓
tar -cvf log.tar log2012.log:僅打包,不壓縮!
tar -zcvf log.tar.gz log2012.log:打包後以 gzip 壓縮
tar -jcvf log.tar.bz2 log2012.log:打包後以 bzip2 壓縮

Linux date 命令

date 命令常用於設定系統時間、按指定格式顯示時間等。
【用法】date [選項..] [格式]
【常用選項】
-d、--date=STRING:顯示指定日期的時間
-I:只顯示日期
-r、--reference=檔案:顯示指定檔案的最後修改時間
-R、--rfc-2822:以 RFC 2822 格式輸出日期和時間
-s、--set=STRING:設定系統時間為指定時間STRING
-u、--utc、--universal:顯示UTC時間(UTC)
【日期格式】
%%:一個 %
%a:當前 locale 的星期名縮寫(如: 日,代表星期日)
%A:當前 locale 的星期名全稱(如:星期日)
%b:當前 locale 的月名縮寫(如:一,代表一月)
%B:當前 locale 的月名全稱(如:一月)
%c:當前 locale 的日期和時間(如:2005年3月3日 星期四 23:05:25)
%C:世紀,通常為省略當前年份的後兩位數字(如:20)
%d:按月計的日期(如:01)
%D:按月計的日期,等價於 %m/%d/%y
%e:按月計的日期,新增空格,等價於 %_d
%F:完整日期格式,等價於 %Y-%m-%d
%g:ISO-8601 格式年份的最後兩位(參見%G)
%G:ISO-8601 格式年份(參見%V),一般只和 %V 結合使用
%h:等價於%b
%H:小時(00-23)
%I:小時(00-12)
%j:按年計的日期(001-366)
%k:時(0..23),等價於 %_H
%l:時(1..12),等價於 %_I
%m:月(01..12)
%M:分鐘(00..59)
%n:換行
%N:納秒(000000000-999999999)
%p:當前 locale 下的上午或下午,未知時輸出為空
%P:與 %p 類似,但是輸出小寫字母
%r:當前 locale 下 12 小時制的時鐘時間(如:11:11:04 下午)
%R:24 小時制的時和分,等價於 %H:%M
%s:自 UTC 時間 1970-01-01 00:00:00 以來所經過的秒數
%S:秒(00-60)
%t:輸出製表符 Tab
%T:時間,等於 %H:%M:%S
%u:星期,1 代表星期一
%U:一年中的第幾周,以週日為每星期第一天(00-53)
%V:ISO-8601 格式規範下的一年中第幾周,以週一為每星期第一天(01-53)
%w:一星期中的第幾日(0-6),0 代表週一
%W:一年中的第幾周,以週一為每星期第一天(00-53)
%x:當前 locale 下的日期描述(如:12/31/99)
%X:當前 locale 下的時間描述(如:23:13:48)
%y:年份最後兩位數位(00-99)
%Y:年份
%z:+hhmm 數字時區(如:-0400)
%:z:+hh:mm 數字時區(如:-04:00)
%::z:+hh:mm:ss 數字時區(如:-04:00:00)
%:::z:數字時區帶有必要的精度(如:-04,+05:30)
%Z:按字母表排序的時區縮寫(如:EDT)
【示例】
date:顯示當前時間
date "+%Y年%m月%d日,%H時%M分%S秒":按"xxxx年xx月xx日,xx時xx分xx秒"的格式輸出時間
date -s "20200515":設定日期(注意:會將時間設定為凌晨)
date -s "23:23:23":設定時間
date -s "20200515 23:23:23":設定日期和時間

Linux cal 命令

cal 命令用於檢視日曆。
【用法】cal [選項] [[[日] 月] 年]
【常用選項】
-1、--one:顯示當前月份的日曆(預設)
-3、--three:顯示上個月、當月和下個月的日曆
-s、--sunday:顯示當前月份的日曆(以週日作為一週第一天)
-m、--monday:顯示當前月份的日曆(以週一用為一週第一天)
-j、--julian:顯示在當年中的第幾天(從1月1號算起,顯示當前月日期在一年中的天數)
-y、--year:顯示當前年份的日曆(包括1-12月)
【示例】
cal 或 cal -1:顯示當前月份日曆
cal 5 2020:顯示指定月份的日曆
cal 2020 或 cal -y 2020:顯示 2020 年日曆
cal -j:顯示當前年份從1月1日開始的天數
cal -m:星期一顯示在第一列

Linux more 命令

more 命令類似於 cat 命令,但比 cat 命令強大。cat 命令是將整個檔案的內容從上到下顯示在螢幕上,more 命令會一頁一頁的顯示,方便使用者逐頁閱讀,而最基本的指令就是按空白鍵(space)往下一頁顯示,按 b 鍵就會往回(back)一頁顯示,而且還有搜尋字串的功能。more 命令從前向後讀取檔案,因此在啟動時就載入整個檔案。
【常用快捷鍵】
space、z:向下滾動一屏
b、Ctrl+b:返回上一屏
Enter:向下滾動 1 行
=:當前行的行號
v:用 vi 編輯器開啟當前內容
:f:顯示當前文件檔名與當前行號
d、Ctrl+D:向下翻 K 行,預設k=11
q、Q:退出more
Ctrl+L:類似於清屏
【用法】more [選項] 檔案
【常用選項】
-c:從頂部清屏,然後顯示
-d:提示“Press space to continue,’q’ to quiet”,禁用響鈴功能
-f:統計邏輯行數而不是螢幕行數
-l:忽略 Ctrl+l(換頁)字元
-p:通過清除視窗而不是滾屏來對檔案進行換頁,與 -c 選項相似
-u:把檔案內容中的下畫線去掉
-s:把連續的多個空行顯示為一行
-n:定義螢幕大小為 n 行
+n:從笫 n 行開始顯示
+/pattern:在每個檔案顯示前搜尋該字串(pattern),然後從該字串前兩行之後開始顯示

Linux less 命令

less 命令與 more 命令類似,使用 less 可以隨意瀏覽檔案,而 more 只能向前移動而不能向後移動,而且 less 在檢視之前不會載入整個檔案。
less [選項] 檔案
【常用選項】
-b <緩衝區大小>:設定緩衝區的大小
-e:當檔案顯示結束後自動離開
-f:強迫開啟特殊檔案(如:外圍裝置代號、目錄、二進位制檔案等)
-g:只標誌最後搜尋的關鍵詞
-i:忽略搜尋時的大小寫
-m:顯示類似 more 命令的百分比
-N:顯示每行的行號
-o <檔名>:將 less 輸出的內容在指定檔案中儲存起來
-Q:不使用警告音
-s:顯示連續空行為一行
-S:行過長時間將超出部分捨棄
-x <數字>:將 tab 鍵顯示為規定的數字空格
/字串:向下搜尋字串
?字串:向上搜尋字串
n:重複前一個搜尋(與 / 或 ? 有關)
N:反向重複前一個搜尋(與 / 或 ? 有關)
b:向後翻一頁
d:向後翻半頁
Q:退出less 命令
u:向前滾動半頁
y:向前滾動一行
空格鍵:滾動一行
回車鍵:滾動一頁
[pagedown]:向下翻動一頁
[pageup]:向上翻動一頁

Linux free 命令

free 命令可以檢視記憶體使用的相關情況。
【用法】free [選項]
【常用選項】
-b:以 Byte 為單位顯示記憶體使用情況
-k:以 KB 為單位顯示記憶體使用情況(預設就是以 KB 顯示)
-m:以 MB 為單位顯示記憶體使用情況
-g:以 GB 為單位顯示記憶體使用情況
-h:以合適的單位顯示記憶體使用情況
-o:不顯示緩衝區調節列
-s:每 n 秒重新整理,動態觀察記憶體使用狀況
-t:顯示記憶體總和列
【示例】
[root@localhost ~]# free -h
total used free shared buff/cache available
Mem: 1.8G 143M 1.5G 8.6M 200M 1.5G
Swap: 2.0G 0B 2.0G
【說明】
Mem-記憶體;Swap-虛擬記憶體。
total-記憶體總數;used-已經使用的記憶體數;free-未分配的記憶體數;available-可用記憶體;bbuff/cache-快取記憶體數。
tatal = used + free + buff/cache
available = free + buff/cache - 不可回收的部分

Linux ps 命令

ps 命令是 Process Status 的縮寫,用於檢視當前系統的程序狀態。運用該命令可以確定有哪些程序正在執行、檢視程序執行的狀態、 程序是否結束、程序有沒有僵死、哪些程序佔用了過多地資源等。可以搭配 kill 指令隨時中斷、殺死不必要的程序。
【用法】ps [選項]
【常用選項】
-a:顯示現行終端機下的所有程式,包括其他使用者的程式
-A:顯示所有程序
-c:列出程式時,顯示每個程式真正的指令名稱,而不包含路徑,引數或常駐服務的標示
-e:列出程式時,顯示每個程式所使用的環境變數
-f:顯示 UID、PID、PPID、C、STIME、TTY、TIME、CMD 欄位
-H:顯示樹狀結構,表示程式間的相互關係
-N:顯示所有的程式,除了執行 ps 指令終端機下的程式之外
-u:以使用者為主的格式來顯示程式狀況
-x:顯示所有程式,不以終端機來區分

Linux top 命令

top 命令用於實時監測系統資源使用狀況,包含程序、cpu、記憶體等。
【用法】top [選項]
【常用選項】
-b:以批處理模式操作
-c:顯示完整的治命令
-d:螢幕重新整理間隔時間
-I:忽略失效過程
-s:保密模式
-S:累積模式
-i<時間>:設定重新整理間隔時間
-u<使用者名稱>:指定使用者名稱
-p<程序號>:指定程序
-n<次數>:迴圈顯示的次數

Linux chmod 命令

chmod 命令用於管理檔案或目錄的許可權,許可權分為讀取(r)、寫入(w)、執行(x)3種。"可讀可寫可執行"用二進位制 1 表示擁有該許可權,0 表示沒有該許可權,則具有全部許可權的二進位制為 111(即十進位制的 7),只有讀許可權的二進位制為 100(即 十進位制的 4),以此類推……
【用法】chmod [選項] [檔案..]
【注意】
chmod 也可以用數字來表示許可權,語法為:chmod abc file。其中 a、b、c 各為一個數字,分別表示 User、Group、Other 的許可權。r=4,w=2,x=1 ===> 若要 rwx 屬性則 4+2+1=7;若要 rw- 屬性則 4+2=6;若要 r-x 屬性則4+1=5。
chmod a=rwx file 等價於 chmod 777 file
chmod ug=rwx,o=x file 等價於 chmod 771 file
【許可權範圍】
u、User:即檔案或目錄的擁有者
g、Group:即檔案或目錄的所屬群組
o、Other:除了檔案或目錄擁有者或所屬群組外,其他使用者皆屬於這個範圍
a,All:即全部的使用者(包括擁有者、所屬群組、其他使用者)
r:讀取許可權,數字代號為4(即 100)
w:寫入許可權,數字代號為2(即 010)
x:執行或切換許可權,數字代號為1(即 001)
-:不具任何許可權,數字代號為0(即 000)
【常用選項】
-c、--changes:若檔案許可權確實被更改,才顯示其更改動作。效果類似 -v 引數,但僅顯示更改部分
-f、--quiet、--silent:即使檔案許可權無法更改也不顯示錯誤資訊
-R、--recursive:遞迴處理,將指定目錄下的檔案及子目錄進行相同的許可權變更
-v、--verbose:顯示指令執行過程
--reference=<file>:把指定檔案或目錄的所屬群組全部設成和參考檔案或目錄的所屬群組相同
<許可權範圍>+<許可權>:增加指定許可權 (chmod u+r file)
<許可權範圍>-<許可權>:刪除指定許可權 (chmod g-rw file)
<許可權範圍>=<許可權>:等於指定許可權 (chmod o=rwx file)
【示例】
chmod g+w test.txt:給 test.txt 所屬組增加寫許可權
chmod o-r,g+w test.txt:刪除 test.txt 其他使用者的讀許可權,同時增加所屬組的寫許可權
chmod u=rwx,g=rw,o=- test.txt:修改 test.txt 的許可權為 u=rwx,g=rw,o=-
chmod ugo+r test.txt 或 chmod a+r test.txt:將檔案 test.txt 設為所有人皆可讀
chmod ug+w,o-w test1.txt test2.txt:將檔案 test1.txt 與 test2.txt 設為該檔案擁有者,與其所屬同一個群體者可寫入,但其他以外的人則不可寫入
chmod u+x test1.txt:將 test1.txt 設定為只有該檔案擁有者可以執行
chmod -R a+r *:將當前目錄下的所有檔案與子目錄設為任何人可讀取

Linux df 命令

df 命令用於檢視檔案系統的磁碟使用情況統計,如:磁碟的分割槽、已使用空間、剩餘空間等。
【用法】df [選項] [檔案..]
【常用選項】
-a、--all:全部檔案系統
-h、--human-readable:以合適的單位來顯示資訊
-H、--si:與 -h 引數相同,但在計算時是以 1000 Bytes 為換算單位而非 1024 Bytes
-i、--inodes:顯示 inode 的資訊
-k、--kilobytes:指定區塊大小為 1024 位元組
-l、--local:只顯示本地檔案系統
-m、--megabytes:指定區塊大小為 1048576 位元組
-P、--portability:使用 POSIX 的輸出格式
--sync:在取得磁碟使用資訊前,先執行async指令
-t<TYPE>、--type=<TYPE>:僅顯示指定檔案系統型別的磁碟資訊
-T、--print-type:顯示檔案系統的型別
-x<TYPE>、--exclude-type=<TYPE>:不要顯示指定檔案系統型別的磁碟資訊

Linux mount 命令

mount 命令用於將指定的檔案系統或分割槽掛載到指定目錄下,常用於掛載光碟,訪問光碟的資料,光碟並不會自動掛載到目錄中,所以需要手動掛載(必須要先確保系統已經成功連線光碟)。
【用法】
mount [-t vfstype] [-o options] device dir
【引數說明】
vfstype:指定掛載的檔案系統型別(一般不用指定,因為 mount 命令能夠自行判斷)。常用型別有:
光碟或光碟映象:iso9660
DOS fat16檔案系統:msdos
Windows 9x fat32檔案系統:vfat
Windows NT ntfs檔案系統:ntfs
Mount Windows檔案網路共享:smbfs
UNIX(LINUX) 檔案網路共享:nfs
options:指定掛載引數(如:ro 表示以只讀方式掛載檔案系統)。常用引數有:
loop:用來把一個檔案當成硬碟分割槽掛接上系統
ro:採用只讀方式掛接裝置
rw:採用讀寫方式掛接裝置
iocharset:指定訪問檔案系統所用字符集
device:指定要掛載的裝置(如:磁碟、光碟機等)
dir:指定檔案系統要掛載到哪個目錄
【常用選項】
-a、--all:掛載 /etc/fstab 中的所有檔案系統
-f、--fake:不實際載入裝置。可與 -v 等引數同時使用以檢視 mount 的執行過程
-F、--fork:需與 -a 引數同時使用。所有在 /etc/fstab 中設定的裝置會被同時載入,可加快執行速度
-L<標籤> 載入檔案系統標籤為<標籤>的裝置
-n、--no-mtab:不將載入資訊記錄在 /etc/mtab 檔案中

-o、--options <列表>:掛載選項列表。如下:
defaults:使用預設的選項。預設選項為 rw、suid、dev、exec、anto nouser 與 async
async:以非同步的方式執行檔案系統的輸入輸出動作
sync:以同步方式執行檔案系統的輸入輸出動作
user:可以讓一般使用者載入裝置
nouser:使一位使用者無法執行載入操作,預設設定
atime:每次存取都更新 inode 的存取時間,預設設定,取消選項為 noatime
noatime:每次存取時不更新 inode 的存取時間
auto:必須在 /etc/fstab 檔案中指定此選項。執行 -a 引數時,會載入設定為 auto 的裝置,取消選取為 noauto
noauto:無法使用 -a 引數來載入
dev:可讀檔案系統上的字元或塊裝置,取消選項為 nodev
nodev:不讀檔案系統上的字元或塊裝置
exec:可執行二進位制檔案,取消選項為 noexec
noexec:無法執行二進位制檔案
remount:重新載入裝置。通常用於改變裝置的設定狀態
ro:以只讀模式載入
rw:以可讀寫模式載入
suid:啟動 set-user-identifier(設定使用者ID) 與 set-group-identifer(設定組ID) 設定位,取消選項為 nosuid
nosuid:關閉 set-user-identifier(設定使用者ID) 與 set-group-identifer(設定組ID) 設定位
-r、--read-only:以只讀方式掛載檔案系統(同 -o ro)
-c、--no-canonicalize:不對路徑規範化
【示例】
mount /dev/cdrom /mnt/cdrom 或 mount /dev/sr0 /mnt/cdrom:將光碟掛載到 /mnt/cdrom/
umount /mnt/cdrom 或 umount /dev/sr0:解除掛載(不能在掛載點目錄下解除掛載,必須先切換到其他目錄)

Linux vim 編輯器常用命令

【用法】
vim fileName:開啟或新建檔案,並將游標置於第一行首
vim +n fileName:開啟檔案,並將游標置於第 n 行首
vim + fileName:開啟檔案,並將游標置於最後一行首
vim +/pattern fileName:開啟檔案,並將游標置於第一個與 pattern 匹配的串處
vim -r fileName:在上次使用 vi 編輯檔案發生系統崩潰時恢復 fileName
vim fileName1……fileNameX:開啟多個檔案,依次進行編輯
【移動游標類命令】
h、Backspace:游標左移一個字元
l、space:游標右移一個字元
k、Ctrl+p:游標上移一行
j、Ctrl+n、Enter:游標下移一行
w、W:游標右移一個字至字首
b、B:游標左移一個字至字首
e、E:游標右移一個字至字尾
) :游標移至句尾
( :游標移至句首
}:游標移至段落開頭
{:游標移至段落結尾

nG:游標移至第 n 行首

n$:游標移至第 n 行尾

n+:游標下移 n 行

n-:游標上移 n 行

H:游標移至螢幕頂行

M:游標移至螢幕中間行

L:游標移至螢幕最後行

0:游標移至當前行首

$:游標移至當前行尾

【螢幕翻滾類命令】
Ctrl+u:向檔案首翻半屏
Ctrl+d:向檔案尾翻半屏
Ctrl+f:向檔案尾翻一屏
Ctrl+b;向檔案首翻一屏
nz:將第 n 行滾至螢幕頂部,不指定 n 時將當前行滾至螢幕頂部
【插入文字類命令】
Esc:退出插入模式
i:從當前游標處進入插入模式
a:追加模式,置游標於當前游標之後
I:進入插入模式,置游標於行首
A:追加模式,置游標於行末
o:在當前行之下新加一行,並進入插入模式
O:在當前行之上新加一行,並進入插入模式
r:替換當前字元
R:替換當前字元及其後的字元,直至按 ESC 鍵
s:從當前游標位置處開始,以輸入的文字替代指定數目的字元
S:刪除指定數目的行,並以所輸入文字代替之
ncw、nCW:修改指定數目的字
nCC:修改指定數目的行
【刪除命令】
ndw、ndW:刪除游標處開始及其後的 n-1 個字
do:刪至行首
d$:刪至行尾
ndd:刪除當前行及其後 n-1 行
x:刪除游標後的一個字元
X:刪除游標前的一個字元
Ctrl+u:刪除輸入方式下所輸入的文字
【搜尋及替換命令】
ra:將當前字元(即游標所在字元)替換為a(a 是示例,實際是要替換的目標資料)
/pattern:從游標開始處向檔案尾搜尋 pattern
?pattern:從游標開始處向檔案首搜尋 pattern
n:在同一方向重複上一次搜尋命令
N:在反方向上重複上一次搜尋命令
:s/p1/p2/:將當前行中第一個 p1 用 p2 替代
:s/p1/p2/g:將當前行中所有 p1 用 p2 替代
:%s/p1/p2/:將所有行中第一個 p1 用 p2 替代
:%s/p1/p2/g:將文件中所有 p1 用 p2 替代
:g/p1/s//p2/g:將文件中所有 p1 用 p2 替換
:n1,n2s/p1/p2/g:將第 n1 至 n2 行中所有 p1 用 p2 替代
【最後行方式命令】
:e fileName:開啟檔案 fileName 進行編輯
:n1,n2 co n3:將 n1 行到 n2 行之間的內容拷貝到第 n3 行下
:n1,n2 m n3:將 n1 行到 n2 行之間的內容移至到第 n3 行下
:n1,n2 d:將 n1 行到 n2 行之間的內容刪除
:w:將緩衝區寫入檔案,即儲存修改
:wq:儲存修改並退出
:x:儲存當前檔案並退出
:q:退出 vi,如果對緩衝區進行過修改,則會提示
:q!:強制退出(不儲存文