Linux常用命令詳解—基於CentOS7

来源:https://www.cnblogs.com/qubo520/archive/2020/05/16/12901594.html
-Advertisement-
Play Games

本文檔是根據網路資料整理的,參考文章眾多,若有雷同,純屬巧合! Linux 目錄 - /:根目錄,一般只存放目錄,不存放文件 - /bin -> /usr/bin:可執行二進位文件的目錄,也是常用命令目錄,如常用的命令 ls、cat、mv 等 - /boot:該目錄中存放系統的內核文件,系統引導時使 ...


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

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!:強制退出(不保存文件)


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 最近在寫一個導入工具時用到了一個新的東西Quartz 計時器 ,timer有的Quartz 基本都有,所以用Quartz 來寫了下代碼,並記錄。 1、首先需要引用GuGet程式包,搜索' quartz ' ,下載安裝到程式。 2、直接上代碼,創建job,trigger等方法 job傳參: job.J ...
  • 一、概念名稱 Windows服務(即以前的 NT 服務),使您能夠創建在它們自己的Windows會話中可長時間運行的可執行應用程式。這些服務可以在電腦啟動時自動啟動,可以暫停和重新啟動而且不顯示任何用戶界面。這種服務非常適合在伺服器上使用,或任何時候,為了不影響在同一臺電腦上工作的其他用戶,需要 ...
  • 需求提出: GridControl表格控制項的使用過程中,如果表格能根據單元格數據的範圍,擁有不同的Appearance,包括前景色,背景色,圖標甚至進度條等,表格的表現力將大大增加。此時可在表格的設計視窗添加對應的Format Rules,設置相應範圍及外觀即可。 此處針對的數據類型基本屬於數值類型 ...
  • 用戶管理 1 選擇 1.1 增加一個新用戶admin,許可權是root?(A) ​ A.useradd u 0 o admin B.useradd g 0 o admin C.useradd g 1 o admin D.useradd u 1 o admin 1.2 普通用戶的ID一般是(BC) ​ ...
  • 磁碟管理 1 選擇 1 若一臺電腦的記憶體為8GB,則交換分區的大小通常是(c) A.64GB B.128GB C.16GB D.32GB 2 若一臺電腦的記憶體為128M,則交換分區的大小通常為(C) A.64M B.128M C.256M D.512M 3在安裝Linux操作系統時,必須創建的兩 ...
  • 如何從安裝了Windows的工作電腦連遠程接到Linux伺服器?其實有很多軟體,比如 PuTTY、XShell、CRT、MobaXterm等等。不過還是 PuTTY最簡單易用、無需安裝、並且開源免費。PuTTY其實是一個軟體套裝,裡邊除了最常用的putty之外,還包含了像 pscp、psftp等可以 ...
  • 什麼是容器?在生活中我們常見的容器有各種瓶瓶罐罐、各種能夠容納其它物料的東西叫容器;容器的特點就是有著很好的隔離作用,使得不同的物料互相隔離;除此之外容器還方便運輸、方便儲存;這是生活中所說的容器,以及它的特點;在電腦領域中,所謂容器不外乎也有同生活中的容器的特點,隔離,方便“運輸”(電腦中的... ...
  • 文件操作 help——列出cygwin支持的所有命令 pwd——顯示當前的路徑 ls——顯示當前文件夾中的所有文件 mkdir——建立目錄 rmdir——刪除目錄 rm——刪除文件 cat bj.log ——打開文件 grep 查找命令 cat bj.log grep Baiduspider >xi ...
一周排行
    -Advertisement-
    Play Games
  • 前言 在我們開發過程中基本上不可或缺的用到一些敏感機密數據,比如SQL伺服器的連接串或者是OAuth2的Secret等,這些敏感數據在代碼中是不太安全的,我們不應該在源代碼中存儲密碼和其他的敏感數據,一種推薦的方式是通過Asp.Net Core的機密管理器。 機密管理器 在 ASP.NET Core ...
  • 新改進提供的Taurus Rpc 功能,可以簡化微服務間的調用,同時可以不用再手動輸出模塊名稱,或調用路徑,包括負載均衡,這一切,由框架實現並提供了。新的Taurus Rpc 功能,將使得服務間的調用,更加輕鬆、簡約、高效。 ...
  • 順序棧的介面程式 目錄順序棧的介面程式頭文件創建順序棧入棧出棧利用棧將10進位轉16進位數驗證 頭文件 #include <stdio.h> #include <stdbool.h> #include <stdlib.h> 創建順序棧 // 指的是順序棧中的元素的數據類型,用戶可以根據需要進行修改 ...
  • 前言 整理這個官方翻譯的系列,原因是網上大部分的 tomcat 版本比較舊,此版本為 v11 最新的版本。 開源項目 從零手寫實現 tomcat minicat 別稱【嗅虎】心有猛虎,輕嗅薔薇。 系列文章 web server apache tomcat11-01-官方文檔入門介紹 web serv ...
  • C總結與剖析:關鍵字篇 -- <<C語言深度解剖>> 目錄C總結與剖析:關鍵字篇 -- <<C語言深度解剖>>程式的本質:二進位文件變數1.變數:記憶體上的某個位置開闢的空間2.變數的初始化3.為什麼要有變數4.局部變數與全局變數5.變數的大小由類型決定6.任何一個變數,記憶體賦值都是從低地址開始往高地 ...
  • 如果讓你來做一個有狀態流式應用的故障恢復,你會如何來做呢? 單機和多機會遇到什麼不同的問題? Flink Checkpoint 是做什麼用的?原理是什麼? ...
  • C++ 多級繼承 多級繼承是一種面向對象編程(OOP)特性,允許一個類從多個基類繼承屬性和方法。它使代碼更易於組織和維護,並促進代碼重用。 多級繼承的語法 在 C++ 中,使用 : 符號來指定繼承關係。多級繼承的語法如下: class DerivedClass : public BaseClass1 ...
  • 前言 什麼是SpringCloud? Spring Cloud 是一系列框架的有序集合,它利用 Spring Boot 的開發便利性簡化了分散式系統的開發,比如服務註冊、服務發現、網關、路由、鏈路追蹤等。Spring Cloud 並不是重覆造輪子,而是將市面上開發得比較好的模塊集成進去,進行封裝,從 ...
  • class_template 類模板和函數模板的定義和使用類似,我們已經進行了介紹。有時,有兩個或多個類,其功能是相同的,僅僅是數據類型不同。類模板用於實現類所需數據的類型參數化 template<class NameType, class AgeType> class Person { publi ...
  • 目錄system v IPC簡介共用記憶體需要用到的函數介面shmget函數--獲取對象IDshmat函數--獲得映射空間shmctl函數--釋放資源共用記憶體實現思路註意 system v IPC簡介 消息隊列、共用記憶體和信號量統稱為system v IPC(進程間通信機制),V是羅馬數字5,是UNI ...