天天看點

輕松掌握 Linux 常用指令一、為什麼要使用 Linux 指令二、Linux 終端指令格式與幫助三、檔案和目錄常用指令四、遠端管理常用指令五、使用者權限相關指令六、系統資訊相關指令七、其他指令

文章目錄

  • 一、為什麼要使用 Linux 指令
    • 01. 常用 Linux 指令與技巧
    • 02. 自動補全
  • 二、Linux 終端指令格式與幫助
    • 01. 終端指令格式
    • 02. 查閱指令幫助資訊
      • 2.1 --help
      • 2.2 man
  • 三、檔案和目錄常用指令
    • 01. 檢視目錄内容
      • 1.1 `ls` 指令說明
        • Linux 下檔案和目錄的特點
      • 1.3 ls 常用選項
        • 計算機中檔案大小的表示方式
      • 1.4 ls 通配符的使用(類似正規表達式)
    • 02. 切換目錄
      • 2.1 `cd`
      • 2.2 相對路徑和絕對路徑
    • 03. 建立和删除操作
      • 3.1 `touch`
      • 3.2 `mkdir`
      • 3.3 `rm`
    • 04. 拷貝和移動檔案
      • 4.1 `tree`
      • 4.2 `cp`
      • 4.3 `mv`
    • 05. 檢視檔案内容
      • 5.1 `cat`
      • 5.2 `more`
      • 5.3 `grep`
    • 06. 其他
      • 6.1 `echo 文字内容`
      • 6.2 重定向 `>` 和 `>>`
      • 6.3 管道 `|`
  • 四、遠端管理常用指令
    • 01. 關機/重新開機
      • 1.1 `shutdown`
    • 02. 檢視或配置網卡資訊
      • 2.1 網卡 和 IP 位址
        • 網卡
        • IP 位址
      • 2.2 `ifconfig`
      • 2.3 `ping`
    • 03. 遠端登入和複制檔案
      • 3.1 `ssh` 基礎
        • 1) 域名 和 端口号
          • 域名
          • 端口号
        • 2) SSH 用戶端的簡單使用
        • 3) Windows 下 SSH 用戶端的安裝
      • 3.2 `scp`
        • `FileZilla`
      • 3.3 SSH 進階
        • 1)免密碼登入
          • 步驟
          • 示意圖
        • 2) 配置别名
  • 五、使用者權限相關指令
    • 01. **使用者** 和 **權限** 的基本概念
      • 1.1 基本概念
      • 1.2 組
      • 1.3 ls -l 擴充
      • 1.4 `chmod` 簡單使用
      • 1.5 超級使用者
        • sudo
    • 02. **組管理** 終端指令
    • 03. **使用者管理** 終端指令
      • 3.1 建立使用者/設定密碼/删除使用者
      • 3.2 檢視使用者資訊
        • passwd 檔案
        • usermod
        • which
          • `bin` 和 `sbin`
      • 3.3 切換使用者
    • 04. 修改檔案權限
  • 六、系統資訊相關指令
    • 01. 時間和日期
    • 02. 磁盤資訊
    • 03. 程序資訊
  • 七、其他指令
    • 01. 查找檔案
      • 演練目标
    • 02. 軟連結
      • 硬連結簡介
        • 檔案軟硬連結的示意圖
    • 03. 打包壓縮
      • 3.1 打包 / 解包
      • 3.2 壓縮/解壓縮
        • 1) `gzip`
        • 2) `bzip2(two)`
    • 04. 軟體安裝
    • 4.1 通過 apt 安裝/解除安裝軟體
    • 4.2 配置軟體源

一、為什麼要使用 Linux 指令

  • Linux 剛面世時并沒有圖形界面,所有的操作全靠指令完成,如 磁盤操作、檔案存取、目錄操作、程序管理、檔案權限 設定等
  • 大量的 伺服器維護工作 都是在 遠端 通過 SSH 用戶端 來完成的,并沒有圖形界面,所有的維護工作都需要通過指令來完成
  • 作為後端程式員,必須要或多或少的掌握一些 Linux 常用的終端指令
  • Linux 發行版本的指令大概有 200 多個,但是常用的指令隻有 10 多個而已
學習終端指令的技巧:
  • 不需要死記硬背,對于常用指令,用的多了,自然就記住了
  • 不要嘗試一次學會所有的指令,有些指令是非常不常用的,臨時遇到,臨時百度即可

01. 常用 Linux 指令與技巧

序号 指令 對應英文 作用
01 ls list 檢視目錄,即目前檔案夾下的内容
02 pwd print work directory 列印目前所在檔案夾目錄
03 cd [目錄名] change directory 切換檔案夾目錄
04 touch [檔案名] touch 若檔案不存在,建立檔案(摸一下)
05 mkdir [目錄名] make directory 建立目錄
06 rm [檔案名] remove 删除指定的檔案
07 clear clear 清屏
注:
  • ctrl + shift + =

    放大終端視窗的字型顯示
  • ctrl + -

    縮小終端視窗的字型顯示

02. 自動補全

  • 在敲出

    檔案

    目錄

    指令

    的前幾個字母之後,按下

    tab

    • 如果輸入的沒有歧義,系統會自動補全
    • 如果還同時存在其他

      檔案

      目錄

      指令

      ,則連續按兩下

      tab

      鍵,系統會提示可能存在的指令
注:
  • 光标鍵可以在曾經使用過的指令之間來回切換
  • 如果想要退出選擇,并且不想執行目前選中的指令,可以按

    ctrl + c

二、Linux 終端指令格式與幫助

01. 終端指令格式

說明:

  • command

    :指令名,相應功能的英文單詞或單詞的縮寫
  • [-options]

    :選項,可用來對指令進行控制,也可以省略
  • parameter

    :傳給指令的參數,可以是 零個、一個 或者 多個

[]

代表可選

02. 查閱指令幫助資訊

2.1 --help

command --help
           

說明:

  • 顯示

    command

    指令的幫助資訊

如:

apt --help

輕松掌握 Linux 常用指令一、為什麼要使用 Linux 指令二、Linux 終端指令格式與幫助三、檔案和目錄常用指令四、遠端管理常用指令五、使用者權限相關指令六、系統資訊相關指令七、其他指令

2.2 man

說明:

  • 查閱

    command

    指令的使用手冊

man

是 manual 的縮寫,是 Linux 提供的一個 手冊,包含了絕大部分的指令、函數的詳細使用說明

使用

man

時的操作鍵:

操作鍵 功能
空格鍵 顯示手冊頁的下一屏
Enter 鍵 一次滾動手冊頁的一行
b 復原一屏
f 前滾一屏
q 退出
/word 搜尋 word 字元串

三、檔案和目錄常用指令

01. 檢視目錄内容

1.1

ls

指令說明

  • ls

    是英文單詞 list 的簡寫,其功能為列出目錄的内容,是使用者最常用的指令之一,類似于 DOS 下的

    dir

    指令

Linux 下檔案和目錄的特點

  • Linux 檔案 或者 目錄 名稱最長可以有

    256

    個字元
  • .

    開頭的檔案為隐藏檔案,需要用 -a 參數才能顯示
  • . 代表目前目錄
  • … 代表上一級目錄

1.3 ls 常用選項

參數 含義
-a (all)顯示指定目錄下所有子目錄與檔案,包括隐藏檔案
-l 以清單方式顯示檔案的詳細資訊
-h 配合 -l 以人性化的方式顯示檔案大小
輕松掌握 Linux 常用指令一、為什麼要使用 Linux 指令二、Linux 終端指令格式與幫助三、檔案和目錄常用指令四、遠端管理常用指令五、使用者權限相關指令六、系統資訊相關指令七、其他指令
注:
  • -h

    一定要配合

    -l

    使用,即

    -lh

計算機中檔案大小的表示方式

機關 英文 含義
位元組 B(Byte) 在計算機中作為一個數字單元,一般為 8 位二進制數
K(Kibibyte) 1 KB = 1024 B,千位元組 (1024 = 2 ** 10)
M(Mebibyte) 1 MB = 1024 KB,百萬位元組
千兆 G(Gigabyte) 1 GB = 1024 MB,十億位元組,千兆位元組
T(Terabyte) 1 TB = 1024 GB,萬億位元組,太位元組
P(Petabyte) 1 PB = 1024 TB,千萬億位元組,拍位元組
E(Exabyte) 1 EB = 1024 PB,百億億位元組,艾位元組
Z(Zettabyte) 1 ZB = 1024 EB,十萬億億位元組,澤位元組
Y(Yottabyte) 1 YB = 1024 ZB,一億億億位元組,堯位元組

1.4 ls 通配符的使用(類似正規表達式)

通配符 含義
* 代表任意個數個字元
? 代表任意一個字元,至少 1 個
[] 表示可以比對字元組中的任一一個
[abc] 比對 a、b、c 字元組中的任意一個
[a-f] 比對從 a 到 f 範圍内的的任意一個字元
輕松掌握 Linux 常用指令一、為什麼要使用 Linux 指令二、Linux 終端指令格式與幫助三、檔案和目錄常用指令四、遠端管理常用指令五、使用者權限相關指令六、系統資訊相關指令七、其他指令
輕松掌握 Linux 常用指令一、為什麼要使用 Linux 指令二、Linux 終端指令格式與幫助三、檔案和目錄常用指令四、遠端管理常用指令五、使用者權限相關指令六、系統資訊相關指令七、其他指令

02. 切換目錄

2.1

cd

  • cd

    是英文單詞 change directory 的簡寫,其功能為更改目前的工作目錄,也是使用者最常用的指令之一
注意:Linux 所有的 目錄 和 檔案名 都是大小寫敏感的
指令 含義
cd 切換到目前使用者的主目錄(/home/使用者目錄)
cd ~ 切換到目前使用者的主目錄(/home/使用者目錄)
cd . 保持在目前目錄不變
cd … 切換到上級目錄
cd - 可以在最近兩次工作目錄之間來回切換

2.2 相對路徑和絕對路徑

  • 相對路徑 在輸入路徑時,最前面不是 / 或者 ~,表示相對 目前目錄 所在的目錄位置
  • 絕對路徑 在輸入路徑時,最前面是 / 或者 ~,表示從 根目錄/家目錄 開始的具體目錄位置

03. 建立和删除操作

3.1

touch

  • 建立檔案或修改檔案時間
    • 如果檔案 不存在,可以建立一個空白檔案
    • 如果檔案 已經存在,可以修改檔案的末次修改日期

3.2

mkdir

  • 建立一個新的目錄
選項 含義
-p 可以遞歸建立目錄
建立目錄的名稱 不能與目前目錄中 已有的目錄或檔案 同名

3.3

rm

  • 删除檔案或目錄
使用

rm

指令要小心,因為檔案删除後不能恢複
選項 含義
-f 強制删除,忽略不存在的檔案,無需提示
-r 遞歸地删除目錄下的内容,删除檔案夾 時必須加此參數

04. 拷貝和移動檔案

序号 指令 對應英文 作用
01 tree [目錄名] tree 以樹狀圖列出檔案目錄結構
02 cp 源檔案 目标檔案 copy 複制檔案或者目錄
03 mv 源檔案 目标檔案 move 移動檔案或者目錄/檔案或者目錄重命名

4.1

tree

  • tree

    指令可以以樹狀圖列出檔案目錄結構
選項 含義
-d 隻顯示目錄,不顯示檔案
輕松掌握 Linux 常用指令一、為什麼要使用 Linux 指令二、Linux 終端指令格式與幫助三、檔案和目錄常用指令四、遠端管理常用指令五、使用者權限相關指令六、系統資訊相關指令七、其他指令

4.2

cp

  • cp

    指令的功能是将給出的 檔案 或 目錄 複制到另一個 檔案 或 目錄 中,相當于 DOS 下的

    copy

    指令
選項 含義
-i 覆寫檔案前提示
-r 若給出的源檔案是目錄檔案,則 cp 将遞歸複制該目錄下的所有子目錄和檔案,目标檔案必須為一個目錄名
輕松掌握 Linux 常用指令一、為什麼要使用 Linux 指令二、Linux 終端指令格式與幫助三、檔案和目錄常用指令四、遠端管理常用指令五、使用者權限相關指令六、系統資訊相關指令七、其他指令

4.3

mv

  • mv

    指令可以用來 移動 檔案 或 目錄,也可以給 檔案或目錄重命名
選項 含義
-i 覆寫檔案前提示
輕松掌握 Linux 常用指令一、為什麼要使用 Linux 指令二、Linux 終端指令格式與幫助三、檔案和目錄常用指令四、遠端管理常用指令五、使用者權限相關指令六、系統資訊相關指令七、其他指令

05. 檢視檔案内容

序号 指令 對應英文 作用
01 cat 檔案名 concatenate 檢視檔案内容、建立檔案、檔案合并、追加檔案内容等功能
02 more 檔案名 more 分屏顯示檔案内容
03 grep 搜尋文本 檔案名 grep 搜尋文本檔案内容

5.1

cat

  • cat

    指令可以用來 檢視檔案内容、建立檔案、檔案合并、追加檔案内容 等功能
  • cat

    會一次顯示所有的内容,适合 檢視内容較少 的文本檔案
選項 含義
-b 對非空輸出行編号
-n 對輸出的所有行編号
Linux 中還有一個

nl

的指令和

cat -b

的效果等價
輕松掌握 Linux 常用指令一、為什麼要使用 Linux 指令二、Linux 終端指令格式與幫助三、檔案和目錄常用指令四、遠端管理常用指令五、使用者權限相關指令六、系統資訊相關指令七、其他指令

5.2

more

  • more

    指令可以用于分屏顯示檔案内容,每次隻顯示一頁内容
  • 适合于 檢視内容較多的文本檔案

使用

more

的操作鍵:

操作鍵 功能
空格鍵 顯示手冊頁的下一屏
Enter 鍵 一次滾動手冊頁的一行
b 復原一屏
f 前滾一屏
q 退出
/word 搜尋 word 字元串

5.3

grep

  • Linux 系統中

    grep

    指令是一種強大的文本搜尋工具
  • grep

    允許對文本檔案進行 模式查找,所謂模式查找,又被稱為正規表達式。
選項 含義
-n 顯示比對行及行号
-v 顯示不包含比對文本的所有行(相當于求反)
-i 忽略大小寫
  • 常用的兩種模式查找
參數 含義
^a 行首,搜尋以 a 開頭的行
ke$ 行尾,搜尋以 ke 結束的行
輕松掌握 Linux 常用指令一、為什麼要使用 Linux 指令二、Linux 終端指令格式與幫助三、檔案和目錄常用指令四、遠端管理常用指令五、使用者權限相關指令六、系統資訊相關指令七、其他指令

06. 其他

6.1

echo 文字内容

  • echo

    會在終端中顯示參數指定的文字,通常會和 重定向 聯合使用

6.2 重定向

>

>>

  • Linux 允許将指令執行結果 重定向到一個 檔案
  • 将本應顯示在終端上的内容 輸出/追加 到指定檔案中

其中

  • >

    表示輸出,會覆寫檔案原有的内容
  • >>

    表示追加,會将内容追加到已有檔案的末尾
輕松掌握 Linux 常用指令一、為什麼要使用 Linux 指令二、Linux 終端指令格式與幫助三、檔案和目錄常用指令四、遠端管理常用指令五、使用者權限相關指令六、系統資訊相關指令七、其他指令

6.3 管道

|

  • Linux 允許将 一個指令的輸出 可以通過管道 做為 另一個指令的輸入
  • 可以了解管子的一頭塞東西進去,另一頭出來直接輸入下一個管道,這裡

    |

    的左右分為兩端,左端塞東西(寫),右端取東西(讀)

常用的管道指令有:

  • more

    :分屏顯示内容
  • grep

    :在指令執行結果的基礎上查詢指定的文本
輕松掌握 Linux 常用指令一、為什麼要使用 Linux 指令二、Linux 終端指令格式與幫助三、檔案和目錄常用指令四、遠端管理常用指令五、使用者權限相關指令六、系統資訊相關指令七、其他指令

四、遠端管理常用指令

01. 關機/重新開機

序号 指令 對應英文 作用
01 shutdown 選項 時間 shutdown 關機/重新啟動

1.1

shutdown

  • shutdown

    指令可以 安全 關閉 或者 重新啟動系統
選項 含義
-r 重新啟動
注意:
  • 不指定選項和參數,預設表示 1 分鐘之後 關閉電腦
  • 遠端維護伺服器時,最好不要關閉系統,而應該重新啟動系統
  • 常用指令示例
# 重新啟動作業系統,其中 now 表示現在
$ shutdown -r now

# 立刻關機,其中 now 表示現在
$ shutdown now

# 系統在今天的 20:25 會關機
$ shutdown 20:25

# 系統再過十分鐘後自動關機
$ shutdown +10

# 取消之前指定的關機計劃
$ shutdown -c
           

02. 檢視或配置網卡資訊

序号 指令 對應英文 作用
01 ifconfig configure a network interface 檢視/配置計算機目前的網卡配置資訊
02 ping ip位址 ping 檢測到目标 ip位址 的連接配接是否正常

2.1 網卡 和 IP 位址

網卡

  • 網卡是一個專門負責網絡通訊的硬體裝置
  • IP 位址是設定在網卡上的位址資訊
我們可以把 電腦 比作 電話,網卡 相當于 SIM 卡,IP 位址 相當于 電話号碼

IP 位址

  • 每台聯網的電腦上都有 IP 位址,是保證電腦之間正常通訊的重要設定
注意:每台電腦的 IP 位址不能相同,否則會出現 IP 位址沖突,并且沒有辦法正常通訊

2.2

ifconfig

  • ifconfig

    可以檢視/配置計算機目前的網卡配置資訊
# 檢視網卡配置資訊
$ ifconfig

# 檢視網卡對應的 IP 位址
$ ifconfig | grep inet
           
提示:一台計算機中有可能會有一個 實體網卡 和 多個虛拟網卡,在 Linux 中實體網卡的名字通常以

ensXX

表示
  • 127.0.0.1

    被稱為 本地回環/環回位址,一般用來測試本機網卡是否正常

2.3

ping

# 檢測到目标主機是否連接配接正常
$ ping IP位址

# 檢測本地網卡工作正常
$ ping 127.0.0.1
           
  • ping

    一般用于檢測目前計算機到目标計算機之間的網絡 是否通暢,數值越大,速度越慢
  • ping

    的工作原理與潛水艇的聲納相似,

    ping

    這個指令就是取自 聲納的聲音
  • 網絡管理者之間也常将

    ping

    用作動詞 —— ping 一下計算機X,看他是否開着

原理:網絡上的機器都有 唯一确定的 IP 位址,我們給目标 IP 位址發送一個資料包(56 byte),對方就要傳回一個資料包(64 byte),根據傳回的資料包以及時間,我們可以确定目标主機的存在

注意:在 Linux 中,想要終止一個終端程式的執行,絕大多數都可以使用

CTRL + C

03. 遠端登入和複制檔案

序号 指令 對應英文 作用
01 ssh 使用者名@ip secure shell 關機/重新啟動
02 scp 使用者名@ip:檔案名或路徑 使用者名@ip:檔案名或路徑 secure copy 遠端複制檔案

3.1

ssh

基礎

在 Linux 中 SSH 是 非常常用 的工具,通過 SSH 用戶端 我們可以連接配接到運作了 SSH 伺服器 的遠端機器上

輕松掌握 Linux 常用指令一、為什麼要使用 Linux 指令二、Linux 終端指令格式與幫助三、檔案和目錄常用指令四、遠端管理常用指令五、使用者權限相關指令六、系統資訊相關指令七、其他指令
  • SSH 用戶端是一種使用

    Secure Shell(SSH)

    協定連接配接到遠端計算機的軟體程式
  • SSH

    是目前較可靠,專為遠端登入會話和其他網絡服務 提供安全性的協定
    • 利用

      SSH 協定

      可以有效防止遠端管理過程中的資訊洩露
    • 通過

      SSH 協定

      可以對所有傳輸的資料進行加密,也能夠防止 DNS 欺騙和 IP 欺騙
  • SSH

    的另一項優點是傳輸的資料可以是經過壓縮的,是以可以加快傳輸的速度

1) 域名 和 端口号

域名
  • 由一串 用點分隔 的名字組成,例如:

    www.itcast.cn

  • 是 IP 位址 的别名,友善使用者記憶
端口号
  • IP 位址:通過 IP 位址 找到網絡上的 計算機
  • 端口号:通過 端口号 可以找到 計算機上運作的應用程式
    • SSH 伺服器 的預設端口号是

      22

      ,如果是預設端口号,在連接配接的時候,可以省略
  • 常見服務端口号清單:
序号 服務 端口号
01 SSH 伺服器 22
02 Web 伺服器 80
03 HTTPS 443
04 FTP 伺服器 21

2) SSH 用戶端的簡單使用

ssh [-p port] [email protected]
           
  • user

    是在遠端機器上的使用者名,如果不指定的話預設為目前使用者
  • remote

    是遠端機器的位址,可以是 IP/域名,或者是 後面會提到的别名
  • port

    是 SSH Server 監聽的端口,如果不指定,就為預設值

    22

注意:
  • 使用

    exit

    退出目前使用者的登入
  • ssh

    這個終端指令隻能在

    Linux

    或者

    UNIX

    (如mac)系統下使用
  • 如果在

    Windows

    系統中,可以安裝

    PuTTY

    或者

    XShell

    用戶端軟體即可
  • 在工作中,SSH 伺服器的端口号很有可能不是 22,如果遇到這種情況就需要使用

    -p

    選項,如21,指定正确的端口号,否則無法正常連接配接到伺服器

3) Windows 下 SSH 用戶端的安裝

  • Putty

    http://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
  • XShell

    https://www.netsarang.com/zh
建議從官方網站下載下傳正版的安裝程式
  • XShell可以選擇家庭 / 學校免費下載下傳安裝
  • PuTTY登入到Ubuntu虛拟機時若顯示Network error: Connection refused,可參考這篇解決https://blog.csdn.net/yatoo505163549/article/details/59586467

3.2

scp

  • scp 就是

    secure copy

    ,是一個在 Linux 下用來進行 遠端拷貝檔案 的指令
  • 它的位址格式與 ssh 基本相同,需要注意的是,在指定端口時用的是大寫的

    -P

    而不是小寫的
輕松掌握 Linux 常用指令一、為什麼要使用 Linux 指令二、Linux 終端指令格式與幫助三、檔案和目錄常用指令四、遠端管理常用指令五、使用者權限相關指令六、系統資訊相關指令七、其他指令
# 把本地目前目錄下的 01.py 檔案 複制到 遠端 家目錄下的 Desktop/01.py
# 注意:`:` 後面的路徑如果不是絕對路徑,則以使用者的家目錄作為參照路徑
scp -P port 123.txt [email protected]:Desktop/123.txt

# 把遠端 家目錄下的 Desktop/01.py 檔案 複制到 本地目前目錄下的 01.py
scp -P port [email protected]:Desktop/123.txt 123.txt

# 加上 -r 選項可以傳送檔案夾
# 把目前目錄下的 aaa 檔案夾 複制到 遠端home目錄下的 Desktop
scp -r aaa [email protected]:Desktop

# 把遠端 home目錄下的 Desktop 複制到 目前目錄下的 demo 檔案夾
scp -r [email protected]:Desktop demo
           
選項 含義
-r 若給出的源檔案是目錄檔案,則 scp 将遞歸複制該目錄下的所有子目錄和檔案,目标檔案必須為一個目錄名
-P 若遠端 SSH 伺服器的端口不是 22,需要使用大寫字母 -P 選項指定端口
注意:
  • scp

    這個終端指令隻能在

    Linux

    或者

    UNIX

    系統下使用
  • 如果在

    Windows

    系統中,可以安裝

    PuTTY

    ,使用

    pscp

    指令行工具或者安裝

    FileZilla

    使用

    FTP

    進行檔案傳輸,也很友善。

FileZilla

  • 官方網站:https://www.filezilla.cn/download/client
  • FileZilla

    在傳輸檔案時,使用的是

    FTP 服務

    而不是

    SSH 服務

    .

3.3 SSH 進階

  • 免密碼登入
  • 配置别名
提示:有關 SSH 配置資訊都儲存在使用者家目錄下的

.ssh

目錄下

1)免密碼登入

步驟
  • 配置公鑰
    • 執行

      ssh-keygen

      即可生成 SSH 鑰匙,一路回車即可
  • 上傳公鑰到伺服器
    • 執行

      ssh-copy-id -p port [email protected]

      ,可以讓遠端伺服器記住我們的公鑰
示意圖
輕松掌握 Linux 常用指令一、為什麼要使用 Linux 指令二、Linux 終端指令格式與幫助三、檔案和目錄常用指令四、遠端管理常用指令五、使用者權限相關指令六、系統資訊相關指令七、其他指令
非對稱加密算法
  • 使用 公鑰 加密的資料,需要使用 私鑰 解密
  • 使用 私鑰 加密的資料,需要使用 公鑰 解密

2) 配置别名

每次都輸入

ssh -p port [email protected]

,時間久了會覺得很麻煩,特别是當

user

,

remote

port

都得輸入,而且還不好記憶

而 配置别名 可以讓我們進一步偷懶,譬如用:

ssh mac

來替代上面這麼一長串,那麼就在

~/.ssh/config

裡面追加以下内容:

Host mac
    HostName ip位址
    User itheima
    Port 22
           

儲存之後,即可用

ssh mac

實作遠端登入了,

scp

同樣可以使用

五、使用者權限相關指令

01. 使用者 和 權限 的基本概念

1.1 基本概念

  • 使用者 是 Linux 系統工作中重要的一環,使用者管理包括 使用者 與 組 管理
  • 在 Linux 系統中,不論是由本機或是遠端登入系統,每個系統都必須擁有一個賬号,并且對于不同的系統資源擁有不同的使用權限
  • 在 Linux 中,可以指定 每一個使用者 針對 不同的檔案或者目錄 的 不同權限
  • 對 檔案/目錄 的權限包括:
序号 權限 英文 縮寫 數字代号
01 read r 4
02 write w 2
03 執行 excute x 1

1.2 組

  • 為了友善使用者管理,提出了 組 的概念,如下圖所示
輕松掌握 Linux 常用指令一、為什麼要使用 Linux 指令二、Linux 終端指令格式與幫助三、檔案和目錄常用指令四、遠端管理常用指令五、使用者權限相關指令六、系統資訊相關指令七、其他指令
  • 在實際應用中,可以預先針對 組 設定好權限,然後 将不同的使用者添加到對應的組中,進而不用依次為每一個使用者設定權限

1.3 ls -l 擴充

  • ls -l

    可以檢視檔案夾下檔案的詳細資訊,從左到右依次是:
    • 權限,第 1 個字元如果是

      d

      表示目錄
    • 硬連結數,通俗地講,就是有多少種方式,可以通路到目前目錄/檔案
    • 擁有者,家目錄下 檔案/目錄 的擁有者通常都是目前使用者
    • 組,在 Linux 中,很多時候,會出現組名和使用者名相同的情況,後續會講
    • 大小
    • 時間
    • 名稱
輕松掌握 Linux 常用指令一、為什麼要使用 Linux 指令二、Linux 終端指令格式與幫助三、檔案和目錄常用指令四、遠端管理常用指令五、使用者權限相關指令六、系統資訊相關指令七、其他指令
輕松掌握 Linux 常用指令一、為什麼要使用 Linux 指令二、Linux 終端指令格式與幫助三、檔案和目錄常用指令四、遠端管理常用指令五、使用者權限相關指令六、系統資訊相關指令七、其他指令
輕松掌握 Linux 常用指令一、為什麼要使用 Linux 指令二、Linux 終端指令格式與幫助三、檔案和目錄常用指令四、遠端管理常用指令五、使用者權限相關指令六、系統資訊相關指令七、其他指令

1.4

chmod

簡單使用

  • chmod

    可以修改 使用者/組 對 檔案/目錄 的權限
  • 指令格式如下:
chmod +/-rwx 檔案名|目錄名
           
注意:以上方式會一次性修改

擁有者

/

權限,有關

chmod

的進階用法,後續會講

1.5 超級使用者

  • Linux 系統中的

    root

    賬号通常 用于系統的維護和管理,對作業系統的所有資源 具有所有通路權限
  • 在大多數版本的 Linux 中,都不推薦 直接使用 root 賬号登入系統
  • 在 Linux 安裝的過程中,系統會自動建立一個使用者賬号,而這個預設的使用者就稱為“标準使用者”

sudo

  • su

    substitute user

    的縮寫,表示 使用另一個使用者的身份
  • sudo

    指令用來以其他身份來執行指令,預設的身份為

    root

  • 使用者使用

    sudo

    時,必須先輸入密碼,之後有 5 分鐘的有效期限,超過期限則必須重新輸入密碼
若其未經授權的使用者企圖使用

sudo

,則會發出警告郵件給管理者

02. 組管理 終端指令

注:建立組 / 删除組 的終端指令都需要通過

sudo

執行
序号 指令 作用
01 groupadd 組名 添加組
02 groupdel 組名 删除組
03 cat /etc/group 确認組資訊
04 chgrp -R 組名 檔案/目錄名 遞歸修改檔案/目錄的所屬組
提示:
  • 組資訊儲存在

    /etc/group

    檔案中
  • /etc

    目錄是專門用來儲存 系統配置資訊 的目錄
  • 在實際應用中,可以預先針對 組 設定好權限,然後 将不同的使用者添加到對應的組中,進而不用依次為每一個使用者設定權限

03. 使用者管理 終端指令

注:建立使用者 / 删除使用者 / 修改其他使用者密碼 的終端指令都需要通過

sudo

執行

3.1 建立使用者/設定密碼/删除使用者

序号 指令 作用 說明
01 useradd -m -g 組 建立使用者名 添加新使用者
  • -m 自動建立使用者家目錄
  • -g 指定使用者所在的組,否則會建立一個和同名的組
02 passwd 使用者名 設定使用者密碼 如果是普通使用者,直接用 passwd 可以修改自己的賬戶密碼
03 userdel -r 使用者名 删除使用者 -r 選項會自動删除使用者家目錄
04 cat /etc/passwd | grep 使用者名 确認使用者資訊 建立使用者後,使用者資訊會儲存在 /etc/passwd 檔案中
注意:
  • 建立使用者時,如果忘記添加

    -m

    選項指定新使用者的家目錄 —— 最簡單的方法就是删除使用者,重新建立
  • 建立使用者時,預設會建立一個和使用者名同名的組名
  • 使用者資訊儲存在

    /etc/passwd

    檔案中

3.2 檢視使用者資訊

序号 指令 作用
01 id [使用者名] 檢視使用者 UID 和 GID 資訊
02 who 檢視目前所有登入的使用者清單
03 whoami 檢視目前登入使用者的賬戶名

passwd 檔案

/etc/passwd

檔案存放的是使用者的資訊,由 6 個分号組成的 7 個資訊,分别是

  1. 使用者名
  2. 密碼(x,表示加密的密碼)
  3. UID(使用者辨別)
  4. GID(組辨別)
  5. 使用者全名或本地帳号
  6. 家目錄
  7. 登入使用的 Shell,就是登入之後,使用的終端指令,

    ubuntu

    預設是

    dash

usermod

  • usermod

    可以用來設定 使用者 的 主組 / 附加組 和 登入 Shell,指令格式如下:
  • 主組:通常在建立使用者時指定,在

    etc/passwd

    的第 4 列 GID 對應的組
  • 附加組:在

    etc/group

    中最後一清單示該組的使用者清單,用于指定 使用者的附權重限
提示:設定了使用者的附加組之後,需要重新登入才能生效!
# 修改使用者的主組(passwd 中的 GID)
usermod -g 組 使用者名

# 修改使用者的附加組
usermod -G 組 使用者名

# 修改使用者登入 Shell
usermod -s /bin/bash 使用者名
           
注意:預設使用

useradd

添加的使用者是沒有權限使用

sudo

root

身份執行指令的,可以使用以下指令,将使用者添加到

sudo

附加組中
usermod -G sudo 使用者名
           

which

注意
  • /etc/passwd

    是用于儲存使用者資訊的檔案
  • /usr/bin/passwd

    是用于修改使用者密碼的程式
  • which

    指令可以檢視執行指令所在位置,例如:
which ls

# 輸出
# /bin/ls

which useradd

# 輸出
# /usr/sbin/useradd
           

bin

sbin

  • Linux

    中,絕大多數可執行檔案都是儲存在

    /bin

    /sbin

    /usr/bin

    /usr/sbin

  • /bin

    binary

    )是二進制執行檔案目錄,主要用于具體應用
  • /sbin

    system binary

    )是系統管理者專用的二進制代碼存放目錄,主要用于系統管理
  • /usr/bin

    user commands for applications

    )後期安裝的一些軟體
  • /usr/sbin

    super user commands for applications

    )超級使用者的一些管理程式
提示:
  • cd

    這個終端指令是内置在系統核心中的,沒有獨立的檔案,是以用

    which

    無法找到

    cd

    指令的位置

3.3 切換使用者

序号 指令 作用 說明
01 su - 使用者名 切換使用者,并且切換目錄 - 可以切換到使用者家目錄,否則保持位置不變
02 exit 退出目前登入賬戶
  • su

    不接使用者名,可以切換到

    root

    ,但是不推薦使用,因為不安全
  • exit

    示意圖如下:
輕松掌握 Linux 常用指令一、為什麼要使用 Linux 指令二、Linux 終端指令格式與幫助三、檔案和目錄常用指令四、遠端管理常用指令五、使用者權限相關指令六、系統資訊相關指令七、其他指令

04. 修改檔案權限

序号 指令 作用
01 chown 修改擁有者
02 chgrp 修改組
03 chmod 修改權限
  • 指令格式如下:
# 修改檔案|目錄的擁有者
chown 使用者名 檔案名|目錄名

# 遞歸修改檔案|目錄的組
chgrp -R 組名 檔案名|目錄名

# 遞歸修改檔案權限
chmod -R 755 檔案名|目錄名
           
  • chmod

    在設定權限時,可以簡單地使用三個數字分别對應 擁有者 / 組 和 其他 使用者的權限,我的了解是3個二進制組成8種可能的權限,類似38譯碼器。
# 直接修改檔案|目錄的 讀|寫|執行 權限,但是不能精确到 擁有者|組|其他
chmod +/-rwx 檔案名|目錄名
           
輕松掌握 Linux 常用指令一、為什麼要使用 Linux 指令二、Linux 終端指令格式與幫助三、檔案和目錄常用指令四、遠端管理常用指令五、使用者權限相關指令六、系統資訊相關指令七、其他指令
  • 常見數字組合有(

    u

    表示使用者/

    g

    表示組/

    o

    表示其他):
    • 777

      ===>

      u=rwx,g=rwx,o=rwx

    • 755

      ===>

      u=rwx,g=rx,o=rx

    • 644

      ===>

      u=rw,g=r,o=r

輕松掌握 Linux 常用指令一、為什麼要使用 Linux 指令二、Linux 終端指令格式與幫助三、檔案和目錄常用指令四、遠端管理常用指令五、使用者權限相關指令六、系統資訊相關指令七、其他指令

六、系統資訊相關指令

系統資訊指令主要是為了友善通過遠端終端維護伺服器時,檢視伺服器上目前 系統日期和時間 / 磁盤空間占用情況 /

程式執行情況

01. 時間和日期

序号 指令 作用
01 date 檢視系統時間
02 cal

calendar

檢視月曆,

-y

選項可以檢視一年的月曆

02. 磁盤資訊

序号 指令 作用
01 df -h

disk free

顯示磁盤剩餘空間
02 du -h [目錄名]

disk usage

顯示目錄下的檔案大小
  • 選項說明
參數 含義
-h 以人性化的方式顯示檔案大小
輕松掌握 Linux 常用指令一、為什麼要使用 Linux 指令二、Linux 終端指令格式與幫助三、檔案和目錄常用指令四、遠端管理常用指令五、使用者權限相關指令六、系統資訊相關指令七、其他指令

03. 程序資訊

  • 所謂 程序,通俗地說就是 目前正在執行的一個程式
序号 指令 作用
01 ps aux

process status

檢視程序的詳細狀況
02 top 動态顯示運作中的程序并且排序
03 kill [-9] 程序代号 終止指定代号的程序,

-9

表示強行終止

ps

預設隻會顯示目前使用者通過終端啟動的應用程式
  • ps

    選項說明
選項 含義
a 顯示終端上的所有程序,包括其他使用者的程序
u 顯示程序的詳細狀态
x 顯示沒有控制終端的程序
注意:使用

kill

指令時,最好隻終止由目前使用者開啟的程序,而不要終止

root

身份開啟的程序,否則可能導緻系統崩潰
  • 要退出

    top

    可以直接輸入

    q

輕松掌握 Linux 常用指令一、為什麼要使用 Linux 指令二、Linux 終端指令格式與幫助三、檔案和目錄常用指令四、遠端管理常用指令五、使用者權限相關指令六、系統資訊相關指令七、其他指令

七、其他指令

01. 查找檔案

  • find

    指令功能非常強大,通常用來在 特定的目錄下 搜尋 符合條件的檔案
序号 指令 作用
01 find [路徑] -name “*.py” 查找指定路徑下擴充名是

.py

的檔案,包括子目錄
  • 如果省略路徑,表示在目前檔案夾下查找
  • 之前學習的通配符,在使用

    find

    指令時同時可用

演練目标

  • 搜尋桌面目錄下,所有以

    .txt

    為擴充名的檔案
輕松掌握 Linux 常用指令一、為什麼要使用 Linux 指令二、Linux 終端指令格式與幫助三、檔案和目錄常用指令四、遠端管理常用指令五、使用者權限相關指令六、系統資訊相關指令七、其他指令

02. 軟連結

序号 指令 作用
01 ln -s 被連結的源檔案 連結檔案 建立檔案的軟連結,用通俗的方式講類似于 Windows 下的快捷方式
  • 注意:
  • 沒有

    -s

    選項建立的是一個 硬連結檔案
  • 兩個檔案占用相同大小的硬碟空間,工作中幾乎不會建立檔案的硬連結
  • 源檔案要使用絕對路徑,不能使用相對路徑,這樣可以友善移動連結檔案後,仍然能夠正常使用

硬連結簡介

  • 在使用

    ln

    建立連結時,如果沒有

    -s

    選項,會建立一個 硬連結,而不是軟連結

檔案軟硬連結的示意圖

輕松掌握 Linux 常用指令一、為什麼要使用 Linux 指令二、Linux 終端指令格式與幫助三、檔案和目錄常用指令四、遠端管理常用指令五、使用者權限相關指令六、系統資訊相關指令七、其他指令
在 Linux 中,檔案名 和 檔案的資料 是分開存儲的
  • 注意:
    • 在 Linux 中,隻有檔案的

      硬連結數 == 0

      才會被删除
    • 使用

      ls -l

      可以檢視一個檔案的硬連結的數量
    • 在日常工作中,幾乎不會建立檔案的硬連結,知道即可

03. 打包壓縮

  • 打包壓縮 是日常工作中備份檔案的一種方式
  • 在不同作業系統中,常用的打包壓縮方式是不同的
    • Windows

      常用

      rar

    • Mac

      常用

      zip

    • Linux

      常用

      tar.gz

3.1 打包 / 解包

  • tar

    是 Linux 中最常用的 備份工具,此指令可以 把一系列檔案 打包到 一個大檔案中,也可以把一個 打包的大檔案恢複成一系列檔案
  • tar

    的指令格式如下:
# 打封包件
tar -cvf 打封包件.tar 被打包的檔案/路徑...

# 解封包件
tar -xvf 打封包件.tar
           
  • tar

    選項說明
選項 含義
c 生成檔案檔案,建立打封包件
x 解開檔案檔案
v 列出歸檔解檔的詳細過程,顯示進度
f 指定檔案檔案名稱,f 後面一定是 .tar 檔案,是以必須放選項最後
注意:

f

選項必須放在最後,其他選項順序可以随意
輕松掌握 Linux 常用指令一、為什麼要使用 Linux 指令二、Linux 終端指令格式與幫助三、檔案和目錄常用指令四、遠端管理常用指令五、使用者權限相關指令六、系統資訊相關指令七、其他指令

3.2 壓縮/解壓縮

1)

gzip

  • tar

    gzip

    指令結合可以使用實作檔案 打包和壓縮
    • tar

      隻負責打封包件,但不壓縮
    • gzip

      壓縮

      tar

      打包後的檔案,其擴充名一般用

      xxx.tar.gz

Linux

中,最常見的壓縮檔案格式就是

xxx.tar.gz

  • tar

    指令中有一個選項 -z 可以調用

    gzip

    ,進而可以友善的實作壓縮和解壓縮的功能
  • 指令格式如下:
# 壓縮檔案
tar -zcvf 打封包件.tar.gz 被壓縮的檔案/路徑...

# 解壓縮檔案
tar -zxvf 打封包件.tar.gz

# 解壓縮到指定路徑
tar -zxvf 打封包件.tar.gz -C 目标路徑
           
選項 含義
-C 解壓縮到指定目錄,注意:要解壓縮的目錄必須存在
輕松掌握 Linux 常用指令一、為什麼要使用 Linux 指令二、Linux 終端指令格式與幫助三、檔案和目錄常用指令四、遠端管理常用指令五、使用者權限相關指令六、系統資訊相關指令七、其他指令

2)

bzip2(two)

  • tar

    bzip2

    指令結合可以使用實作檔案 打包和壓縮(用法和

    gzip

    一樣)
    • tar

      隻負責打封包件,但不壓縮,
    • bzip2

      壓縮

      tar

      打包後的檔案,其擴充名一般用

      xxx.tar.bz2

  • tar

    指令中有一個選項 -j 可以調用

    bzip2

    ,進而可以友善的實作壓縮和解壓縮的功能
  • 指令格式如下:
# 壓縮檔案
tar -jcvf 打封包件.tar.bz2 被壓縮的檔案/路徑...

# 解壓縮檔案
tar -jxvf 打封包件.tar.bz2
           
輕松掌握 Linux 常用指令一、為什麼要使用 Linux 指令二、Linux 終端指令格式與幫助三、檔案和目錄常用指令四、遠端管理常用指令五、使用者權限相關指令六、系統資訊相關指令七、其他指令

04. 軟體安裝

4.1 通過 apt 安裝/解除安裝軟體

  • apt 是

    Advanced Packaging Tool

    ,是 Linux 下的一款安裝包管理工具
  • 可以在終端中友善的 安裝/解除安裝/更新軟體包
# 1. 安裝軟體
$ sudo apt install 軟體包

# 2. 解除安裝軟體
$ sudo apt remove 軟體名

# 3. 更新已安裝的包
$ sudo apt upgrade 
           

4.2 配置軟體源

  • 如果希望在

    ubuntu

    中安裝軟體,更加快速,可以通過設定鏡像源,選擇一個通路網速更快的伺服器,來提供軟體下載下傳/安裝服務
  • 提示:更換伺服器之後,需要一個相對比較長時間的更新過程,需要耐心等待。更新完成後,再安裝軟體都會從新設定的伺服器下載下傳軟體了
所謂鏡像源,就是所有伺服器的内容是相同的(鏡像),但是根據所在位置不同,國内伺服器通常速度會更快一些!
輕松掌握 Linux 常用指令一、為什麼要使用 Linux 指令二、Linux 終端指令格式與幫助三、檔案和目錄常用指令四、遠端管理常用指令五、使用者權限相關指令六、系統資訊相關指令七、其他指令
輕松掌握 Linux 常用指令一、為什麼要使用 Linux 指令二、Linux 終端指令格式與幫助三、檔案和目錄常用指令四、遠端管理常用指令五、使用者權限相關指令六、系統資訊相關指令七、其他指令

到此Linux常用指令基本就總結完了,熟練掌握這些應付日常的操作應該沒問題,之後在學習的過程中可以再查詢。

接下來想嘗試優化ubuntu系統和掌握一些日常使用的技巧和軟體,路途遙遠,慢慢學習吧!

繼續閱讀