Linux磁盘管理

Linux来说一切皆文件,Linux归根结底只有一个根目录,一个独立且唯一的文件结构,Linux的每个分区都是用来组成整个文件系统的一部分。所以Linux采用了磁盘挂载的方式,将每个分区和一个文件目录联系起来。即载入一个分区,使它的存储空间在一个目录下获得。

Linux磁盘管理

3.Linux硬盘:

Linux硬盘分为IDE硬盘和SCSI硬盘,目前大部分是SCSI硬盘。

驱动标识符为”lgx~”。其中”lg”表明分区所在设备的类型,当”lg”为”hd”时表示IDE硬盘,为”sd”时表示SCSI硬盘。”x”为盘号(a是基本盘,b是从属盘,c是辅助主盘,d是辅助从属盘),”~”代表分区,前4个分区用数字1到4表示,它们是主分区或扩展分区,从5开始是逻辑分区。例如,hda3表示为第一个IDE硬盘上的第三个主分区或扩展分区,hdb2表示第二个IDE硬盘上的第二个主分区或扩展分区。

下面是用lsblk -f命令查看系统的分区和挂载情况:

Linux磁盘管理

红框表示的是磁盘分区情况,蓝框表示的是分区的类型,橙框是32位不重复的字符串表示UUID即分区唯一标识符,绿框表示分区在文件系统的挂载点。

lsblk命令:用于列出所有可用块设备的信息,而且还能显示他们之间的依赖关系,但是它不会列出RAM盘的信息。块设备有硬盘,闪存盘,cd-ROM等等。

选项:

<span>-a, --all            &#x663E;&#x793A;&#x6240;&#x6709;&#x8BBE;&#x5907;&#x3002;</span>
<span>-b, --bytes          &#x4EE5;bytes&#x65B9;&#x5F0F;&#x663E;&#x793A;&#x8BBE;&#x5907;&#x5927;&#x5C0F;&#x3002;</span>
-d, --nodeps         &#x4E0D;&#x663E;&#x793A; slaves &#x6216; holders&#x3002;
<span>-D, --discard        print discard capabilities&#x3002;
-</span>e, --exclude <list> &#x6392;&#x9664;&#x8BBE;&#x5907; (default: RAM disks)&#x3002;
<span>-f, --fs             &#x663E;&#x793A;&#x6587;&#x4EF6;&#x7CFB;&#x7EDF;&#x4FE1;&#x606F;&#x3002;</span>
-h, --help           &#x663E;&#x793A;&#x5E2E;&#x52A9;&#x4FE1;&#x606F;&#x3002;
<span>-i, --ascii          &#x5728;&#x8F93;&#x51FA;&#x6811;&#x72B6;&#x683C;&#x5F0F;&#x65F6;&#x53EA;&#x4F7F;&#x7528;ASCII&#x5B57;&#x7B26;&#x3002;</span>
-m, --perms          &#x663E;&#x793A;&#x6743;&#x9650;&#x4FE1;&#x606F;&#x3002;
<span>-l, --list           &#x4F7F;&#x7528;&#x5217;&#x8868;&#x683C;&#x5F0F;&#x663E;&#x793A;&#x3002;</span>
-n, --noheadings     &#x4E0D;&#x663E;&#x793A;&#x6807;&#x9898;&#x3002;
-o, --output <list>  &#x8F93;&#x51FA;&#x5217;&#x3002;
-P, --pairs          &#x4F7F;&#x7528;key="value"&#x683C;&#x5F0F;&#x663E;&#x793A;&#x3002;
-r, --raw            &#x4F7F;&#x7528;&#x539F;&#x59CB;&#x683C;&#x5F0F;&#x663E;&#x793A;&#x3002;<br>-s, --inverse        inverse dependencies&#x3002;<br>-S, --SCSI           &#x53EA;&#x83B7;&#x53D6;SCSI&#x8BBE;&#x5907;&#x5217;&#x8868;&#x3002;
<span>-t, --topology       &#x663E;&#x793A;&#x62D3;&#x6251;&#x7ED3;&#x6784;&#x4FE1;&#x606F;&#x3002;</span></list></list>

注意区分lsblk命令和df命令的区别,df命令是检查文件系统的磁盘空间占用情况。

df命令:df [-ahikHTm ][目录或文件名]

选项:

<span>-a, --all            &#x5217;&#x51FA;&#x6240;&#x6709;&#x7684;&#x6587;&#x4EF6;&#x7CFB;&#x7EDF;&#xFF0C;&#x5305;&#x62EC;&#x7CFB;&#x7EDF;&#x7279;&#x6709;&#x7684; /proc &#x7B49;&#x6587;&#x4EF6;&#x7CFB;&#x7EDF;&#x3002;</span><br>-k                   &#x4EE5; KBytes &#x7684;&#x5BB9;&#x91CF;&#x663E;&#x793A;&#x5404;&#x6587;&#x4EF6;&#x7CFB;&#x7EDF;&#x3002;<br>-m
&#x4EE5; KBytes &#x7684;&#x5BB9;&#x91CF;&#x663E;&#x793A;&#x5404;&#x6587;&#x4EF6;&#x7CFB;&#x7EDF;&#x3002;<br><span>-h, --human-readable  &#x4EE5;&#x4EBA;&#x4EEC;&#x8F83;&#x6613;&#x9605;&#x8BFB;&#x7684; GBytes, MBytes, KBytes &#x7B49;&#x683C;&#x5F0F;&#x81EA;&#x884C;&#x663E;&#x793A;&#x3002;</span><br>-H, --si             &#x4EE5; M=1000K &#x53D6;&#x4EE3; M=1024K &#x7684;&#x8FDB;&#x4F4D;&#x65B9;&#x5F0F;&#x3002;<br>-T, --print-type     &#x663E;&#x793A;&#x6587;&#x4EF6;&#x7CFB;&#x7EDF;&#x7C7B;&#x578B;, &#x8FDE;&#x540C;&#x8BE5; partition &#x7684; filesystem &#x540D;&#x79F0; (&#x4F8B;&#x5982; ext3) &#x4E5F;&#x5217;&#x51FA;&#x3002;<br>-i, --inodes         &#x4E0D;&#x7528;&#x786C;&#x76D8;&#x5BB9;&#x91CF;&#xFF0C;&#x800C;&#x4EE5; inode &#x7684;&#x6570;&#x91CF;&#x6765;&#x663E;&#x793A;&#x3002;

4.挂载案例:

给Linux系统增加一块新的硬盘,并挂载到/home/newdisk目录下。

(1)虚拟机添加硬盘:

Linux磁盘管理

Linux磁盘管理

Linux磁盘管理

Linux磁盘管理

Linux磁盘管理

添加成功以后输入lsblk命令有如下显示:

Linux磁盘管理

(2)分区:

fdisk /dev/sdb

Linux磁盘管理

Linux磁盘管理

Linux磁盘管理

fdisk命令:Linux fdisk是一个创建和维护分区表的程序,它兼容DOS类型的分区表、BSD或者SUN类型的磁盘列表。

语法:fdisk [必要参数][选择参数]

必要参数:

  • -l 列出素所有分区表
  • -u 与”-l”搭配使用,显示分区数目

选择参数:

  • -s
  • -v 版本信息

菜单操作说明

  • m :显示菜单和帮助信息
  • a :活动分区标记/引导分区
  • d :删除分区
  • l :显示分区类型
  • n :新建分区
  • p :显示分区信息
  • q :退出不保存
  • t :设置分区号
  • v :进行分区检查
  • w :保存修改
  • x :扩展应用,高级功能

分区完成使用lsblk命令有如下显示:

Linux磁盘管理

(3)格式化:

mkfs -t ext4 /dev/sdb1

Linux磁盘管理

mkfs命令:Linux mkfs命令用于在特定的分区上建立 linux 文件系统,

使用方式: mkfs [-V] [-t fstype] [fs-options] filesys [blocks]

参数

  • device : 预备检查的硬盘分区,例如:/dev/sda1
  • -V : 详细显示模式
  • -t : 给定档案系统的型式,Linux 的预设值为 ext2。这里的文件系统是要指定的,比如 ext3 ;reiserfs ;ext2 ;fat32 ;msdos 等。
  • -c : 在制做档案系统前,检查该partition 是否有坏轨
  • -l bad_blocks_file : 将有坏轨的block资料加到 bad_blocks_file 里面
  • block : 给定 block 的大小

关于ext2,ext3……代表什么可以查看:https://www.cnblogs.com/justmine/p/9128730.html

格式化以后,可以看到磁盘已被分配了一个UUID:

Linux磁盘管理

(4)挂载:

先创建一个/home/newdisk

Linux磁盘管理

mkdir命令:Linux mkdir命令用于建立名称为 dirName 之子目录。

语法:mkdir [-p ]dirName

参数说明

  • -p 确保目录名称存在,不存在的就建一个。

再将sdb1挂载到newdisk下,mount /dev/sdb1 /home/newdisk

Linux磁盘管理

mount命令:Linux mount命令是经常会使用到的命令,它用于挂载Linux系统外的文件。

语法:

mount [-hV ]

mount -a [-fFnrsvw ] [-t vfstype ]

mount [-fnrsvw ] [-o options [,…]]device |dir

mount [-fnrsvw ] [-t vfstype ] [-o options ]device dir

参数说明:

  • -V:显示程序版本
  • -h:显示辅助讯息
  • -v:显示较讯息,通常和 -f 用来除错。
  • -a:将 /etc/fstab 中定义的所有档案系统挂上。
  • -F:这个命令通常和 -a 一起使用,它会为每一个 mount 的动作产生一个行程负责执行。在系统需要挂上大量 NFS 档案系统时可以加快挂上的动作。
  • -f:通常用在除错的用途。它会使 mount 并不执行实际挂上的动作,而是模拟整个挂上的过程。通常会和 -v 一起使用。
  • -n:一般而言,mount 在挂上后会在 /etc/mtab 中写入一笔资料。但在系统中没有可写入档案系统存在的情况下可以用这个选项取消这个动作。
  • -s-r:等于 -o ro
  • -w:等于 -o rw
  • -L:将含有特定标签的硬盘分割挂上。
  • -U:将档案分割序号为 的档案系统挂下。-L 和 -U 必须在/proc/partition 这种档案存在时才有意义。
  • -t:指定档案系统的型态,通常不必指定。mount 会自动选择正确的型态。
  • -o async:打开非同步模式,所有的档案读写动作都会用非同步模式执行。
  • -o sync:在同步模式下执行。
  • -o atime、-o noatime:当 atime 打开时,系统会在每次读取档案时更新档案的『上一次调用时间』。当我们使用 flash 档案系统时可能会选项把这个选项关闭以减少写入的次数。
  • -o auto、-o noauto:打开/关闭自动挂上模式。
  • -o defaults:使用预设的选项 rw, suid, dev, exec, auto, nouser, and async.

  • -o dev、-o nodev-o exec、-o noexec允许执行档被执行。

  • -o suid、-o nosuid:
  • 允许执行档在 root 权限下执行。
  • -o user、-o nouser:使用者可以执行 mount/umount 的动作。
  • -o remount:将一个已经挂下的档案系统重新用不同的方式挂上。例如原先是唯读的系统,现在用可读写的模式重新挂上。
  • -o ro:用唯读模式挂上。
  • -o rw:用可读写模式挂上。
  • -o loop=:使用 loop 模式用来将一个档案当成硬盘分割挂上系统。

Linux磁盘管理

这里可以看到挂载前后的对比。

(5)设置自动挂载:

先输入sudo su再在控制台输入 vi /etc/fstab修改这个文件。

Linux磁盘管理

添加如下语句:

/dev/sdb1 /home/newdisk ext4 default 00

Linux磁盘管理

再在终端输入mount -a

Linux磁盘管理

reboot之后我们使用lsblk命令可以看到磁盘已自动挂载

Linux磁盘管理

5.卸载

使用umount 设备名或者umount 文件名

umount /dev/sdb1

umount /newdisk

Linux磁盘管理

umount命令:Linux umount命令用于卸除文件系统。umount可卸除目前挂在Linux目录中的文件系统。

语法:umount [-ahnrvV ][-t

参数

  • -a 卸除/etc/mtab中记录的所有文件系统。
  • -h 显示帮助。
  • -n 卸除时不要将信息存入/etc/mtab文件中。
  • -r 若无法成功卸除,则尝试以只读的方式重新挂入文件系统。
  • -t
  • -v 执行时显示详细的信息。
  • -V 显示版本信息。
  • [文件系统] 除了直接指定文件系统外,也可以用设备名称或挂入点来表示文件系统。

Original: https://www.cnblogs.com/vivianwenwen/p/12101657.html
Author: 温昀
Title: Linux磁盘管理

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/585265/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Guava中的封装的Map操作

    引入依赖 <dependency> <groupId>com.google.guavagroupId> <artifactId>guava…

    Linux 2023年6月7日
    0112
  • boot issue

    Q:生产过程中不小心把 boot文件删除了 ,或者升级kenerl时发现版本不兼容,需要回退,此时没有快照备份情况如何操作? A:boot 主要文件是内核和grub引导文件 1.进…

    Linux 2023年6月6日
    0114
  • 五分钟搭建博客系统 OK?

    前言: 请各大网友尊重本人原创知识分享,谨记本人博客:南国以南i 概要: 通过 Docker Compose 在使用 Docker容器构建的隔离环境中轻松运行 WordPress。…

    Linux 2023年6月14日
    0141
  • Docker安装使用–Centos

    前言 Docker安装使用 安装步骤 卸载旧版本 安装utils 配置utils的存储库 安装Docker 安装指定版本Docker 验证安装 官网安装说明 阿里云镜像加速 Doc…

    Linux 2023年6月7日
    091
  • zabbix监控配置流程

    zabbix监控配置流程 管理层次: 开发人员要加监控,需要让其提供监控指标运营人员要加监控,让其找开发要监控指标运维人员要加监控,让运营人员去找开发要监控指标。 配置层次: 1….

    Linux 2023年6月6日
    0105
  • LINUX 终端显示错乱问题

    问题描述 Linux Terminal进入vi/vim界面退出后会覆盖前面的显示,如下图: 解决办法 找一台显示正常和的机器(和故障机器架构一致),去家目录查看.bashrc文件,…

    Linux 2023年5月27日
    087
  • 【Example】C++ 标准库多线程同步及数据共享 (std::future 与 std::promise)

    否则你会像听天书一样懵。(…) ==================================== 在任何语言的多线程编程当中,必然涉及线程的同步及数据的共享,方…

    Linux 2023年6月13日
    0111
  • Windows 下日志保存至Linux rsyslog日志服务器

    一、 下载安装 通过https://www.rsyslog.com/windows-agent/windows-agent-download/下载客户端后,按照默认安装完成后即进行…

    Linux 2023年6月6日
    0100
  • redis集群部署

    Redis 是一个开源的 key-value 存储系统,由于出众的性能,大部分互联网企业都用来做服务器端缓存。Redis 在3.0版本前只支持单实例模式,虽然支持主从模式、哨兵模式…

    Linux 2023年6月7日
    096
  • 购买服务器与域名利用tomcat快速搭建个人网站

    基于Linux环境下的个人网站搭建 一.下载工具 二.购买云服务器 三.安装配置服务器软件 配置环境变量 四.购买域名并设置域名解析 五.上传网站文件 一.下载工具 远程主机:1….

    Linux 2023年6月7日
    0123
  • MySQL日志管理之事务日志和错误日志

    MySQL的日志是用来记录用户的相关操作、系统的运行状态等信息的文件结合。 事务日志就是mysql执行事务过程中产生的日志。 redo log:基于WAl机制在数据更改前先把对应操…

    Linux 2023年6月7日
    093
  • 打造一个红旗(redflag)Linux的基础镜像(base image)

    由于工作原因,想找一个红旗Linux的基础镜像(base image)。网上搜了一下,但没有现成的。起初是想找对应的centos版本来代替,但又怕有些莫名其妙的问题。 官方文档 不…

    Linux 2023年6月8日
    081
  • Docker安装使用及私有仓库搭建

    1 概念 1.1 基本概念 Docker daemon​ 守护进程,运行在宿主机上,用户通过DockerClient客户端Docker命令与Docker daemon交互。Dock…

    Linux 2023年5月27日
    097
  • Ajax

    前戏 概念 异步提交,局部刷新 最大的优点是在页面不刷新的情况下可以与后端进行数据交互 用户注册无需点击按钮内部也可完成数据交互 同步交互:客户端发出一个请求后,需要等待服务器响应…

    Linux 2023年6月7日
    081
  • centos8 redis安装

    redis的优势我就不多说了(其实我也就是跟着主流) 既然想试试redis,那么就从linux下安装redis开始。那么windows下可以安装redis吗? 答案是肯定的,但是官…

    Linux 2023年5月28日
    0120
  • JVM学习 运行时数据区 PC寄存器、本地方法栈、虚拟机栈

    2、运行时数据区 哔哩哔哩 尚硅谷视频 宋红康老师 2.1、程序计数器(PC寄存器) 作用 PC寄存器用来存储指向下一条指令的地址,也就是即将要执行指令的代码。由执行引擎读取下一条…

    Linux 2023年6月7日
    0107
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球