文档章节

Linux学习-文件系统的特殊观察与操作

u
 uetucci
发布于 2017/08/21 14:29
字数 1106
阅读 10
收藏 0
点赞 0
评论 0

###磁盘空间之浪费问题

一个 block 只能放置一个文件, 因此太多小文 件将会浪费非常多的磁盘容量。但你有没有注意到,整个文件系统中包括 superblock, inode table 与其他中介数据等其实都会浪费磁盘容量。所以当我们在 /dev/vda4, /dev/vda5 创建 起 xfs/ext4 文件系统时, 一挂载就立刻有很多容量被用掉了。

当你使用 ls -l 去查询某个目录下的数据时,第一行都会出现 一个“total”的字样! 那是啥东西?其实那就是该目录下的所有数据所耗用的实际 block 数量 * block 大小的值。

###利用GUN的parted进行分区行为(Optional)

parted 可以直接在一行命令行就完成分区,是一个非常好用的指令!它常用的语法如下:

[root@study ~]# parted [设备] [指令 [参数]]
选项与参数:
指令功能:
            新增分区:mkpart [primary|logical|extended] [ext4|vfat|xfs]
            显示分区:print
            删除分区:rm [partition]

范例一:以 parted 列出目前本机的分区表数据
[root@study ~]# parted /dev/vda print
Model: Virtio Block Device (virtblk)         <==磁盘接口与型号
Disk /dev/vda: 42.9GB                        <==磁盘文件名与容量
Sector size (logical/physical): 512B/512B    <==每个扇区的大小
Partition Table: gpt                         <==是 GPT 还是 MBR 分区
Disk Flags: pmbr_boot

Number  Start   End     Size    File system     Name                  Flags
 1      1049kB  3146kB  2097kB                                        bios_grub
 2      3146kB  1077MB  1074MB  xfs
 3      1077MB  33.3GB  32.2GB                                        lvm
 4      33.3GB  34.4GB  1074MB  xfs             Linux filesystem
 5      34.4GB  35.4GB  1074MB  ext4            Microsoft basic data
 6      35.4GB  36.0GB  537MB   linux-swap(v1)  Linux swap
[  1 ]  [  2 ]  [  3  ] [  4  ] [  5  ]         [  6  ]

上述的分区表示意拆成六部分来说明:

  1. Number : 这个就是分区的号码啦!举例来说,1号代表的是/dev/vda1的意思;
  2. Start : 分区的起始位置在这颗磁盘的多少MB处?有趣吧!他以容量作为单位喔! 3. End:此分区的结束位置在这颗磁盘的多少MB处?
  3. Size : 由上述两者的分析,得到这个分区有多少容量;
  4. Filesystem : 分析可能的文件系统类型为何的意思!
  5. Name : 就如同gdisk的SystemID之意。

不过 start 与 end 的单位竟然不一致!如果你想要固定单位,例如都用 MB 显示的话, 可以这样做:

[root@study ~]# parted /dev/vda unit mb print

如果你想要将原本的MBR改成GPT分区表,或原本的GPT分区表改成MBR分区表,也能使用parted!但是请不要使用vda来测试!因为分区表格式不能转换,因为进行下面的测试后,在该磁盘的系统应该是会损坏的。所以用一颗没有使用U盘来测试。

范例二 : 将/dev/sda这个原本的MBR分区表变成GPT分区表(危险!危险!勿乱搞!无法复原)
[root@study ~]# parted /dev/sda print
Model: ATA QEMU HARDDISK (scsi)
Disk /dev/sda: 2148MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos # 确实显示的是 MBR 的 msdos 格式喔!

[root@study ~]# parted /dev/sda mklabel gpt
Warning: The existing disk label on /dev/sda will be destroyed and all data on
this disk will be lost. Do you want to continue?
Yes/No? y

[root@study ~]# parted /dev/sda print
# 你应该就会看到变成 gpt 的模样!只是...后续的分区就全部都死掉了! 

接下来我们尝试来创建一个全新的分区吧,再次的创建一个512MB的分区来格式化为vfat,且挂载于/data/win。

范例三 : 创建一个约为512MB容量的分区
[root@study ~]# parted /dev/vda print
.....(前面省略).....
Number  Start   End     Size    File system     Name                  Flags
.....(中间省略).....
6 35.4GB 36.0GB 537MB linux-swap(v1) Linux swap # 要先找出来下一个分区的起始点!
 

[root@study ~]# parted /dev/vda mkpart primary fat32 36.0GB 36.5GB
# 由于新的分区的起始点在前一个分区的后面,所以当然要先找出前面那个分区的 End 位置!
# 然后再请参考 mkpart 的指令功能,就能够处理好相关的动作!
[root@study ~]# parted /dev/vda print
.....(前面省略).....
Number  Start   End     Size    File system     Name                  Flags
7      36.0GB  36.5GB  522MB                   primary

[root@study ~]# partprobe
[root@study ~]# lsblk /dev/vda7
NAME MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
vda7 252:7 0 498M 0 part # 要确定它是真的存在才行!

[root@study ~]# mkfs -t vfat /dev/vda7
[root@study ~]# blkid /dev/vda7
/dev/vda7: SEC_TYPE="msdos" UUID="6032-BF38" TYPE="vfat"

[root@study ~]# nano /etc/fstab
UUID="6032-BF38"  /data/win  vfat  defaults   0  0

[root@study ~]# mkdir /data/win
[root@study ~]# mount -a
[root@study ~]# df /data/win
Filesystem     1K-blocks  Used Available Use% Mounted on
/dev/vda7         509672     0    509672   0% /data/win  

© 著作权归作者所有

共有 人打赏支持
u
粉丝 0
博文 65
码字总数 103136
作品 0
深圳
程序员
Linux用户和权限管理看了你就会用啦

前言 只有光头才能变强 回顾前面: 看完这篇Linux基本的操作就会了 没想到上一篇能在知乎获得千赞呀,Linux也快期末考试了,也有半个月没有写文章了。这篇主要将Linux下的用户和权限知识点再...

Java3y
06/11
0
0
学着学着Linux系统写篇心得

本学期对于linux系统的学习,和自己买的一本《linux就该这么学》这本书,让我对linux有了一定的了解。我知道了linux只是个内核。现在的linux操作系统,都是用这么一个内核,加上其它的应用程...

linuxprobe16
06/03
0
0
零基础怎么学Linux?Linux学习攻略

不知道文章面前的你是怎样计划你的Linux学习的。如今有很多关于Linux的书籍,博客。大多数都会比较“粗暴“的将一大堆的命令塞给读者,从而使很多Linux初学者望而却步,未入其门就路过了。所...

长沙千锋
05/14
0
0
Linux究竟要学习哪些东西?

很多人想学习Linux,寻找linux基础学习线路,但是不知道从哪里着手。这里我为大家准备了Linux基础需要学习的一些东西,供大家借鉴使用,详细请参考下面给出的9点建议。Linux程序工程师非常吃...

小杰java
2017/10/23
0
0
Linux程序培训课程,带你养成良好的Linux使用习惯

开始Linux的学习之后,请不要用Windows的工作方式来思考问题,因为它们之间确实有很大的不同,比如它们之间的内存管理机制、进程运行机制等都有很大不同,因此抛开Windows的那种思维,用全新...

长沙千锋
05/11
0
0
嵌入式Linux学习基础规划篇

嵌入式的学习是需要日积月累的,是通过一点一滴的积累才能成为大神。下面来介绍一下嵌入式linux学习基础规划,目标是达到适应嵌入式应用软件开发、嵌入式系统开发或嵌入式驱动开发的基本素质...

创客学院
04/10
0
0
写给想学Linux系统管理的人

昨天看的一篇帖子,很受启发,今天把它发上来,希望对我们都有所帮助,也希望可以为我们指点明路!(如果你连这篇文章看完的耐心都没有的话,那么我希望你还是不要学linux了) linux太难用了...

happy_teemo
04/21
0
0
要不要听听小白学习Linux经验小谈

Linux系统近几年发展的很快,特别是随着安卓手机的普及,大数据、物联网、人工智能等科学技术的发展,Linux系统从几年前只有白帽、黑帽等系统高手才了解的情况下变成如今几乎全民皆知的地步,...

问题终结者
05/06
0
0
学Linux运维自动化无头绪?Linux运维自动化怎么学?

最近几年Linux系统应用越来越广泛,以至于很多人开始热衷学习Linux。但是我们都是从小都是学习windows系统长大的,从windows 98到现在的windows 10,而根据学习windows系统的经验来学习Linux...

长沙千锋
04/12
0
0
linux常用命令(2)——磁盘管理

查看命令 ls -l 显示文件列表 ls -al -a 显示所有档案及目录 (ls内定将档案名或目录名称开头为"."的视为隐藏档,不会列出) ls -al |grep '^d' 显示目录 ls -al |grep '^[^d]' 在一个目录中查...

大道无形
2014/03/01
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Linux CentOS 7上安装极点五笔

第一步:YUM安装极点五笔 # yum -y install ibus-table-chinese-wubi-jidian.noarch 第二步:在系统中配置 应用程序--->设置--->区域和语言,点击+,添加极点五笔输入法。可以看到,调...

大别阿郎
18分钟前
0
0
2018年7月20日集群课程

一、集群介绍 集群,简单地说是指一组(若干个)相互独立的计算机,利用高速通信网络组成一个较大的计算机服务系统,每个集群节点(即集群中的每台计算机)都是运行各自服务的独立服务器。 ...

人在艹木中
20分钟前
0
0
spark开发机中调试snappy

目的 在Idea中的点击运行,使spark可以直接读取snappy 自己编译hadoop,以支持snappy的压缩。 自己编译的目的就是要得到支持snappy文件读写的动态链接库。如果可以在网上下载,可以跳过自行编...

benny周
38分钟前
0
0
centos7 安装docker

1,查看系统版本 cat /etc/redhat-release 2,安装gcc yum -y install gccyum -y install gcc-c++ 3,卸载旧版本 yum remove docker \ docker-client \ ......

暗中观察
39分钟前
0
0
rabbitmq学习记录(七)交换机Exchange-topic

实现功能:一条消息发送给多个消费者 交换机模式:topic 相比于direct匹配模式,匹配routingKey时,topic模式下不仅支持完全匹配,还支持两种特殊的匹配方式 #:可以匹配一个或多个字符 *:可...

人觉非常君
39分钟前
0
0
[译]为什么(要使用)GNU Affero GPL?

#为什么(要使用)GNU Affero GPL? 作者信息:Copyright © 2010, 2013, 2014, 2015 Free Software Foundation, Inc. This page is licensed under a Creative Commons Attribution-NoDeriv......

ICE冰焰火灵X
40分钟前
0
0
apollox-lua 示例

这个项目是从openn2o里迁出的项目。 示例地址 apollox-lua.js 是把js翻译成lua的库。支持两种不同的模态, 在编译工程的时候使用 可以用作openresty的代码翻译, 即用js代替lua。在web模式可...

钟元OSS
49分钟前
0
0
Ubuntu系统笔记 Linux系统

Ubuntu 16.04.3 Ubuntu系统,不适用yum, yum软件源都是RPM软件包,不是deb格式软件包,所以你即便是在Ubuntu上面安装了yum,也是完全用不了的。 不推荐 apt好于yum apt install screen...

阿锋zxf
51分钟前
0
0
Java面试中,遇到这类面试题最吃亏!

从你接触 Java开发到现在,你对 Java最直观的印象是什么呢?是它宣传的 “Compile once, run anywhere”,还是目前看已经有些过于形式主义的语法呢?你对于 Java平台到底了解到什么程度?请你...

Java大蜗牛
57分钟前
0
0
fiddle 4 初始化

下载 配置fiddle 4 如果证书导出失败,执行下面脚本 D:\programs\Fiddler>makecert.exe -r -ss my -n "CN=DO_NOT_TRUST_FiddlerRoot, O=DO_NOT_TRUST, OU=Created by http://www.fiddler2.c......

柯里昂
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部