文件系統掛載簡介
磁盤分區和格式化完成後,磁盤分區要想可以使用,就須要掛載,在掛載某個分區前須要先創建一個掛載點
掛載:將新的文件系統關聯至當前根文件系統
卸載:將某文件系統與當前根文件系統的關聯關係移除;卸載時設備沒有進程在使用
掛載點:做爲要掛載文件系統的訪問入口;掛載點事先必須存在;不會被進程使用到的目錄;掛載點下原有文件將會被臨時隱藏node
文件系統掛載管理工具
mount 不跟任何參數顯示當前系統已經掛載的設備及掛載點
cat /proc/mounts 顯示內核中掛載的設備,mount命令就是去讀取該文件顯示出來
cat /etc/mtab mount命令去掛載和卸載的操做信息會記錄到該文件,也能夠顯示系統掛載的設備
mount [options] -t FSTYPE -o [option] 設備名稱 掛載點
[options] 命令選項
-n 掛載後不更新操做記錄到/etc/mtab文件
--bind dir1 dir2 將dir1掛載到dir2上,使得dir2也能訪問dir1的文件(綁定某個目錄到另一個目錄)
-t FSTYPE 指定掛載的文件系統類型
-r 只讀掛載
-w 讀寫掛載
-L LABLE 指定卷標名,用卷標名字掛載;也可使用LABLE="lable"
-U UUID 使用UUID掛載,也可使用 UUID="uuid"
-a 自動掛載全部/etc/fstab配置文件中定義的掛載linux
-o [options] 掛載時啓動分區特性(多選項用逗號隔開)
async 異步I/O數據的寫入先緩存在內存中,再寫入硬盤;數據寫入硬盤會有延遲,忽然斷電數據會丟失
sync 同步I/O數據同步寫入硬盤,頻繁操做IO,影響性能
auto/noauto 是否可以被mount -a自動掛載
dev/nodev 是否能建立設備文件
diratime/nodirtime 是否更新目錄的訪問時間戳
exec/noexec 是否容許執行二進制程序
suid/nosuid 是否能設置文件的SUID,SGID權限位
user/nouser 是否容許普通用戶掛載此設備(默認管理員才能掛載)
ro 只讀掛載
rw 讀寫掛載
remount 從新掛載
acl 啓用文件此文件系統上的acl功能
_netdev 掛載NFS網絡文件系統時候,若是網絡功能還沒起來,可能致使掛載進程一直卡住,此選項能夠中止掛載此網絡設備
atime/noatime 是否更新文件的訪問時間戳,不是特別重要的文件,建議noatime
relatime/norelatime 是否實時更新atime
strictatime/nostrictatiom 是否實時更新atime(這三個參數不一樣的內核版本或文件系統類型可能生效的參數不同)
若是默認掛載沒指定選項默認選項是:rw,suid,dev,exec,auto,nouser,asyncshell
dd命令
cp命令複製文件是以文件爲單位複製的,是先將文件信息讀取到內存中,在將內存中的信息存儲到硬盤的目標位置(須要通過虛擬文件系統VFS)
dd命令複製底層的數據流(硬盤底層的0和1代碼,不通過VFS)
dd if=input_file of=output_file
dd if=input_file of=output_file bs=#[b|k|m|g] count=#
bs 一次讀多大數據量
count 讀取次數
if 輸入文件
of 輸出文件緩存
製做光盤文件:
dd if=/dev/cdrom of=/tmp/linux.iso
cat /dev/cdrom > /tmp/linux.iso
備份啓動盤的MBR信息:
dd if=/dev/sda of=/mnt/usb/mbr.backup bs=512 count=1
還原MBR信息:
dd if=/mnt/usb/mbr.backup of=/dev/sda bs=512 count=1安全
拷貝內存資料到硬盤
dd if=/dev/mem of=/root/mem.bin bs=1024
將內存裏的數據拷貝到root目錄下的mem.bin文件網絡
從光盤拷貝iso鏡像
dd if=/dev/cdrom of=/root/cd.iso
拷貝光盤數據到root文件夾下,並保存爲cd.iso文件dom
銷燬磁盤數據
dd if=/dev/urandom of=/dev/sda1
利用隨機的數據填充硬盤,在某些必要的場合能夠用來銷燬數據。執行此操做之後,/dev/sda1將沒法掛載,建立和拷貝操做沒法執行。異步
測試硬盤讀寫速度
dd if=/root/1Gb.file bs=64k | dd of=/dev/null
dd if=/dev/zero of=/root/1Gb.file bs=1024 count=1000000
經過上兩個命令輸出的執行時間,能夠計算出測試硬盤的讀/寫速度async
修復硬盤
dd if=/dev/sda of=/dev/sda
當硬盤較長時間(好比1,2年)放置不使用後,磁盤上會產生消磁點。當磁頭讀到這些區域時會遇到困難,並可能致使I/O錯誤。當這種狀況影響到硬盤的第一個扇區時,可能致使硬盤報廢。上邊的命令有可能使這些數據起死回生。且這個過程是安全,高效的。工具
掛載光盤設備:
光盤設備文件:
IDE口光驅設備: /dev/hdc
SATA口光驅設備: /dev/sr0
符號連接文件(連接到上面的設備文件):/dev/cdrom、/dev/cdrw、/dev/dvd、/dev/dvdrw
mount -t iso9660 -r /dev/cdrom /media/cdrom
umount /dev/cdrom
開機自動掛載
/etc/rc.d/rc.sysinit系統初始化腳本其中一個功能是掛載/etc/fstab文件中定義的文件系統掛載表(每條記錄6個字段)
# /etc/fstab
# Created by anaconda on Sat Jul 16 14:42:59 2016
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=a9e077c4-fa4c-4189-a593-6f33ff40a4f1 / ext4 defaults 1 1
UUID=92c80024-7269-4b0a-8d58-781dbc0114a2 swap swap defaults 0 0
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
要掛載的設備:設備文件名稱、也能夠指定UUID="uuid"、LABEL="LabName"、僞文件系統名稱進行掛載
掛載點:有的文件系統沒有掛載點 swap沒有掛載點,掛載點爲swap
文件系統類型:指定掛載文件系統類型
掛載選項:默認爲defaults,使用默認掛載選項;要使用某個選項的時候經過逗號隔開添加
轉儲頻率:(每多少天作一次文件系統徹底備份),0表示不作備份,該項如今不多使用
0 從不備份
1 每日備份
2 每隔一天備份
文件系統開機自檢測次序:(0表示不檢查,只有根能夠爲1);開機的時候要檢查文件系統
1 首先自檢,一般只能被根/使用
2-9 表示自檢順序
0 從不自檢
umount 卸載設備
umount Device
umount Mount_Point
若是卸載設備出現device is busy報錯,則表示該文件系統正在被使用,可使用如下命令
fuser 找出正在使用某個目錄全部進程
fuser -v 掛載點 顯示那些進程訪問掛載文件
fuser -km 掛載點 強制剔除shell進程
-u 除了進程的PID以外,同時列出該進程的擁有者
-m 列出全部使用某個目錄的進程號
-v 能夠列出每一個文件與進程還有指令的完整相關性
-k 找出使用掛載點中文件或目錄的 PID ,以 SIGKILL這個信號殺死該 PID
-i 與-k結合使用,交互式模式,殺死前會詢問用戶
-signal 例如 -1 -15 ,若不加的話,預設是 SIGKILL (-9)
lsof
lsof 掛載點 可使用命令lsof查看正在被使用的文件