Linux學習筆記

2021-07-30 10:50:37 字數 4678 閱讀 5341

作為乙個程式設計師來說,linux的熟練操作是很有必要的。而且作業系統作為程式之本,所以學習作業系統對於更深入地理解程式很有幫助。雖然自己也會linux系統的一些基本操作,但自認為遠遠不夠,所以準備進行一次全面地梳理和學習,並把學習筆記整理下來,希望能幫助到讀者。

早期的計算機是沒有作業系統的,人們將組合語言編寫的程式內置於計算機,這樣操作起來是很不方便的。隨著大規模積體電路的發展,70年代中期出現了第一代作業系統(cp/m作業系統,8位),主要功能是對檔案資訊進行管理,以實現硬碟檔案或其他裝置檔案的自動訪問。繼cp/m後,又出現了dos(磁碟作業系統)。第一階段的作業系統特點為:單使用者,但任務,字元介面。當今很多計算機都內建了dos作業系統。

隨著計算機軟硬體技術的發展,先前的作業系統或許已經滿足不了人們的需要,作業系統的發展出現了新的高潮,以多使用者多工的作業系統相繼出現,作業系統的發展進入第二階段。典型代表有unix、xenix、os/2以及windows作業系統。分時的多使用者、多工、樹形結構的檔案系統以及重定向和管道是unix的三大特點。而windows系統的產生,使作業系統真正進入圖形介面時代。

隨著大型機和嵌入式技術的發展,作業系統出現多樣化。在伺服器方面,linux,unix,windowsserver佔主要市場份額;超級計算機方面,linux排名第一;嵌入式方面,有安卓,ios。

作業系統的主要功能是資源管理,程式控制

和人機互動

等。計算機系統的資源可分為裝置資源和資訊資源兩大類。裝置資源指的是組成計算機的硬體裝置,如

**處理器

,主儲存器,

磁碟儲存器

,印表機,磁帶儲存器,顯示器,鍵盤輸入裝置和滑鼠等。資訊資源指的是存放於計算機內的各種資料,如檔案,程式庫,知識庫,系統軟體和應用軟體等。主要功能可總結為:

程序管理(processing management)

記憶體管理(memory management)

檔案系統(file system)

安全機制(security)

使用者介面(user inte***ce)

驅動程式(device drivers)

linux是一款基於posix和unix

的開源的多使用者、多工

、支援多執行緒

和多cpu的作業系統。它能執行主要的unix工具軟體、應用程式和網路協議。它支援32位和64位

硬體。隨著linux的發展,已出現像redhat ,centos,ubuntu的等多種發行版。linux有兩個基本思想:一切皆為檔案;每個軟體都有確定的用途。

linux系統全由檔案組成,因此構成了乙個強大的檔案系統。

linux檔案型別主要有:

普通檔案(regular file):就是一般訪問的檔案,由ls -al顯示出來的屬性中,第乙個屬性為 [-],例如 [-rwxrwxrwx]。另外,

依照檔案的內容,又大致可以分為:

1、純文字檔案(ascii):這是unix系統中最多的一種檔案型別,之所以稱為純文字檔案,是因為內容可以直接讀到的資料,

例如數字、字母等等。設 置檔案幾乎都屬於這種檔案型別。舉例來說,使用命令「cat ~/.bashrc」就可以看到該檔案的內容

(cat是將檔案內容讀出來)。

2、二進位制檔案(binary):系統其實僅認識且可以執行二進位制檔案(binary file)。linux中的可執行檔案(指令碼,文字

方式 的批處理檔案不算)就是這種格式的。舉例來說,命令cat就是乙個二進位制檔案。

3、資料格式的檔案(data):有些程式在執行過程中,會讀取某些特定格式的檔案,那些特定格式的檔案可以稱為資料

檔案 (data file)。舉例來說,linux在使用者登入時,都會將登入資料記錄在 /var/log/wtmp檔案內,該檔案是乙個資料檔案, 它

能通過last命令讀出來。但使用cat時,會讀出亂碼。因為它是屬於一種特殊格式的檔案。

目錄檔案(directory):就是目錄,第乙個屬性為 [d],例如 [drwxrwxrwx]。

連線檔案(link):類似windows下面的快捷方式。第乙個屬性為 [l],例如 [lrwxrwxrwx]。

裝置與裝置檔案(device):與系統外設及儲存等相關的一些檔案,通常都集中在 /dev目錄。通常又分為兩種:

塊裝置檔案:就是儲存資料以供系統訪問的介面裝置,簡單而言就是硬碟。例如一號硬碟的**是 /dev/hda1等檔案。第

乙個 屬性為 [b]。

字元裝置檔案:即串列埠的介面裝置,例如鍵盤、滑鼠等等。第乙個屬性為 [c]。

套接字(sockets):這類檔案通常用在網路連線連線。可以啟動乙個程式來監聽客戶端的要求,客戶端就可以通過套接字

來進 行資料通訊。第乙個屬性為 [s],最常在 /var/run目錄中看到這種檔案型別。

管道(fifo,pipe):fifo也是一種特殊的檔案型別,它主要的目的是,解決多個程式同時訪問乙個檔案所造成的錯誤。

fifo

是first-in-first-out(先進先出)的縮寫。第乙個屬性為 [p]。

/:根目錄,所有的目錄、檔案、裝置都在/之下,/就是linux檔案系統的組織者,也是最上級的領導者。

/bin:bin 就是二進位制(binary)英文縮寫。在一般的系統當中,都可以在這個目錄下找到linux常用的命令。系統所需要 的那

些命令位於此目錄。

/boot:linux的核心及引導系統程式所需要的檔案目錄,比如 vmlinuz initrd.img 檔案都位於這個目錄中。在一般情況 下,

grub或lilo

系統引導管理器也位於這個目錄。

/cdrom:這個目錄在剛剛安裝系統的時候是空的。可以將光碟機檔案系統掛在這個目錄下。例如:

mount /dev/cdrom /

cdrom

/dev:dev 是裝置(device的英文縮寫。這個目錄對所有的使用者都十分重要。因為在這個目錄中包含了所有linux系統中

使用的外部裝置。但是這裡並不是放的外部裝置的驅動程式。這一點和常用的windows,dos作業系統不一樣。它實際上是乙個

訪問這些外部裝置的埠。可以非常方便地去訪問這些外部裝置,和訪問乙個檔案,乙個目錄沒有任何區別。

/etc:etc這個目錄是linux系統中最重要的目錄之一。在這個目錄下存放了系統管理時要用到的各種配置檔案和子目錄。

要用到的網路配置檔案,檔案系統,x系統配置檔案,裝置配置資訊,設定使用者資訊等都在這個目錄下。

/home:如果建立乙個使用者,使用者名稱是"xx",那麼在/home目錄下就有乙個對應的/home/xx路徑,用來存放使用者的主目錄。

/lib:lib是庫(library)英文縮寫。這個目錄是用來存放系統動態連線共享庫的。幾乎所有的應用程式都會用到這個目錄

下的共享庫。因此,千萬不要輕易對這個目錄進行什麼操作,一旦發生問題,系統就不能工作了。

/lost+found:在ext2或ext3檔案系統中,當系統意外崩潰或機器意外關機,而產生一些檔案碎片放在這裡。當系統啟動

的過程中fsck工具會檢查這裡,並修復已經損壞的檔案系統。有時系統發生問題,有很多的檔案被移到這個目錄中,可能會用手

工的方式來修復,或移到檔案到原來的位置上。

/mnt:這個目錄一般是用於存放掛載儲存裝置的掛載目錄的,比如有cdrom等目錄。可以參看/etc/fstab的定義。

/media:有些linux的發行版使用這個目錄來掛載那些usb介面的行動硬碟(包括u盤)、cd/***驅動器等等。

/opt:這裡主要存放那些可選的程式。

/proc:可以在這個目錄下獲取系統資訊。這些資訊是在記憶體中,由系統自己產生的。

/root:linux超級許可權使用者root的家目錄。

/sbin:這個目錄是用來存放系統管理員的系統管理程式。大多是涉及系統管理的命令的存放,是超級許可權使用者root的可執 行命

令存放地,普通使用者無許可權執行這個目錄下的命令,這個目錄和/usr/sbin; /usr/x11r6/sbin或/usr/local/sbin目錄是相似

的,凡是目錄sbin中包含的都是root許可權才能執行的。

/selinux :對selinux的一些配置檔案目錄,selinux可以讓linux更加安全。

/srv 服務啟動後,所需訪問的資料目錄,舉個例子來說,www服務啟動讀取的網頁資料就可以放在/srv/www中

/tmp:臨時檔案目錄,用來存放不同程式執行時產生的臨時檔案。有時使用者執行程式的時候,會產生臨時檔案。/tmp就

用來存放臨時檔案的。/var/tmp目錄和這個目錄相似。

/usr:

這是linux系統中占用硬碟空間最大的目錄。使用者的很多應用程式和檔案都存放在這個目錄下。在這個目錄下,可以

找到那些不

適合放在/bin或/etc目錄下的額外的工具

/usr/local:這裡主要存放那些手動安裝的軟體,即不是通過「新立得」或apt-get安裝的軟體。它和/usr目錄具有相類似 的目

錄結構。讓軟體包管理器來管理/usr目錄,而把自定義的指令碼(scripts)放到/usr/local目錄下面、。

/usr/share :系統共用的東西存放地,比如 /usr/share/fonts 是字型目錄,/usr/share/doc和/usr/share/man幫助檔案

。 /var:這個目錄的內容是經常變動的,看名字就知道,可以理解為vary的縮寫,/var下有/var/log 這是用來存放系統日誌 的目

錄。/var/ www目錄是定義apache

伺服器站點存放目錄;/var/lib 用來存放一些庫檔案,比如mysql的,以及mysql數

據庫的的存放地。

四.不得不學的linux常用命令

學習筆記 Linux學習

echo i am whoami 反引號裡的內容會被當做命令執行 echo the cpu in my pc has cat proc cpuinfo grep c processor cores 等價於反引號 a 10 定義乙個變數,等號兩邊不能有空格 echo a的值為 a a的值為10 ech...

linux學習筆記

開機流程簡介 1 載入 bios 的硬體資訊,並取得第乙個開機裝置的代號 2 讀取第乙個開機裝置的 mbr 的 boot loader 亦即是 lilo,grub,spfdisk 等等 的開機資訊 3 載入 kernel 作業系統核心資訊,kernel 開始解壓縮,並且嘗試驅動所有硬體裝置 4 ke...

Linux 學習筆記

配置 telnet 服務 vi etc hosts.deny 在all all 行前加 號注釋,登出該行。新增一行all all 用 登出disable yes,或者修改為 disble no vi etc pam.d login 在auth required lib security pam se...