草庐IT

【Linux】磁盘分区和挂载

执久呀 2023-04-13 原文

目录

 Linux磁盘分区和挂载

linux分区

 查看所有设备挂载情况

 挂载案例

步骤1:新建一块硬盘

操作步骤2: 虚拟机硬盘分区

 步骤3:虚拟机硬盘分区格式化

 步骤4:将磁盘挂载到根目录下newdisk目录下

mount挂载

umount取消挂载

步骤5:实现永久挂载(即重启不消失)

 df -h查询磁盘使用情况

 du -h查询指定目录磁盘占用情况

一些实用指令


 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站

前言 – 床长人工智能教程正在上传…重新上传取消https://www.cbedai.net/gkbskchttps://www.cbedai.net/gkbskc

 Linux磁盘分区和挂载

linux分区

原理介绍

1、Linux来说wulun有几个分区,分给哪一目录使用,他归根结底只有一个根目录,一个独立且唯一的文件结构,Linux中每个分区都是用来组成整个文件系统的一部分。

2、Linux采用了一种叫"载入"的处理方法,它的整个文件系统中包含了一整套的文件和目录,且将一个分区和一个目录联系起来,这是要载入的一个分区将使它的存储空间在一个,目录下获得。

分区和文件关系示意图: 

硬盘说明

1、Linux硬盘分IDE硬盘和SCSI硬盘,目前基本上是SCSI硬盘

2、对于IDE硬盘,驱动器标识符为"hdx~",其中"hd"表明分区所在设备的类型,这里是指IDE硬盘了。"x"为盘号(a为基本盘,b为基本从属盘,c为辅助主盘,d为辅助从属盘),"~"代表分区,前四个分区用数字1到4表示,它们是主分区或扩展分区,从5开始就是逻辑分区。例,hda3表示为第一个IDE硬盘上的第三个主分区或扩展分区,hdb2表示为第二个IDE硬盘上的第二个主分区或扩展分区。

3、对于SCSI硬盘则标识为"sdx~",SCSI硬盘是用"sd"来表示分区所在设备的类型的,其余则和IDE硬盘的表示方法一样(x可以为abcd分别对应第1、2、3、4块硬盘)。

 查看所有设备挂载情况

指令:lsblk 或者lsblk -f

[root@kongchao03 ~]# lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0    20G  0 disk 
├─sda1   8:1    0  1023M  0 part /boot
├─sda2   8:2    0    17G  0 part /
└─sda3   8:3    0     2G  0 part [SWAP]
sr0     11:0    1 729.9M  0 rom  /run/media/root/20210907_143734
[root@kongchao03 ~]# 

 

 这里sda1、2、3分别代表第一块硬盘的第一分区第二分区... 

 挂载案例

步骤1:新建一块硬盘

在虚拟机菜单中,设置增加一块硬盘,完成后重启可以生效识别

使用lsblk命令查看 

操作步骤2: 虚拟机硬盘分区

分区指令:fdisk   /dev/sdb

开始对sdb分区

m        显示命令列表

p        显示磁盘分区同fdisk -l

n        新增分区

d        删除分区

w        写入并退出

说明:开始分区后输入n,新增分区,然后选择p,分区类型为主分区。两次回车默认剩余全部空间,最后输入w写入分区并退出,若不保存退出输入q

[root@kongchao03 ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

Device does not contain a recognized partition table
使用磁盘标识符 0xdf03b737 创建新的 DOS 磁盘标签。

命令(输入 m 获取帮助):m            
命令操作
   a   toggle a bootable flag
   b   edit bsd disklabel
   c   toggle the dos compatibility flag
   d   delete a partition
   g   create a new empty GPT partition table
   G   create an IRIX (SGI) partition table
   l   list known partition types
   m   print this menu
   n   add a new partition
   o   create a new empty DOS partition table
   p   print the partition table
   q   quit without saving changes
   s   create a new empty Sun disklabel
   t   change a partition's system id
   u   change display/entry units
   v   verify the partition table
   w   write table to disk and exit
   x   extra functionality (experts only)

命令(输入 m 获取帮助):n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
分区号 (1-4,默认 1):1
起始 扇区 (2048-2097151,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-2097151,默认为 2097151):
将使用默认值 2097151
分区 1 已设置为 Linux 类型,大小设为 1023 MiB

命令(输入 m 获取帮助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@kongchao03 ~]# 

 步骤3:虚拟机硬盘分区格式化

格式化磁盘,格式化之后才会分配UUID

格式化指令:mkfs  -t  ext4     /dev/sdb1

其中ext4是分区类型

 mkfs -t ext4 /dev/sdb1
lsblk -f

 步骤4:将磁盘挂载到根目录下newdisk目录下

(也可以到其他目录下)

挂载:将一个分区与一个目录联系起来,

mount挂载

挂载语法:mount   设备名称    挂载目录   (挂载目录是任意的)

[root@kongchao03 ~]# cd /
[root@kongchao03 /]# mkdir newdisk
[root@kongchao03 /]# mount /dev/sdb1 /newdisk
[root@kongchao03 /]# lsblk -f

 cd 进入挂载点,在其中创建文件,实则是在分区上新建了一个文件

 linux根下的存放只是目录,真正存放数据还是在硬盘中的分区

umount取消挂载

语法:

umount  挂载点 

或umount  设备名

 umount /dev/sdb1

lsblk -f

 用命令行挂载(mount /dev...),重启后会失效,即重启后挂载点消失

步骤5:实现永久挂载(即重启不消失)

永久挂载的本质是自动挂载上

永久挂载:通过修改  /etc/fstab实现挂载

添加完成后执行mount -a或reboot即可生效

[root@kongchao03 /]# vim /etc/fstab 
[root@kongchao03 /]# mount -a

 df -h查询磁盘使用情况

[root@kongchao03 ~]# df -h
文件系统        容量  已用  可用 已用% 挂载点
/dev/sda2        17G  5.8G   11G   37% /
devtmpfs        978M     0  978M    0% /dev
tmpfs           993M     0  993M    0% /dev/shm
tmpfs           993M  9.0M  984M    1% /run
tmpfs           993M     0  993M    0% /sys/fs/cgroup
/dev/sdb1       991M  2.6M  922M    1% /newdisk
/dev/sda1       991M  128M  797M   14% /boot
tmpfs           199M   20K  199M    1% /run/user/0
/dev/sr0        730M  730M     0  100% /run/media/root/20210907_143734
[root@kongchao03 ~]# 

 du -h查询指定目录磁盘占用情况

指令: du [参数]   /目录(查询指定目录的磁盘占用情况,默认为当前目录)

参数选项:

参数含义
-s指定目录占用大小汇总
-h带计量单位
-a含文件
--max-depth=1子目录的深度
-c列出明细的同时,增加汇总值

 参数可以联合使用

示例:查询/opt目录的磁盘占用情况,深度为1

[root@kongchao03 /]# cd /opt
[root@kongchao03 opt]# ls
rh
[root@kongchao03 opt]# du -h --max-depth=1 /opt
4.0K	/opt/rh
8.0K	/opt
[root@kongchao03 opt]# 

 参数联合起来使用:

[root@kongchao03 opt]# du -hac --max-depth=1 /opt
4.0K	/opt/rh
8.0K	/opt
8.0K	总用量

有关【Linux】磁盘分区和挂载的更多相关文章

  1. Ruby rpartition 与分区? - 2

    rpartition和partition有什么区别?我已经阅读了文档,但我认为它们是一样的。只是那些出现在后来的ruby​​版本中吗? 最佳答案 以下示例将有助于识别差异:"abccba".partition("b")#=>["a","b","ccba"]"abccba".rpartition("b")#=>["abcc","b","a"]所以区别在于rpartition搜索最右边的匹配项,而不是最左边的匹配项。 关于Rubyrpartition与分区?,我们在StackOverflow

  2. 【Linux操作系统】——网络配置与SSH远程 - 2

    Linux操作系统——网络配置与SSH远程安装完VMware与系统后,需要进行网络配置。第一个目标为进行SSH连接,可以从本机到VMware进行文件传送,首先需要进行网络配置。1.下载远程软件首先需要先下载安装一款远程软件:FinalShell或者xhell7FinalShellxhell7FinalShell下载:Windows下载http://www.hostbuf.com/downloads/finalshell_install.exemacOS下载http://www.hostbuf.com/downloads/finalshell_install.pkg2.配置CentOS网络安装好

  3. Linux磁盘分区中物理卷(PV)、卷组(VG)、逻辑卷(LV)创建和(LVM)管理 - 2

    文章目录一基础定义二创建逻辑卷2-1准备物理设备2-2创建物理卷2-3创建卷组2-4创建逻辑卷2-5创建文件系统并挂载文件三扩展卷组和缩减卷组3-1准备物理设备3-2创建物理卷3-3扩展卷组3-4查看卷组的详细信息以验证3-5缩减卷组四扩展逻辑卷4-1检查卷组是否有可用的空间4-2扩展逻辑卷4-3扩展文件系统五删除逻辑卷5-1备份数据5-2卸载文件系统5-3删除逻辑卷5-4删除卷组5-5删除物理卷六LVM逻辑卷缩容6-1缩容注意事项6-2标准缩容步骤一基础定义LVM,LogicalVolumeManger,逻辑卷管理,Linux磁盘分区管理的一种机制,建立在硬盘和分区上的一个逻辑层,提高磁盘分

  4. ruby - 如何在 Ruby 中获取 linux 系统信息 - 2

    如何在Ruby中获取linux系统(这必须适用于Fedora、Ubuntu等)的软件/硬件信息? 最佳答案 Chef背后的优秀人才,拥有一颗名为Ohai的优秀gemhttps://github.com/opscode/ohai以散列形式返回系统信息,例如操作系统、内核、规范、fqdn、磁盘、空间、内存、用户、接口(interface)、sshkey等。它非常完整,非常好。它还会安装命令行二进制文件(也称为ohai)。 关于ruby-如何在Ruby中获取linux系统信息,我们在Stack

  5. ruby - rbenv:在 Linux Mint 上找不到 gem 命令 - 2

    我在LinuxMint17.2上。我最近使用apt-getpurgeruby​​删除了ruby​​。然后我安装了rbenv然后rbenvinstall2.3.0所以现在,~/.rbenv/versions/2.3.0/bin/ruby存在。但是现在,我无法执行geminstallrubocop。我明白了:$geminstallrubocoprbenv:gem:commandnotfoundThe`gem'commandexistsintheseRubyversions:2.3.0但是我可以~/.rbenv/versions/2.3.0/bin/geminstallrubocop。但是,

  6. ruby - 在 Linux 上编译 Ruby 1.9.2 所需的先决条件? - 2

    我是Ruby和RoR的新手。我有一个带有Ubuntu镜像的干净Linode实例,我想从源代码编译Ruby而不是使用apt-get。我已经在谷歌上搜索了执行此操作的说明,但经过一些尝试后,当我尝试运行一些教程示例时,我不断收到有关缺少zlib和其他一些包的错误。任何人都可以给我详细的说明(或链接),教我如何在从源代码编译Ruby之前安装必要的必备包吗?我的目的是编译Ruby的最新稳定版本,然后安装Rubygems和Rails。提前感谢您的帮助!!! 最佳答案 Thisblogpost涵盖从源代码编译ruby​​所需的包和安装过程;它引

  7. python - 用于从 Python 到 Ruby 查找集合的所有分区的翻译函数 - 2

    我有以下python函数来递归查找集合的所有分区:defpartitions(set_):ifnotset_:yield[]returnforiinxrange(2**len(set_)/2):parts=[set(),set()]foriteminset_:parts[i&1].add(item)i>>=1forbinpartitions(parts[1]):yield[parts[0]]+bforpinpartitions(["a","b","c","d"]):print(p)有人可以帮我把它翻译成ruby​​吗?这是我目前所拥有的:defpartitions(set)ifnots

  8. Linux网络编程必备的POSIX API的细节 - 2

    目录POSIXAPI大集合五元组三次握手的过程,内核协议栈分析listen函数DDOS攻击,洪水攻击DDOS攻击的应对措施数据发送 怎么保证顺序?如何保证包地顺序到达(序号+确认应答机制+重传)TCP断开连接的过程问题1.大量的CLOSE_WAIT+FIN_WAIT2是为啥?time_wait状态存在的原因?POSIXAPI大集合五元组(sip,sport,dip,dport,protocol)三次握手的过程,内核协议栈分析内核协议栈中是有内核数据结构的.  我们send/write数据,都是先发送到内核协议栈中,然后由内核协议栈封装发送到物理介质中传输到对端的对端的接收过程也是经有内核协议栈

  9. Linux export 命令及如何删除export设置的环境变量 - 2

    背景:Linuxexport命令用于设置或显示环境变量。在shell中执行程序时,shell会提供一组环境变量。export可新增,修改或删除环境变量,供后续执行的程序使用。export的效力仅限于该次登陆操作。语法:export[-fnp][变量名称]=[变量设置值]参数说明:-f 代表[变量名称]中为函数名称。-n 删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中。-p 列出所有的shell赋予程序的环境变量。实例:列出当前所有的环境变量#export-p//列出当前的环境变量值定义环境变量赋值#exportMYENV=7//定义环境变量并赋值添加环境变量:默认保存在

  10. Linux操作系统CentOS7安装Nginx[详细版] - 2

    Nginx安装1.官网下载Nginx2.使用XShell和Xftp将压缩包上传到Linux虚拟机中3.解压文件nginx-1.20.2.tar.gz4.配置nginx5.启动nginx6.拓展(修改端口和常用命令)(一)修改nginx端口(二)常用命令1.官网下载Nginxhttp://nginx.org/en/download.html这里我下载的是1.20.2版本,大家按需下载对应稳定版即可2.使用XShell和Xftp将压缩包上传到Linux虚拟机中没有XShell可以参考《Linux操作系统CentOS7连接XShell》3.解压文件nginx-1.20.2.tar.gz1)检查是否存

随机推荐