Linux設備文件可以分為兩類
- b : 按塊為單位,隨機訪問設備(塊設備文件) 如:硬盤
- c : 按字符為單位,線性設備(字符設備文件) 如:鍵盤
設備文件位於/dev下
主設備號(major number): 標識設備類型
次設備號(minor number): 標識同一類型中不同設備
創建設備文件
mknod(選項)(參數)
選項
-Z:設置安全的上下文; -m:設置權限模式; -help:顯示幫助信息; --version:顯示版本信息。
參數
文件名:要創建的設備文件名;
類型:指定要創建的設備文件的類型;
主設備號:指定設備文件的主設備號;
次設備號:指定設備文件的次設備號。
舉例
mknod /dev/ttyUSB32 c 188 32
硬盤類設備文件名
IDE ATA --hd
STAT --sd
SCST --sd
USB --sd
查看/dev下硬盤設備
sda 為主硬盤
sda1 - sda4 主分區 最多存在4分主分區
sda5 邏輯分區
查看當前分區
命令:fdisk
fdisk命令操作磁盤詳解--查看、添加、刪除、轉換分區等
fdisk -l
這里顯示了我系統當前磁盤 以及分區情況,當前存在2個主分區和一個邏輯分區 注意:最多存在4個主分區
創建分區
命令 fdisk + 硬盤設備
root@ubuntu:~# fdisk /dev/sda
接着會彈出交互式頁面,輸入m獲取幫助信息
由於這里使用的虛擬機擴容,導致雖然顯示很多扇面未使用但在創建分區時無法分配
解決方法:https://www.linuxidc.com/Linux/2016-01/126958.htm
cat /proc/partitions 文件中保存着當前系統已識別分區
partprobe + 硬盤文件 命令使系統重讀分區表,創建完分區后需要手動執行
創建文件系統(格式化)
命令:mkfs
使用方式 : mkfs [-V] [-t fstype] [fs-options] filesys [blocks]
參數
- device : 預備檢查的硬盤分區,例如:/dev/sda1
- -V : 詳細顯示模式
- -t : 給定檔案系統的型式,Linux 的預設值為 ext2
- -c : 在制做檔案系統前,檢查該partition 是否有壞軌
- -l bad_blocks_file : 將有壞軌的block資料加到 bad_blocks_file 里面
- block : 給定 block 的大小
mfks -t ext3 /dev/sda3
cat /prco/filesystems 查看當前系統支持文件系統種類
root@ubuntu:~# mkfs -t ext3 /dev/sda3 mke2fs 1.42.13 (17-May-2015) Creating filesystem with 4394496 4k blocks and 1099440 inodes Filesystem UUID: de38c6e9-539b-440f-9218-635625c53e8d Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000 Allocating group tables: done Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done
掛載
將新的文件系統關聯到當前文件系統
mount [ 選項 ] [ 設備文件 ] [ 掛載點 ]
* 不帶參數時顯示當前設備所有掛載設備(所有掛載設備在 / etc / mtab中保存)
文件系統配置文件 / etc / fstab (系統啟動時自動掛載此文件中定義的每個文件系統)
選項
-V:顯示程序版本; -l:顯示已加載的文件系統列表; -h:顯示幫助信息並退出; -v:冗長模式,輸出指令執行的詳細信息; -n:加載沒有寫入文件“/etc/mtab”中的文件系統; -r:將文件系統加載為只讀模式; -a:加載文件“/etc/fstab”中描述的所有文件系統。
將sda3分區掛載到目錄mnt/test目錄上 # mount /dev/sda3 /mnt/test
掛載點要求
- 目錄沒有被其他進程占用
- 目錄必須事先存在
- 目錄中原先文件會被隱藏,直到卸載
系統在根目錄下提供一個掛載目錄 /mnt
root@ubuntu:/mnt# mount /dev/sda3 /mnt/test root@ubuntu:/mnt# cd /mnt/test root@ubuntu:/mnt/test# ls lost+found
掛載CD
CD的設備文件是 / dev / cdrom
root@ubuntu:/mnt/test# ls -l /dev/cdrom lrwxrwxrwx 1 root root 3 May 7 14:07 /dev/cdrom -> sr0
cdrom是鏈接文件 指向當前目錄的 sr0
因為是光盤,只能掛載為只讀類型
root@ubuntu:/mnt# mount -r /dev/sr0 ./test mount: /dev/sr0 is already mounted or /mnt/test busy /dev/sr0 is already mounted on /mnt/test
卸載
將某文件系統從當前文件系統中移除
mount [ 設備或者掛載點 ]
root@ubuntu:/mnt# umount test
卸載注意:
- 掛載設備沒有被使用