Linux基本概述與配置
一、我們為什么使用Linux(Linux的優點)
-
開源與自由
- 免費: 無需支付許可費用,任何人都可以自由下載、安裝和使用。
- 源代碼開放: 任何人都可以查看、修改和分發源代碼。這帶來了極高的透明度、安全性和定制性。
- 自由: 用戶可以自由地運行、研究、修改和重新分發系統,不受商業公司的限制。
-
卓越的穩定性與可靠性:
-
服務器首選: Linux服務器以長時間穩定運行(數年無需重啟)而聞名,宕機率極低,是數據中心、云計算平臺、網絡設備等的基石。
-
崩潰少: 內核設計精良,內存管理高效,進程隔離性好,單個程序崩潰通常不會導致整個系統癱瘓。
-
-
強大的安全性:
- 開源審查: 龐大的開發者社區持續審查代碼,漏洞通常能被更快發現和修復。
- 權限管理嚴格: 基于用戶和組的權限模型(最小權限原則)非常完善,默認情況下普通用戶權限有限,惡意軟件難以獲得系統級控制。
- 病毒威脅少: 市場占有率(尤其是桌面端)相對較低、權限模型嚴格以及軟件來源可控(主要來自官方倉庫),使得針對Linux的惡意軟件遠少于Windows。
- 快速安全更新: 發行版維護者能迅速響應漏洞,并通過包管理系統高效推送更新。
-
出色的性能與效率:
- 資源占用低: 許多發行版(尤其是輕量級版本)對系統資源需求極低,能在老舊或低配硬件上流暢運行。
- 高效: 內核和系統設計優化良好,在相同硬件上往往能比Windows提供更快的啟動速度、響應速度和更高的吞吐量。
- 可擴展性: 從最小的嵌入式設備到最大的超級計算機集群,Linux都能勝任。
除上述4點之外,Linux還有極高的靈活性與可定制性,強大的命令行與腳本能力,豐富的軟件生態(尤其對于開發者和服務器),活躍的社區支持,隱私保護等眾多的優點。
Linux的核心優勢在于其開源自由、穩定可靠、安全堅固、高效靈活、強大的命令行和包管理,以及活躍的社區。這些優點使其在服務器、云計算、開發、嵌入式系統等領域占據絕對主導地位,在桌面領域也為用戶提供了一個強大、安全、隱私友好且高度可定制的替代選擇。
二、Linux的組成
-
誕生:1991.10 linus.torvalds 發布第一個linux公開版
-
標準:企鵝
-
Linux系統組成:
-
Linux內核:是一個特殊的軟件程序,用于實現CPU、內存分配、進程調度和設備驅動等核心操作,以面向硬件為主。
- 角色: 操作系統的核心。
- 職責:
- 直接與硬件對話: 管理 CPU、內存、硬盤、網卡、USB 設備等所有物理資源。包含設備驅動程序。
- 資源管理者: 分配 CPU 時間給進程、管理系統內存、處理文件系統讀寫、管理網絡通信。
- 安全基石: 實施基本的進程隔離、用戶/組權限控制。
- 提供基礎服務: 為上層程序提供進程創建、文件操作、網絡通信等核心功能。
- 運行模式: 運行在內核態(最高特權級別 Ring 0),擁有對硬件的完全訪問權。
- 接口: 通過系統調用向用戶空間程序提供服務。-
-
外圍程序:包括分析用戶指令的解釋器、網絡服務程序和圖形化桌面程序等各種應用型的軟件程序,以面向用戶為主。
- 角色: 運行在用戶空間的所有程序。
- 范圍: 包括除內核本身以外的所有軟件組件:
- Shell:
bash
,zsh
,fish
等命令行解釋器。 - 核心系統工具:
ls
,cp
,mv
,rm
,grep
,awk
,sed
,ps
,top
,mount
,useradd
,ping
,ssh
等(大部分來自 GNU 項目或類似項目)。 - 系統守護進程: 在后臺運行的系統服務,如
systemd
(init 系統)、sshd
(SSH 服務器)、cron
(定時任務)、dbus
(消息總線)等。 - 桌面環境/窗口管理器: GNOME, KDE Plasma, XFCE, i3 等。
- 應用程序: 文本編輯器(
vim
,nano
)、瀏覽器(Firefox, Chrome)、辦公軟件(LibreOffice)、媒體播放器(VLC)、開發工具(GCC, Python, VSCode)、數據庫(MySQL, PostgreSQL)、Web 服務器(Apache, Nginx)等任何你安裝和運行的軟件。
- Shell:
- 運行模式: 運行在用戶態(較低特權級別 Ring 3),無法直接訪問硬件。
- 與內核交互: 所有對硬件資源或核心系統服務的請求(如讀寫文件、申請內存、網絡通信、創建進程),都必須通過系統調用這個受控接口向內核發起。內核執行請求的操作并返回結果。
-
linux內核由3部分組成:主版本號、次版本號、末版本號
-
linux內核的2種類型:開發版本(次版本號為奇數)、穩定版本(次版本號為偶數)
-
linux系統的外圍程序大部分都是由GNU組織開發的。
GNU:在1984年由著名的美國黑客理查德.斯托曼發起的,由自由軟件基金會(FSF)的資金支持,主要是為了建立免費的開源的UNIX類系統,基本原則是程序源代碼開放和軟件思想共享。
-
GPL、LGPL協議
- GPL:通用公共許可證(General Public License),為了確保GNU項目所發布的軟件經過傳播、改寫后仍然具有“自由”的特性,GNU項目提出了針對自由軟件的授權許可協議。
- LGPL:寬通用公共許可證(Lesser General Pubilc License),是GPL授權協議的一個變種,是GNU項目為了得到更多開發者(包括商用軟件開發商)的支持而提出的。
-
三、常見linux的發行版本
- linux常見的發行版本–RHEL、SUSE linux、debian linux
- redhat系列的linux–RHEL 企業版、Fedora 社區版、centos企業版
- redhat linux認證 RHCSA 、RHCE、RHCA
四、系統文件和目錄
- **文件類型 **
- 普通文件 -
- 目錄文件 d
- 鏈接文件 l
- 特殊文件 c b
- 文件:通過顏色來判斷文件類型和權限
- 綠色文件:可執行文件,可執行的程序
- 紅色文件:壓縮文件或者包文件
- 藍色文件:目錄
- 白色文件:一般性文件,如文本文件,配置文件,源碼文件等
- 淺藍色文件:鏈接文件,主要是使用ln命令建立的文件
- 紅色閃爍:表示鏈接的文件有問題
- 黃色:表示設備文件
- 灰色:表示其他文件
- linux常見的后綴名(擴展名)
- .conf 配置文件
- .log 日志文件
- .syslog 系統日志文件
- .cfg 系統配置文件
- .i686 系統文件
- .sh 腳本文件
五、目錄
- 目錄
/ | 根目錄 | 是linux文件系統的起點 |
/bin | binary,二進制 | 存放linux系統中最基本的命令,普通用戶有權限執行 |
/boot | boot,引導;/boot目錄通常被劃分為獨立的分區,稱為/boot分區 | 存放啟動linux系統所必需的的文件,包括內核文件、啟動的配置文件 |
/dev | device,裝置、設備 | 存放linux系統中的磁盤、光驅等各種設備 |
/etc | Editable Text Configuration,可編輯的文本配置 | 存放linux系統及各種配置文件 |
/home | 家目錄 | 存放所有普通用戶的默認工作目錄,也叫普通用戶的家目錄 |
/lib | library | 庫文件存放目錄 |
/media | media ,媒體 | 類windows的其他設備,例如U盤、光驅等等,識別后linux會把設備放到這個目錄下 |
/mnt | mount,臨時文件系統的安裝點 | 臨時掛載別的文件系統的,我們可以將光驅掛載在/mnt/上,然后進入該目錄就可以查看光驅里的內容了 |
/opt | Optional application software packages,可選的應用軟件包 | 有些軟件包會被安裝在這里 |
/proc | Processes ,進程 | 系統進程目錄 比如cpu、內存的信息都存放在該目錄中 |
/root | 管理員的主目錄 | |
/run | 是一個臨時文件系統,存儲系統啟動以來的信息。當系統重啟時,這個目錄下的文件應該被刪掉或清除 | |
/sbin | Superuser Binaries | 超級用戶可以使用的命令的存放目錄 |
/srv | 存放服務啟動后需要提取的數據 | |
/sys | 該目錄下的所有子目錄代表著系統中當前被發現的所有塊設備 | |
/tmp | Temporary | 這個目錄是用來存放一些臨時文件的 |
/usr | Unix Shared Resources,用于存放共享的系統資源 | 存放其他用戶應用程序,通常被劃分成很多子目錄,用戶存放不同類型的應用程序,這個目錄就好比 windows的program files |
/var | Variable,變量 | 存放系統中經常需要變化的一些文件,比如系統日志文件、緩沖緩存文件等等 |
- 重要目錄
/bin | 存放普通用戶有權限執行的命令 |
/sbin | 存放管理員用戶有權限執行的命令 |
/home | 普通用戶的用戶家目錄 |
/root | 超級管理員用戶root用戶的家目錄 |
/boot | 存放系統啟動的引導文件和內核文件 |
/etc | 存放配置文件 |
/dev | 存放設備文件 |
/proc | 系統進程目錄,cpu、內存的相關信息存放在這里 |
/mnt | 臨時掛載點 |
/var | 主要存放日志文件 |
六、[root@wiltjer ~]#解析
-
root–代表當前用戶
-
wiltjer–主機名稱
-
~ —當前的工作目錄,其中~代表當前用戶的家目錄
-
#----代表著當前用戶是超級管理員用戶
-
$—代表著當前用戶是個普通用戶
root用戶的用戶家目錄是/root/目錄
普通用戶的家目錄是/home/普通用戶名命名的目錄名稱
比如chenyu用戶的家目錄是/home/chenyu/
七、常見的系統命令
-
查看內核版本
uname -r
4.18.0-80.el8.x86_64
主版本號:4
次版本號:18----偶數(穩定版本)—奇數(開發版本)
末版本號(修訂版本號):0-80
el8—enterprise Linux 8
x86_64—支持的架構 -
查詢cpu信息
cat /proc/cpuinfo //或 lscpu
cat— 一次性顯示(查看)文件的所有內容
-
查看內存
cat /proc/meminfo //或 free -m
-
查看設置主機名
hostname //查看主機名 hostname cy.example.com //(臨時生效)臨時修改主機名,臨時的意思是,重啟后就失效了 hostnamectl set-hostname rhel8.example.com //(永久生效)---永久修改主機名
-
查看IP地址
ifconfig //查看所有網卡的ip信息 ip addr(簡寫 ip a)
ifconfig ens160 //查看ens160網卡的ip信息 ip addr show ens160
-
重啟
shutdown -r now //或 reboot
-
關機
shutdown -h now //或 poweroff
-
延遲啟動
shutdown -r +15 'the system will be rebooted!!!'