Linux命令列與shell程式設計筆記 5章 7章

2021-07-16 23:45:25 字數 4210 閱讀 1166

5.5設定path環境變數

在linux下面安裝軟體,有時候需要將安裝路徑加入到path中。

path=$path:path_name

中間由冒號隔開

5.6定位系統環境變數

/etc/profile是系統總的預設bash shell的主啟動檔案。每個使用者登入都會執行這個啟動檔案。

5.7陣列

$ arr=(one two three)

$ echo $

$ two

陣列的索引值從0開始

$ echo $arr

$ one

顯示整個陣列,使用萬用字元*

$ echo $

$ one two three

改變陣列

$ arr[1]=ttwo

$ echo $

$ ttwo

刪除陣列中的某個值,這個索引項的值為空,其他索引項值沒有改變

$unset arr[1]

$ echo $

one three

$ echo $

$ echo $

three

5.8 使用命令別名alias命令

alias lt='ls -al'   注意是單引號

unalias lt

/etc/passwd包含的資訊

/etc/shadow儲存了使用者密碼,只有root使用者可以訪問

新增新使用者

useradd

useradd -d 命令用於檢視系統的預設設定值

引數

刪除使用者

userdel

-r 刪除使用者的home以及mail目錄。但是,仍然會存在歸已經刪除的使用者所有的檔案。

# userdel -r username
修改使用者

6.2 使用linux組

/etc/group包含系統每個使用者的資訊,組名,組密碼,gid,屬於這個組的使用者列表

建立新組

groupadd

通過usermod命令新增使用者到使用者組

修改組

groupmod修改組名(-n),gid(-n)

chown owner file 改變檔案屬主

chown onwer group file 同時改變檔案屬主和屬組

只有root使用者能夠改變檔案的屬主,任何屬主都可以改變檔案的屬組,前提是屬主必須是源和目標屬組的成員

chgrp 改變檔案或者目錄的缺省屬組

chgrp group file

6.5 共享檔案

**設定使用者id(**sid)當檔案被使用者使用時,程式會以檔案屬主的許可權執行

**設定組id(**sgid)對於檔案,程式會檔案屬組的許可權執行。對於目錄,目錄中建立的檔案會以目錄的缺省屬組作為缺省屬組

粘著位:程序結束後,檔案還會在記憶體中

ext系統

擴充套件檔案系統,這個linux作業系統最早引入的檔案系統。採用索引節點的系統存放虛擬目錄中的所儲存的檔案的資訊。每個檔案在索引節點表中都有乙個條目。

ext2檔案系統

ext檔案系統有很多的限制,單個檔案大小不能超過2gb。ext2是對ext進行了擴充套件,擴充套件了索引節點表的格式來儲存系統上每個檔案的更多資訊,建立時間,膝蓋時間,最後訪問時間。改變了檔案在資料塊中儲存的 方式。通過安組分配磁碟塊減輕碎片化。這個檔案系統容易在系統崩潰和斷電損壞。

日誌檔案系統

取代之前直接將資料寫入到儲存裝置後在更新索引節點表的做法。先將檔案的更改寫入到臨時檔案(日誌),然後在資料成功寫到儲存裝置和索引節點表之後,在刪除對應的日誌。、

ext3檔案系統

採用和ext2檔案系統相同的索引節點表結構,但是給每個儲存裝置增加了乙個日誌檔案。預設採用排序模式的日誌功能。但是不支援恢復誤刪的檔案,沒有資料壓縮功能,不支援加密檔案。

ext4系統

這個檔案系統支援區段特性。區段在儲存上按塊分配空間,但在索引節點表中只儲存起始塊的位置。(由於無需列出所有用來儲存檔案中資料的資料塊,它可以在索引節點表中節省一些空間)

7.2 操作檔案系統

在儲存裝置上建立分割槽容納檔案系統。

linux fdisk命令來建立分割槽。

在資料儲存在分割槽前,要用某種檔案系統格式進行格式化。

mk2fs

7.3邏輯卷管理器

邏輯卷管理的核心處理安裝在系統上的硬碟分割槽。可將令一塊硬碟上的分割槽加到已有檔案系統,動態的向已有檔案系統新增空間

1快照lvm1只允許建立唯讀快照,建立了快照就不能寫入了

lvm2允許建立可讀寫快照。可以刪除原先的邏輯卷,將快照作為替代掛載上(對快速故障轉移或要修改資料的程式試驗非常有用。一旦失敗,就要重啟系統)

2.條帶化(striping)

可跨多個硬碟建立乙個邏輯卷

linux lvm將檔案寫入邏輯卷時,檔案中的資料會被分散到多個硬碟上,每個後繼資料塊會被寫到下乙個硬碟上

條帶化有助於提高效能。因為這樣不用等待單個硬碟移動讀寫磁頭到多個不同位置。這個改進同樣適用於讀取順序訪問的檔案,因為lvm可同時從多個硬碟讀取資料

3.映象

實時更新的邏輯卷乙個完整的備份

建立映象後時,lvm會將原始邏輯卷同步到映象副本中

一旦原始同步完成,lvm會為檔案系統的每次寫過程進行兩次寫過程(主邏輯卷、映象副本)

使用linux lvm

1.定義物理卷

將硬碟上的物理分割槽轉換成linux lvm使用的物理卷區段

sudo pvcreate /dev/sdc1

為pv定義了使用的物理卷

pvdisplay可以顯示已建立的物理卷列表

2.建立捲組

從物理卷中建立乙個或多個捲組

sudo vgcreate vol1 /dev/sdc1

使用/dev/sdc1分割槽上的物理卷建立了乙個名為vol1的捲組

vgdisplay可以顯示細節

3.建立邏輯卷

lvcreate用來建立邏輯卷

sudo lvcreate -l 100%free -n lvtest vol1

lvdisplay用來顯示細節

4.建立檔案系統

sudo mkfs.ext4 /dev/vol1lvtest

然後用mount將其掛載

sudo mount /dev/vol1lvtest test

注意:mkfs.ext4和mount命令中用到的路徑是卷組名和邏輯卷名,而不是物理分割槽路徑

Linux命令列與shell指令碼

路徑 cd destinationcp 命令在複製檔案時有兩個引數,源物件和目標物件 cp source destinationpwd 命令可以顯示出shell會話的當前目錄 單點符 表示當前目錄 雙點符 表示當前目錄的父目錄 ls 列表命令,輸出的列表是按字母 按列排序的 ls l 顯示附加資訊,...

Linux命令列與shell指令碼

一 linux簡介 1.linux系統內部結構 劃分為以下四部分 linux核心 gnu工具元件 圖形化桌面環境 應用軟體。2.linux系統的核心 核心 核心基本負責以下四項主要功能 系統記憶體管理 包括物理記憶體和虛擬記憶體 軟體程式管理 硬體裝置管理 檔案系統管理。1 系統記憶體管理 可以檢視...

Linux命令列與shell的區別

答 shell翻譯成殼的意思,它是包裹在linux核心外層的,乙個可通過一系列的linux命令對作業系統發出相關指令的人機介面。shell可以通過其條件語句和迴圈語句等,把一系列linux命令結合在一起,形成乙個相當於面向過程的程式,shell script,來實現一些較為複雜的功能。總括,shel...