前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux基础(day15)

Linux基础(day15)

作者头像
运维小白
发布2018-02-06 10:44:16
1.9K0
发布2018-02-06 10:44:16
举报
文章被收录于专栏:运维小白运维小白运维小白

4.5/4.6 磁盘格式化

windows和Linux系统格式

  • 在分区后,磁盘需要格式化
    • Windows中,有NTFS、fat格式,其中fat格式基本已经不用(过时)
    • Linux中,centos7支持xfs、ext4、ext3、ext2、nodev proc、nodev devpts、iso9660、vfat、hfs、hfsplus
[root@localhost ~]# cat /etc/filesystems        //查看centos7所支持的系统格式
xfs     //系统默认的支持的格式
ext4
ext3
ext2
nodev proc
nodev devpts
iso9660
vfat
hfs
hfsplus
*
[root@localhost ~]# 
  • 在装Linux系统的时候,就是xfs
[root@localhost ~]# df -h
文件系统        容量  已用  可用 已用% 挂载点
/dev/sda3        18G  1.2G   17G    7% /
devtmpfs        483M     0  483M    0% /dev
tmpfs           493M     0  493M    0% /dev/shm
tmpfs           493M  6.8M  486M    2% /run
tmpfs           493M     0  493M    0% /sys/fs/cgroup
/dev/sda1       197M  109M   88M   56% /boot
tmpfs            99M     0   99M    0% /run/user/0
  • 其中的/ 和/b oot 就是xfs

mount命令

  • mount命令,查看分区的文件系统
    • 在其中只要找到/dev/ 开头的,查看后面的文件系统xfs
    • swap 是swap分区的,是自己的一种格式
  • 在linux系统中的 / /boot 都是使用 xfs 格式的文件系统
  • 在centos6和之前的版本中,都是使用 ext 格式的文件系统
    • centos6中,使用 ext4
    • centos5中,使用 ext3
    • 再往之前文件系统格式,是ext2

格式化新的分区

  • 查看系统磁盘新建的分区
[root@localhost ~]# fdisk -l

磁盘 /dev/sda:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000c928b

   设备 Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      411647      204800   83  Linux
/dev/sda2          411648     4605951     2097152   82  Linux swap / Solaris
/dev/sda3         4605952    41943039    18668544   83  Linux

磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x3ca78df9

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    16779263     8388608   83  Linux

mke2fs命令

  • mk2fs命令,格式化分区
    • -t 格式 ,指定所需要的文件格式化系统
    • -b ,指定 块的大小(inode块大小默认4K)
  • 对比ls -lh和du -sh 查看文件的大小
[root@localhost ~]# echo 1 > 2.txt
[root@localhost ~]# ls =lh 2.txt
ls: 无法访问=lh: 没有那个文件或目录
2.txt
[root@localhost ~]# ls -lh 2.txt   //查看文件的大小
-rw-r--r--. 1 root root 2 11月  3 15:48 2.txt
[root@localhost ~]# du -sh 2.txt   //查看块大小
4.0K	2.txt
[root@localhost ~]# du -sb 2.txt
2	2.txt
这里会看到ls -lh和du -sb查看文件的大小相同
而ls -lh查看的是文件的大小,du -sh 查看是块的大小

mke2fs命令参数用法

修改文件文件系统两种命令

  1. mke2fs -t ext4 修改为ext4格式的文件系统
  2. mkfs.ext4 修改为ext4格式的文件系统
  • mke2fs -t xfs -b 2048 /dev/sdb1 指定文件的系统为ext4,并设置磁盘大小为2048M
    • 这样就会格式化为ext4格式的文件系统
[root@localhost ~]# mke2fs -t ext4 -b 2048 /dev/sdb1
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=2048 (log=1)
分块大小=2048 (log=1)
Stride=0 blocks, Stripe width=0 blocks
524288 inodes, 4194304 blocks
209715 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=272629760
256 block groups
16384 blocks per group, 16384 fragments per group
2048 inodes per group
Superblock backups stored on blocks: 
	16384, 49152, 81920, 114688, 147456, 409600, 442368, 802816, 1327104, 
	2048000, 3981312

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

[root@localhost ~]# 

mkfs.ext4命令用法

  • mkfs.ext4 /dev/sdb1 把磁盘划分为ext4格式的文件系统
[root@localhost ~]# mkfs.ext4 /dev/sdb1
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
524288 inodes, 2097152 blocks
104857 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=2147483648
64 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632

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

[root@localhost ~]# 
  • 这里会发现两种命令都将磁盘划分为了ext4格式的文件系统

切换成xfs格式的文件系统

  • mkfs.xfs -f /dev/sdb1 划分成xfs格式的文件系统(-f 表示强制 )
    • mke2fs命令是无法划分为xfs系统的
[root@localhost ~]# mkfs.xfs -f /dev/sdb1
meta-data=/dev/sdb1              isize=512    agcount=4, agsize=524288 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=2097152, 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@localhost ~]# 
  1. 在格式化好后xfs格式的文件系统后
  2. 使用mount命令是无法查看到的,因为还未进行挂载
  • mke2fs命令无法格式化为xfs格式的文件系统
[root@localhost ~]# mke2fs -t xfs -b 2048 /dev/sdb1
mke2fs 1.42.9 (28-Dec-2013)

Your mke2fs.conf file does not define the xfs filesystem type.
Aborting...

blkid命令

  • blkid命令,查看还未挂载的分区
    • 会看到文件的文件系统
[root@localhost ~]# blkid /dev/sdb1
/dev/sdb1: UUID="ebdc3a7b-d16d-4bd8-8019-275e587d359e" TYPE="xfs" 

mke2fs命令的其他用法

  • mke2fs -b 指定块的大小
    • mke2fs -b 8192 /dev/sdb1 指定块大小为8K
    • mke2fs -b 2048 /dev/sdb1 指定块大小为4k (默认)
[root@hf-01 ~]# mke2fs -b 8194 /dev/sdb1
Warning: blocksize 8194 not usable on most systems.
mke2fs 1.42.9 (28-Dec-2013)
mke2fs: 8192-byte blocks too big for system (max 4096)
无论如何也要继续? (y,n) n
[root@hf-01 ~]# mke2fs -b 2048 /dev/sdb1
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=2048 (log=1)
分块大小=2048 (log=1)
Stride=0 blocks, Stripe width=0 blocks
327680 inodes, 2621440 blocks
131072 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=540016640
160 block groups
16384 blocks per group, 16384 fragments per group
2048 inodes per group
Superblock backups stored on blocks: 
	16384, 49152, 81920, 114688, 147456, 409600, 442368, 802816, 1327104, 
	2048000

Allocating group tables: 完成                            
正在写入inode表: 完成                            
Writing superblocks and filesystem accounting information: 完成   
  • mke2fs -m 指定这个分区,预留空间的大小
    • mke2fs -m 1 /dev/sdb1 表示预留空间大小为1%,默认是ext2 格式的文件系统
    • mke2fs -t ext4 -m 1 /dev/sdb1 表示使用ext4格式的文件大小,并预留空间大小为1%
[root@hf-01 ~]# mke2fs -t ext4 -m 1 /dev/sdb1
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
327680 inodes, 1310720 blocks
13107 blocks (1.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=1342177280
40 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736

Allocating group tables: 完成                            
正在写入inode表: 完成                            
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成 
  • mke2fs -i 指定多少个字节对应着1个inode
    • 最低是1个块对应着1个inode
[root@hf-01 ~]# mke2fs -i 8192 /dev/sdb1
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
655360 inodes, 1310720 blocks
65536 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=1342177280
40 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

Allocating group tables: 完成                            
正在写入inode表: 完成                            
Writing superblocks and filesystem accounting information: 完成 

[root@hf-01 ~]# 

mke2fs和mkfs.ext4

  • mke2fs -t ext4 -m 0.1 /dev/sdb1
  • mkfs.ext4 -m 0.1 /dev/sdb1
  • 这个命令是一直的

总结

  • mkfs.ext4和mke2fs,这两个命令支持的选项是一致的
  • inode,在格式化分区的时候创建的,4个块对应着1个inode

4.7/4.8 磁盘挂载

只有格式化后,才能挂在文件系统

  • 先把磁盘中的分区删除(不管是否分区,都可格式化)
  • 然后格式化文件系统,mkfs.xfs /dev/sdb
[root@hf-01 ~]# mkfs.xfs -f /dev/sdb
meta-data=/dev/sdb               isize=256    agcount=4, agsize=1310720 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=0
data     =                       bsize=4096   blocks=5242880, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=0
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
  • 使用blkid /dev/sdb 命令查看文件系统
[root@hf-01 ~]# blkid /dev/sdb
/dev/sdb: UUID="fdf63a90-eaf9-4cd0-b82c-5afd2965da2a" TYPE="xfs" 
  • Linux系统中,磁盘要想访问,必须挂载到一个挂载点上(挂载点就是目录)
  • 使用mount /dev/sdb /mnt/命令进行挂载
[root@hf-01 ~]# df -h
文件系统        容量  已用  可用 已用% 挂载点
/dev/sda3        18G  2.4G   16G   14% /
devtmpfs        489M     0  489M    0% /dev
tmpfs           494M     0  494M    0% /dev/shm
tmpfs           494M  6.7M  487M    2% /run
tmpfs           494M     0  494M    0% /sys/fs/cgroup
/dev/sda1       197M   75M  123M   38% /boot
[root@hf-01 ~]# mount /dev/sdb /mnt/
[root@hf-01 ~]# df -h
文件系统        容量  已用  可用 已用% 挂载点
/dev/sda3        18G  2.4G   16G   14% /
devtmpfs        489M     0  489M    0% /dev
tmpfs           494M     0  494M    0% /dev/shm
tmpfs           494M  6.7M  487M    2% /run
tmpfs           494M     0  494M    0% /sys/fs/cgroup
/dev/sda1       197M   75M  123M   38% /boot
/dev/sdb         20G   33M   20G    1% /mnt
会看到最后一行,多了一个分区,也可称之为磁盘
  • 在使用mount命令就可以看到磁盘的文件系统
  • 磁盘卸载掉,使用umount命令
[root@hf-01 ~]# cd /mnt/
[root@hf-01 mnt]# ls
[root@hf-01 mnt]# touch 1.txt 2.txt
[root@hf-01 mnt]# mkdir 124
[root@hf-01 mnt]# cd
[root@hf-01 ~]# umount /dev/sdb
[root@hf-01 ~]# df -h
文件系统        容量  已用  可用 已用% 挂载点
/dev/sda3        18G  2.4G   16G   14% /
devtmpfs        489M     0  489M    0% /dev
tmpfs           494M     0  494M    0% /dev/shm
tmpfs           494M  6.7M  487M    2% /run
tmpfs           494M     0  494M    0% /sys/fs/cgroup
/dev/sda1       197M   75M  123M   38% /boot
[root@hf-01 ~]# 
  • 若是在当前目录下,可以umount -l /mnt/ 其中 l 表示lazy懒惰的意思
[root@hf-01 ~]# mount /dev/sdb /mnt/
[root@hf-01 ~]# ls /mnt
124  1.txt  2.txt
[root@hf-01 ~]# cd /mnt/
[root@hf-01 mnt]# umount /dev/sdb
umount: /mnt:目标忙。
        (有些情况下通过 lsof(8) 或 fuser(1) 可以
         找到有关使用该设备的进程的有用信息)
[root@hf-01 mnt]# umount -l /mnt/
[root@hf-01 mnt]# df -h
文件系统        容量  已用  可用 已用% 挂载点
/dev/sda3        18G  2.4G   16G   14% /
devtmpfs        489M     0  489M    0% /dev
tmpfs           494M     0  494M    0% /dev/shm
tmpfs           494M  6.7M  487M    2% /run
tmpfs           494M     0  494M    0% /sys/fs/cgroup
/dev/sda1       197M   75M  123M   38% /boot

mount和umount命令

mount命令

  • mount命令,用于加载文件系统到指定的加载点
  • 格式: mount /dev/sdb /mnt/ 其中/dev/sdb就是那个磁盘,/mnt/表示挂载点
  • 挂载点就是磁盘的入口,没有挂载点就无法在磁盘中进行读写

mount命令用法

  • man mount
    • 然后 /defaults 去搜索
    • 不加任何选项,包含defaults用法,默认包含以下权限
       defaults
              Use default options: rw, suid, dev, exec, auto, nouser, and async.
  1. rw,表示可读写
  2. suid,表示允许这个分区中的文件设置suid权限
  3. dev 就不用管了
  4. exec,表示是否可执行。若改为 no exec 那挂载下面的分区文件就没有可执行权限了
  5. auto,表示自动挂载
  6. nouser,表示是否允许普通用户去挂载(默认只能是root用户)
  7. async,表示不会实时同步
  • mount -o remount,rw /dev/foo /dir 表示重新挂载

umount命令

  • umount命令,用于卸载已经加载的文件系统
  • 格式: umount /dev/sdb
  • 参数: -l 可以在当前目录下删除磁盘
    • umount -l /mnt/

配置文件/etc/fstab

  • /etc/fstab配置文件,系统再启动中,默认挂载的磁盘和分区都是在这个文件中去配置的
#
UUID=ce0b257e-62c5-4355-9117-b1edc7085e58 /                       xfs     defaults        1 1
UUID=a9ea9597-52e8-4d73-8975-0ecb3970c760 /boot                   xfs     defaults        1 2
UUID=06c3de3e-7c95-4f75-905e-c5d4fbf4a5fa swap                    swap    defaults        0 0
  1. 第一列表示为,就是设备号,还可以写成/dev/sdb
  2. 第二列表示为,挂载点
  3. 第三列表示为,分区格式
  4. 第四列表示为,挂载选项(默认为defaults)
  5. 第五列表示为,是否备份,改为1就是备份,但基本没有用
  6. 第六列表示为,设置优先级,作用是是否检测。重新启动时,它会检测磁盘是否有错误,在设置成 1 和 2 就是去检测,1 的级别比 2 更高
#
# /etc/fstab
# Created by anaconda on Sun Aug 20 21:03:05 2017
#
# 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=ce0b257e-62c5-4355-9117-b1edc7085e58 /                       xfs     defaults        1 1
UUID=a9ea9597-52e8-4d73-8975-0ecb3970c760 /boot                   xfs     defaults        1 2
UUID=06c3de3e-7c95-4f75-905e-c5d4fbf4a5fa swap                    swap    defaults        0 0

这里自己添加的
/dev/sdb                                /mnt                    xfs     defaults       0  0
若想写UUID,可以使用blkid命令去查看填写

4.9 手动增加swap空间

创建虚拟磁盘

  • dd if=/dev/zero of=/tmp/newdisk bs=1M count=100
    • dd 命令是用来操作磁盘的,可读可写
    • if 指定从哪里去读
    • /dev/zero 是Linux系统中的一个造零器,可以产生源源不断的0
    • of 指定将这些 0 写到那里去
    • bs 指定每一个块的大小
[root@hf-01 ~]# dd if=/dev/zero of=/tmp/newdisk bs=1M count=100
记录了100+0 的读入
记录了100+0 的写出
104857600字节(105 MB)已复制,0.728387 秒,144 MB/秒
[root@hf-01 ~]# du -sh /tmp/newdisk
100M	/tmp/newdisk
[root@hf-01 ~]# 

mkswap命令格式化

  • swap是文件的特有的一种文件系统
  • mkswap 命令,进行格式化
    • 需要加 -f选项
[root@hf-01 ~]# mkswap -f /tmp/newdisk    //格式化swap空间
正在设置交换空间版本 1,大小 = 102396 KiB
无标签,UUID=7355a547-2562-4320-8470-cff6b7bda975

swapon命令

  • swapon命令,将swap加载到现有的swap上去
[root@hf-01 ~]# free -m     //查看磁盘使用情况
             total       used       free     shared    buffers     cached
Mem:           987        793        193          6          0        209
-/+ buffers/cache:        583        403
Swap:         2047          0       2047
[root@hf-01 ~]# swapon /tmp/newdisk        //添加swap空间添加到现有的swap上去
swapon: /tmp/newdisk:不安全的权限 0644,建议使用 0600。
[root@hf-01 ~]# free -m
             total       used       free     shared    buffers     cached
Mem:           987        793        193          6          0        209
-/+ buffers/cache:        583        403
Swap:         2147          0       2147
会看到添加swap的时候,提示不安全,但free -m查看的的时候,会看到添加成功
  • 更改/tmp/newdisk的权限
[root@hf-01 ~]# chmod 0600 /tmp/newdisk

卸载文件,swapoff命令

  • swapoff命令,卸载文件,减少swap空间
[root@hf-01 ~]# swapoff /tmp/newdisk
[root@hf-01 ~]# free -m
             total       used       free     shared    buffers     cached
Mem:           987        793        193          6          0        209
-/+ buffers/cache:        583        403
Swap:         2047          0       2047
[root@hf-01 ~]# 
这时会看到swap空间恢复原有大小了
  • rm -f命令删除文件
[root@hf-01 ~]# rm -f /tmp/newdisk
[root@hf-01 ~]# 
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 4.5/4.6 磁盘格式化
    • windows和Linux系统格式
      • mount命令
        • 格式化新的分区
          • mke2fs命令
          • mke2fs命令参数用法
          • mkfs.ext4命令用法
          • 切换成xfs格式的文件系统
          • blkid命令
          • mke2fs命令的其他用法
          • mke2fs和mkfs.ext4
        • 总结
          • 只有格式化后,才能挂在文件系统
      • 4.7/4.8 磁盘挂载
        • mount和umount命令
          • mount命令
          • mount命令用法
          • umount命令
        • 配置文件/etc/fstab
        • 4.9 手动增加swap空间
          • 创建虚拟磁盘
            • mkswap命令格式化
              • swapon命令
                • 卸载文件,swapoff命令
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档