Linux基礎知識拓撲圖,嘔心瀝血歸納總結內容全面詳盡零基礎入門

#頭條創作挑戰賽#Linux基礎知識拓撲圖,嘔心瀝血歸納總結內容全面詳盡零基礎入門

Linux基礎知識拓撲圖,嘔心瀝血歸納總結內容全面詳盡零基礎入門

Linux基礎知識拓撲圖,嘔心瀝血歸納總結內容全面詳盡零基礎入門

Linux知識點總結

學習目錄:

一、基礎篇

二、幫助命令

三、檔案與目錄管理(一)

四、檔案與目錄管理(二)

五、許可權管理 六、Vim文字編輯器

七、文字與檔案查詢

八、系統管理

九、磁碟分割槽、邏輯卷和啟動修復

十、Shell篇認識BASH

十一、Shell篇基礎命令

十二、文字操作篇

一、基礎篇

Linux檔案與目錄

1。檔案顏色代表的意義

綠色檔案

—————— 可執行檔案,可執行的程式

紅色檔案

——————-壓縮檔案或者包檔案

藍色檔案

——————目錄

白色檔案

——————普通,如文字檔案,配置檔案,原始碼檔案等

淺藍色檔案

——————連結檔案,主要是使用ln命令建立的檔案

紅色閃爍-

————-表示連結的檔案有問題

黃色檔案

——————表示裝置檔案

灰色檔案

——————表示其它檔案

2。Linux檔案目錄結構

Linux基礎知識拓撲圖,嘔心瀝血歸納總結內容全面詳盡零基礎入門

/:根目錄,一般根目錄下只存放目錄,在Linux下有且只有一個根目錄。所有的東西都是從這裡開始。當你在終端裡輸入“/home”,你其實是在告訴電腦,先從/(根目錄)開始,再進入到home目錄。

/bin: /usr/bin: 可執行二進位制檔案的目錄,如常用的命令ls、tar、mv、cat等。

/boot:放置linux系統啟動時用到的一些檔案,如Linux的核心檔案:/boot/vmlinuz,系統引導管理器:/boot/grub。

/dev:存放linux系統下的裝置檔案,訪問該目錄下某個檔案,相當於訪問某個裝置,常用的是掛載光碟機 mount /dev/cdrom /mnt。

/etc:系統配置檔案存放的目錄,不建議在此目錄下存放可執行檔案,重要的配置檔案有 /etc/inittab、/etc/fstab、/etc/init。d、/etc/X11、/etc/sysconfig、/etc/xinetd。d。

/home:系統預設的使用者家目錄,新增使用者賬號時,使用者的家目錄都存放在此目錄下,表示當前使用者的家目錄,edu 表示使用者 edu 的家目錄。

/lib: /usr/lib: /usr/local/lib:系統使用的函式庫的目錄,程式在執行過程中,需要呼叫一些額外的引數時需要函式庫的協助。

/lost+fount:系統異常產生錯誤時,會將一些遺失的片段放置於此目錄下。

/mnt: /media:光碟預設掛載點,通常光碟掛載於 /mnt/cdrom 下,也不一定,可以選擇任意位置進行掛載。

/opt:給主機額外安裝軟體所擺放的目錄。

/proc:此目錄的資料都在記憶體中,如系統核心,外部裝置,網路狀態,由於資料都存放於記憶體中,所以不佔用磁碟空間,比較重要的目錄有 /proc/cpuinfo、/proc/interrupts、/proc/dma、/proc/ioports、/proc/net/* 等。

/root:系統管理員root的家目錄。

/sbin: /usr/sbin: /usr/local/sbin:放置系統管理員使用的可執行命令,如fdisk、shutdown、mount 等。與 /bin 不同的是,這幾個目錄是給系統管理員 root使用的命令,一般使用者只能“檢視”而不能設定和使用。

/tmp:一般使用者或正在執行的程式臨時存放檔案的目錄,任何人都可以訪問,重要資料不可放置在此目錄下。

/srv:服務啟動之後需要訪問的資料目錄,如 www 服務需要訪問的網頁資料存放在 /srv/www 內。

/usr:應用程式存放目錄,/usr/bin 存放應用程式,/usr/share 存放共享資料,/usr/lib 存放不能直接執行的,卻是許多程式執行所必需的一些函式庫檔案。/usr/local: 存放軟體升級包。/usr/share/doc: 系統說明檔案存放目錄。/usr/share/man: 程式說明檔案存放目錄。

/var:放置系統執行過程中經常變化的檔案,如隨時更改的日誌檔案 /var/log,/var/log/message:所有的登入檔案存放目錄,/var/spool/mail:郵件存放的目錄,/var/run:程式或服務啟動後,其PID存放在該目錄下。

3。Linux檔案基本屬性

檔案基本屬性

在 Linux 中我們可以使用 ll 或者 ls –l 命令來顯示一個檔案的屬性以及檔案所屬的使用者和組。

Linux基礎知識拓撲圖,嘔心瀝血歸納總結內容全面詳盡零基礎入門

在 Linux 中第一個字元代表這個檔案是目錄、檔案或連結檔案等等。

當為

d

則是目錄

當為

-

則是檔案;

若是

l

則表示為連結文件(link file);

若是

b

則表示為裝置檔案裡面的可供儲存的介面裝置(可隨機存取裝置);

若是

c

則表示為裝置檔案裡面的串列埠裝置,例如鍵盤、滑鼠(一次性讀取裝置)。

接下來的字元中,以三個為一組,且均為 rwx 的三個引數的組合。

其中,

r

代表可讀(read)、

w

代表可寫(write)、

x

代表可執行(execute)。 要注意的是,這三個許可權的位置不會改變,如果沒有許可權,就會出現減號 - 而已。

更改檔案屬性命令:

1、

chgrp:

更改檔案屬組

2

、chown:

更改檔案屬主,也可以同時更改檔案屬組

3、

chmod:

更改檔案9個屬性

1 絕對路徑

路徑的寫法,由根目錄 / 寫起,例如: /usr/share/doc 這個目錄。

2 相對路徑

路徑的寫法,不是由 / 寫起,例如由 /usr/share/doc 要到 /usr/share/man 底下時,可以寫成: cd …/man 這就是相對路徑的寫法。

Linux基礎知識拓撲圖,嘔心瀝血歸納總結內容全面詳盡零基礎入門

二、幫助命令

Linux基礎知識拓撲圖,嘔心瀝血歸納總結內容全面詳盡零基礎入門

三、檔案與目錄管理(一)

Linux基礎知識拓撲圖,嘔心瀝血歸納總結內容全面詳盡零基礎入門

四、檔案與目錄管理(二)

Linux基礎知識拓撲圖,嘔心瀝血歸納總結內容全面詳盡零基礎入門

五、許可權管理

Linux基礎知識拓撲圖,嘔心瀝血歸納總結內容全面詳盡零基礎入門

六、Vim文字編輯器

什麼是 vim?

Vim是從 vi 發展出來的一個文字編輯器。程式碼補完、編譯及錯誤跳轉等方便程式設計的功能特別豐富,在程式設計師中被廣泛使用。

簡單地來說, vi 是老式的字處理器,不過功能已經很齊全了,但是還是有可以進步的地方。 vim 則可以說是程式開發者的一項很好用的工具。

連 vim 的官方網站 (http://www。vim。org) 自己也說 vim 是一個程式開發工具而不是文字處理軟體。

Linux基礎知識拓撲圖,嘔心瀝血歸納總結內容全面詳盡零基礎入門

2. vi/vim 的使用

基本上 vi/vim 共分為三種模式,分別是命令模式(Command mode),輸入模式(Insert mode)和末行命令模式(Last line mode)。

這三種模式的作用分別是:

命令模式:

使用者剛剛啟動 vi/vim,便進入了命令模式。

此狀態下敲擊鍵盤動作會被Vim識別為命令,而非輸入字元。比如我們此時按下i,並不會輸入一個字元,i被當作了一個命令。

以下是常用的幾個命令:

i 切換到輸入模式,以輸入字元。

x 刪除當前游標所在處的字元。

: 切換到底線命令模式,以在最底一行輸入命令。

若想要編輯文字:啟動Vim,進入了命令模式,按下i,切換到輸入模式。

命令模式只有一些最基本的命令,因此仍要依靠底線命令模式輸入更多命令。

輸入模式:

在命令模式下按下i就進入了輸入模式。

在輸入模式中,可以使用以下按鍵:

字元按鍵以及Shift組合,輸入字元

ENTER,回車鍵,換行

BACK SPACE,退格鍵,刪除游標前一個字元

DEL,刪除鍵,刪除游標後一個字元

方向鍵,在文字中移動游標

HOME/END,移動游標到行首/行尾

Page Up/Page Down,上/下翻頁

Insert,切換游標為輸入/替換模式,游標將變成豎線/下劃線

ESC,退出輸入模式,切換到命令模式

末行命令模式:

在命令模式下按下:(英文冒號)就進入了底線命令模式。

底線命令模式可以輸入單個或多個字元的命令,可用的命令非常多。

在底線命令模式中,基本的命令有(已經省略了冒號):

q 退出程式

w 儲存檔案

按ESC鍵可隨時退出底線命令模式。

簡單的說,我們可以將這三個模式想成底下的圖示來表示:

Linux基礎知識拓撲圖,嘔心瀝血歸納總結內容全面詳盡零基礎入門

Linux基礎知識拓撲圖,嘔心瀝血歸納總結內容全面詳盡零基礎入門

七、文字與檔案查詢

Linux基礎知識拓撲圖,嘔心瀝血歸納總結內容全面詳盡零基礎入門

八、系統管理

Linux基礎知識拓撲圖,嘔心瀝血歸納總結內容全面詳盡零基礎入門

九、磁碟分割槽、邏輯卷和啟動修復

Linux 檔案系統與磁碟的關係

1.1 磁碟格式

磁碟格式主要有兩種:MBR分割槽表和GPT分割槽表。

MBR分割槽表:第一扇區最重要,裡面有:主引導記錄(Master boot record, MBR)及分割槽表(partition table),其中MBR佔446B,而分割槽表則佔有64B。

GPT分割槽表:除了分割槽數量擴充較多之外,支援的磁碟容量也可以超過2TB。

1.2 檔案系統

磁碟分割槽後,需要進行格式化(format),之後作業系統才可以使用這個檔案系統。原因:每種作業系統所設定的檔案屬性/許可權不相同,為了存放這些檔案所需的資料,因此需要將分割槽進行格式化,以成為作業系統能夠利用的檔案系統格式(filesystem)

每個檔案(不管是一般檔案還是目錄檔案)都會佔有一個inode,檔案系統通常會將檔案的許可權與屬性放置到inode中,檔案實際的資料放到資料區塊中。

超級區塊(superblock)會記錄整個檔案系統的整體資訊,包括inode與資料區塊總量、使用量、剩餘量等。一般來說,超級區塊的大小為1024B,一個檔案系統應該僅有一個超級區塊。

1.3 磁碟與目錄的容量

df(英文全稱:disk full):列出檔案系統的整體磁碟使用量

du(英文全稱:disk used):檢查磁碟空間使用量

1.4 硬連結與符號連結(軟連線)

硬連結:只是在某個目錄下新增一條檔名連結到某inode號碼的關聯記錄。因此,不管你使用哪一個檔名來編輯,最終的結果都會寫入到相同的inode與區塊中,因此均能對資料進行修改。使用硬連結設定連結檔案時,磁碟的空間與inode的數量都不會改變。硬連結只是在某個目錄下的區塊多寫入一個關聯資料而已,既不會增加inode也不會消耗區塊數量。

軟連線:新建一個獨立的檔案,而這個檔案會讓資料的讀取指向它連結的那個檔案的檔名。

1.5 觀察磁碟分割槽狀態

lsblk(英文全稱:list block device ):列出所有儲存裝置

blkid:列出裝置的UUID等引數

1.6 磁碟分割槽

fdisk:用於磁碟分割槽(用於MBR分割槽表)

gdisk:用於磁碟分割槽(用於GPT分割槽表)

partprobe:更新Linux核心的分割槽表資訊

1.7 磁碟格式化(建立檔案系統)

mkfs(英文全稱:make filesystem ):磁碟分割完畢後自然就是要進行檔案系統的格式化

1.8 檔案系統掛載與解除安裝

mount:掛載

umount:解除安裝

配置/etc/fstab:系統開機自動掛載該檔案所有內容。因此可以把想要開機自啟動的服務寫入到檔案中。

autofs服務是一種Linux系統守護程序,當檢測到使用者試圖訪問一個尚未掛載的檔案系統時,將自動掛載該檔案系統。

1.9 磁碟/檔案系統引數自定義

mknod:

Linux基礎知識拓撲圖,嘔心瀝血歸納總結內容全面詳盡零基礎入門

十、Shell篇認識BASH

1. 什麼是shell

Shell 是一個用 C 語言編寫的程式,它是使用者使用 Linux 的橋樑。Shell 既是一種命令語言,又是一種程式設計語言。

Shell 是指一種應用程式,這個應用程式提供了一個介面,使用者透過這個介面訪問作業系統核心的服務。

Ken Thompson 的 sh 是第一種 Unix Shell,Windows Explorer 是一個典型的圖形介面 Shell。

2. Shell 指令碼

Shell 指令碼(shell script),是一種為 shell 編寫的指令碼程式。

業界所說的 shell 通常都是指 shell 指令碼,但讀者朋友要知道,shell 和 shell script 是兩個不同的概念。

由於習慣的原因,簡潔起見,本文出現的 “shell程式設計” 都是指 shell 指令碼程式設計,不是指開發 shell 自身。

3. Shell 環境

Shell 程式設計跟 JavaScript、php 程式設計一樣,只要有一個能編寫程式碼的文字編輯器和一個能解釋執行的指令碼直譯器就可以了。

Linux 的 Shell 種類眾多,常見的有:

Bourne Shell(/usr/bin/sh或/bin/sh)

Bourne Again Shell(/bin/bash)

C Shell(/usr/bin/csh)

K Shell(/usr/bin/ksh)

Shell for Root(/sbin/sh)

在一般情況下,人們並不區分 Bourne Shell 和 Bourne Again Shell,所以,像 #!/bin/sh,它同樣也可以改為 #!/bin/bash。

#! 告訴系統其後路徑所指定的程式即是解釋此指令碼檔案的 Shell 程式

Linux基礎知識拓撲圖,嘔心瀝血歸納總結內容全面詳盡零基礎入門

十一、Shell篇基礎命令

Shell變數

定義變數時,變數名不加美元符號($,PHP語言中變數需要),

如:your_name=“runoob。com”

注意,變數名和等號之間不能有空格,這可能和你熟悉的所有程式語言都不一樣。

變數名的命名須遵循如下規則

1。命名只能使用英文字母,數字和下劃線,首個字元不能以數字開頭。

2。中間不能有空格,可以使用下劃線 _。

3。不能使用標點符號。

4。不能使用bash裡的關鍵字(可用help命令檢視保留關鍵字)。

使用變數

使用一個定義過的變數,只要在變數名前面加美元符號即可,如:

your_name=“qinjx”

echo $your_name

echo ${your_name}

變數名外面的花括號是可選的,加不加都行,加花括號是為了幫助直譯器識別變數的邊界

只讀變數

使用 readonly 命令可以將變數定義為只讀變數,只讀變數的值不能被改變。

下面的例子嘗試更改只讀變數,結果報錯:

#!/bin/bash

myUrl=“https://www。google。com”

readonly myUrl

myUrl=“https://www。runoob。com”

執行指令碼,結果如下:

/bin/sh: NAME: This variable is read only。

刪除變數

使用 unset 命令可以刪除變數。語法:unset variable_name

變數型別

執行shell時,會同時存在三種變數:

區域性變數

區域性變數在指令碼或命令中定義,僅在當前shell例項中有效,其他shell啟動的程式不能訪問區域性變數。

環境變數

所有的程式,包括shell啟動的程式,都能訪問環境變數,有些程式需要環境變數來保證其正常執行。必要的時候shell指令碼也可以定義環境變數。

shell變數

shell變數是由shell程式設定的特殊變數。shell變數中有一部分是環境變數,有一部分是區域性變數,這些變數保證了shell的正常執行

Linux基礎知識拓撲圖,嘔心瀝血歸納總結內容全面詳盡零基礎入門

Shell 字串

字串是shell程式設計中最常用最有用的資料型別(除了數字和字串,也沒啥其它型別好用了),字串可以用單引號,也可以用雙引號,也可以不用引號。

單引號

str='this is a string'

單引號字串的限制:

1。單引號裡的任何字元都會原樣輸出,單引號字串中的變數是無效的;

2。單引號字串中不能出現單獨一個的單引號(對單引號使用轉義符後也不行),但可成對出現,作為字串拼接使用。

雙引號

your_name=“runoob”

str=“Hello, I know you are \”$your_name\“! \n”

echo -e $str

輸出結果為:

Hello, I know you are “runoob”!

雙引號的優點:

1。雙引號裡可以有變數

2。雙引號裡可以出現跳脫字元

拼接字串

your_name=“runoob”

# 使用雙引號拼接

greeting=“hello, ”$your_name“ !”

greeting_1=“hello, ${your_name} !”

echo $greeting $greeting_1

# 使用單引號拼接

greeting_2=‘hello, ’$your_name‘ !’

greeting_3=‘hello, ${your_name} !’

echo $greeting_2 $greeting_3

輸出結果為:

hello, runoob ! hello, runoob !

hello, runoob ! hello, ${your_name} !

獲取字串長度

string=“abcd”

echo ${#string} #輸出 4

提取子字串

以下例項從字串第 2 個字元開始擷取 4 個字元:

string=“runoob is a great site”

echo ${string:1:4} # 輸出 unoo

注意:第一個字元的索引值為 0。

查詢子字串

查詢字元 i 或 o 的位置(哪個字母先出現就計算哪個):

string=“runoob is a great site”

echo `expr index “$string” io` # 輸出 4

注意: 以上指令碼中 ` 是反引號,而不是單引號 ‘,不要看錯了哦。

十二、文字操作篇

Linux基礎知識拓撲圖,嘔心瀝血歸納總結內容全面詳盡零基礎入門

Linux基礎知識拓撲圖,嘔心瀝血歸納總結內容全面詳盡零基礎入門

Linux基礎知識拓撲圖,嘔心瀝血歸納總結內容全面詳盡零基礎入門

Linux基礎知識拓撲圖,嘔心瀝血歸納總結內容全面詳盡零基礎入門