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)

大家都在看

  • Kubernetes 使用kubeadm创建集群

    实践环境 CentOS-7-x86_64-DVD-1810 Docker 19.03.9 Kubernetes version: v1.20.5 开始之前 1台Linux操作或更多…

    Linux 2023年5月27日
    0152
  • Shell脚本8种字符串截取方法总结

    Linux 的字符串截取很有用。有八种方法。 假设有变量 var=http://www.aaa.com/123.htm. 1. # 号截取,删除左边字符,保留右边字符。 echo …

    Linux 2023年5月28日
    0153
  • Filter、Interceptor、Aspect 区别及实现

    Fliter 过滤器 请求在到达Controller之前进行与返回去之后 调用 入参为 reuqest,response,chian,过滤器获取不了具体调用哪一个类,哪一个方法。 …

    Linux 2023年6月7日
    0117
  • 【电台谈心】2022罗翔老师回答毕业生的4个问题

    罗翔老师:谢谢这位同学的问题。我回想起自己找工作的经历,其实也是 一地鸡毛。本科毕业的时候,也没有多少招聘会。我只有一个单位,一个单位地去找。少数几家单位让你进去了,聊了聊又觉得你…

    Linux 2023年6月13日
    0123
  • SSH免密登录

    SSH免密登录实现三步: 客户端生成公钥和私钥 上传公钥到服务端 SSH免密登录 (1) 客户端生成和公钥和私钥 ssh-keygen 一路回车即可,默认会在~/.ssh/目录下创…

    Linux 2023年6月7日
    0105
  • Ubuntu16.04部署django+nginx项目

    项目使用django+nginx部署。这个项目断断续续地部署4遍了。感觉每次部署都挺费时间的(找各种配置的资料),于是写一个博客总结一下。 安装vsftpd $ sudo apt-…

    Linux 2023年6月7日
    073
  • 《拉钩课程 – 重学操作系统 – Linux 指令入门》

    1、进程是什么?进程是应用的执行副本。应用的可执行文件是放在文件系统里,把可执行文件启动,就会在操作系统里(具体来说是内存中)形成一个应用的副本,这个副本就是进程。 2、Linux…

    Linux 2023年5月27日
    0116
  • Python 获取字典中的第一个键

    提供两种方法: 使用 list 将字典的 key 转换成列表,然后取第一个元素 [0]。如果想要最后一个 key 的话,就取最后一个元素 [-1]。 >>> my…

    Linux 2023年6月7日
    082
  • 如何在shell脚本中传变量的值传给curl

    随着即时通讯的发展,大量的报警媒介已经从以往的邮件转为钉钉,企业微信等聊天工具。当我使用shell脚本来监控 Keepalived的时候,在给curl传递变量的时候无法生效,经过查…

    Linux 2023年6月8日
    0102
  • 正则表达式在grep中的使用

    GREP用法 grep "after" profile #查找文件内的包含after单词的行 grep -n "after" profile…

    Linux 2023年6月11日
    0103
  • Centos 6 DNS 配置 解决 Unknown host

    测试服务器Maven 打包时遇到了如下的错误 看上去应该是对 maven.aliyun.com的DNS 域名解析出问题了。 登录到服务器上 ping maven.aliyun.co…

    Linux 2023年5月27日
    0110
  • Redis进阶 事务:Redis事务详解

    Redis事务相关命令 Redis事务执行步骤 Redis 事务的本质是一组命令的集合。事务支持一次执行多个命令,一个事务中所有命令都会被序列化。在事务执行过程,会按照顺序串行化执…

    Linux 2023年5月28日
    0105
  • CentOS7 小技巧总结

    1.CentOS7 解决无法使用tab自动补全 csharp;gutter:true; 原因:CentOS在最小化安装时,没有安装自动补全的包,需要手动安装。 yum -y ins…

    Linux 2023年6月7日
    0128
  • 理论知识

    多线程的实现方式:1.继承Thread类;2.实现runnable接口;3.实现callable接口通过futrueTask包装器来创建Thread线程; 是继承Thread类号还…

    Linux 2023年6月7日
    0118
  • Pytorch 中 tensor的维度拼接

    torch.stack() 和 torch.cat() 都可以按照指定的维度进行拼接,但是两者也有区别,torch.satck() 是 增加新的维度进行堆叠,即其维度拼接后会增加一…

    Linux 2023年6月7日
    0109
  • [ Skill ] load 函数优化,识别相对路径

    在 cds.lib 文件中定义库的路径,为了规范管理库的定义,经常这样做: $ tree . |– cds.lib ——————- cat –> …

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