雲端計算運維-SRE基礎篇之安裝VMware

三两螺蛳粉發表於2024-10-26

一、首先簡單總結計算機發展相關歷史,詳細總結伺服器硬體和計算機分類相關知識。
計算機發展簡史

  1. 早期計算工具:從古至今,人類使用過多種計算工具,如算盤、計算尺等。這些工具為後來的機械計算器奠定了基礎。
  2. 機械計算機時代(17世紀-19世紀):隨著技術的發展,出現了更加複雜的機械裝置來完成數學運算任務。查爾斯·巴貝奇設計了差分機和分析機,被認為是現代計算機概念的先驅。
  3. 電子管時代(20世紀40年代):第二次世界大戰期間及之後,第一代電子計算機出現,它們主要採用電子管作為開關元件。ENIAC是這一時期的標誌性產品之一。
  4. 電晶體時代(20世紀50年代末至60年代):電晶體取代了體積龐大且耗電量大的電子管,使得計算機變得更小、更快也更可靠。這促進了個人電腦前體——小型計算機的發展。
  5. 積體電路時代(20世紀60年代中期開始):隨著微電子學的進步,單個矽晶片上可以整合越來越多的電晶體,從而實現了更高程度的小型化與效能提升。微型計算機和個人電腦逐漸普及開來。
  6. 個人電腦革命(20世紀80年代):蘋果II、IBM PC等產品的推出標誌著個人電腦時代的到來,家用計算機成為可能。
  7. 網際網路時代(20世紀90年代至今):隨著網路技術的發展,計算機之間的連線變得更加緊密。Web服務興起,雲端計算等新型計算模式逐步形成。

伺服器硬體概述
1. 處理器(CPU)
多核處理:現代伺服器通常配備多個處理器或每個處理器具有多個核心,這使得它們能夠同時執行多個任務。
執行緒數:一些處理器支援超執行緒技術,允許每個物理核心執行多個執行緒,從而提高並行處理能力。
頻率與快取:高時脈頻率和大容量的快取可以提升處理器的效能。
2. 記憶體(RAM)
型別:伺服器通常使用ECC(Error-Correcting Code)記憶體,它可以檢測並修正單位元錯誤,提高資料完整性。
容量與速度:更大的記憶體容量和更快的速度有助於提高伺服器的響應時間和整體效能。
雙通道/四通道:透過多條記憶體通道來增加頻寬,進一步最佳化記憶體訪問速度。
3. 儲存
硬碟驅動器(HDD):傳統的機械硬碟適用於大容量儲存需求,但讀寫速度較慢。
固態硬碟(SSD):基於快閃記憶體技術的SSD提供更快的資料訪問速度,適合對I/O效能要求較高的應用場景。
NVMe SSD:採用NVMe協議的SSD透過PCIe匯流排直接連線到CPU,提供比傳統SATA介面SSD更高的傳輸速率。
RAID配置:透過將多個磁碟組合成一個邏輯卷,RAID技術可以實現資料冗餘和效能提升。
4. 網路介面
千兆乙太網:基本標準,提供1 Gbps的資料傳輸速率。
萬兆乙太網:更高階的標準,提供10 Gbps甚至更高(如25G, 40G, 100G)的資料傳輸速率。
網路介面卡:包括NIC(Network Interface Card)和TOE(TCP Offload Engine),後者可以在硬體級別上加速TCP/IP協議棧的處理。
5. 擴充套件插槽
PCIe插槽:用於擴充套件各種功能卡,比如額外的網路控制器、圖形處理單元(GPU)、儲存控制器等。
USB埠:雖然不如PC常見,但在某些情況下也可能會用到,例如外部儲存裝置或診斷工具。
6. 電源供應
冗餘電源:為了保證伺服器的高可用性,許多企業級伺服器都配備了至少兩個電源模組,以防止單點故障。
能效:高效的電源轉換率有助於減少能耗和運營成本。
7. 散熱系統
風扇:伺服器內部安裝有多個風扇以確保良好的空氣流通,幫助散熱。
液冷系統:對於高效能運算環境,可能還會採用液體冷卻方案來更好地管理熱量。
8. 機箱
外形規格:常見的有塔式、機架式(如1U, 2U, 4U)和刀片式伺服器。
安全性:設計有鎖具或其他安全機制來防止未經授權的訪問。
9. 遠端管理
iLO/BMC:整合燈光服務(Integrated Lights-Out, iLO)或基板管理控制器(Baseboard Management Controller, BMC)提供了遠端管理和監控的能力,即使作業系統未啟動也能進行操作。

計算機分類
按照用途和規模,計算機大致可以分為以下幾類:

超級計算機:專用於執行高度複雜的科學計算任務。
大型機/主機:主要用於大規模商業交易處理及關鍵業務應用。
工作站:針對圖形密集型應用的專業使用者設計,如影片編輯、CAD建模等。
個人電腦 (PC):包括桌上型電腦和膝上型電腦,廣泛應用於家庭、辦公室等多個場景。
移動裝置:智慧手機和平板電腦,整合了通訊、娛樂等多種功能於一體的小型行動式終端。
嵌入式系統:指那些被整合到其它裝置內部並承擔特定控制任務的計算機系統,如汽車導航儀、智慧家電等。

二、接下來將說明vmware軟體如何下載安裝。安裝rocky 系統, ubuntu 系統,並結合xshell演示如何透過虛擬IP登入系統。
rockey linux下載
1.網盤下載:[](https://pan.baidu.com/s/1iDQXDocVE1_78JP5w6v3Dw?pwd=mebg
提取碼:mebg

2.(速度慢不推薦)官網下載:[](https://blogs.vmware.com/workstation/2022/11/announcing-vmware-workstation-17-pro-and-player.html
(1)vmware官網現已無法直接下載vmware,點選下載時會跳轉到broadcom網站進入[](https://support.broadcom.com/group/ecx/productdownloads?subfamily=VMware Workstation Pro)
將自動跳轉至登陸介面,需註冊賬號並登入才可以訪問該網址(username是註冊時用的郵箱)

(2)登入後,重新開啟第(1)步中的網址,選擇最新版17.5.2,如下圖所示:









通用批次永久啟用秘鑰(選其一):
a :JU090-6039P-08409-8J0QH-2YR7F
b:ZA5RU-6FYD5-48EPY-3XXEE-PAUGD
11.安裝完成,退出即可 (許可證秘鑰驗證成功後,需重啟計算機)

2.rockey linux 下載安裝
官網下載:https://rockylinux.org/zh-CN/download

DVD/完整ISO
內容豐富:完整的ISO檔案包含了大量的軟體包、驅動程式和支援多種硬體的韌體。它通常包括了桌面環境、辦公套件、媒體播放器等常用軟體。
適合新手:由於預裝了大量常用的軟體,對於新使用者來說更加友好,可以直接使用而無需額外下載軟體。
較大的映象檔案:完整ISO檔案較大,通常在2GB到4GB之間,這取決於具體的版本和所包含的軟體。
較長的下載時間:由於檔案較大,下載可能需要較長時間,尤其是在網路連線速度較慢的情況下。
最小安裝(Minimal Install)
精簡核心系統:最小安裝只包含最基本的系統元件,不包括任何額外的軟體或桌面環境(除非特別選擇了一個桌面環境)。
佔用空間少:安裝後的系統佔用的磁碟空間較少,這對於儲存空間有限的情況非常有用。
自定義程度高:使用者可以根據自己的需求手動安裝所需的軟體,從而建立一個高度個性化的系統。
較小的映象檔案:最小安裝的ISO檔案相對較小,下載速度快,佔用的儲存空間也少。
適合有經驗的使用者:由於需要手動配置和安裝額外的軟體,這種方式更適合有一定Linux使用經驗的使用者。
適用場景
DVD/完整ISO: 適用於那些希望快速設定好一個功能齊全的系統的新使用者,或者是在沒有穩定網際網路連線的情況下進行安裝。
最小安裝: 適用於希望從頭開始構建一個輕量級、定製化系統的使用者,或者是那些想要節省磁碟空間並控制系統中軟體數量的人。
3、rockey linux系統安裝































4、ubuntu系統安裝


















5、使用xshell遠端連線rockey和ubuntu
首先去xshell官網下載:https://www.xshell.com/zh/xshell/

想要使用xshell遠端連線rockey,則需要把rockey設定一個靜態ip,因為之前建立rockey的時候我們選擇
的是nat模式,所以,第一步是先獲取vmnet8的ip資訊,然後才能在rockey裡配置靜態ip。










ubuntu同理也是如此

結合man命令總結linux常用基本命令用法,以及檢視幫助文件的方法。

檢視命令資訊
whereis COMMAND #列出命令或系統檔案路徑
whatis COMMAND #提供命令或檔案的簡短描述
help COMMAND #檢視內部命令
COMMAND --help #檢視外部命令
info COMMAND #檢視更詳細的幫助資訊
type COMMAND #檢視命令型別及路徑
man命令基本用法
-k keyword:搜尋包含關鍵字的手冊頁
-a, --all:顯示所有相關手冊頁,而不僅僅是第一個匹配項
-f, --whatis:等同於 whatis 命令,顯示簡短描述
-l, --local-file:指定本地檔案作為手冊頁源
-P pager:指定使用的分頁程式(如 less 或 more)
-S list, --sections=list:限制搜尋到特定部分(如 1, 2, 3, 4, 5, 6, 7, 8)
man導航頁
空格鍵 或 Page Down:向下翻頁。
b 或 Page Up:向上翻頁。
/關鍵字:搜尋關鍵字。
n:跳到下一個匹配項。
N:跳到上一個匹配項。
q:退出 man 頁面。
h 或 ?:顯示幫助資訊。
g:跳轉到頁面頂部。
G:跳轉到頁面底部。
Ctrl + L:重新整理螢幕。
man手冊頁
NAME:命令或函式的名稱和簡短描述。
SYNOPSIS:命令或函式的語法概述。
DESCRIPTION:詳細描述命令或函式的功能。
OPTIONS:命令或函式的所有可用選項及其說明。
EXAMPLES:示例用法。
FILES:與命令相關的檔案。
SEE ALSO:相關命令或函式的手冊頁。
AUTHOR:作者資訊。
BUGS:已知的問題或錯誤。
常用命令
[root@localhost ~]#lscpu #檢視cpu資訊
[root@localhost ~]#cat /proc/cpuinfo #也可以檢視cpu資訊
[root@localhost ~]#free -h #檢視記憶體
[root@localhost ~]#lsblk #檢視硬碟和分割槽情況
[root@localhost ~]#arch #檢視系統架構
[root@localhost ~]#uname -r #檢視核心版本
[root@localhost ~]#cat /etc/os-release #檢視發行版本
日期和時間
[root@localhost ~]#date #顯示系統時間
[root@localhost ~]#date -R #顯示預設時區
[root@localhost ~]#date +%s #顯示當前時間的時間戳

總結linux檔案系統相關知識,並結合操作演示檔案操作常見的命令

/:
/ 是根目錄,包含了系統啟動和執行所必要的關鍵檔案

/bin:
bin 是 Binaries (二進位制檔案) 的縮寫, 這個目錄存放著最經常使用的命令。

/boot:
這裡存放的是啟動 Linux 時使用的一些核心檔案,包括一些連線檔案以及映象檔案。

/dev :
dev 是 Device(裝置) 的縮寫, 該目錄下存放的是 Linux 的外部裝置(一般是放磁碟),在 Linux 中訪問裝置的方式和訪問檔案的方式是相同的。

/etc:
etc 這個目錄用來存放所有的系統管理所需要的配置檔案和子目錄。

/home:
使用者的主目錄,在 Linux 中,每個使用者都有一個自己的目錄,一般該目錄名是以使用者的賬號命名的。

/lib:
lib 是 Library(庫) 的縮寫這個目錄裡存放著系統最基本的動態連線共享庫,其作用類似於 Windows 裡的 DLL 檔案。幾乎所有的應用程式都需要用到這些共享庫。

/lost+found:
這個目錄一般情況下是空的,當系統非法關機後,這裡就存放了一些檔案。

/media:
linux 系統會自動識別一些裝置,例如隨身碟、光碟機等等,當識別後,Linux 會把識別的裝置掛載到這個目錄下。

/mnt:
系統提供該目錄是為了讓使用者臨時掛載別的檔案系統的,我們可以將光碟機掛載在 /mnt/ 上,然後進入該目錄就可以檢視光碟機裡的內容了。

/opt:
opt 是 optional 的縮寫,這是給主機額外安裝軟體所擺放的目錄。比如你安裝一個ORACLE資料庫則就可以放到這個目錄下。預設是空的。

/proc:
proc 是 Processes(程序) 的縮寫,/proc 是一種偽檔案系統(也即虛擬檔案系統),儲存的是當前核心執行狀態的一系列特殊檔案,這個目錄是一個虛擬的目錄,它是系統記憶體的對映,我們可以透過直接訪問這個目錄來獲取系統資訊。
這個目錄的內容不在硬碟上而是在記憶體裡,我們也可以直接修改裡面的某些檔案,比如可以透過下面的命令來遮蔽主機的ping命令,使別人無法ping你的機器:

/root:
該目錄為系統管理員,也稱作超級許可權者的使用者主目錄。

/sbin:
s 就是 Super User 的意思,是 Superuser Binaries (超級使用者的二進位制檔案) 的縮寫,這裡存放的是系統管理員使用的系統管理程式。

/selinux:
這個目錄是 Redhat/CentOS 所特有的目錄,Selinux 是一個安全機制,類似於 windows 的防火牆,這個目錄就是存放selinux相關的檔案的。

/srv:
該目錄存放一些服務啟動之後需要提取的資料。

/sys:
類似於/proc,它是一個虛擬檔案系統,用於展示硬體裝置的狀態和引數。

/tmp:
tmp 是 temporary(臨時) 的縮寫這個目錄是用來存放一些臨時檔案的。

/usr:
應用程式和檔案都放在這個目錄下,類似於 windows 下的 program files 目錄。

/usr/bin:
系統使用者使用的應用程式。

/usr/sbin:
超級使用者使用的比較高階的管理程式和系統守護程式。

/usr/src:
核心原始碼預設的放置目錄。

/var:
var 是 variable(變數) 的縮寫,這個目錄中存放著在不斷擴充著的東西,可以將那些經常被修改的目錄放在這個目錄下。包括各種日誌檔案。

/run:
是一個臨時檔案系統,儲存系統啟動以來的資訊。當系統重啟時,這個目錄下的檔案應該被刪掉或清除。

linux的檔案型別

    • 普通檔案:用於存放儲存資料,如文字和二進位制檔案。
  • d 目錄檔案directory:用於存放其他檔案和目錄。
  • l 符號連結檔案link:用於引用檔案包含軟連線和硬連結。
  • b 塊裝置block :表示塊裝置。
  • c 字元裝置character:表示字元裝置。
  • p 管道檔案pipe:表示管道檔案,用於程序間通訊。
  • s 套接字檔案socket:表示套件字檔案,用於網路通訊。

檔案操作常用命令

ls命令
ls [選項] [檔案或目錄]
常用選項
* -a, --all:顯示所有檔案,包括隱藏檔案(以.開頭的檔案)。
* -A, --almost-all:顯示所有檔案,但不包括 . 和 ..。
* -l, --format=long:使用長格式顯示檔案資訊。
* -h, --human-readable:以人類可讀的方式顯示檔案大小(例如,KB、MB、GB)。
* -H, --dereference-command-line:符號連結本身會顯示,但如果出現在命令列中,則顯示其指向的檔案。
* -R, --recursive:遞迴地列出子目錄中的內容。
* -t, --sort=time:按修改時間排序,最新的在前。
* -r, --reverse:逆序排列。
* -S, --sort=size:按檔案大小排序。
* -d, --directory:顯示目錄本身的資訊,而不是目錄的內容。
* -1, --format=single-column:每行顯示一個條目。
* -C, --format=vertical:多列輸出,這是預設格式。
* -F, --classify:在每個條目的末尾新增指示符(/ 表示目錄,* 表示可執行檔案,@ 表示符號連結等)。
* -color[=WHEN]:使用顏色區分不同型別的檔案(預設情況下,大多數現代發行版已經啟用了這個選項)。
touch命令
touch [選項] 檔案
常用選項
* -a, --time=atime:只更新訪問時間(Access Time)。
* -c, --no-create:如果檔案不存在,則不建立該檔案。
* -d, --date=字串:使用指定的日期和時間而不是當前時間。
* -m, --time=mtime:只更新修改時間(Modification Time)。
* -r, --reference=檔案:使用指定檔案的時間屬性來更新目標檔案的時間屬性。
* -t, --time=[[[CC]YY]MMDDhhmm[.ss]]:使用指定的時間格式 [CC]YYMMDDhhmm[.ss] 來設定時間。
mv命令
mv [選項] 原始檔/目錄  目標檔案/目錄
常用選項
* -i, --interactive:互動式模式,在覆蓋目標檔案之前提示使用者確認。
* -f, --force:強制模式,如果目標檔案已經存在,則直接覆蓋而不提示。
* -u, --update:更新模式,只有當原始檔比目標檔案新或者目標檔案不存在時才進行移動。
* -v, --verbose:詳細模式,顯示詳細的處理資訊。
* -b, --backup[=CONTROL]:在覆蓋目標檔案之前建立備份。
* -n, --no-clobber:不要覆蓋已存在的檔案。
cp命令
cp [選項] 原始檔/目錄  目標檔案/目錄
常用選項
* -i, --interactive:互動式模式,在覆蓋目標檔案之前提示使用者確認。
* -f, --force:強制模式,如果目標檔案已經存在,則直接覆蓋而不提示。
* -u, --update:更新模式,只有當原始檔比目標檔案新或者目標檔案不存在時才進行復制。
* -v, --verbose:詳細模式,顯示詳細的處理資訊。
* -r, -R, --recursive:遞迴地複製目錄及其內容。
* -p, --preserve:保留檔案的屬性(如修改時間、訪問時間和許可權)。
* -l, --link:建立硬連結而不是複製檔案。
* -s, --symbolic-link:建立符號連結而不是複製檔案。
* -b, --backup[=CONTROL]:在覆蓋目標檔案之前建立備份。
* -d, --no-dereference:複製符號連結本身,而不是它們指向的檔案。
* -a, --archive:遞迴地複製目錄並保留所有屬性。

rm命令
rm [選項] 檔案或目錄
常用選項
* -i, --interactive:互動式模式,在刪除每個檔案之前提示使用者確認。
* -f, --force:強制刪除,忽略不存在的檔案,並且不提示使用者確認。
* -r, -R, --recursive:遞迴地刪除目錄及其內容。
* -v, --verbose:詳細模式,顯示詳細的處理資訊。
* -d, --dir:刪除目錄。
* --preserve-root:不要刪除根目錄(/)。
* -I:當刪除超過三個檔案或遞迴刪除時,提示使用者確認。
mkdir命令
mkdir [選項] 目錄
常用選項
* -p, --parents: 遞迴建立父目錄。
* -m, --mode: 設定目錄許可權。
* -v, --verbose: 顯示建立過程。
rmdir [選項] 目錄
常用選項
* -p, --parents:遞迴刪除父目錄。
* -v, --verbose:顯示刪除過程。
tree命令
tree [選項] 目錄
常用選項
* -a, --all:顯示所有檔案,包括隱藏檔案(以點 . 開頭的檔案)。
* -d, --directory:只顯示目錄,不顯示檔案。
* -f, --files-first:在每個目錄中先顯示檔案,然後是子目錄。
* -L, --level=NUM:指定顯示的層級深度。例如 -L 2 表示只顯示兩層目錄。
* -P, --prune=PATTERN:不顯示與給定模式匹配的檔案或目錄。
* -I, --ignore-case:忽略大小寫。
* -h, --human-readable:以人類可讀的格式顯示檔案大小(例如 KB、MB)。
* -D, --dirsfirst:在每個目錄中先顯示子目錄,然後是檔案。
* -p, --permission:顯示每個檔案和目錄的許可權。
* -u, --uid:顯示每個檔案和目錄的所有者使用者ID。
* -g, --gid:顯示每個檔案和目錄的所有者組ID。
* -s, --size:顯示每個檔案和目錄的大小。
* -t, --time:顯示每個檔案和目錄的最後修改時間。
* -r, --reverse:以相反的順序顯示檔案和目錄。
* -x, --sort=file:按檔名排序。
* -S, --sort=size:按檔案大小排序。
* -T, --sort=time:按最後修改時間排序。

stat命令
stat [選項] 檔案
常用選項
* -c, --format: 指定格式顯示檔案資訊。
* -f, --file-system: 顯示檔案系統資訊。
* -t, --terse: 以簡潔的格式輸出資訊。
格式字串(-c 引數)
-c 引數允許您自定義輸出格式。以下是一些常用的格式說明符:
%n:檔名
%s:檔案大小(位元組)
%b:檔案塊數(512 位元組為一個塊)
%f:檔案型別和模式
%u:檔案所有者的使用者ID
%U:檔案所有者的使用者名稱
%g:檔案所屬組的組ID
%G:檔案所屬組的組名
%a:檔案的訪問許可權(八進位制)
%A:檔案的訪問許可權(符號形式)
%m:檔案的最後修改時間
%c:檔案的狀態更改時間
%y:檔案的最後訪問時間

總結作業系統概念相關
作業系統(Operating System, OS)是計算機系統中的一種軟體,它管理和控制計算機硬體與軟體資源,為使用者提供一個方便、高效和安全的計算環境。作業系統充當使用者與計算機硬體之間的介面,負責管理計算機的各種資源,如處理器、記憶體、儲存裝置和輸入/輸出裝置。

作業系統的主要功能
程序管理:
建立和銷燬程序。
程序排程:決定哪個程序在何時執行。
通訊與同步:提供程序間通訊機制,確保程序間的同步。

記憶體管理:
分配和回收記憶體空間。
虛擬記憶體管理:透過頁表和分頁機制擴充套件可用記憶體。
記憶體保護:防止一個程序訪問另一個程序的記憶體空間。

檔案系統管理:
提供檔案的建立、刪除、讀寫等功能。
檔案目錄結構:組織和管理檔案。
檔案許可權管理:控制使用者對檔案的訪問許可權。

裝置管理:
管理各種輸入/輸出裝置,如鍵盤、滑鼠、印表機、磁碟等。
裝置驅動程式:提供與硬體裝置互動的介面。

網路通訊:
支援網路協議棧,如TCP/IP。
提供網路服務,如DNS、HTTP、FTP等。

安全與保護:
使用者認證與授權。
訪問控制:限制使用者對系統資源的訪問。
安全策略:實施安全策略以防止惡意攻擊。

使用者介面:
命令列介面(CLI):透過命令列與使用者互動。
圖形使用者介面(GUI):透過圖形介面與使用者互動。

常見的作業系統型別
桌面作業系統:
Windows:由微軟開發,廣泛用於個人電腦。
macOS:蘋果公司開發的作業系統,用於Macintosh系列計算機。
Linux:開源作業系統,有多種發行版,如Ubuntu、Fedora、Debian等。

伺服器作業系統:
Linux:廣泛用於伺服器,具有高穩定性和安全性。
Windows Server:微軟開發的伺服器作業系統。
Unix:歷史悠久的多使用者、多工作業系統,包括Solaris、AIX等。

移動作業系統:
Android:基於Linux核心,由Google開發,廣泛用於智慧手機和平板電腦。
iOS:蘋果公司開發的移動作業系統,用於iPhone、iPad等裝置。

嵌入式作業系統:
實時作業系統(RTOS):用於需要實時響應的嵌入式系統,如VxWorks、FreeRTOS。
特定用途的嵌入式系統:如汽車中的車載娛樂系統、醫療裝置等。

作業系統的重要性
資源管理:作業系統有效地管理和分配計算機資源,提高系統的整體效能。
使用者友好:提供了使用者友好的介面,使得使用者能夠方便地使用計算機。
安全性:提供了多層次的安全機制,保護系統免受惡意攻擊。
相容性:支援多種硬體和軟體,提高了系統的相容性和可擴充套件性。





總結萬用字元,管道,重定向,inode知識點
1.萬用字元是用來匹配一系列字元的符號,在Linux命令列中經常用來指代一組檔名或目錄名。
常見的萬用字元如下:

例子:

2.管道是一種特殊形式的輸入輸出機制,它可以將一個命令的輸出作為另一個命令的輸入。
例子:

3.重定向可以改變命令的標準輸入、標準輸出或標準錯誤輸出的目標。

  • :覆蓋寫入檔案。

  • :追加寫入檔案。

  • <:從檔案讀取輸入。
  • 2>:重定向錯誤輸出。
  • &> 或 >&:同時重定向標準輸出和標準錯誤輸出。
    例子:

4.inode 是 Linux 檔案系統中的一個資料結構,它儲存了關於檔案的一些後設資料,如檔案的大小、建立時間、訪問許可權等。每個檔案或目錄都有一個唯一的inode號,即使檔名更改,inode號也不會改變。

軟硬連結的區別
硬連結(Hard Link)
硬連結是指指向檔案索引節點(inode)的一個連結。一個檔案可以有多個硬連結,每個硬連結都是指向同一個inode。這意味著修改任何一個硬連結都會影響到所有其他指向該inode的連結。

特點:

  • 每個硬連結都指向同一個inode。
  • 刪除一個硬連結不會刪除檔案的內容,只有當最後一個硬連結被刪除後,檔案才會被刪除。
  • 硬連結不能跨越檔案系統(即不能指向不同物理裝置上的檔案)。
  • 對硬連結所做的任何改變都會反映在所有其他指向相同inode的連結上。
  • 硬連結可以指向目錄,但這樣做可能會導致迴圈引用的問題,因此通常避免對目錄建立硬連結。

軟連結(Symbolic Link)
軟連結,也稱為符號連結,實際上是一個特殊的檔案,它包含指向另一個檔案的路徑資訊。軟連結類似於Windows中的快捷方式。當讀取軟連結時,系統會自動將其解析為指向的實際檔案。

特點:

  • 軟連結包含指向實際檔案的路徑資訊。
  • 刪除軟連結本身不會影響實際檔案。
  • 軟連結可以跨越檔案系統,指向不同物理裝置上的檔案。
  • 軟連結可以指向目錄,甚至是跨檔案系統的目錄。
  • 軟連結可以指向不存在的檔案或目錄。

區別總結
指向物件:
硬連結指向同一個inode。
軟連結指向檔案路徑。

刪除行為:
刪除硬連結中的一個連結,不會刪除檔案內容,只有最後一個硬連結被刪除後,檔案才會被刪除。
刪除軟連結本身不會影響實際檔案。

檔案系統限制:
硬連結不能跨越檔案系統。
軟連結可以跨越檔案系統。

相關文章