linux系統支持不少種文件系統。node
1. 如何確認當前系統掛載了哪些文件系統?
使用mount命令能夠查看當前系統上已經掛載了哪些文件系統,linux
lqt@lqt-ThinkPad-T420:~$ mount
/dev/sda1 on / type ext4 (rw,errors=remount-ro) proc on /proc type proc (rw,noexec,nosuid,nodev) sysfs on /sys type sysfs (rw,noexec,nosuid,nodev) none on /sys/fs/fuse/connections type fusectl (rw) none on /sys/kernel/debug type debugfs (rw) none on /sys/kernel/security type securityfs (rw) udev on /dev type devtmpfs (rw,mode=0755) devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620) tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755) none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880) none on /run/shm type tmpfs (rw,nosuid,nodev) binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev)
經過以下命令也能夠實時的查看當前系統上掛在的文件系統編程
lqt@lqt-ThinkPad-T420:~$ cat /proc/mounts rootfs / rootfs rw 0 0 sysfs /sys sysfs rw,nosuid,nodev,noexec,relatime 0 0 proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0 udev /dev devtmpfs rw,relatime,size=4022676k,nr_inodes=1005669,mode=755 0 0 devpts /dev/pts devpts rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000 0 0 tmpfs /run tmpfs rw,nosuid,relatime,size=1612588k,mode=755 0 0 /dev/disk/by-uuid/f38fd44a-b1b5-4636-970e-826dba3c398d / ext4 rw,relatime,errors=remount-ro,user_xattr,barrier=1,data=ordered 0 0 none /sys/fs/fuse/connections fusectl rw,relatime 0 0 none /sys/kernel/debug debugfs rw,relatime 0 0 none /sys/kernel/security securityfs rw,relatime 0 0 none /run/lock tmpfs rw,nosuid,nodev,noexec,relatime,size=5120k 0 0 none /run/shm tmpfs rw,nosuid,nodev,relatime 0 0 binfmt_misc /proc/sys/fs/binfmt_misc binfmt_misc rw,nosuid,nodev,noexec,relatime 0 0
2. linux ext2文件系統?
ext2文件系統分區是由inode以及block這兩個部分組成,
其中inode用來存儲文件的屬性信息;而block區域則用來存儲實際的文件內容。
由於這個緣由,因此可能會存在兩個比較極端的狀況:
磁盤中的文件size都很小,形成了磁盤上的inode都被用完可是block區域卻仍然有大量剩餘從而形成磁盤空間浪費;
磁盤上的文件size都很大,形成了磁盤上放了爲數很少的幾個文件後block區域就被用完從而形成inode空間的浪費。
ext2文件系統因爲缺乏日誌系統,從而給系統管理帶來不便,因此在ext3文件系統中增長了日誌系統,即:
ext3 = ext2 + 日誌系統ide
3. 關於inode的一點說明?
常規狀況下,一個inode即對應着一個文件。
可是因爲硬鏈接的存在(硬連接是一個inode,可是block中有文件內容的多份copy),因此也是有特例的存在。
正式inode與block的劃分,從而讓建立文件的硬連接和軟鏈接提供了可能。
另外inode結構是不包含文件名信息的。ui
4. VFS?
linux提供了VFS,這讓應用程序編程變得簡單,由於應用程序不用去考慮不一樣文件系統的差別。this
5. 爲何在同一個文件系統中move會很快,而在不一樣文件系統中move會很慢呢?
由於在同一個文件系統中copy,不須要move block區域中的數據區,而只須要修改inode信息;
而在不一樣文件系統中move,不但要修改inode信息,同時block區域中存放的文件信息也必需要
copy到另外一個文件系統中。spa
6. 僞文件系統?
僞文件系統是從內存中建立的文件系統。一旦系統斷電文件系統中的內容就會丟失。debug
7. 如何查看文件系統的使用狀況?
(1)使用df命令能夠幫助咱們實現這一需求,日誌
lqt@lqt-ThinkPad-T420:~$ df -h Filesystem Size Used Avail Use% Mounted on /dev/sda1 458G 122G 314G 28% / udev 3.9G 4.0K 3.9G 1% /dev tmpfs 1.6G 1.1M 1.6G 1% /run none 5.0M 0 5.0M 0% /run/lock none 3.9G 472K 3.9G 1% /run/shm
(2)使用stat命令進行查看,利用-f選項來查看指定文件所在的文件系統信息,code
lqt@lqt-ThinkPad-T420:~$ stat /dev File: `/dev' Size: 4360 Blocks: 0 IO Block: 4096 directory Device: 5h/5d Inode: 1025 Links: 16 Access: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2014-08-06 17:58:17.344020754 +0800 Modify: 2014-08-06 12:00:37.641852226 +0800 Change: 2014-08-06 12:00:37.641852226 +0800 Birth: -
8. 如何確認當前系統中能夠支持哪些文件系統?
使用cat /proc/filesystems能夠查看,
其中第一列nodev表示該類型文件不須要掛載在一個塊設備上,不然就須要掛在一個塊設備上;
第二列表示當前系統中支持的文件系統類型。
lqt@lqt-ThinkPad-T420:~$ cat /proc/filesystems
nodev sysfs
nodev rootfs
nodev bdev
nodev proc
nodev cgroup
nodev cpuset
nodev tmpfs
nodev devtmpfs
nodev debugfs
nodev securityfs
nodev sockfs
nodev pipefs
nodev anon_inodefs
nodev devpts
ext3
ext4
nodev ramfs
nodev hugetlbfs
nodev ecryptfs
fuseblk
nodev fuse
nodev fusectl
nodev pstore
nodev mqueue
nodev binfmt_misc
vfat
9. 如何加載一個文件系統?
方法一:因爲系統啓動時會經過讀取/etc/fstab來配置那些固定的文件系統,因此針對那些
須要固定加載的文件系統,咱們能夠在/etc/fstab中配置好;
方法二:系統啓動後,根據須要,自行加載文件系統。
lqt@lqt-ThinkPad-T420:~$ cat /etc/fstab # /etc/fstab: static file system information. # # Use 'blkid' to print the universally unique identifier for a # device; this may be used with UUID= as a more robust way to name devices # that works even if disks are added and removed. See fstab(5). # # <file system> <mount point> <type> <options> <dump> <pass> proc /proc proc nodev,noexec,nosuid 0 0 # / was on /dev/sda1 during installation UUID=f38fd44a-b1b5-4636-970e-826dba3c398d / ext4 errors=remount-ro 0 1 # swap was on /dev/sda5 during installation UUID=e60359f1-99ef-4b52-b081-f76f90e590fb none swap sw 0 0 none /tmp_fs tmpfs nodev 0 0