1. 程式人生 > 實用技巧 >實用指令

實用指令

一、執行級別

1、執行級別說明

0:關機
1:單使用者【找回丟失密碼】
2:多使用者狀態沒有網路服務
3:多使用者狀態有網路服務
4:系統未使用保留給使用者
5:圖形介面
6:系統重啟

常用執行級別是 3 和 5 ,要修改預設的執行級別可改檔案/etc/inittab 的 id:5:initdefault:這一行中的數字

執行級別的示意圖:

2、切換到指定執行級別的指令

#基本語法
init [012356]

應用例項

案例 1: 通過 init 來切換不同的執行級別,比如動 5->3 , 然後關機

init  3
init  5
init  0

案例 2:如何找回 root 密碼,如果我們不小心,忘記 root 密碼,怎麼找回。

思路: 進入到單使用者模式,然後修改 root 密碼。因為進入單使用者模式,root 不需要密碼就可以登入。

二、幫助指令

當我們對某個指令不熟悉時,我們可以使用 Linux 提供的幫助指令來了解這個指令的使用方法。

1、man 獲得幫助資訊

#基本語法
man [命令或配置檔案](功能描述:獲得幫助資訊)

應用例項:檢視 ls 命令的幫助資訊

2、help 指令

#基本語法
help 命令 (功能描述:獲得 shell 內建命令的幫助資訊)

應用例項:檢視 cd 命令的幫助資訊

三、檔案目錄類

1、pwd 指令

#基本語法
pwd    (功能描述:顯示當前工作目錄的絕對路徑)

應用例項:顯示當前工作目錄的絕對路徑

2、ls 指令

#基本語法
ls [選項]  [目錄或是檔案]

#常用選項
-a:顯示當前目錄所有的檔案和目錄,包括隱藏的。
-l:以列表的方式顯示資訊

應用例項:檢視當前目錄的所有內容資訊

3、cd 指令

#基本語法
cd    [引數] (功能描述:切換到指定目錄)

#常用引數
絕對路徑和相對路徑

cd ~ 或者 cd :回到自己的家目錄
cd .. 回到當前目錄的上一級目錄

4、mkdir 指令

mkdir 指令用於建立目錄(make directory)

#基本語法
mkdir [選項] 要建立的目錄

#常用選項
-p :建立多級目錄

應用例項

案例 1:建立一個目錄 /home/dog

案例 2:建立多級目錄 /home/animal/tiger

5、rmdir 指令

rmdir 指令刪除空目錄

#基本語法
rmdir  [選項]  要刪除的空目錄

應用例項:刪除一個目錄 /home/dog

使用細節

rmdir 刪除的是空目錄,如果目錄下有內容時無法刪除的。

提示:如果需要刪除非空目錄,需要使用 rm -rf 要刪除的目錄

6、touch 指令

touch 指令建立空檔案

#基本語法
touch 檔名稱

應用例項:建立一個空檔案 hello.txt

7、cp 指令[重要]

cp 指令拷貝檔案到指定目錄

#基本語法
cp [選項] source dest

#常用選項
-r :遞迴複製整個資料夾

應用例項

案例 1: 將 /home/aaa.txt 拷貝到 /home/bbb 目錄下[拷貝單個檔案]

案例 2: 遞迴複製整個資料夾,舉例將/home/test 整個目錄拷貝到 /home/zwj 目錄

8、rm 指令

rm 指令移除【刪除】檔案或目錄

#基本語法
rm  [選項]  要刪除的檔案或目錄

#常用選項
-r:遞迴刪除整個資料夾
-f:強制刪除不提示

應用例項

案例 1: 將 /home/aaa.txt 刪除

案例 2: 遞迴刪除整個資料夾 /home/bbb

使用細節

強制刪除不提示的方法:帶上 -f 引數即可

9、mv 指令

mv 移動檔案與目錄或重新命名

#基本語法
mv oldNameFile newNameFile    (功能描述:重新命名) 
mv /temp/movefile /targetFolder (功能描述:移動檔案)

應用例項

案例 1:將 /home/aaa.txt 檔案重新命名為 pig.txt

案例 2:將 /home/pig.txt 檔案移動到 /root 目錄下

10、cat 指令

cat 檢視檔案內容,是以只讀的方式開啟。

#基本語法
cat    [選項] 要檢視的檔案

#常用選項
-n :顯示行號

應用例項:/etc/profile 檔案內容,並顯示行號

使用細節

  • cat 只能瀏覽檔案,而不能修改檔案,為了瀏覽方便,一般會帶上管道命令 | more
  • cat 檔名 | more [分頁瀏覽]

11、more 指令

more 指令是一個基於 VI 編輯器的文字過濾器,它以全螢幕的方式按頁顯示文字檔案的內容。more 指令中內建了若干快捷鍵,詳見操作說明

#基本語法
more 要檢視的檔案

應用例項:採用 more 檢視檔案 /etc/profile

快捷鍵一覽

12、less 指令

less 指令用來分屏檢視檔案內容,它的功能與 more 指令類似,但是比 more 指令更加強大,支援各種顯示終端。less 指令在顯示檔案內容時,並不是一次將整個檔案載入之後才顯示,而是根據顯示需要載入內容,對於顯示大型檔案具有較高的效率。

#基本語法
less 要檢視的檔案

應用例項:採用 less 檢視一個大檔案檔案 /opt/金庸-射鵰英雄傳 txt 精校版.txt

快捷鍵一覽

13、> 指令 和 >> 指令

  • > 輸出重定向:會將原來的檔案的內容覆蓋
  • >> 追加:不會覆蓋原來檔案的內容,而是追加到檔案的尾部。

基本語法

1) ls -l >檔案功能描述:列表的內容寫入檔案 a.txt 中(覆蓋寫)

說明:ls -l > a.txt , 將 ls -l 的顯示的內容覆蓋寫入到 a.txt 檔案,如果該檔案不存在,就建立該檔案。

2) ls -al >>檔案 (功能描述:列表的內容追加到檔案 aa.txt 的末尾)

3) cat 檔案 1 > 檔案 2 (功能描述:將檔案 1 的內容覆蓋到檔案 2)

4) echo "內容" >> 檔案

應用案例

案例 1:將 /home 目錄下的檔案列表寫入到 /home/info.txt 中

案例 2:將當前日曆資訊追加到 /home/mycal 檔案中

14、echo 指令

echo 輸出內容到控制檯。

#基本語法
echo [選項] [輸出內容]

應用例項:使用 echo 指令輸出環境變數,輸出當前的環境路徑

15、head 指令

head 用於顯示檔案的開頭部分內容,預設情況下 head 指令顯示檔案的前 10 行內容

#基本語法
head 檔案    (功能描述:檢視檔案頭 10 行內容)
head -n 5 檔案    (功能描述:檢視檔案頭 5 行內容,5 可以是任意行數)

應用例項:檢視 /etc/profile 的前面 5 行程式碼

16、tail 指令

tail 用於輸出檔案中尾部的內容,預設情況下 tail 指令顯示檔案的後 10 行內容。

#基本語法
1)    tail 檔案(功能描述:檢視檔案後 10 行內容)
2)    tail -n 5 檔案(功能描述:檢視檔案後 5 行內容,5 可以是任意行數)
3)    tail -f 檔案(功能描述:實時追蹤該文件的所有更新,工作經常使用)

應用案例

案例 1:檢視 /etc/profile 最後 5 行的程式碼

案例 2:實時監控 mydate.txt , 看看到檔案有變化時,是否看到, 實時的追加日期

17、ln 指令

軟連結也叫符號連結,類似於 windows 裡的快捷方式,主要存放了連結其他檔案的路徑

#基本語法
ln -s [原檔案或目錄] [軟連結名] (功能描述:給原檔案建立一個軟連結)

應用例項

案例 1: 在/home 目錄下建立一個軟連線 linkToRoot,連線到 /root 目錄

案例 2: 刪除軟連線 linkToRoot

細節說明:當我們使用 pwd 指令檢視目錄時,仍然看到的是軟連結所在目錄。

18、history 指令

檢視已經執行過歷史命令,也可以執行歷史指令

#基本語法
history (功能描述:檢視已經執行過歷史命令)

應用例項

案例 1: 顯示所有的歷史命令

案例 2: 顯示最近使用過的 10 個指令

案例 3: 執行編號為XXX的指令

四、時間日期類

1、date 指令-顯示當前日期

#基本語法
1) date    (功能描述:顯示當前時間)
2) date +%Y(功能描述:顯示當前年份)
3) date +%m(功能描述:顯示當前月份)
4) date +%d(功能描述:顯示當前是哪一天)
5) date "+%Y-%m-%d %H:%M:%S"(功能描述:顯示年月日時分秒)

應用例項

案例 1: 顯示當前時間資訊

案例 2: 顯示當前時間年月日

案例 3: 顯示當前時間年月日時分秒

2、date 指令-設定日期

#基本語法
date -s  字串時間

應用例項:設定系統當前時間 , 比如設定成 2018-10-10 11:22:22

3、cal 指令

檢視日曆指令

#基本語法
cal [選項]    (功能描述:不加選項,顯示本月日曆)

應用例項

案例 1: 顯示當前日曆

案例 2: 顯示 2020 年日曆

五、搜尋查詢類

1、find 指令

find 指令將從指定目錄向下遞迴地遍歷其各個子目錄,將滿足條件的檔案或者目錄顯示在終端。

#基本語法
find [搜尋範圍] [選項]

選項說明

應用例項

案例 1:按檔名:根據名稱查詢 /home 目錄下的 hello.txt 檔案

案例 2:按擁有者:查詢 /opt 目錄下,使用者名稱稱為 nobody 的檔案

案例 3:查詢整個 linux 系統下大於 20m 的檔案(+n 大於 -n 小於 n 等於)

1m = 1024k

查詢 / 目錄下,所有 .txt 的檔案

2、locate 指令

locaate 指令可以快速定位檔案路徑。locate 指令利用事先建立的系統中所有檔名稱及路徑的locate 資料庫實現快速定位給定的檔案。Locate 指令無需遍歷整個檔案系統,查詢速度較快。為了保證查詢結果的準確度,管理員必須定期更新 locate 時刻。

#基本語法
locate 搜尋檔案

特別說明

由於 locate 指令基於資料庫進行查詢,所以第一次執行前,必須使用 updatedb 指令建立 locate 資料庫。

應用例項:使用 locate 指令快速定位 hello.txt 檔案所在目錄

3、grep 指令和管道符號 |

grep 過濾查詢 , 管道符,“|”,表示將前一個命令的處理結果輸出傳遞給後面的命令處理。

#基本語法
grep [選項] 查詢內容 原始檔

#常用選項
-n:顯示匹配行及行號
-i:忽略字母大小寫

應用例項:請在 hello.txt 檔案中,查詢“yes”所在行,並且顯示行號

六、壓縮和解壓類

1、gzip/gunzip 指令

gzip 用於壓縮檔案, gunzip 用於解壓的

#基本語法
gzip 檔案(功能描述:壓縮檔案,只能將檔案壓縮為*.gz 檔案)
gunzip 檔案.gz(功能描述:解壓縮檔案命令)

應用例項

案例 1:gzip 壓縮, 將 /home 下的 hello.txt 檔案進行壓縮

案例 2:gunzip 壓縮,將 /home 下的 hello.txt.gz 檔案進行解壓縮

細節說明:當我們使用 gzip 對檔案進行壓縮後,不會保留原來的檔案。

2、zip/unzip 指令

zip 用於壓縮檔案, unzip 用於解壓的,這個在專案打包釋出中很有用的

#基本語法
zip [選項] XXX.zip  將要壓縮的內容(功能描述:壓縮檔案和目錄的命令)
unzip [選項] XXX.zip (功能描述:解壓縮檔案)

#zip 常用選項
-r:遞迴壓縮,即壓縮目錄

#unzip 的常用選項
-d<目錄> :指定解壓後文件的存放目錄

應用例項

案例 1: 將 /home 下的 所有檔案進行壓縮成 mypackage.zip

案例 2: 將 mypackge.zip 解壓到 /opt/tmp 目錄下

3、tar 指令

tar 指令是打包指令,最後打包後的檔案是 .tar.gz 的檔案。

#基本語法
tar  [選項]  XXX.tar.gz  打包的內容     (功能描述:打包目錄,壓縮後的檔案格式.tar.gz)

#選項說明
-c:產生.tar打包檔案
-v:顯示詳細資訊
-f:指定壓縮後的檔名
-z:打包同時壓縮
-x:解包.tar檔案

應用例項

案例 1: 壓縮多個檔案,將 /home/a1.txt 和 /home/a2.txt 壓縮成 a.tar.gz

案例 2: 將/home 的資料夾 壓縮成 myhome.tar.gz

案例 3: 將 a.tar.gz 解壓到當前目錄

案例 4: 將 myhome.tar.gz 解壓到 /opt/ 目錄下

說明:指定解壓到的那個目錄,事先要存在才能成功,否則會報錯。