Linux学习笔记——磁盘管理命令

lsblk(list block devices):其功能是查看系统的磁盘使用情况

df(disk free):列出文件系统的整体磁盘使用量

du(disk used):检查磁盘空间使用量

fdisk:用于磁盘分区(创建分区)

mkfs:创建并构建一个文件系统(格式化)

mount:挂在分区(使用分区,将磁盘挂在到目录树中)


一、lsdlk

查看系统的磁盘使用情况。

语法格式:lsblk        参数

实例:

lsblk        #查看磁盘信息

#添加一个20G的Sata类型的磁盘,和一个30G的NVME类型的硬盘

#注意:添加硬盘,我们要先关闭虚拟机。添加好上面的两个磁盘后,然后再查看磁盘信息

#        sda:表示第一块Sata硬盘,如果有第二块名称将会为sdb,第三块以此类推。

#        sr0:表示第一块光盘,如果是sr1则表示第二块光盘

#        nvme0n1:表示第一块nvme类型的硬盘,nvme0n2表示第二块nvme类型的硬盘

lsblk        -m        #显示系统磁盘设备的归属及权限信息

lsblk        -nl        #以列表格式显示磁盘设备信息,并且不显示标题

二、df命令(看磁盘占用率)

目前还剩多少空间等信息

语法格式:df        [参数]        [目录或者文件名]

实例:

df        #将系统内所有的文件系统列出来

df        -h        #将容量结果以易读的容量格式显示出来

df        -aT        #将系统内所有的特殊文件格式及名称都列出来

df        -h        /etc        #将/etc底下的可用磁盘容量以易读的容量格式显示

df        -T        #查看文件系统类型

三、du命令(看文件)

对文件和目录磁盘你使用的空间的查看。

语法格式:du        [参数]        文件目录名

实例:

du        #只列出当前目录下的所有文件夹容量(包括隐藏文件夹)

du        -h        test        #方便阅读的格式显示test目录所占用的空间情况

du        -a        #将文件的容量也列出来

du        -sm        /*        #检查根目录底下每个目录所占用的容量

du        log2012.log        #显示指定文件所占用的空间

四、fdisk

磁盘分区工具

语法格式:fdisk        [-l]        装置名称

实例:

fdisk        -lu        #列出所有分区的信息

fdisk        /dev/sda        #找出你系统中的根目录所在的磁盘,并查阅该硬盘的相关信息。

  常规命令:
   d   删除分区
   F   列出未分区的空闲区
   l   列出已知分区类型
   n   添加新分区
   p   打印分区表
   t   更改分区类型
   v   检查分区表
   i   打印某个分区的相关信息

分区实验过程:

1、运行以下命令对数据盘进行分区

fdisk        -lu

看到/dev/sda的设备信息如下:

接下来,给这个设备进行分区:

fdisk        -u        /dev/sda

2、输入p查看数据盘的分区情况

本示例中,数据盘未分区。

3、输入n创建新分区

4.输入p选择分区类型为主分区:
说明:创建一个单分区数据盘可以只创建主分区(最多四个主分区)。如果要创建四个以上·             分区,应该至少选择一次e(extended),创建至少一个扩展分区

5.输入分区编号,按回车键

        本示例中,仅创建一个分区,直接按回车键,采用默认值1。

6.输入扇区编号,按回车键

        本示例中,直接按回车键,采用默认值2048。

7.输入最后一个扇区编号,按回车键

        本示例中,仅创建一个分区,直接按回车键,采用默认值。

d        可以删除分区(如果弄错的话)

重新分区时,将最后一个扇区修改为+10G

此时分配的分区大小为10G

还剩10G的分区没有被分配

8、将剩下的分到扩展分区

9、按p进行查看分区情况:

10、按w保存退出

11、查看分区情况:lsblk        或fdisk        -l        /dev/sda

在Linux中,扩展分区不能直接格式化,必须先将扩展分区转换为一个逻辑分区,然后才能对逻辑分区进行格式化。

五、mkfs磁盘格式化

磁盘分割完毕后自然就是要进行文件系统的格式化,格式化的命令为:mkfs(make filesystem)

语法格式:mkfs        [-t  文件系统格式]        装置文件名

参数:-t        可以接受文件系统格式,例如ext3,ext2,vfat等(系统有支持才会生效)

实例:

mkfs        -t        ext4        /dev/sda1        #将刚才已经分的区sda1格式化为ext4文件系统

扩展:

mkfs.ext4        -c        /dev/sda        #检查指定磁盘设备并进行ext4格式化操作

mkfs.xfs        -f        /dev/sda        #强制修改文件系统类型并覆盖

mkfs.ext4        -m        5        /dev/sda        #对指定

mkfs.ext4        -L        'testflag'        -b        2048        /dev/sda        #对磁盘设备进行格式化操作,添加卷标识,并修改块大小。

使用ls        -l        /dev/sda*进行查询时,发现所有的分区实际上还是一个块设备

六、mount命令

Linux的磁盘挂载使用mount命令,卸载使用umount命令。

磁盘挂载语法:

mount        [-t文件系统]        [-L Label名]        [-o 额外选项]        [-n]        装置文件名        挂载点

磁盘卸载命令:

umount语法:umount        [-fn]        装置文件名或挂载点

        -f:强制删除

        -n:不升级

实例:

mount        /dev/sda1        /mnt/linux        #将/dev/sda1挂载到了/mnt/linux这个目录下并且/mnt/linux这个目录占用的空间在/dev/sda1上面

已经将/dev/sda1挂载到/mnt/linux下,占用大小为1%

umount        /mnt/linux        #卸载/mnt/linux(挂载后所有文件将会在挂在的目录下消失,但其内容是在sda1的内存中,下次挂载后就会重新出现)

以上mount都是一次性挂载,若要永久挂载,以下是几种方案:

1、在/etc/fstab文件中写入挂载的信息(不建议)

/dev/sda1        /mnt/linux        ext4                defaults        0        0

挂载的设备      挂载的目录      文件类型        默认权限

#注意:/etc/fstab这个文件一旦写错,则服务器无法启动

2、在/etc/rc.local文件中写入挂载命令,加上执行权限,每次启动系统就会进行自动挂载(推荐)

书写错误,挂载失败不会影响服务器。

#这两个目录随便修改,即可:
vim        /etc/rc.local

vim        /etc/rc.d/rc.local

#写入挂载命令

mount        -t        ext4        /devsda1        /mnt/linux

#给文件/etc/rc.d/rc.local加上执行权限,这样每次系统在启动时候都会执行这个文件的命令

chmod        +x        /etc/rc.d/rc.local

重启后自动挂载成功。

七、分区(了解)

分区格式:

        MBR(Master Boot Record,主引导分区),

                支持4个主分区,或三个主分区和一个扩展分区,分区空间大小最大支持2.2TB

                硬盘的第一个扇区也就是第0个扇区是用来存放主引导记录(MBR)的。

                因此也别称为MBR扇区,一个扇区有512个字节,其中有64字节的分区表。每个                    分区信息需要16字节,所以只能由4个主分区。

        GPT(GUID Partition Table,全局唯一标识分区表),

                最多支持128个分区,且大小支持2.2TB到18EB,并向后兼容MBR,

                他是EFI(可扩展固件接口标准)的一部分,用来替代BIOS中的主引导记录

                分区表,但因为MBR分区表不支持容量大于2.2T的分区,

                所以也有一些BIOS系统为了大容量用GPT取代MBR分区表。

        EFI

                可扩展固件接口是一种个人电脑系统规格,用来定义操作系统与系统韧体之间

                的软件界面,为替代BIOS的升级方案

硬盘分区分为:主磁盘分区,扩展磁盘分区,逻辑分区

一个硬盘可以有一个主分区,一个扩展分区,

也可以只有主分区,没有扩展分区,逻辑分区有若干。

硬盘容量=主分区的容量+扩展分区的容量(硬盘=C盘+其他盘)

扩展分区的容量=各个逻辑分区的容量之和(其他盘=D盘+E盘+等等)

在使用磁盘前,我们需要对磁盘进行分区然后格式化,格式化是针对主分区和逻辑分区的。要格式化是因为这和操作系统管理系统有关系。没有格式化的分区就像一张白纸,要写入数据,必须在白纸上打上“格子”,每个格子里面写一块,而操作系统只认这些格子。

八、逻辑卷(了解)

物理设备一般是指系统存储设备,如:/dev/sda1         /dev/sda2

物理卷(physical volumn,PV),它是由多个分区或整个硬盘组成

卷组(Volumn Group,VG),它可以被看作是单独的逻辑磁盘,一个卷组中至少有一个PV,在卷组创建好了后,可以动态添加PV到卷组中。

逻辑卷(Logical  Volumn,LV)相当与物理分区,他时建立在卷组之上。

1、#创建物理卷的命令为‘pvcreate’要创建物理卷的设备或分区

2、#查看pv

#如果看详情,使用pvdisplay

3、卷组管理(VG)

#卷组创建的命令是:vgcreate        物理卷名称

格式化逻辑卷:mkfs.xfs        /dev/vgtest/lvtest

4、逻辑卷管理(LV)

#逻辑卷管理命令为:lvcreate -n 逻辑卷名称 -L 逻辑卷大小 卷组名称

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

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

相关文章

QT使用eigen

QT使用eigen 1. 下载eigen https://eigen.tuxfamily.org/index.php?titleMain_Page#Download 下载后解压 2. QT引入eigen eigen源码好像只有头文件,因此只需要引入头文件就好了 qt新建项目后。修改pro文件. INCLUDEPATH E:\222078\qt\eigen-3.4.0\eigen-3.…

国内优秀的FPGA设计公司主要分布在哪些城市?

近年来,国内FPGA行业发展迅速,随着5G通信、人工智能、大数据等新兴技术的崛起,FPGA设计企业的需求也迎来了爆发式增长。很多技术人才在求职时都会考虑城市的行业分布和发展潜力。因此,国内优秀的FPGA设计公司主要分布在哪些城市&a…

Linux——rzsz工具

rzsz这个工具用于 windows 机器和远端的 Linux 机器通过 XShell 传输文件. 安装完毕之后可以通过拖拽的方式将文件上传过去. 安装rzsz工具 rz:从Windows机器上传到远程Linux机器(或者直接把文件托进Xshell中) sz:将文件从Linux远…

【linux网络(3)】应用层HTTP协议详解

目录 前言1. 序列化和反序列化2. 认识URL3. 对网络中资源的理解4. HTTP的报文格式5. HTTP方法详解6. HTTP的状态码和header7. HTTP会话管理8. 总结以及拓展 前言 在理解了网络套接字编程后, 后续的文章会从应用层到链路层, 详解的讲解每一层的协议都做了些什么工作, 并且会拆分…

利用JSON数据类型优化关系型数据库设计

利用JSON数据类型优化关系型数据库设计 前言 在关系型数据库中,传统的结构化存储方式要求预先定义好所有的列及其数据类型。 然而,随着业务的发展,这种设计可能会显得不够灵活,尤其是在需要扩展单个列的描述功能时。 JSON数据…

cursor ide配置远程ssh qt c++开发环境过程记录

cursor是啥就不介绍了,好像是目前最好用的ai ide,下面主要是配置远程ssh连接linux机器进行qt5 c程序运行的配置过程记录。 一、c_cpp_properties.json 在项目根目录的.vscode目录里面新建c_cpp_properties.json文件,根据你的实际情况配置该文…

npm:升级自身时报错:EBADENGINE

具体报错信息如下: 1.原因分析 npm和当前的node版本不兼容。 // 当前实际版本: Actual: {"npm":"10.2.4","node":"v20.11.0"}可以通过官网文档查看与自己 node 版本 兼容的是哪一版本的npm,相对应进行更新即可…

Excel中LOOKUP函数的使用

文章目录 VLOOKUP(垂直查找):HLOOKUP(水平查找):LOOKUP(基础查找):XLOOKUP(高级查找,较新版本Excel提供): 在Excel中&…

Verilog中if语句和case语句综合出的电路区别

区别是 if else 的逻辑判断有优先级,最内层的 if 的优先级最高,case 的逻辑判断是并列的。 每个 if else 综合出来的电路是一个 2 选 1 选通器。当信号有明显优先级时使用该语句,但是 if 嵌套太多的话会导致路径延时过大,降低运行…

【C语言常见概念详解】

目录 -----------------------------------------begin------------------------------------- 什么是C语言: 1. 基本数据类型 2. 变量与常量 3. 运算符与表达式 4. 控制结构 5. 函数 6. 指针 7. 数组与字符串 8. 结构体与联合体 9. 文件操作 结语 ----…

CE11.【C++ Cont】练习题组12(结构体专题)

目录 1.P5742【深基7.例11】评等级 题目 代码 提交结果 2.B2125 最高分数的学生姓名 题目 代码 方法1 提交结果 方法2:在方法1基础上改进 提交结果 ​编辑 方法3:先排序后选,较麻烦 提交结果 ​编辑 3.[NOIP2007 普及组] 奖学金 题目 错误代码 提交结果 调试…

开源项目Umami网站统计MySQL8.0版本Docker+Linux安装部署教程

Umami是什么? Umami是一个开源项目,简单、快速、专注用户隐私的网站统计项目。 下面来介绍如何本地安装部署Umami项目,进行你的网站统计接入。特别对于首次使用docker的萌新有非常好的指导、参考和帮助作用。 Umami的github和docker镜像地…

Nginx开发01:基础配置

一、下载和启动 1.下载、使用命令行启动:Web开发:web服务器-Nginx的基础介绍(含AI文稿)_nginx作为web服务器,可以承担哪些基本任务-CSDN博客 注意:我配置的端口是81 2.测试连接是否正常 访问Welcome to nginx! 如果…

20.Word:小谢-病毒知识的科普文章❗【38】

目录 题目​ NO1.2.3文档格式 NO4.5 NO6.7目录/图表目录/书目 NO8.9.10 NO11索引 NO12.13.14 每一步操作完,确定之后记得保存最后所有操作完记得再次删除空行 题目 NO1.2.3文档格式 样式的应用 选中应用段落段落→开始→选择→→检查→应用一个一个应用ctr…

【Python】第五弹---深入理解函数:从基础到进阶的全面解析

✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】【C详解】【Linux系统编程】【MySQL】【Python】 目录 1、函数 1.1、函数是什么 1.2、语法格式 1.3、函数参数 1.4、函数返回值 1.5、变量作用域 1.6、函数…

从AD的原理图自动提取引脚网络的小工具

这里跟大家分享一个我自己写的小软件,实现从AD的原理图里自动找出网络名称和引脚的对应。存成文本方便后续做表格或是使用简单行列编辑生成引脚约束文件(如.XDC .UCF .TCL等)。 我们在FPGA设计中需要引脚锁定文件,就是指示TOP层…

MySQL--》深度解析InnoDB引擎的存储与事务机制

目录 InnoDB架构 事务原理 MVCC InnoDB架构 从MySQL5.5版本开始默认使用InnoDB存储引擎,它擅长进行事务处理,具有崩溃恢复的特性,在日常开发中使用非常广泛,其逻辑存储结构图如下所示, 下面是InnoDB架构图&#xf…

30289_SC65XX功能机MMI开发笔记(ums9117)

建立窗口步骤: 引入图片资源 放入图片 然后跑make pprj new job8 可能会有bug,宏定义 还会有开关灯报错,看命令行注释掉 接着把ture改成false 然后命令行new一遍,编译一遍没报错后 把编译器的win文件删掉, 再跑一遍虚拟机命令行…

深入学习Java的线程的生命周期

线程的状态/生命周期 五种状态 这是从 操作系统 层面来描述的 【初始状态】仅是在语言层面创建了线程对象,还未与操作系统线程关联【可运行状态】(就绪状态)指该线程已经被创建(与操作系统线程关联),可以由…

three.js+WebGL踩坑经验合集(5.2):THREE.Mesh和THREE.Line2在镜像处理上的区别

本文紧接上篇: (5.1):THREE.Line2又一坑:镜像后不见了 本文将解答上篇提到的3个问题,首先回答第二个问题,如何获取全局的缩放值。 scaleWorld这个玩意儿呢,three.js官方就没提供了。应该说,一般的渲染引…