全棧必備Linux 基礎

系統的選擇html

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

Redhat,應該稱爲Redhat系列,包括RHEL、Fedora、CentOS(RHEL的社區克隆版本,免費)。Ubuntu嚴格來講不能算一個獨立的發行版本,Ubuntu是基於Debian增強而來,一個擁有Debian全部的優勢,以及本身所增強的優勢的近乎完美的Linux桌面系統。Ubuntu社區認爲實用性和創新性高於一切。shell

若是你須要一個比較穩定的服務器系統而已,那麼最好的選擇就是CentOS了,安裝完成後,通過簡單的配置就能提供很是穩定的服務了。可是對雲環境而言,unbantu也許不錯,hadoop最先就是在ubantu上開發的。數據庫

體系結構編程

瞭解體系結構,能夠有一個較好的方向感。Linux 有kernel和user兩種模式,內核、shell和文件系統一塊兒造成了基本的操做系統結構,Linux 內核由以下幾部分組成:內存管理、進程管理、設備驅動程序、文件系統和網絡管理等。
全棧必備Linux 基礎全棧必備Linux 基礎ubuntu

Linux內核vim

瞭解linux內核,能夠充分利用資源,在系統調優時有目標感。
全棧必備Linux 基礎全棧必備Linux 基礎
Linux 將內存劃分爲容易處理的「內存頁」,提供了對 4KB 緩衝區的抽象,例如 slab 分配器。進程實際是某特定應用程序的一個運行實體,進程調度控制進程對CPU的訪問。Linux 中常見的進程間通信機制有信號、管道、共享內存、信號量和套接字等。 內核經過 SCI 提供了一個API來建立一個新進程(fork、exec 或 POSⅨ),中止進程(kill、exit),並在它們之間進行通訊和同步(signal 或者 POSⅨ 機制)。centos

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 基礎全棧必備Linux 基礎
在shell 中組織linux 的命令來完成一系列的任務,就是shell 編程了。Shell,Perl和Python 是Linux 上最經常使用的腳本語言,我仍是推薦使用Python。

 

Linux 應用

標準的Linux系統通常都有一套都有稱爲應用程序的程序集,它包括文本編輯器、編程語言、X Window、Internet工具和數據庫等。

對於文本編輯而言,Emacs 和vim 各有千秋,經過插件配合甚至能夠做爲IDE使用。 我的感受,VIM 還應該是必備技能。vim的命令也不少,整理以下:
全棧必備Linux 基礎全棧必備Linux 基礎
就應用的管理而言,ubuntu需熟知apt命令,centos則是yum命令。固然了,源代碼編譯安裝是必須的,makefile的寫法,configure/autoconfig/make 的用法要手到擒來纔好。

本文地址:http://www.linuxprobe.com/full-stack-linux-knowledge.html

相關文章
相關標籤/搜索