搜尋
首頁系統教程LinuxLinux 基礎:全端開發者的必備

Linux 基礎:全端開發者的必備

Dec 29, 2023 pm 03:57 PM
linuxlinux教程紅帽linux系統linux指令linux認證紅帽linuxlinux視頻

導讀 Linux 幾乎無所不在,不論是伺服器構建,還是客戶端開發,作業系統的基礎技能對全端來說都是必備的。
系統的選擇

Linux發行版本可以大致分為兩類,一類是商業公司維護的發行版本,一類是社區組織維護的發行版本,前者以著名的Redhat(RHEL)為代表,後者以Debian為代表。

Redhat,應該稱為Redhat系列,包括RHEL、Fedora、CentOS(RHEL的社群複製版本,免費)。 Ubuntu嚴格來說不能算一個獨立的發行版本,Ubuntu是基於Debian加強而來,一個擁有Debian所有的優點,以及自己所加強的優點的近乎完美的Linux桌面系統。 Ubuntu社群認為實用性和創新性高於一切。

如果你需要一個比較穩定的伺服器系統而已,那麼最好的選擇就是CentOS了,安裝完成後,經過簡單的設定就能提供非常穩定的服務了。但對雲端環境而言,unbantu也許不錯,hadoop最早就是在ubantu上開發的。

體系結構

了解體系結構,可以有較好的方向感。 Linux 有kernel和user兩種模式,核心、shell和檔案系統一起形成了基本的作業系統結構,Linux 核心由以下幾部分組成:記憶體管理、進程管理、裝置驅動程式、檔案系統和網路管理等。
全栈必备Linux 基础

Linux核心

了解linux內核,可以充分利用資源,在系統調優時有目標感。
全栈必备Linux 基础
Linux 將記憶體劃分為容易處理的“記憶體頁”,提供了 4KB 緩衝區的抽象,例如 slab 分配器。進程實際上是某特定應用程式的一個運行實體,進程調度控制進程對CPU的存取。 Linux 中常見的進程間通訊機制有訊號、管道、共享記憶體、訊號量和套接字等。核心透過 SCI 提供了一個API來創建一個新進程(fork、exec 或 POSⅨ),停止進程(kill、exit),並在它們之間進行通訊和同步(signal 或 POSⅨ 機制)。

Linux 作業系統將獨立的檔案系統組合成了一個層次化的樹狀結構,並且由一個單獨的實體代表這個檔案系統。由於Linux 支援許多不同的檔案系統,並且將它們組織成了一個統一的虛擬檔案系統.裝置驅動程式提供一組作業系統可理解的抽象介面完成和作業系統之間的交互,而與硬體相關的具體操作細節由裝置驅動程式完成。 Linux核心的網路部分由BSD套接字、網路協定層和網路裝置驅動程式所組成。網路設備驅動程式負責與硬體設備通訊,每種可能的硬體設備都有相應的設備驅動程式。

linux 檔案系統

Linux系統能支援多種目前流行的檔案系統,推薦用EXT4。

Linux下面的檔案類型主要有:
1) 普通文件,分為純文字和二進位。
2) 目錄文件,儲存文件的地方。
3) 連結文件,指向同一個文件或目錄的文件。
4) 設備文件,分為區塊設備和字元設備。
5)管道文件,提供進程間通訊
6)套接字文件,與網路通訊有關

Linux使用標準的目錄結構,安裝程式就已經為使用者建立了檔案系統和完整而固定的目錄組成形式,並指定了每個目錄的作用和其中的檔案類型。

目錄名 簡要說明
/bin 二進位可執行指令
/dev 設備特殊檔案
/etc 系統管理和設定檔
/etc/rc.d 啟動的設定檔和腳本
/home 使用者主目錄的基點,例如使用者abc的主目錄就是/home/user,可以用~abc表示
/lib 標準程式設計庫
/sbin 系統管理指令,這裡存放的是系統管理員使用的管理程式
/tmp 公用的暫存檔案點
/root 系統管理員的主目錄
/mnt 系統提供這個目錄是讓使用者暫時掛載其他的檔案系統。
/lost found 這個目錄平常是空的,系統非正常關機而留下「無家可歸」的檔案
/proc 虛擬的目錄,是系統記憶體的映射。可直接存取這個目錄來取得系統資訊。
/var 某些大檔案的溢出區,比方說各種服務的日誌檔案
/usr 最龐大的目錄,要用到的應用程式和檔案幾乎都在這個目錄。其中包含:
/usr/X11R6 存放X window的目錄
/usr/bin 眾多的應用程式
/usr/sbin 超級使用者的一些管理程式
/usr/doc linux文檔
/usr/include linux下開發和編譯應用程式所需的頭檔
/usr/lib 常用的動態連結函式庫和軟體包的設定檔
/usr/man 幫助文件
/usr/src 原始碼,linux核心的原始碼就放在/usr/src/linux裡
/usr/local/bin 本地增加的命令
/usr/local/lib 本地增加的函式庫

shell是系統的使用者介面,提供了使用者與核心互動操作的一種介面。它接收使用者輸入的命令並把它送入內核去執行,是一個命令解釋器。 shell 有很多類型,這裡推薦BASH。 BASH是GNU的Bourne Again Shell,是GNU作業系統上預設的shell,大部分linux的發行套件使用的都是這種shell。 Linux Shell 及指令

Linux 的指令很多,下面給了一個簡單的分類。
全栈必备Linux 基础
在shell 組織linux 的指令來完成一系列的任務,就是shell 程式設計了。 Shell,Perl和Python 是Linux 上最常用的腳本語言,我還是推薦使用Python。

Linux 應用程式

標準的Linux系統一般都有一套都有一個稱為應用程式的組件,它包括文字編輯器、程式語言、X Window、Internet工具和資料庫等。

對於文字編輯而言,Emacs 和vim 各有千秋,透過插件配合甚至可以作為IDE使用。個人感覺,VIM 還應該是必備技能。 vim的命令也很多,整理如下:
全栈必备Linux 基础
就應用程式的管理而言,ubuntu需熟知apt指令,centos是yum指令。當然了,原始碼編譯安裝是必須的,makefile的寫法,configure/autoconfig/make 的用法要手到擒來才好。

以上是Linux 基礎:全端開發者的必備的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:Linux就该这么学。如有侵權,請聯絡admin@php.cn刪除
如何學習Linux基礎知識?如何學習Linux基礎知識?Apr 10, 2025 am 09:32 AM

Linux基礎學習從零開始的方法包括:1.了解文件系統和命令行界面,2.掌握基本命令如ls、cd、mkdir,3.學習文件操作,如創建和編輯文件,4.探索高級用法如管道和grep命令,5.掌握調試技巧和性能優化,6.通過實踐和探索不斷提陞技能。

Linux最有用的是什麼?Linux最有用的是什麼?Apr 09, 2025 am 12:02 AM

Linux在服務器、嵌入式系統和桌面環境中的應用廣泛。 1)在服務器領域,Linux因其穩定性和安全性成為託管網站、數據庫和應用的理想選擇。 2)在嵌入式系統中,Linux因其高度定制性和高效性而受歡迎。 3)在桌面環境中,Linux提供了多種桌面環境,滿足不同用戶需求。

Linux的缺點是什麼?Linux的缺點是什麼?Apr 08, 2025 am 12:01 AM

Linux的缺點包括用戶體驗、軟件兼容性、硬件支持和學習曲線。 1.用戶體驗不如Windows或macOS友好,依賴命令行界面。 2.軟件兼容性不如其他系統,缺乏許多商業軟件的原生版本。 3.硬件支持不如Windows全面,可能需要手動編譯驅動程序。 4.學習曲線較陡峭,掌握命令行操作需要時間和耐心。

Linux難以學習嗎?Linux難以學習嗎?Apr 07, 2025 am 12:01 AM

Linuxisnothardtolearn,butthedifficultydependsonyourbackgroundandgoals.ForthosewithOSexperience,especiallycommand-linefamiliarity,Linuxisaneasytransition.Beginnersmayfaceasteeperlearningcurvebutcanmanagewithproperresources.Linux'sopen-sourcenature,bas

Linux的5個基本組件是什麼?Linux的5個基本組件是什麼?Apr 06, 2025 am 12:05 AM

Linux的五個基本組件是:1.內核,管理硬件資源;2.系統庫,提供函數和服務;3.Shell,用戶與系統交互的接口;4.文件系統,存儲和組織數據;5.應用程序,利用系統資源實現功能。

Ubuntu Home Automation:使用開源工具建立智能的居住空間Ubuntu Home Automation:使用開源工具建立智能的居住空間Apr 05, 2025 am 09:19 AM

開啟智能家居新篇章:基於Ubuntu的開源家庭自動化系統 智能家居技術徹底改變了我們與生活空間的互動方式,為日常生活帶來了便利、安全和能源效率。從遠程控制燈光和電器,到監控安全攝像頭和自動化氣候控制,智能家居技術變得越來越普及。 然而,許多商業智能家居系統存在局限性:高昂的成本、隱私問題以及有限的兼容性。幸運的是,開源軟件解決方案結合Ubuntu的強大功能,提供了一種替代方案——允許用戶創建可定制、經濟高效且安全的智能家居生態系統。 本指南將探討如何使用Ubuntu和開源工具設置家庭自動化系統。

Linux vs. Windows:什麼是2025年的差異?Linux vs. Windows:什麼是2025年的差異?Apr 05, 2025 am 09:05 AM

Linux與Windows:2025比較 考慮從MacOS或Windows切換? Linux可能是答案。 儘管MacOS用戶會發現相對平滑的過渡(由於MacOS的UNIX Core),但Windows用戶需要適應。此指南HIG

什麼是Linux設備?什麼是Linux設備?Apr 05, 2025 am 12:04 AM

Linux設備是運行Linux操作系統的硬件設備,包括服務器、個人電腦、智能手機和嵌入式系統。它們利用Linux的強大功能執行各種任務,如網站託管和大數據分析。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器