Linux 基础(七)常用命令 - 磁盘分区命令

磁盘分区命令

    • 磁盘相关命令
      • du
      • df
      • free
      • tree
    • 分区相关命令
      • 查看设备挂载明细
      • 挂载/卸载 分区
        • 挂载
        • 卸载
        • 持久挂载
      • 分区
        • 查看当前分区详情
        • 对硬盘分区
          • 分区
          • 为新分区构建文件系统
          • 给新分区挂载一个目录
    • 常见文件系统类型

磁盘相关命令

du

查看目录或者文件占用;默认会递归查询子目录占用

du [opts] 文件/目录

常用参数如下

命令功能
-a展示目录大小,同时展示内部文件大小
-c展示总和
-d设置递归目录层数,默认展示所有子目录情况; -d 2等同于 --max-depth=2
-h以人类易读单位展示

df

查看磁剩余空间

基本语法
df -h (以认类易读单位展示)

[root@test-centos abc]# df -h
Filesystem               Size  Used Avail Use% Mounted on
devtmpfs                 894M     0  894M   0% /dev
tmpfs                    910M     0  910M   0% /dev/shm
tmpfs                    910M   11M  900M   2% /run
tmpfs                    910M     0  910M   0% /sys/fs/cgroup
/dev/mapper/centos-root   40G  8.5G   32G  22% /
/dev/sda1                497M  339M  158M  69% /boot
tmpfs                    182M   12K  182M   1% /run/user/42
tmpfs                    182M     0  182M   0% /run/user/0

以上挂载点除了 / 和 /boot 其他都是系统运行时基于内存的占用
/dev/sda1 分区 挂载到 /boot 目录
剩余的空间默认 /dev/sda2 分区 挂载到 / 目录,只是这里没有完全展示分区2的信息,它里面包括了 swap 分区

free

查看当前内存使用情况

基本语法

free -h

tree

以树形结构展示指定目录下的文件(夹),默认展示当前目录

tree [opts] 目录

分区相关命令

查看设备挂载明细

lsblk -f (额外显式文件系统类型,并显式系统信息)

可以看到

[root@test-centos ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   50G  0 disk
├─sda1            8:1    0  500M  0 part /boot
└─sda2            8:2    0   42G  0 part├─centos-root 253:0    0   40G  0 lvm  /└─centos-swap 253:1    0    2G  0 lvm  [SWAP]
sr0              11:0    1 10.3G  0 rom
  • 一块硬盘 sda 类型为 disk
    • 下面划了了两个分区 sda1 sda2
      • sda1 挂载到了 /root 目录
      • sda2 没有显式挂载目录,由centos 自动分数据卷分别挂载到 / 和 swap 分区
  • sr0 为加载系统iso的光驱,一个只读设备

硬盘类型及名称 sda类型
SATA 硬盘 sda sdb
SCSI 硬盘 sda sdb
IDE 硬盘 hda hda
虚拟盘 vda vdb

挂载/卸载 分区

将指定的分区挂载到文件系统的一个目录,方可使用该分区。
之后该目录下的所有数据均存放到挂载的分区上。
VM 连接上CDROM 后,默认会将其挂载到 /run/media/root/ 目录下

挂载

命令 mount
基本语法

mount [opts] 分区/设备 或者 挂载点(要挂载的目录)

-t 指定文件系统类型:见最后
-o 指定挂载方式:挂载方式很多;常用: ro 只读,rw读写。

卸载

命令 umount
基本语法

umount 分区/设备名称 或者 挂载点(当前挂载的目录)

持久挂载

mount 和 umount 都是临时挂载/卸载,一旦系统重启,则不会生效。
要实现持久挂载;

最简单的方式,可以修改 /etc/fstab 文件,追加以下内容

# <设备或者设备UUID> <挂载点> <文件系统类型> <挂载选项> <备份频率> <系统引导时顺序>
/dev/sdb1  /mnt/data  ext4  defaults  0  0
UUID=29286fae-66bb-4345-923e-aab0529e1492 /boot xfs defaults 0 0

同样,要持久移除挂载,则删除这里面的配置即可。
当然还有其他的方法:

  • 系统服务
    创建一个系统服务 xxx.amount
[Unit]
Description=Mount Data Directory[Mount]
What=<设备>
Where=<挂载点>
Type=<文件系统类型>
Options=<挂载选项>[Install]
WantedBy=multi-user.target

然后将此服务设为开机启动即可。

  • 第三方软件可以实现;如:autofs

分区

命令 fdisk (格式化 硬盘 分区 format disk),需root权限

查看当前分区详情

fdisk -l[root@test-centos ~]# fdisk -lDisk /dev/sda: 53.7 GB, 53687091200 bytes, 104857600 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x000de887Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     1026047      512000   83  Linux
/dev/sda2         1026048    89122815    44048384   8e  Linux LVMDisk /dev/mapper/centos-root: 42.9 GB, 42949672960 bytes, 83886080 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytesDisk /dev/mapper/centos-swap: 2147 MB, 2147483648 bytes, 4194304 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

对硬盘分区

fdisk 硬盘设备名称(/dev/sda)

一块硬盘最多只能有4个主分区。这是由于硬盘的主引导记录(MBR)分区表最多只能容纳4个分区的信息。如果需要划分更多的分区,可以使用扩展分区逻辑分区的组合。扩展分区可以容纳多个逻辑分区,从而扩展硬盘的分区数量。

分区
  • fdisk /dev/sdb
[root@test-centos ~]# fdisk /dev/sdb
Welcome to fdisk (util-linux 2.23.2).Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0x79c79dc0.Command (m for help): m
Command actiona   toggle a bootable flagb   edit bsd disklabelc   toggle the dos compatibility flagd   delete a partitiong   create a new empty GPT partition tableG   create an IRIX (SGI) partition tablel   list known partition typesm   print this menun   add a new partitiono   create a new empty DOS partition tablep   print the partition tableq   quit without saving changess   create a new empty Sun disklabelt   change a partition's system idu   change display/entry unitsv   verify the partition tablew   write table to disk and exitx   extra functionality (experts only)
# n:创建新分区
Command (m for help): n
Partition type:p   primary (0 primary, 0 extended, 4 free)e   extended# 主分区
Select (default p): p
# 分区编号
Partition number (1-4, default 1):
# 开始扇区
First sector (2048-41943039, default 2048):
Using default value 2048# 结束扇区
Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039):
Using default value 41943039
Partition 1 of type Linux and of size 20 GiB is set# 保存
Command (m for help): w
The partition table has been altered!Calling ioctl() to re-read partition table.
Syncing disks.

此时,分区已经创建,我们可以看到,/dev/sdb1,但是该分区还没有分配文件系统

[root@test-centos ~]# lsblk -f
NAME            FSTYPE      LABEL           UUID                                   MOUNTPOINT
sda
├─sda1          xfs                         29286fae-66bb-4345-923e-aab0529e1492   /boot
└─sda2          LVM2_member                 ZkuLJx-EoFT-SFoW-YKy3-iM4U-ltPy-3Apnor├─centos-root xfs                         0c0fbebe-917f-42c6-8939-77b6be5e19ef   /└─centos-swap swap                        555aa69d-9a48-4402-a1e0-a2097ba087e2   [SWAP]
sdb
└─sdb1
sr0             iso9660     CentOS 7 x86_64 2019-09-09-19-08-41-00
为新分区构建文件系统

命令:mkfs [opts] 分区名称
参数: -t 指定文件系统类型

[root@test-centos ~]# mkfs -t xfs /dev/sdb1
meta-data=/dev/sdb1              isize=512    agcount=4, agsize=1310656 blks=                       sectsz=512   attr=2, projid32bit=1=                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=5242624, 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

现在再看设备信息,可以看到已经有了文件系统类型和UUID了,接下来只需要给分区 /dev/sdb1 挂载一个目录就行了

[root@test-centos ~]# lsblk -f
NAME            FSTYPE      LABEL           UUID                                   MOUNTPOINT
sda
├─sda1          xfs                         29286fae-66bb-4345-923e-aab0529e1492   /boot
└─sda2          LVM2_member                 ZkuLJx-EoFT-SFoW-YKy3-iM4U-ltPy-3Apnor├─centos-root xfs                         0c0fbebe-917f-42c6-8939-77b6be5e19ef   /└─centos-swap swap                        555aa69d-9a48-4402-a1e0-a2097ba087e2   [SWAP]
sdb
└─sdb1          xfs                         ca750669-3e3b-473a-b112-eb461ed3c6bd
sr0             iso9660     CentOS 7 x86_64 2019-09-09-19-08-41-00
给新分区挂载一个目录
  1. 创建一个用于测试的目录
mkdir /opt/test_sdb1
  1. 将 分区 /dev/sdb1 挂载到目录 /opt/test_sdb1
mount /dev/sdb1 /opt/test_sdb1
  1. 再查看设备挂载信息,可以看到已经成功挂载
[root@test-centos test_sdb1]# lsblk -f
NAME            FSTYPE      LABEL           UUID                                   MOUNTPOINT
sda
├─sda1          xfs                         29286fae-66bb-4345-923e-aab0529e1492   /boot
└─sda2          LVM2_member                 ZkuLJx-EoFT-SFoW-YKy3-iM4U-ltPy-3Apnor├─centos-root xfs                         0c0fbebe-917f-42c6-8939-77b6be5e19ef   /└─centos-swap swap                        555aa69d-9a48-4402-a1e0-a2097ba087e2   [SWAP]
sdb
└─sdb1          xfs                         ca750669-3e3b-473a-b112-eb461ed3c6bd   /opt/test_sdb1
sr0             iso9660     CentOS 7 x86_64 2019-09-09-19-08-41-00
  1. 测试,在目录 /opt/test_sdb1 下创建一个文件后,看是否写入指定分区
    先查看分区占用
[root@test-centos test_sdb1]# df -h
Filesystem               Size  Used Avail Use% Mounted on
devtmpfs                 894M     0  894M   0% /dev
tmpfs                    910M     0  910M   0% /dev/shm
tmpfs                    910M   11M  900M   2% /run
tmpfs                    910M     0  910M   0% /sys/fs/cgroup
/dev/mapper/centos-root   40G  8.5G   32G  22% /
/dev/sda1                497M  339M  158M  69% /boot
tmpfs                    182M   12K  182M   1% /run/user/42
tmpfs                    182M     0  182M   0% /run/user/0
/dev/sdb1                 20G   33M   20G   1% /opt/test_sdb1

随便传了个 40+M 的文件到 上述目录,再查看分区占用,可以看到文件确实写入 /dev/sdb1 分区

[root@test-centos test_sdb1]# df -h
Filesystem               Size  Used Avail Use% Mounted on
devtmpfs                 894M     0  894M   0% /dev
tmpfs                    910M     0  910M   0% /dev/shm
tmpfs                    910M   11M  900M   2% /run
tmpfs                    910M     0  910M   0% /sys/fs/cgroup
/dev/mapper/centos-root   40G  8.5G   32G  22% /
/dev/sda1                497M  339M  158M  69% /boot
tmpfs                    182M   12K  182M   1% /run/user/42
tmpfs                    182M     0  182M   0% /run/user/0
/dev/sdb1                 20G   78M   20G   1% /opt/test_sdb1

常见文件系统类型

  • ext4:是Linux上最常用的文件系统类型,支持大容量文件和分区。

  • ext3:是ext4的前身,也是常见的Linux文件系统类型之一,支持日志记录和回滚功能。

  • ext2:是ext3的前身,是较旧的Linux文件系统类型,不支持日志记录功能。

  • XFS:是高性能的文件系统类型,适用于大型文件和高吞吐量的应用场景。

  • Btrfs:是基于COW(写时复制)技术的新兴文件系统类型,具有快照和数据压缩功能。

  • NTFS:是Windows系统中常用的文件系统类型,Linux可以通过ntfs-3g驱动来挂载和读写NTFS分区。

  • FAT32:是用于较小存储设备的文件系统类型,具有广泛的兼容性。

  • HFS+:是Mac OS X系统中常用的文件系统类型,Linux可以通过hfsplus驱动来挂载和读写HFS+分区。

  • ISO 9660:是用于光盘镜像文件的文件系统类型,常用于挂载ISO镜像文件。

  • NFS:是一种网络文件系统类型,允许通过网络挂载和访问远程文件系统。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/33969.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于扩频的数字视频水印嵌入和检测算法matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.部分核心程序 ................................................................. for j 1:length(attens…

OpenCV实例(八)车牌字符识别技术(三)汉字识别

车牌字符识别技术&#xff08;三&#xff09;汉字识别 1.代码实例2.遇到问题3.汉字识别代码实例 相较于数字和英文字符的识别&#xff0c;汽车牌照中的汉字字符识别的难度更大&#xff0c;主要原因有以下4个方面&#xff1a; (1)字符笔画因切分误差导致非笔画或笔画流失。 (2…

安装使用IDEA,修改样式,配置服务,构建Maven项目(超级详细版)

目录 前言&#xff1a; 一&#xff0c;安装 1.1打开官网JetBrains: Essential tools for software developers and teams点击 Developer Tools&#xff0c;再点击 Intellij IDEA 2.点击下载​编辑 3.选择对应的版本&#xff0c;左边的 Ultimate 版本为旗舰版&#xff0c;需要…

阿里云服务器搭建Magento电子商务网站图文教程

本文阿里云百科分享使用阿里云服务器手动搭建Magento电子商务网站全流程&#xff0c;Magento是一款开源电商网站框架&#xff0c;其丰富的模块化架构体系及拓展功能可为大中型站点提供解决方案。Magento使用PHP开发&#xff0c;支持版本范围从PHP 5.6到PHP 7.1&#xff0c;并使…

MySQL数据库表的增删查改 - 进阶

一&#xff0c;数据库约束 1.1 约束对象 not null - 该列不能为空unique - 保证该列的每一行都不一样default - 规定没有给列赋值时的默认值&#xff08;自定义&#xff09;primary key - not null 和 unique 的结合&#xff0c;会给该列添加一个索引&#xff0…

CSS3 新特性

圆角阴影文字阴影线性渐变变换&#xff08;transform&#xff09;背景rgba伪元素&#xff1a;伪类 伪元素区别动画&#xff08;animate&#xff09;

中科亿海微浮点数转换定点数

引言 浮点数转换定点数是一种常见的数值转换技术&#xff0c;用于将浮点数表示转换为定点数表示。浮点数表示采用指数和尾数的形式&#xff0c;可以表示较大范围的数值&#xff0c;但存在精度有限的问题。而定点数表示则采用固定小数点位置的形式&#xff0c;具有固定的精度和范…

走进知识图谱(二)【世界知识图谱篇】知识表示的经典模型与平移模型及基于复杂关系建模的知识表示学习

上篇文章提到&#xff0c;该系列文章将主要围绕世界知识图谱和语言知识图谱这两大类知识图谱进行展开&#xff0c;并且提到知识图谱的主要研究包括了知识表示学习、知识自动获取和知识的推理与应用三大部分。今天主要介绍世界知识图谱的知识表示学习&#xff0c;其中包括经典的…

Android 13 Launcher——长按图标弹窗内容修改以及小组件等隐藏起来

目录 一.背景 二.实现思路 三.布局文件修改 四.隐藏代码中原先的view 一.背景 由于定制化开发需要将原先的长按图标原生弹窗界面隐藏,然后显示自定义的弹窗界面,如下就是我们来实现自定义的弹窗界面

redis Set类型命令

Redis中的Set是一种无序、不重复的集合数据结构&#xff0c;它提供了一系列的操作命令用于对Set进行添加、删除和查找等操作。以下是Redis中Set类型常见的一些命令&#xff1a; SADD key member [member …]&#xff1a;将一个或多个成员添加到指定的集合中。 示例&#xff1a;…

day-18 代码随想录算法训练营(19)二叉树 part05

513.找树左下角的值 思路一&#xff1a;层序遍历&#xff0c;每一层判断是不是最后一层&#xff0c;是的话直接返回第一个; 如何判断是不是最后一层呢&#xff0c;首先队列头部&#xff0c;其次记录左右子节点都没有的节点数是不是等于que.size()&#xff1b;或…

【ARM 嵌入式 编译系列 6 -- GCC objcopy, objdump, readelf, nm 介绍】

文章目录 GCC objcopy 简介objcopy 常用参数 GCC objdump 简介GCC readelf 介绍GCC nm 介绍 GCC objcopy 简介 objcopy 是 GNU二进制工具集(binutils)的一部分&#xff0c;主要用于复制和转换目标文件。 在ARM GCC中&#xff0c;arm-none-eabi-objcopy通常用于从链接后的ELF格…

C语言 字符指针

1、介绍 概念&#xff1a; 字符指针&#xff0c;就是字符类型的指针&#xff0c;同整型指针&#xff0c;指针指向的元素表示整型一样&#xff0c;字符指针指向的元素表示的是字符。 假设&#xff1a; char ch a;char * pc &ch; pc 就是字符指针变量&#xff0c;字符指…

数据库--数据类型

数据库相关链接&#xff1a; 数据库基础操作--增删改查&#xff1a;http://t.csdn.cn/189CF 数据库--三大范式、多表查询、函数sql&#xff1a;http://t.csdn.cn/udJSG 数据类型 创建表的时候&#xff0c;我们在类型这里给出了不同的选项&#xff0c;比如有int &#xff0c;…

python num循环怎么从1开始

如何实现python for循环从1开始&#xff1f; range()函数的作用和用法&#xff1a; 编写一个从数值1开始的循环&#xff1a; 执行后得到的结果 其他注意事项

HCIA---动态路由---RIP协议

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 目录 前言 一.动态路由 二.动态路由协议分类 IGP&#xff1a;内部网关协议 EGP:外部网关协议 三.RIP协议概述 RIP版本分类&#xff1a; RIP三要素&#xff1a; RIP…

3.0 Python 迭代器与生成器

当我们需要处理一个大量的数据集合时&#xff0c;一次性将其全部读入内存并处理可能会导致内存溢出。此时&#xff0c;我们可以采用迭代器Iterator和生成器Generator的方法&#xff0c;逐个地处理数据&#xff0c;从而避免内存溢出的问题。 迭代器是一个可以逐个访问元素的对象…

【LeetCode】870 . 优势洗牌

870 . 优势洗牌 方法&#xff1a;贪心 思路 这道题的思想类似于 “田忌赛马” &#xff0c;把 nums1 当成是田忌的马&#xff0c;nums2 当成是齐威王的马。 讨论田忌的下等马&#xff08;nums1 的最小值&#xff09;&#xff1a; 如果它能比过齐威王的下等马&#xff08;nums…

Java设计模式之策略模式

1. 策略模式介绍 1、根据它来避免 if-else 或 switch 分支判断&#xff0c;避免使用多重条件转移语句&#xff1b; 2、支持“开闭原则”&#xff0c;可以在原有基础上选择行为方法&#xff0c;同时允许增加行为方法。 2. 策略模式结构类 ① 接口或抽象类&#xff1a;自定义接口…