磁盘管理

Linux操作系统磁盘管理的基本概念有以下几个:

  • 磁盘设备:磁盘设备是指物理上的磁盘硬件,如硬盘、光盘、U盘等,它们可以存储和读取数据。Linux操作系统中,磁盘设备通常用/dev/开头的文件名来表示,如/dev/sda表示第一个SATA硬盘,/dev/sr0表示第一个光驱,/dev/sdb1表示第二个SATA硬盘的第一个分区等。
  • 磁盘分区:磁盘分区是指将一个磁盘设备划分为多个逻辑的区域,每个区域可以存储不同的数据和文件系统。磁盘分区可以提高磁盘的利用率和管理效率,以及方便数据的备份和恢复。Linux操作系统中,磁盘分区通常用/dev/开头的文件名加上数字来表示,如/dev/sda1表示第一个SATA硬盘的第一个分区,/dev/sda2表示第一个SATA硬盘的第二个分区等。
  • 文件系统:文件系统是指在磁盘分区上组织和存储数据的一种方式,它定义了数据的结构和属性,以及对数据的操作和访问方式。文件系统可以提高数据的可靠性和安全性,以及提供数据的索引和检索功能。Linux操作系统中,常用的文件系统有ext2、ext3、ext4、xfs、btrfs、fat、ntfs等,它们各有各的优缺点和适用场景。
  • 挂载:挂载是指将一个磁盘分区或者一个文件系统与一个目录关联起来,使得该目录可以访问该磁盘分区或者该文件系统上的数据。挂载可以实现不同的磁盘分区或者文件系统之间的数据共享和转移,以及方便用户的操作和管理。Linux操作系统中,挂载通常用mount命令来实现,如mount /dev/sda1 /mnt表示将第一个SATA硬盘的第一个分区挂载到/mnt目录下。
  • 卸载:卸载是指将一个已经挂载的磁盘分区或者文件系统与其关联的目录断开,使得该目录不能再访问该磁盘分区或者该文件系统上的数据。卸载可以释放磁盘分区或者文件系统的资源,以及保护数据的完整性和安全性。Linux操作系统中,卸载通常用umount命令来实现,如umount /mnt表示将/mnt目录下的磁盘分区或者文件系统卸载。

Linux操作系统磁盘管理的常用工具和命令有以下几个:

  • fdisk:fdisk是一个用于对磁盘设备进行分区的工具,它可以创建、删除、修改、查看磁盘分区的信息,以及改变磁盘分区的类型和标志。fdisk通常用于对MBR分区表的磁盘设备进行分区,如fdisk /dev/sda表示对第一个SATA硬盘进行分区。
  • parted:parted是一个用于对磁盘设备进行分区的工具,它可以创建、删除、修改、查看磁盘分区的信息,以及改变磁盘分区的类型和标志。parted通常用于对GPT分区表的磁盘设备进行分区,如parted /dev/sda表示对第一个SATA硬盘进行分区。
  • mkfs:mkfs是一个用于在磁盘分区上创建文件系统的工具,它可以根据不同的文件系统类型和参数来格式化磁盘分区,以及设置文件系统的属性和选项。mkfs通常用于在空白的或者需要重新格式化的磁盘分区上创建文件系统,如mkfs.ext4 /dev/sda1表示在第一个SATA硬盘的第一个分区上创建ext4文件系统。
  • fsck:fsck是一个用于检查和修复文件系统的工具,它可以扫描文件系统的结构和数据,以及修复文件系统的错误和损坏。fsck通常用于在文件系统出现异常或者损坏时进行修复,如fsck /dev/sda1表示检查和修复第一个SATA硬盘的第一个分区上的文件系统。
  • dd:dd是一个用于对磁盘设备或者文件进行复制和转换的工具,它可以按照指定的大小和数量来读取和写入数据,以及改变数据的格式和编码。dd通常用于对磁盘设备或者文件进行备份和恢复,如dd if=/dev/sda of=/dev/sdb表示将第一个SATA硬盘的内容复制到第二个SATA硬盘上。

 

# 查看磁盘设备的信息
lsblk
# 输出:
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 465.8G  0 disk 
├─sda1   8:1    0   512M  0 part /boot/efi
├─sda2   8:2    0    20G  0 part /
├─sda3   8:3    0   200G  0 part /home
└─sda4   8:4    0 245.3G  0 part 
sdb      8:16   1  14.9G  0 disk 
└─sdb1   8:17   1  14.9G  0 part /media/user/USB

# 对第一个SATA硬盘的第四个分区进行分区
fdisk /dev/sda4
# 输入:
n # 创建新分区
p # 选择主分区
1 # 选择分区号
# 使用默认的起始和结束扇区
w # 写入分区表并退出

# 查看分区表的变化
lsblk
# 输出:
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 465.8G  0 disk 
├─sda1   8:1    0   512M  0 part /boot/efi
├─sda2   8:2    0    20G  0 part /
├─sda3   8:3    0   200G  0 part /home
└─sda4   8:4    0 245.3G  0 part 
  └─sda5 8:5    0 245.3G  0 part 
sdb      8:16   1  14.9G  0 disk 
└─sdb1   8:17   1  14.9G  0 part /media/user/USB

# 在第一个SATA硬盘的第五个分区上创建ext4文件系统
mkfs.ext4 /dev/sda5
# 输出:
mke2fs 1.45.6 (20-Mar-2020)
Creating filesystem with 64000000 4k blocks and 16000000 inodes
Filesystem UUID: 6f3c4e5b-9c4f-4f0a-9f9d-7c4f6f6f6f6f
Superblock backups stored on blocks: 
    32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
    4096000, 7962624, 11239424, 20480000, 23887872, 40140800

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (262144 blocks): done
Writing superblocks and filesystem accounting information: done   

# 挂载第一个SATA硬盘的第五个分区到/data目录下
mount /dev/sda5 /data

# 查看挂载情况
df -h
# 输出:
Filesystem      Size  Used Avail Use% Mounted on
udev            3.9G     0  3.9G   0% /dev
tmpfs           787M  1.6M  786M   1% /run
/dev/sda2        20G  8.7G  9.9G  47% /
tmpfs           3.9G  108M  3.8G   3% /dev/shm
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           3.9G     0  3.9G   0% /sys/fs/cgroup
/dev/sda1       511M  7.9M  504M   2% /boot/efi
/dev/sda3       197G   55G  133G  30% /home
/dev/sdb1        15G  2.1G   12G  16% /media/user/USB
/dev/sda5       241G   60M  229G   1% /data

# 在/data目录下创建一个test.txt文件,并写入一些内容
echo "Hello, world!" > /data/test.txt

# 查看文件内容
cat /data/test.txt
# 输出:
Hello, world!

# 卸载/data目录下的磁盘分区
umount /data

# 查看卸载情况
df -h
# 输出:
Filesystem      Size  Used Avail Use% Mounted on
udev            3.9G     0  3.9G   0% /dev
tmpfs           787M  1.6M  786M   1% /run
/dev/sda2        20G  8.7G  9.9G  47% /
tmpfs           3.9G  108M  3.8G   3% /dev/shm
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           3.9G     0  3.9G   0% /sys/fs/cgroup
/dev/sda1       511M  7.9M  504M   2% /boot/efi
/dev/sda3       197G   55G  133G  30% /home
/dev/sdb1        15G  2.1G   12G  16% /media/user/USB

 

总之,Linux操作系统磁盘管理是一项重要的系统管理任务,它涉及到磁盘的分区、格式化、挂载、卸载、备份、恢复等操作,以及磁盘的性能和安全的保障。用户可以根据自己的需求和喜好,选择合适的工具和命令,以实现Linux操作系统磁盘管理的目的。希望这篇博客能对你有所帮助,谢谢你的阅读。

posted @ 2023-11-22 11:21  zzl221zzl  阅读(18)  评论(0)    收藏  举报