1.查看文件系统类型

Linux文件系统类型多样,/etc/filesystems记录了Linux支持的各种文件系统类型

[root@test_01 ~]# cat /etc/filesystems
xfs
ext4
ext3
ext2
nodev proc
nodev devpts
iso9660
vfat
hfs
hfsplus
*

mount命令不加选项可以查看到当前各个磁盘的文件系统类型

[root@test_01 ~]# mount
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime,seclabel)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
devtmpfs on /dev type devtmpfs (rw,nosuid,seclabel,size=923804k,nr_inodes=230951,mode=755)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev,seclabel)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,seclabel,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,nodev,seclabel,mode=755)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,seclabel,mode=755)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/usr/lib/systemd/systemd-cgroups-agent,name=systemd)
pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)
cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_prio,net_cls)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpuacct,cpu)
cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,hugetlb)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)
cgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,pids)
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)
configfs on /sys/kernel/config type configfs (rw,relatime)
/dev/sda3 on / type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
selinuxfs on /sys/fs/selinux type selinuxfs (rw,relatime)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=30,pgrp=1,timeout=300,minproto=5,maxproto=5,direct)
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
mqueue on /dev/mqueue type mqueue (rw,relatime,seclabel)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime,seclabel)
/dev/sda1 on /boot type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
tmpfs on /run/user/0 type tmpfs (rw,nosuid,nodev,relatime,seclabel,size=186732k,mode=700)

2.磁盘格式化

mke2fs命令被用于创建磁盘分区上的“ext4/ext3/ext2”文件系统,不支持创建xfs文件系统

mke2fs命令语法:mke2fs [选项] [参数]

选项:

-b<区块大小>:指定区块大小,单位为字节; 

-c;检查是否有损坏的区块; 

-f<不连续区段大小>:指定不连续区段的大小,单位为字节; 

-F:不管指定的设备为何,强制执行mke2fs; 

-i<字节>:指定"字节/inode"的比例; 

-N:指定要建立的inode数目; 

-l<文件>:从指定的文件中,读取文件西中损坏区块的信息; 

-L<标签>:设置文件系统的标签名称; 

-m<百分比值>:指定给管理员保留区块的比例,预设为5%; 

-M:记录最后一次挂入的目录; 

-q:执行时不显示任何信息; 

-r:指定要建立的ext2文件系统版本; 

-R=<区块数>:设置磁盘阵列参数; 

-S:仅写入superblock与group descriptors,而不更改inode able inode bitmap以及block bitmap; 

-v:执行时显示详细信息;

-V:显示版本信息

例1:使用mke2fs格式化ext4文件系统

[root@test_01 ~]# mke2fs -t ext4 /dev/sdb3
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
65536 inodes, 262144 blocks
13107 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=268435456
8 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376

Allocating group tables: 完成
正在写入inode表: 完成
Creating journal (8192 blocks): 完成
Writing superblocks and filesystem accounting information: 完成

例2:mke2fs -t ext4=mkfs.etx4

[root@test_01 ~]# mkfs.ext4 /dev/sdb3
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
65536 inodes, 262144 blocks
13107 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=268435456
8 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376

Allocating group tables: 完成
正在写入inode表: 完成
Creating journal (8192 blocks): 完成
Writing superblocks and filesystem accounting information: 完成

例3:使用mkfs.xfs创建xfs文件系统

[root@test_01 ~]# mkfs.xfs /dev/sdb3
mkfs.xfs: /dev/sdb3 appears to contain an existing filesystem (ext4).
mkfs.xfs: Use the -f option to force overwrite.
[root@test_01 ~]# mkfs.xfs -f /dev/sdb3
meta-data=/dev/sdb3              isize=512    agcount=4, agsize=65536 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=262144, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

例4:使用blkid查看设备上所采用文件系统类型

[root@test_01 ~]# blkid
/dev/sdb3: UUID="78c198d4-8677-4034-9c16-1740a37597e3" TYPE="ext4"
/dev/sdb5: UUID="7559d112-926c-4d5e-8db2-7f16a9f71a0e" TYPE="xfs"
/dev/sda1: UUID="9738edd4-af36-4e7b-bf6e-3a13685310e1" TYPE="xfs"
/dev/sda2: UUID="99365b55-80a0-4b4f-89ca-04176c41ae8d" TYPE="swap"
/dev/sda3: UUID="ee235899-21a2-46bd-8cd3-ac232578104d" TYPE="xfs"

例5:mkfs、mke2fs等命令可以对整个磁盘进行格式化,包括为分区磁盘,格式化后会丢失现有分区

[root@test_01 ~]# blkid /dev/sdb3
/dev/sdb3: UUID="78c198d4-8677-4034-9c16-1740a37597e3" TYPE="ext4"
[root@test_01 ~]# blkid
/dev/sdb3: UUID="78c198d4-8677-4034-9c16-1740a37597e3" TYPE="ext4"
/dev/sdb5: UUID="7559d112-926c-4d5e-8db2-7f16a9f71a0e" TYPE="xfs"
/dev/sda1: UUID="9738edd4-af36-4e7b-bf6e-3a13685310e1" TYPE="xfs"
/dev/sda2: UUID="99365b55-80a0-4b4f-89ca-04176c41ae8d" TYPE="swap"
/dev/sda3: UUID="ee235899-21a2-46bd-8cd3-ac232578104d" TYPE="xfs"
[root@test_01 ~]# mkfs.xfs /dev/sdb3
mkfs.xfs: /dev/sdb3 appears to contain an existing filesystem (ext4).
mkfs.xfs: Use the -f option to force overwrite.
[root@test_01 ~]# mkfs.xfs -f /dev/sdb3
meta-data=/dev/sdb3              isize=512    agcount=4, agsize=65536 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=262144, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
[root@test_01 ~]# mkfs.xfs -f /dev/sdb
meta-data=/dev/sdb               isize=512    agcount=4, agsize=655360 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=2621440, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
[root@test_01 ~]# blkid
/dev/sda1: UUID="9738edd4-af36-4e7b-bf6e-3a13685310e1" TYPE="xfs"
/dev/sda2: UUID="99365b55-80a0-4b4f-89ca-04176c41ae8d" TYPE="swap"
/dev/sda3: UUID="ee235899-21a2-46bd-8cd3-ac232578104d" TYPE="xfs"
/dev/sdb: UUID="301409a7-56fa-40cb-a795-cce12f757bc9" TYPE="xfs"

3.磁盘挂载

在Linux系统中,磁盘需要挂载到挂载点下才能被访问,挂载点以目录形式存在。

挂载、卸载挂载分别使用的是mount和unmount命令。

mount语法:mount 【选项】 【参数】

常用选项:

-V:显示程序版本; 

-l:显示已加载的文件系统列表; 

-h:显示帮助信息并退出; 

-v:冗长模式,输出指令执行的详细信息; 

-n:加载没有写入文件“/etc/mtab”中的文件系统; 

-r:将文件系统加载为只读模式; 

-a:加载文件“/etc/fstab”中描述的所有文件系统。

例1:mount挂载磁盘(未被挂载的磁盘无法通过df -h命令查看到)

[root@test_01 ~]# df -h
文件系统        容量  已用  可用 已用% 挂载点
/dev/sda3        28G  1.1G   27G    4% /
devtmpfs        903M     0  903M    0% /dev
tmpfs           912M     0  912M    0% /dev/shm
tmpfs           912M  8.7M  904M    1% /run
tmpfs           912M     0  912M    0% /sys/fs/cgroup
/dev/sda1       197M  109M   88M   56% /boot
tmpfs           183M     0  183M    0% /run/user/0
[root@test_01 ~]# df -h
文件系统        容量  已用  可用 已用% 挂载点
/dev/sda3        28G  1.1G   27G    4% /
devtmpfs        903M     0  903M    0% /dev
tmpfs           912M     0  912M    0% /dev/shm
tmpfs           912M  8.7M  904M    1% /run
tmpfs           912M     0  912M    0% /sys/fs/cgroup
/dev/sda1       197M  109M   88M   56% /boot
tmpfs           183M     0  183M    0% /run/user/0
/dev/sdb         10G   33M   10G    1% /mnt

例2:卸载挂载(当处于挂载点目录下时,会提示目标忙。此时使用-l选项可以卸载)

[root@test_01 mnt]# umount /mnt
umount: /mnt:目标忙。
        (有些情况下通过 lsof(8) 或 fuser(1) 可以
         找到有关使用该设备的进程的有用信息)
[root@test_01 mnt]# umount -l /mnt

4.手动增加SWAP

使用dd命令可以

[root@test_01 mnt]# dd if=/dev/zero of=/tmp/newdisk bs=1M count=100
记录了100+0 的读入
记录了100+0 的写出
104857600字节(105 MB)已复制,1.64607 秒,63.7 MB/秒
[root@test_01 mnt]# du -sh /tmp/newdisk
100M    /tmp/newdisk
[root@test_01 mnt]# mkswap -f /tmp/newdisk
正在设置交换空间版本 1,大小 = 102396 KiB
无标签,UUID=cd20ecf7-ca53-4232-9ddd-90a29358799e
[root@test_01 mnt]# cd
[root@test_01 ~]# swapon /tmp/newdisk
swapon: /tmp/newdisk:不安全的权限 0644,建议使用 0600。
[root@test_01 ~]# chmod 600 /tmp/newdisk
[root@test_01 ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:           1823         126        1411           8         285        1509
Swap:          2147           0        2147
[root@test_01 ~]# swapoff /tmp/newdisk
[root@test_01 ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:           1823         126        1412           8         285        1509
Swap:          2047           0        2047

dd命令部分内容解释

if 代表输入文件。如果不指定if,默认就会从stdin中读取输入。 

of 代表输出文件。如果不指定of,默认就会将stdout作为默认输出。 

bs 代表字节为单位的块大小。 

count 代表被复制的块数。 

/dev/zero 是一个字符设备,会不断返回0值字节(\0)。