格式化相關指令
cat /proc/filesystems 檢視目前核心所支援的檔案系統類型
沒顯示的未必不支援,隻要以後核心裝載了相應子產品就能支援
mkfs 建立檔案系統(擴充分區本身無法建立,其下邏輯分區可以建立)
-tFSTYPE 分區
mkfs -t ext2 /dev/sdb5 等于 mkfs.ext2 /dev/sdb5
mkfs.cramfs mkfs.ext2 mkfs.ext3 mkfs.msdos mkfs.vfat(FAT32)
mke2fs 專門管理ext系列檔案系統的指令
-jext3
-b BLOCK_SIZE 預設為1024、2048、4096
-L LABEL 制定分區卷标mke2fs -L MYDATE -m 3 /dev/sdb5
-m # 制定預留給超級使用者的塊數百分比
-i 4096 多少個位元組一個INode,預設為8192,這裡給出的數值應該為塊大小,2^n倍數
-n # 制定要建立INode的個數
-F 強制建立檔案系統(在已經被挂載的時候使用)
-E 制定條帶大小(條帶=CHUNK/BLOCK)
blkid 檢視裝置基本相關屬性
UUID 硬碟多的時候可以應用,絕對唯一
TYPE 檔案系統類型
LABEL 卷标
形如 /dev/sdb5: UUID="88284dcb-082e-41f1-812e-c7852d87632a" TYPE="ext2
e2label 檢視卷标或者設定卷标
e2label /dev/sdb5 MYDD
tune2fs 調整檔案系統的相關屬性(當已經有資料的時候,無損調整)
-j 調整到ext3
-L 設定或者修改卷标
-m # 調整預留百分比,如果mke2fs時候忘了制定-m #
-r 制定預留塊數
-o 設定預設挂在選項
acl
-c # 制定挂載次數達到#次之後進行自檢,0或-1表示關閉此功能
-i # 每挂載使用多少天後進行自檢,0或者-1表示關閉此功能
-l 顯示超級中的資訊,很關鍵
dumpe2fs 非常詳細,所有資訊都列出來
-h 隻顯超級塊資訊
fsck 檢查并修複Linux檔案系統
-t FSTYPE 指定檔案系統類型不指可以,它能判斷,但指錯了就出事了
-a 自動修複不詢問,自動完成修複
e2fsck 專門修複ext系列檔案系統
-f 強制檢測就算沒有問題也檢查一遍
-p 預設選項是-p,也是自動修複,為了相容fsck,也提供了-a
-a 自動修複
RHEL 6 以後也能相容 不過2變為4
挂載相關指令
注釋:挂載可以将新的檔案系統關聯至目前根檔案系統
mount 裝置 挂載點(目錄)
裝置包括 裝置檔案/dev/sdb5
卷标LABEL=“”
UUIDUUID=“”
挂載點(目錄)
此目錄沒有被其他程序使用
目錄得事先存在
目錄中的原有的檔案将會暫時隐藏
挂在完成後,要通過挂載點通路對應檔案系統上的檔案
Usage:
mount [options][-o options] DEVICE MOUNT_POINT
-a 表示/etc/fstab檔案中定義的所有檔案系統
-n 預設情況下,mount指令每改在一個裝置,都會把挂載的裝置資訊儲存至/etc/mtab檔案
-n 表示挂在裝置時,不寫入此檔案
-t FSTYPE制定正在挂載裝置上的檔案系統類型,預設不寫會它會調用blkid指令擷取類型
-r 隻讀挂在挂載CD光牒時常用此選項
-w 讀寫挂在預設是讀寫挂載
-o 制定額外的挂在選項,也制定檔案熊
async 異步寫入沒有直接儲存至硬碟中預設不寫就是異步
atime 頻繁通路就會磁盤産生磁盤IO
noatime
auto 自動挂載
exec 限制二進制程式自動運作
netdev 通路不到就跳過,否則别人機器不開機,你系統就啟動不起來
remount 重新挂載目前檔案系統,解除安裝+挂載
ro 挂載為隻讀
rw 讀寫挂載
sync 同步寫入
suid 不安全的做法,不要讓外來裝置啟用suid
nosuid
mount /dev/sdb5 /mnt/test 讀寫
mount -o remount,ro /dev/sdb5 重新挂載為隻讀
解除安裝相關指令
注釋:解除安裝将某檔案系統從目前根檔案系統的關聯關系移除
umount 裝置 or 挂載點
挂載的裝置沒有被使用
練習
1
2
3
4
5
6
7
8
9
10
11
12
13
<code>1、調整其預留百分比為3%</code>
<code> </code><code>tune2fs -m 3 -L DATA </code><code>/dev/sdb5</code>
<code>2、以重新挂載的方式挂載此檔案系統為不更新通路時間戳,并驗證其效果</code>
<code> </code><code>stat </code><code>/backup/inittab</code>
<code> </code><code>cat</code> <code>/backup/inittab</code>
<code> </code><code>stat </code><code>/backup/inittab</code> <code>有變化</code>
<code> </code><code>mount</code> <code>-o remount,noatime </code><code>/backup</code>
<code> </code><code>stat </code><code>/backup/inittab</code> <code>無變化</code>
<code>3、對此檔案系統強行做一次檢測</code>
<code> </code><code>e2fsck -f </code><code>/dev/sdb5</code>
<code>4、删除複制而來的所有檔案,并将此檔案系統重新挂載為同步(</code><code>sync</code><code>),而後再次複制</code><code>/etc</code><code>目錄</code>
<code> </code><code>mount</code> <code>-o remount,ro,</code><code>sync</code> <code>/dev/sdb5</code> <code>比異步慢太多了</code>
虛拟記憶體
虛拟位址,線性位址能實作在每個程序看來自己都擁有出核心占用記憶體以外的所有記憶體。
核心自動維護着一張記憶體映射表,并且把每個程序使用的記憶體映射到真正實體記憶體并記錄位置。
每個程序都認為自己可以使用除核心占用記憶體以外的所有記憶體(虛拟位址),可真實實體記憶體有限。
當真實實體記憶體填滿又有新的程序請求以後,核心自動把那些很久沒相應的程序占用的記憶體移至硬碟模拟的swap中。
把移動至swap程序占用的實體記憶體空間賦予給新請求。
當被移至swap的程序發起請求時候,核心會重複之前操作,找出很久每相應的程序移至swap中,并把位址賦予新請求。
是以說一個程序被移至swap之後,下次請求使用的實體位址可能不一樣,但程序感覺不到,隻是不同實體位址的相同資料和大小
允許了記憶體過載使用。
pageout = swapin
pagein = swapout
buffers&&cached
都是為了銜接兩個速度不同的裝置,隻是銜接方式目錄不相同,加速作業系統程序。
buffers為了避免過慢的裝置遭到沖擊
中繼資料 /var/log/message 查找過程的緩存 記憶體對應檔案路徑
cached重複使用資料
資料 /var/log/message message資料塊儲存在記憶體中page
程序使用直接找記憶體,儲存也儲存在記憶體中
程序關閉同步記憶體資料對硬碟相關
建立swap分區
首先要用fdisk 調整分區類型為82
mkswap /dev/sdb5
-L LABEL
swapon /dev/sdb5 啟用交換分區
-a 啟用所有定義在/etc/fstab檔案中的交換裝置
swapoff /dev/sdb5關閉交換分區
當磁盤已經沒有空閑分區可以建立交換分區,但某些分區還有很多空間可以使用的時候,如何建立交換分區?目前主機上交換分區已經不夠用了,應該怎麼辦?
回環裝置
loopback,使用軟體模拟實作硬體
cp和dd的差別
cp 以檔案為機關先通過VFS接口道記憶體,再把檔案複制到相應位置
dd 底層的資料流直接複制01代碼
dd if=SRCof=DES
dd if=/etc/inittab of=/path/to/somefile
bs=1024位元組
count一共複制多少這樣的位元組
備份MBR(一個硬碟最開始出的512位元組)
dd if=/dev/sda of=/mnt/usb/mbr.backup bs=512 count1
還原MBR
dd if=/mnt/usb/mbr.backup of=/dev/dsa bs=512 count1
制作磁盤鏡像
cat /dev/cdrom > /root/rehel5.iso
建立鏡像檔案1G大小,并變為swap分區使用
dd if=/dev/zero of=/var/swapfile bs=1M count=1024 建立1G大小的鏡像檔案
mkswap /var/swapfile 将此檔案變為swap類型(如果磁盤分區需要使用fdisk 調整分區類型為82),這裡不需要。
swapon /var/swapfile 将此檔案添加進swap中
這個性能更差,不過江湖救急可以使用,哈哈。
/dev/null 資料黑洞
/dev/zero 0輸出器
dd if=/dev/zero of=/var/swapfile bs=1M count=1024
seek 跳過已經建立檔案
dd if=/dev/zero of=/var/swapfile2 seek=1023 bs=1M count=1M
建立一個1024M檔案,隻不過前面1023M是假的,跳過去。
ls -lh /var/swapfile2 顯示1G
du -h /var/swapfile2 顯示1.1M
mount指令挂載ios鏡像
mount -o loop /tmp/rhci-5.8-1.iso /media/
-o loop 挂載本地回環裝置
檔案系統的配置檔案 /etc/fstab 自動挂載
OS在初始化時會自動挂在此檔案中定義的每一個檔案系統(格式如下)
挂載裝置 /dev/sdb5
挂載點 /mnt/test
檔案系統類型 ext3
挂載選項 defaults
轉儲頻率(每多少天做一次完全備份) 0
檔案系統檢測次序(隻有根可以為1,0表示不檢查) 0
fuser 驗正程序正在使用的檔案或套接字
-v 檢視某檔案正在運作的程序
-k 結束正在通路的檔案程序(使用者)
-m 結束正在通路此挂載點的程序(使用者)
fuser -km /back/ 終止正在通路此挂載點的所有程序
<code>1、建立一個5G的分區,檔案系統為ext3,卷标為MYDATA,塊大小為1024,預留管理空間為磁盤3%,開機後可以自動挂在至</code><code>/data</code><code>目錄,并且自動挂載的裝置要使用卷标引進引用</code>
<code> </code><code>mke2fs -j -m 3 -L MYDATA </code><code>/dev/sdbx</code>
<code>2、建立一個本地回環檔案</code><code>/var/swaptemp/swapfile</code><code>來用于swap,要求大小為512MB,卷标為SWAP-FILE,且開機自動啟用此交換裝置。</code>
<code> </code><code>mkdir</code> <code>/var/swaptemp</code>
<code> </code><code>dd</code> <code>if</code><code>/dev/zero</code> <code>of=</code><code>/var/swaptemp/swapfile</code> <code>bs=1M count=512</code>
<code> </code><code>mkswap -L SWAP-FILE </code><code>/var/swaptemp/swapfile</code>
<code> </code><code>swapon </code><code>/var/swapfile2</code>
<code>3、上述第一問,如何讓其自動挂載的 同時啟用ACL功能;</code>
<code> </code><code>/etc/fstab</code>
<code> </code><code>LABEL=</code><code>'MYDATA'</code><code>/data</code> <code>ext3defaults,acl00</code>
注意:(進階裝置可以使用裸裝置)重新建立檔案系統會損壞原有資料
本文轉自 ftmoonfans 51CTO部落格,原文連結:http://blog.51cto.com/soulboy/1265334