mount命令:用於掛載文件系統node
格式:「mount 文件系統 掛載目錄」。linux
參數:web
-V:顯示程序版本; -l:顯示已加載的文件系統列表; -h:顯示幫助信息並退出; -v:冗長模式,輸出指令執行的詳細信息; -n:加載沒有寫入文件「/etc/mtab」中的文件系統; -r:將文件系統加載爲只讀模式; -a:加載文件「/etc/fstab」中描述的全部文件系統。
例子:shell
# 掛載cdrom [root@xxx ~]# mount -t auto /dev/cdrom /mnt/cdrom
umount命令:用於撤銷已經掛載的設備文件vim
格式:「umount [掛載點/設備文件]」。安全
例子:oracle
# 撤銷掛載 [root@linuxprobe ~]# umount /dev/sdb2
fsck命令:用於檢查而且試圖修復文件系統中的錯誤。當文件系統發生錯誤四化,可用fsck指令嘗試加以修復。app
格式:ide
fsck [-lrsAVRTMNP] [-C [fd]] [-t fstype] [filesystem...] [--] [fs-spe‐ cific-options]
參數:函數
-a:自動修復文件系統,不詢問任何問題; -A:依照/etc/fstab配置文件的內容,檢查文件內所列的所有文件系統; -N:不執行指令,僅列出實際執行會進行的動做; -P:當搭配"-A"參數使用時,則會同時檢查全部的文件系統; -r:採用互動模式,在執行修復時詢問問題,讓用戶得以確認並決定處理方式; -R:當搭配"-A"參數使用時,則會略過/目錄的文件系統不予檢查; -s:依序執行檢查做業,而非同時執行; -t<文件系統類型>:指定要檢查的文件系統類型; -T:執行fsck指令時,不顯示標題信息; -V:顯示指令執行過程。
例子:
# 不肯定哪裏出錯,直接使用fsck [root@xxx ~]# fsck fsck from util-linux 2.23.2 # 若是硬盤告訴是sda出錯,則輸入以下命令 [root@xxx ~]# fsck -y /dev/sda fsck from util-linux 2.23.2 e2fsck 1.42.9 (28-Dec-2013) /dev/sda is in use. e2fsck: Cannot continue, aborting.
dd命令:用於複製文件並對原文件的內容進行轉換和格式化處理。dd命令功能很強大的,對於一些比較底層的問題,使用dd命令每每能夠獲得出人意料的效果。用的比較多的仍是用dd來備份裸設備。可是不推薦,若是須要備份oracle裸設備,可使用rman備份,或使用第三方軟件備份,使用dd的話,管理起來不太方便。
格式:
dd [OPERAND]... dd OPTION
參數:
bs=<字節數>:將ibs(輸入)與歐巴桑(輸出)設成指定的字節數; cbs=<字節數>:轉換時,每次只轉換指定的字節數; conv=<關鍵字>:指定文件轉換的方式; count=<區塊數>:僅讀取指定的區塊數; ibs=<字節數>:每次讀取的字節數; obs=<字節數>:每次輸出的字節數; of=<文件>:輸出到文件; seek=<區塊數>:一開始輸出時,跳過指定的區塊數; skip=<區塊數>:一開始讀取時,跳過指定的區塊數; --help:幫助; --version:顯示版本信息。
例子:
[root@localhost text]# dd if=/dev/zero of=sun.txt bs=1M count=1 1+0 records in 1+0 records out 1048576 bytes (1.0 MB) copied, 0.006107 seconds, 172 MB/s [root@localhost text]# du -sh sun.txt 1.1M sun.txt
該命令建立了一個1M大小的文件sun.txt,其中參數解釋:
if 表明輸入文件。若是不指定if,默認就會從stdin中讀取輸入。 of 表明輸出文件。若是不指定of,默認就會將stdout做爲默認輸出。 bs 表明字節爲單位的塊大小。 count 表明被複制的塊數。 /dev/zero 是一個字符設備,會不斷返回0值字節(\0)。 塊大小可使用的計量單位表 單元大小 代碼 字節(1B) c 字節(2B) w 塊(512B) b 千字節(1024B) k 兆字節(1024KB) M 吉字節(1024MB) G
dumpe2fs命令:用於打印「ext2/ext3」文件系統的超級塊和快組信息。
參數:
-b:打印文件系統中預留的塊信息; -ob<超級塊>:指定檢查文件系統時使用的超級塊; -OB<塊大小>:檢查文件系統時使用的指定的塊大小; -h:僅顯示超級塊信息; -i:從指定的文件系統映像文件中讀取文件系統信息; -x:以16進制格式打印信息塊成員。
例子:
[root@xxx ~]# dumpe2fs /dev/hda1
dump命令:用於備份ext2或者ext3文件系統。可將目錄或整個文件系統備份至指定的設備,或備份成一個大文件。
參數:
-0123456789:備份的層級; -b<區塊大小>:指定區塊的大小,單位爲KB; -B<區塊數目>:指定備份卷冊的區塊數目; -c:修改備份磁帶預設的密度與容量; -d<密度>:設置磁帶的密度。單位爲BPI; -f<設備名稱>:指定備份設備; -h<層級>:當備份層級等於或大於指定的層級時,將不備份用戶標示爲「nodump」的文件; -n:當備份工做須要管理員介入時,向全部「operator」羣組中的使用者發出通知; -s<磁帶長度>:備份磁帶的長度,單位爲英尺; -T<日期>:指定備份的時間與日期; -u:備份完畢後,在/etc/dumpdates中記錄備份的文件系統、層級、日期與時間等; -w:與-W相似,但僅顯示須要備份的文件; -W:顯示須要備份的文件及其最後一次備份的層級、時間與日期。
例子:
將/home
目錄全部內容備份到/tmp/homeback.bak
文件中,備份層級爲0
並在/etc/dumpdates
中記錄相關信息:
dump -0u -f /tmp/homeback.bak /home
將/home
目錄全部內容備份到/tmp/homeback.bak
文件中,備份層級爲1
(只備份上次使用層次0
備份後發生過改變的數據)並在/etc/dumpdates
中記錄相關信息:
dump -1u -f /tmp/homeback.bak /home
經過dump命令的備份層級,可實現完整+增量備份、完整+差別備份,在配合crontab能夠實現無人值守備份。
fdisk命令:用於管理磁盤分區,格式爲「fdisk [磁盤名稱]」,它提供了集添加、刪除、轉換分區等功能於一身的「一站式分區服務」。
格式:
fdisk [-uc] [-b sectorsize] [-C cyls] [-H heads] [-S sects] device fdisk -l [-u] [device...] fdisk -s partition... fdisk -v fdisk -h
參數:
-b<分區大小>:指定每一個分區的大小; -l:列出指定的外圍設備的分區表情況; -s<分區編號>:將指定的分區大小輸出到標準輸出上,單位爲區塊; -u:搭配"-l"參數列表,會用分區數目取代柱面數目,來表示每一個分區的起始地址; -v:顯示版本信息。
例子:
首先選擇要進行操做的磁盤:
[root@localhost ~]# fdisk /dev/sdb
輸入m
列出能夠執行的命令:
command (m for help): m Command action a toggle a bootable flag b edit bsd disklabel c toggle the dos compatibility flag d delete a partition l list known partition types m print this menu n add a new partition o create a new empty DOS partition table p print the partition table q quit without saving changes s create a new empty Sun disklabel t change a partition's system id u change display/entry units v verify the partition table w write table to disk and exit x extra functionality (experts only)
輸入p
列出磁盤目前的分區狀況:
Command (m for help): p Disk /dev/sdb: 3221 MB, 3221225472 bytes 255 heads, 63 sectors/track, 391 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sdb1 1 1 8001 8e Linux LVM /dev/sdb2 2 26 200812+ 83 Linux
輸入d
而後選擇分區,刪除現有分區:
Command (m for help): d Partition number (1-4): 1 Command (m for help): d Selected partition 2
查看分區狀況,確認分區已經刪除:
Command (m for help): print Disk /dev/sdb: 3221 MB, 3221225472 bytes 255 heads, 63 sectors/track, 391 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System Command (m for help):
輸入n
創建新的磁盤分區,首先創建兩個主磁盤分區:
Command (m for help): n Command action e extended p primary partition (1-4) p //創建主分區 Partition number (1-4): 1 //分區號 First cylinder (1-391, default 1): //分區起始位置 Using default value 1 last cylinder or +size or +sizeM or +sizeK (1-391, default 391): 100 //分區結束位置,單位爲扇區 Command (m for help): n //再創建一個分區 Command action e extended p primary partition (1-4) p Partition number (1-4): 2 //分區號爲2 First cylinder (101-391, default 101): Using default value 101 Last cylinder or +size or +sizeM or +sizeK (101-391, default 391): +200M //分區結束位置,單位爲M
確認分區創建成功:
Command (m for help): p Disk /dev/sdb: 3221 MB, 3221225472 bytes 255 heads, 63 sectors/track, 391 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sdb1 1 100 803218+ 83 Linux /dev/sdb2 101 125 200812+ 83 Linux
再創建一個邏輯分區:
Command (m for help): n Command action e extended p primary partition (1-4) e //選擇擴展分區 Partition number (1-4): 3 First cylinder (126-391, default 126): Using default value 126 Last cylinder or +size or +sizeM or +sizeK (126-391, default 391): Using default value 391
確認擴展分區創建成功:
Command (m for help): p Disk /dev/sdb: 3221 MB, 3221225472 bytes 255 heads, 63 sectors/track, 391 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sdb1 1 100 803218+ 83 Linux /dev/sdb2 101 125 200812+ 83 Linux /dev/sdb3 126 391 2136645 5 Extended
在擴展分區上創建兩個邏輯分區:
Command (m for help): n Command action l logical (5 or over) p primary partition (1-4) l //選擇邏輯分區 First cylinder (126-391, default 126): Using default value 126 Last cylinder or +size or +sizeM or +sizeK (126-391, default 391): +400M Command (m for help): n Command action l logical (5 or over) p primary partition (1-4) l First cylinder (176-391, default 176): Using default value 176 Last cylinder or +size or +sizeM or +sizeK (176-391, default 391): Using default value 391
確認邏輯分區創建成功:
Command (m for help): p Disk /dev/sdb: 3221 MB, 3221225472 bytes 255 heads, 63 sectors/track, 391 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sdb1 1 100 803218+ 83 Linux /dev/sdb2 101 125 200812+ 83 Linux /dev/sdb3 126 391 2136645 5 Extended /dev/sdb5 126 175 401593+ 83 Linux /dev/sdb6 176 391 1734988+ 83 Linux Command (m for help):
從上面的結果咱們能夠看到,在硬盤sdb咱們創建了2個主分區(sdb1,sdb2),1個擴展分區(sdb3),2個邏輯分區(sdb5,sdb6)
注意:主分區和擴展分區的磁盤號位1-4,也就是說最多有4個主分區或者擴展分區,邏輯分區開始的磁盤號爲5,所以在這個實驗中試沒有sdb4的。
最後對分區操做進行保存:
Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks.
創建好分區以後咱們還須要對分區進行格式化才能在系統中使用磁盤。
在sdb1上創建ext2分區:
[root@localhost ~]# mkfs.ext2 /dev/sdb1 mke2fs 1.39 (29-May-2006) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) 100576 inodes, 200804 blocks 10040 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=209715200 7 block groups 32768 blocks per group, 32768 fragments per group 14368 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840 Writing inode tables: done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 32 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override.
在sdb6上創建ext3分區:
[root@localhost ~]# mkfs.ext3 /dev/sdb6 mke2fs 1.39 (29-May-2006) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) 217280 inodes, 433747 blocks 21687 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=444596224 14 block groups 32768 blocks per group, 32768 fragments per group 15520 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912 Writing inode tables: done Creating journal (8192 blocks): done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 32 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override. [root@localhost ~]#
創建兩個目錄/oracle
和/web
,將新建好的兩個分區掛載到系統:
[root@localhost ~]# mkdir /oracle [root@localhost ~]# mkdir /web [root@localhost ~]# mount /dev/sdb1 /oracle [root@localhost ~]# mount /dev/sdb6 /web
查看分區掛載狀況:
[root@localhost ~]# df -h 文件系統 容量 已用 可用 已用% 掛載點 /dev/mapper/VolGroup00-LogVol00 6.7G 2.8G 3.6G 44% / /dev/sda1 99M 12M 82M 13% /boot tmpfs 125M 0 125M 0% /dev/shm /dev/sdb1 773M 808K 733M 1% /oracle /dev/sdb6 1.7G 35M 1.6G 3% /web
若是須要每次開機自動掛載則須要修改/etc/fstab
文件,加入兩行配置:
[root@localhost ~]# vim /etc/fstab /dev/VolGroup00/LogVol00 / ext3 defaults 1 1 LABEL=/boot /boot ext3 defaults 1 2 tmpfs /dev/shm tmpfs defaults 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 0 /dev/VolGroup00/LogVol01 swap swap defaults 0 0 /dev/sdb1 /oracle ext2 defaults 0 0 /dev/sdb6 /web ext3 defaults 0 0
parted命令:是由GNU組織開發的一款功能強大的磁盤分區和分區大小調整工具,與fdisk不一樣,它支持調整分區的大小。做爲一種設計用於Linux的工具,它沒有構建成處理與fdisk關聯的多種分區類型,可是,它能夠處理最多見的分區格式,包括:ext二、ext三、fat1六、fat3二、NTFS、ReiserFS、JFS、XFS、UFS、HFS以及Linux交換分區。
格式:
parted [options] [device [command [options...]...]]
參數
-h:顯示幫助信息; -i:交互式模式; -s:腳本模式,不提示用戶; -v:顯示版本號。
例子:
[root@localhost ~]# fdisk -l Disk /dev/sda: 35.8 GB, 35862976512 bytes 255 heads, 63 sectors/track, 4360 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks id System /dev/sda1 * 1 13 104391 83 Linux /dev/sda2 14 144 1052257+ 82 Linux swap /dev/sda3 145 4360 33865020 83 Linux Disk /dev/sdb: 2147 MB, 2147483648 bytes 255 heads, 63 sectors/track, 261 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk /dev/sdb doesn't contain a valid partition table [root@localhost ~]# parted /dev/sdb GNU Parted Copyright (C) 1998 - 2004 free Software Foundation, Inc. This program is free software, covered by the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 使用/dev/sdb (parted)mklabel gpt #設置標籤 (parted)print #打印信息 /dev/sdb的磁盤幾何結構:0.000-2048.000兆字節 磁盤標籤類型:gpt Minor 起始點 終止點 文件系統 名稱 標誌 (parted)mkpart primary 0 2048 <-----上面print顯示的數字 (parted)print /dev/sdb的磁盤幾何結構:0.000-2048.000兆字節 磁盤標籤類型:gpt Minor 起始點 終止點 文件系統 名稱 標誌 1 0.017 2047.983 (parted)quit
若是必要,不要忘記更新/etc/fstab
。
[root@localhost ~]# fdisk -l Disk /dev/sda: 35.8 GB, 35862976512 bytes 255 heads, 63 sectors/track, 4360 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sda1 * 1 13 104391 83 Linux /dev/sda2 14 144 1052257+ 82 Linux swap /dev/sda3 145 4360 33865020 83 Linux WARNING: GPT (GUID Partition Table) detected on '/dev/sdb'! The util fdisk doesn't support GPT. Use GNU Parted. Disk /dev/sdb: 2147 MB, 2147483648 bytes 255 heads, 63 sectors/track, 261 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sdb1 1 262 2097151+ ee EFI GPT Partition 1 has different physical/logical beginnings (non-Linux?): phys=(0, 0, 1) logical=(0,0, 2) Partition 1 has different physical/logical endings: phys=(1023, 254, 63) logical=(261, 21, 16)
[root@localhost ~]# mkfs.ext3 /dev/sdb1 mke2fs 1.35 (28-Feb-2004) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) 262144 inodes, 524279 blocks 26213 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=536870912 16 block groups 32768 blocks per group, 32768 fragments per group 16384 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912 Writing inode tables: done Creating journal (8192 blocks): done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 28 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override. [root@localhost ~]# mount /dev/sdb1 /mnt
# 查看掛載文件 [root@localhost ~]# df -h Filesystem 容量 已用 可用 已用% 掛載點 /dev/sda3 <?xml:namespace prefix = st1 />32G 2.6G 28G 9% / /dev/sda1 99M 12M 82M 13% /boot none 252M 0 252M 0% /dev/shm /dev/sdb1 2.0G 36M 1.9G 2% /mnt
mkfs命令:用於在設備上(一般爲硬盤)建立Linux文件系統。mkfs自己並不執行創建文件系統的工做,而是去調用相關的程序來執行。
參數:
fs:指定創建文件系統時的參數; -t<文件系統類型>:指定要創建何種文件系統; -v:顯示版本信息與詳細的使用方法; -V:顯示簡要的使用方法; -c:在製作檔案系統前,檢查該partition是否有壞軌。
例子:
在/dev/hda5
上建一個msdos的檔案系統,同時檢查是否有壞軌存在,而且將過程詳細列出來:
mkfs -V -t msdos -c /dev/hda5 mkfs -t ext3 /dev/sda6 //將sda6分區格式化爲ext3格式 mkfs -t ext2 /dev/sda7 //將sda7分區格式化爲ext2格式
partprobe命令:重讀分區表,當出現刪除文件後,出現仍然佔用空間。能夠partprobe在不重啓的狀況下重讀分區。
格式: partprobe [-d] [-s] [devices...]
參數:
-d:不更新內核; -s:顯示摘要和分區; -h:顯示幫助信息; -v:顯示版本信息。
例子:
使用partprobe不重啓系統添加新的磁盤分區,主機自帶硬盤超過300GB,目前只劃分使用了3個主分區,不到70GB,以下:
[root@localhost ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda1 29G 3.7G 24G 14% / /dev/sda2 29G 22G 5.2G 81% /oracle tmpfs 2.0G 0 2.0G 0% /dev/shm [root@localhost ~]# cat /proc/partitions major minor #blocks name 8 0 311427072 sda 8 1 30716248 sda1 8 2 30716280 sda2 8 3 8193150 sda3 8 16 976896 sdb 8 32 976896 sdc …省略其餘
如今須要給系統添加1個100GB的空間存放數據文件,而又不影響現有系統上業務的運行,使用fdisk結合partprobe命令不重啓系統添加一塊新的磁盤分區。操做步驟以下:
第1步 添加新的磁盤分區:
[root@localhost ~]# fdisk /dev/sda The number of cylinders for this disk is set to 38770. There is nothing wrong with that, but this is larger than 1024, and could in certain setups cause problems with: 1) software that runs at boot time (e.g., old versions of lilo) 2) booting and partitioning software from other OSs (e.g., DOS FDISK, OS/2 FDISK) command (m for help): p Disk /dev/sda: 318.9 GB, 318901321728 bytes 255 heads, 63 sectors/track, 38770 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks id System /dev/sda1 * 1 3824 30716248+ 83 Linux /dev/sda2 3825 7648 30716280 83 Linux /dev/sda3 7649 8668 8193150 82 Linux swap / Solaris Command (m for help): n Command action e extended p primary partition (1-4) p Selected partition 4 First cylinder (8669-38770, default 8669): Using default value 8669 last cylinder or +size or +sizeM or +sizeK (8669-38770, default 38770): +100G Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. WARNING: Re-reading the partition table failed with error 16: Device or resource busy. The kernel still uses the old table. The new table will be used at the next reboot. Syncing disks.
第2步 使用工具partprobe讓kernel讀取分區信息:
[root@localhost ~]# partprobe
使用fdisk工具只是將分區信息寫到磁盤,若是須要mkfs磁盤分區則須要重啓系統,而使用partprobe則可使kernel從新讀取分區信息,從而避免重啓系統。
第3步 格式化文件系統:
[root@localhost ~]# mkfs.ext3 /dev/sda4 mke2fs 1.39 (29-May-2006) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) 12222464 inodes, 24416791 blocks 1220839 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=4294967296 746 block groups 32768 blocks per group, 32768 fragments per group 16384 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624, 11239424, 20480000, 23887872 Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 26 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override. [root@localhost ~]#
第4步 mount新的分區/dev/sda4:
[root@localhost ~]# e2label /dev/sda4 /data [root@localhost ~]# mkdir /data [root@localhost ~]# mount /dev/sda4 /data [root@localhost ~]# df Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda1 29753556 3810844 24406900 14% / /dev/sda2 29753588 11304616 16913160 41% /oracle tmpfs 2023936 0 2023936 0% /dev/shm /dev/sda4 96132968 192312 91057300 1% /data
使用partprobe能夠不用重啓系統便可配合fdisk工具建立新的分區。
e2fsck命令:用於檢查第二擴展文件系統的完整性,經過適當的選項能夠嘗試修復出現的錯誤。
參數:
-a:不詢問使用者意見,便自動修復文件系統; -b<superblock>:指定superblock,而不使用預設的superblock; -B<區塊大小>:指定區塊的大小,單位爲字節; -c:一併執行badblocks,以標示損壞的區塊; -C:將檢查過程的信息完整記錄在file descriptor中,使得整個檢查過程都能完整監控; -d:顯示排錯信息; -f:即便文件系統沒有錯誤跡象,仍強制地檢查正確性; -F:執行前先清除設備的緩衝區; -l<文件>:將文件中指定的區塊加到損壞區塊列表; -L<文件>:先清除損壞區塊列表,再將文件中指定的區塊加到損壞區塊列表。所以損壞區塊列表的區塊跟文件中指定的區塊是同樣的; -n:以只讀模式開啓文件系統,並採起非互動方式執行,全部的問題對話均設置以"no"回答; -p:不詢問使用者意見,便自動修復文件系統; -r:此參數只爲了兼容性而存在,並沒有實際做用; -s:若是文件系統的字節順序不適當,就交換字節順序,不然不作任何動做; -S:無論文件系統的字節順序,一概交換字節順序; -t:顯示時間信息; -v:執行時顯示詳細的信息; -V:顯示版本信息; -y:採起非互動方式執行,全部的問題均設置以"yes"回答。
e2fsck執行後的傳回值及表明意義以下:
例子:
檢查/dev/sda1
是否有問題,如發現問題便自動修復:
e2fsck -a -y /dev/sda1
執行e2fsck或fsck前請先umount partition,不然有機會令檔案系統毀損。若是須要對根目錄/
進行檢查及修復,便須要進入singal user mode執行。
mkswap命令:用於在一個文件或者設備上創建交換分區。在創建完以後要使用sawpon命令開始使用這個交換區。最後一個選擇性參數指定了交換區的大小,可是這個參數是爲了向後兼容設置的,沒有使用的必要,通常都將整個文件或者設備做爲交換區。
參數:
-c:創建交換區前,先檢查是否有損壞的區塊; -f:在SPARC電腦上創建交換區時,要加上此參數; -v0:創建舊式交換區,此爲預設值; -v1:創建新式交換區。
例子:
查看系統swap space大小:
free -m total used free shared buffers cached Mem: 377 180 197 0 19 110 -/+ buffers/cache: 50 327 Swap: 572 0 572
查看當前的swap空間(file(s)/partition(s)):
swapon -s 等價於 cat /proc/swaps
添加交換空間
添加一個交換分區或添加一個交換文件。推薦你添加一個交換分區;不過,若你沒有多少空閒空間可用,則添加交換文件。
添加一個交換分區,步驟以下:
使用fdisk來建立交換分區(假設 /dev/sdb2 是建立的交換分區),使用 mkswap 命令來設置交換分區:
mkswap /dev/sdb2
啓用交換分區:
swapon /dev/sdb2
寫入/etc/fstab
,以便在引導時啓用:
/dev/sdb2 swap swap defaults 0 0
添加一個交換文件,步驟以下:
建立大小爲512M的交換文件:
dd if=/dev/zero of=/swapfile1 bs=1024 count=524288
使用mkswap命令來設置交換文件:
mkswap /swapfile1
啓用交換分區:
swapon /swapfile1
寫入/etc/fstab
,以便在引導時啓用:
/swapfile1 swap swap defaults 0 0
新添了交換分區並啓用它以後,請查看cat /proc/swaps
或free命令的輸出來確保交換分區已被啓用了。
刪除交換空間:
禁用交換分區:
swapoff /dev/sdb2
從/etc/fstab
中刪除項目,使用fdisk或yast工具刪除分區。
swapon命令:激活Linux系統中交換空間,Linux系統的內存管理必須使用交換區來創建虛擬內存。
參數:
-a:將/etc/fstab文件中全部設置爲swap的設備,啓動爲交換區; -h:顯示幫助; -p<優先順序>:指定交換區的優先順序; -s:顯示交換區的使用情況; -V:顯示版本信息。
swapoff命令:用於關閉指定的交換空間(包括交換文件和交換分區)。swapoff實際上爲swapon的符號鏈接,可用來關閉系統的交換區。
參數
-a:關閉配置文件「/etc/fstab」中全部的交換空間。
sync命令:強制被改變的內容馬上寫入磁盤,更新超塊信息。
在Linux/Unix系統中,在文件或數據處理過程當中通常先放到內存緩衝區中,等到適當的時候再寫入磁盤,以提升系統的運行效率。sync命令則可用來強制將內存緩衝區中的數據當即寫入磁盤中。用戶一般不需執行sync命令,系統會自動執行update或bdflush操做,將緩衝區的數據寫 入磁盤。只有在update或bdflush沒法執行或用戶須要非正常關機時,才需手動執行sync命令。
buffer與cache
linux系統爲了提升讀寫磁盤的效率,會先將數據放在一塊buffer中。在寫磁盤時並非當即將數據寫到磁盤中,而是先寫入這塊buffer中了。此時若是重啓系統,就可能形成數據丟失。
sync命令用來flush文件系統buffer,這樣數據纔會真正的寫到磁盤中,而且buffer纔可以釋放出來,flush就是用來清空buffer。sync命令會強制將數據寫入磁盤中,並釋放該數據對應的buffer,因此經常會在寫磁盤後輸入sync命令來將數據真正的寫入磁盤。
若是不去手動的輸入sync命令來真正的去寫磁盤,linux系統也會週期性的去sync數據。
resize2fs命令:用來增大或者收縮未加載的「ext2/ext3」文件系統的大小。若是文件系統是處於mount狀態下,那麼它只能作到擴容,前提條件是內核支持在線resize。,linux kernel 2.6支持在mount狀態下擴容但僅限於ext3文件系統。
格式:
resize2fs [ -fFpPM ] [ -d debug-flags ] [ -S RAID-stride ] device [ size ]
參數:
-d:打開調試特性; -p:打印已完成的百分比進度條; -f:強制執行調整大小操做,覆蓋掉安全檢查操做; -F:開始執行調整大小前,刷新文件系統設備的緩衝區。
例子:
# 打印已完成的百分比進度條 [root@xxx ~]# resize2fs -p /dev/storage/vo 120M