首页 系统教程 操作系统 硬盘存储之王者Linux – 如何优雅地管理硬盘?

硬盘存储之王者Linux – 如何优雅地管理硬盘?

Feb 15, 2024 am 09:30 AM
linux linux教程 linux系统 linux命令 外壳脚本 嵌入式linux linux入门 linux学习

在今天这个数字化时代,数据的存储和管理变得越来越重要。而对于 Linux 用户来说,硬盘管理更是一个不可避免的话题。然而,初学者往往会因为 Linux 硬盘管理的复杂性而陷入困境。不要担心,这篇文章将会教你如何优雅地管理硬盘,让你轻松驾驭 Linux 系统。

硬盘存储之王者Linux – 如何优雅地管理硬盘?

Linux挂载新硬盘

1、查看硬盘信息

命令:

fdisk -l
# fdisk -l
Disk /dev/vda: 21.5 GB, 21474836480 bytes                                         
 #第一块硬盘的信息和分区信息
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0003a7b4

  Device Boot      Start        End      Blocks  Id  System
    /dev/vda1  *          1        2611    20970496  83  Linux

Disk /dev/vdb: 107.4 GB, 107374182400 bytes                                       
 #第二块硬盘的信息和分区信息
16 heads, 63 sectors/track, 208050 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
登录后复制

2、创建新硬盘分区

命令:

fdisk /dev/vdb
# fdisk /dev/vdb
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0x1e694286.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.

Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
        switch off the mode (command 'c') and change display units to
        sectors (command 'u').

Command (m for help): n
Command action
  e  extended                               
 #e为创建扩展分区
  p  primary partition (1-4)            
#p为创建逻辑分区
p
Partition number (1-4): 1          
#在这里输入1,就进入划分逻辑分区阶段了;
First cylinder (1-208050, default 1): 1      
#分区的Start 值,这里最好直接按回车,否则可能会造成空间浪费;
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-208050, default 208050): 208050     
 #分区的Over值,我就分一个区
Using default value 208050

Command (m for help): w                            
#最后输入w回车保存退出。
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.
登录后复制

fdisk可以用m命令来看fdisk命令的内部命令;
a:命令指定启动分区;
d:命令删除一个存在的分区;
l:命令显示分区ID号的列表;
m:查看fdisk命令帮助;
n:命令创建一个新分区;
p:命令显示分区列表;
t:命令修改分区的类型ID号;
w:命令是将对分区表的修改存盘让它发生作用;

3、确认新分区信息

命令:

fdisk -l
# fdisk -l
Disk /dev/vda: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0003a7b4

  Device Boot      Start        End      Blocks  Id  System
    /dev/vda1  *          1        2611    20970496  83  Linux

Disk /dev/vdb: 107.4 GB, 107374182400 bytes
16 heads, 63 sectors/track, 208050 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x1e694286

  Device Boot      Start        End      Blocks  Id  System
    /dev/vdb1              1      208050  104857168+  83  Linux         
 #刚创建好的分区信息
登录后复制

4、格式化分区

命令:

mkfs.ext4 /dev/vdb1
# mkfs.ext4 /dev/vdb1
mke2fs 1.41.12 (17-May-2010)
Filesystem label=                  
#文件系统标签
OS type: Linux               
 #操作系统类型
Block size=4096 (log=2)          
#块大小
Fragment size=4096 (log=2)      
#分块大小
Stride=0 blocks, Stripe width=0 blocks
6553600 inodes, 26214292 blocks
1310714 blocks (5.00%) reserved for the super user
First data block=0         
 #第一个数据块
Maximum filesystem blocks=4294967296
800 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, 2654208,
    4096000, 7962624, 11239424, 20480000, 23887872

Writing inode tables: done                          
#写入inode表
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 26 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
登录后复制

Linux的分区类型介绍:
随着Linux系统在现在业务中的应用,Linux文件系统的弱点也渐渐显露出来了,其中系统缺省使用的ext2文件系统是非日志文件系统。这在关键行业的应用是一个致命的弱点.而Ext3文件系统是直接从Ext2文件系统发展而来,目前ext3文件系统已经非常稳定可靠。它完全兼容Ext2文件系统。
Ext3的特点:高可用性、数据的完整性、数据的完整性、数据转换、多种日志模式
同样的Ext4完全兼容Ext3,相对于Ext3来说,Ext4支持更大的存储,Ext3目前所支持的最大16TB文件系统和最大2TB文件,而Ext4分别支持1EB的文件系统,以及16TB 的文件,还有就是Ext3目前只支持32,000个子目录,而Ext4支持无限数量的子目录,Ext4引入了现代文件系统中流行的extents概念,每个 extent 为一组连续的数据块,上述文件则表示为“该文件数据保存在接下来的25,600个数据块中”,提高了不少效率。

5、创建挂载目录

命令:

mkdir /data
登录后复制

6、挂载分区

命令:

mount /dev/vdb1 /data
登录后复制

7、查看硬盘大小以及挂载分区

命令:

df -Th
# df -Th
Filesystem    Type  Size  Used Avail Use% Mounted on
/dev/vda1      ext4    20G  1.1G  18G  6% /
tmpfs          tmpfs  3.9G    0  3.9G  0% /dev/shm
/dev/vdb1      ext4    99G  60M  94G  1% /data         
 #新挂载的分区
登录后复制

8、配置开机自动挂载

命令:

vim /etc/fstab /dev/vdb1 /data ext4 defaults 1 1
# blkid
/dev/vda1: UUID="b7aae0d4-268c-4b60-914a-f3b48e22819c" TYPE="ext4"
/dev/vdb1: UUID="5de835dd-5322-46f0-8728-3d4ae7d83b54" TYPE="ext4"
# cat /etc/fstab
#
# 
/etc/fstab
# Created by anaconda on
 Tue Mar 27 04:51:55 2018
#
# 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=b7aae0d4-268c-4b60-914a-f3b48e22819c      /                      ext4      defaults      1 1
UUID=5de835dd-5322-46f0-8728-3d4ae7d83b54    /data                ext4  defaults    1 1
tmpfs                  /dev/shm                tmpfs  defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                  /sys                    sysfs  defaults        0 0
proc                    /proc                  proc    defaults        0 0
登录后复制

Swap分区

Swap分区其实和Windows上的虚拟内存一样,Swap分区在系统的物理内存不够用的时候,把物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap分区中,等到那些程序要运行时,再从Swap分区中恢复保存的数据到内存中。

下面介绍两种创建swap的方法:
•新建磁盘分区作为swap分区
•用文件作为Swap分区

新建磁盘分区作为swap分区

1.用fdisk命令对磁盘进行分区,添加swap分区,新建分区,在fdisk中用“t”命令将新添的分区id改为82
(Linux swap类型)

2.格式化swap分区,这里的sdb2要看您加完后p命令显示的实际分区设备名

mkswap /dev/sdb1
登录后复制

3.启动新的swap分区

swapon /dev/sdb1
登录后复制

4.让系统启动时能自动启用这个交换分区,可以编辑/etc/fstab,加入下面一行

/dev/sdb1 swap swap defaults 0 0
登录后复制

用文件作为Swap分区

1.创建要作为swap分区的文件:增加1GB大小的交换分区,则命令写法如下,其中的count等于想要的块的数量(bs*count=文件大小)。

dd if=/dev/zero of=/root/swapfile bs=1M count=1024
登录后复制

2.格式化为交换分区文件,建立swap的文件系统:

mkswap /root/swapfile
登录后复制

3.用交换分区文件:

swapon /root/swapfile
登录后复制

4.使系统开机时自启用,在文件/etc/fstab中添加一行:

/root/swapfile swap swap defaults 0 0
登录后复制

总之,针对 Linux 的硬盘管理工具非常多样且强大。对于初学者来说,使用基本命令就足够 daily 使用了。对于想要更深入了解的用户,还有许多高级的方法和技巧等待着你去探索。希望这篇文章能够对你有所帮助,让你在使用 Linux 系统时更加得心应手。

以上是硬盘存储之王者Linux – 如何优雅地管理硬盘?的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1659
14
CakePHP 教程
1416
52
Laravel 教程
1310
25
PHP教程
1258
29
C# 教程
1232
24
Linux体系结构:揭示5个基本组件 Linux体系结构:揭示5个基本组件 Apr 20, 2025 am 12:04 AM

Linux系统的五个基本组件是:1.内核,2.系统库,3.系统实用程序,4.图形用户界面,5.应用程序。内核管理硬件资源,系统库提供预编译函数,系统实用程序用于系统管理,GUI提供可视化交互,应用程序利用这些组件实现功能。

vscode终端使用教程 vscode终端使用教程 Apr 15, 2025 pm 10:09 PM

vscode 内置终端是一个开发工具,允许在编辑器内运行命令和脚本,以简化开发流程。如何使用 vscode 终端:通过快捷键 (Ctrl/Cmd ) 打开终端。输入命令或运行脚本。使用热键 (如 Ctrl L 清除终端)。更改工作目录 (如 cd 命令)。高级功能包括调试模式、代码片段自动补全和交互式命令历史。

git怎么查看仓库地址 git怎么查看仓库地址 Apr 17, 2025 pm 01:54 PM

要查看 Git 仓库地址,请执行以下步骤:1. 打开命令行并导航到仓库目录;2. 运行 "git remote -v" 命令;3. 查看输出中的仓库名称及其相应的地址。

vscode上一步下一步快捷键 vscode上一步下一步快捷键 Apr 15, 2025 pm 10:51 PM

VS Code 一步/下一步快捷键的使用方法:一步(向后):Windows/Linux:Ctrl ←;macOS:Cmd ←下一步(向前):Windows/Linux:Ctrl →;macOS:Cmd →

sublime写好代码后如何运行 sublime写好代码后如何运行 Apr 16, 2025 am 08:51 AM

在 Sublime 中运行代码的方法有六种:通过热键、菜单、构建系统、命令行、设置默认构建系统和自定义构建命令,并可通过右键单击项目/文件运行单个文件/项目,构建系统可用性取决于 Sublime Text 的安装情况。

notepad怎么运行java代码 notepad怎么运行java代码 Apr 16, 2025 pm 07:39 PM

虽然 Notepad 无法直接运行 Java 代码,但可以通过借助其他工具实现:使用命令行编译器 (javac) 编译代码,生成字节码文件 (filename.class)。使用 Java 解释器 (java) 解释字节码,执行代码并输出结果。

Linux的主要目的是什么? Linux的主要目的是什么? Apr 16, 2025 am 12:19 AM

Linux的主要用途包括:1.服务器操作系统,2.嵌入式系统,3.桌面操作系统,4.开发和测试环境。Linux在这些领域表现出色,提供了稳定性、安全性和高效的开发工具。

laravel安装代码 laravel安装代码 Apr 18, 2025 pm 12:30 PM

要安装 Laravel,需依序进行以下步骤:安装 Composer(适用于 macOS/Linux 和 Windows)安装 Laravel 安装器创建新项目启动服务访问应用程序(网址:http://127.0.0.1:8000)设置数据库连接(如果需要)

See all articles