Linux 中查看文件系统的块大小
有时可能需要查看 Unix 操作系统中有关于文件基本单元的块大小,以便对有的系统进行适当的优化(如 MySQL),本文将介绍几种在 Unix 上以及类 Unix 操作系统上可行的查看方式
检查文件系统[1]
使用
df命令具体的命令如下:
# df 命令本身是用于报告磁盘的使用情况,经过扩展 -T 选项也可以打印文件系统的类型,
# -h 表示将使用情况转换为人类可读的
df -Th # 如果只想查看指定分区的文件系统,也可以这么做
# 其实就是过滤了一下输出而已,当然使用 sed 和 awk 也能够做到,
# 这里就是只查看 /dev/sda11 分区的文件系统类型以及使用情况
df -Th | grep "/dev/sda11"
输出看起来可能像下面这样:

可以看到,
/dev/sda1分区所属的文件系统类型为vfat(虚拟文件分配表,操作系统用于组织和访问在硬件驱动上的文件),/dev/sda11分区所属的文件系统类型为ext4(第四代扩展文件系统)fsck命令fsck命令本身用于检查和修复文件系统,也可以用来检测文件系统所属的类型具体使用如下所示:
# 查看 /dev/sda10 分区所属的文件系统类型,-N 选项表示不要检测文件系统中出现的错误,
# 只打印出将要做的行为,因此能够得到有关文件系统的一部分信息,包括文件系统的类型
fsck -N /dev/sda10 # 这里检查分区 /dev/sda10 所属的文件系统类型
输出如下图所示:

lsblk命令lsblk(List Block Devices),用于显示块设备,通过指定-f选项即可打印出关于文件系统相关的信息具体使用如下所示:
lsblk -f
输出结果如下图所示:

一目了然
mount命令mount命令的本意是挂载一个文件系统,或者是一个 ISO 镜像以及远程的文件系统等其它类似的东西,如果不给mount指定任何参数,那么mount将会打印有关磁盘分区的信息,其中包括文件系统类型具体的使用方式如下所示:
# 由于磁盘分区的信息有点多,使用 grep 来过滤一下输出是一个很好的想法,当然,awk 和 sed 也是可以的
mount | grep "^/dev" # 这里的正则表达式表示的是以 /dev 开头的输出内容
具体的输出结果如下图所示:

blkid命令blkid命令用于定位或者打印文件块的设备属性,也能够输出磁盘的文件系统类型,直接使用即可blkid
输出结果如下:

file命令file命令本身是用于获取一个文件的属性的,但是在 Unix 中,一切皆文件,磁盘系统、外部设备等也不例外,因此通过file命令也可以查看文件系统相关的信息# 默认情况下,file 命令只会读取文件的类型信息,加上 -s 选项使得 file 命令能够读取 block 或者字符文件,
# -L 选项使得符号链接能够起到作用
sudo file -sL /dev/sda11 # -s 选项在读取 block 时必须有 root 权限
输出结果如下图所示:

使用
/etc/fstab文件/etc/fstab文件中定义了静态的文件系统信息,包括挂载点、文件系统类型、挂载选项等大致的内容如下图所示:

查看块大小[2]
使用
tune2fs命令tune2fs用于调整和查看ext系列的文件系统的参数信息,其中就包括了块大小的信息,如果想要查看分区/dev/sda11的块大小信息,可以像下面这么做:# -l 选项列出文件系统超级块的参数内容,包括已经设置了的参数和可以被设置的参数
# 该命令必须有超级用户的权限才能执行
tune2fs -l /dev/sda11 | grep -i "Block size" # 由于参数过长,使用 grep 来过滤块大小的信息,-i 表示忽略大小写
输出结果如下:

可以看到,
/dev/sda11的块大小为 4096 bit,即 4 KBstat命令stat用于显示文件或者文件系统的状态,检查目录即可查看有关块大小的信息(目录就是一个块)具体使用如下:
# . 可以换成任意的其它目录,使用这种方式不需要超级用户权限
stat . # 或者直接得到块大小,-f 选项表示显示文件系统状态而不是文件状态;-c 表示按照指定的格式输出;%s 表示输出总计大小的输出格式,
stat -fc %s .
输出如下:

dumpe2fs命令dumpe2fs命令用于获取ext系列文件系统的信息,具体使用如下所示:# 该命令只也需要超级用户的权限,-h 选项表示只显示超级块的信息
sudo dumpe2fs -h /dev/sda11 | grep -i "Block Size" # 查看分区 /dev/sda11 的信息,使用 grep 过滤掉输出
输出结果如下图所示:

blockdev命令blockdev表示从命令行中调用ioctl,具体的使用方式如下所示:# 该命令同样需要超级用户的权限;--getbsz 表示打印块大小(单位为 bit)
sudo blockdev --getbsz /dev/sda11
du检测小文件du本身是用于检测文件在磁盘中的占用空间的,但是写入的文件内容是按照块大小来划分的,因此,只需要检测一个很小的文件的大小,即可得到块单元的大小,具体如下所示:echo 1 > test # 创建一个小文件,小于块大小
du -h test # 由于文件存储是按照块来划分的,因此这个小文件占用的磁盘空间就是一个块的大小
参考:
[1] https://www.tecmint.com/find-linux-filesystem-type/
Linux 中查看文件系统的块大小的更多相关文章
- Linux中查看各文件夹大小命令:du -h --max-depth=1
Linux中查看各文件夹大小命令:du -h --max-depth=1 du [-abcDhHklmsSx] [-L <符号连接>][-X <文件>][--block-siz ...
- Linux中查看各文件夹大小(扫盘)
df -h ./ du -hs ./ du -h /ifs4/BC_RD/USER/lizhixin/my_project/human_chr22 | grep [[:digit:]+]G du [- ...
- Linux中查看各文件夹大小命令du -h --max-depth=1
http://blog.csdn.net/ouyang_peng/article/details/10414499 du -h --max-depth=1
- Linux系统之更改默认块大小
查看操作系统块大小:#tune2fs -l /dev/sda1 |grep 'Block size' ( tune2fs -l /dev/sda1可以查看更多相关文件 ...
- linux中查看磁盘容量的常用操作
linux中查看磁盘容量常用操作 实验室有GPU集群,用户跑数据时候跑着跑着会出现集群挂掉的问题,原因就是,在跑数据时,用户上传文件,数据集,系统产生缓存等一系列操作,消耗了集群空间,师兄让我清理下服 ...
- inux中查看各文件夹大小命令:du -h --max-depth=1
du [-abcDhHklmsSx] [-L <符号连接>][-X <文件>][--block-size][--exclude=<目录或文件>] [--max-de ...
- Linux中查看进程占用内存的情况【转】
转自:http://hutaow.com/blog/2014/08/28/display-process-memory-in-linux/ Linux中查看某个进程占用内存的情况,执行如下命令即可,将 ...
- 如何在Linux中查看所有正在运行的进程
如何在Linux中查看所有正在运行的进程 FROM:http://os.51cto.com/art/201101/244090.htm 进程是一个其中运行着一个或多个线程的地址空间和这些线程所需要的系 ...
- Linux中查看文件编码
在Linux中查看文件编码可以通过以下几种方式:1.在Vim中可以直接查看文件编码:set fileencoding即可显示文件编码格式.如果你只是想查看其它编码格式的文件或者想解决用Vim查看文件乱 ...
- 在Linux中查看文件的编码及对文件进行编码转换
如果你需要在Linux中操作windows下的文件,那么你可能会经常遇到文件编码转换的问题.Windows中默认的文件格式是GBK(gb2312),而Linux一般都是UTF-8.下面介绍一下,在Li ...
随机推荐
- 为什么 CSS flex 布局中没有 `justify-items` 和 `justify-self`?
为什么 CSS flex 布局中没有 justify-items 和 justify-self? 为什么在 CSS flex 布局中存在 align-items 和 align-self,却没有 ju ...
- CSS 多行文本超链接下划线动效
先看效果 乍一看,是不是感觉很简单,仔细一瞅发现事情好像没有那么简单. 如果十分钟还没想出怎么实现,那就把简历上的"精通css"改成"了解css"-- 大部分人 ...
- C/C++中的ACM题目输入处理——简单易上手
这里就不按其他文章的以各种情况为分类方法,而是以方法本身为分类办法.因为有一些方法是不同情况通用的,比如已知数量数字的输入和未知数量数字的输入,其实可以用同一种办法. 输入 C/C++ :scanf正 ...
- BSD协议原文及中文翻译
# BSD协议原文及翻译 参考链接 原文: The following is a BSD license template. To generate your own license, change ...
- CSP 2023 游记
省流:把 #define int long long 写在快读下面,找到答案了不 break. Day -1 手速大赛很有趣,但有人不认识 Aigony 我不说是谁. Day 0 睡大觉,给小朋友讲考 ...
- HTTP响应状态码([RFC9110])
本内容翻译自[RFC9110]15. Status Codes,不足之处请自行查阅文档. 15. 状态码 响应的状态码是一个三位整数代码,用于描述请求的结果和响应的语义,包括请求是否成功以及附带了什么 ...
- 发现AI自我意识:知识及其载体
知识的量子态 在回答什么是"理解"之前,我们先来讨论一下知识和其载体的定义.知识本身是一个抽象的概念,它可以被编码到各种物质载体中.无论是纸质书籍,还是人类大脑中的神经连接,抑或是 ...
- 想基于AI变现吗,这个Star有1.8K的开源项目分享给你
前言 在如今AI爆发的时代,每个人都想借着AI这股风,进行变现,今天给大家分享一个开源项目,他可以让你基于AI的能力进行变现 项目介绍 这个项目在Github有1.8k个star,可见其欢迎程度,作者 ...
- Vue + Element UI 实现复制当前行数据功能(复制到新增页面组件值不能更新等问题解决)
1.需求 使用Vue + Element UI 实现在列表的操作栏新增一个复制按钮,复制当前行的数据可以打开新增弹窗后亦可以跳转到新增页面,本文实现为跳转到新增页面. 2.实现 1)列表页 index ...
- MySQL-char与 varchar 的区别?
版权声明:原创作品,谢绝转载!否则将追究法律责任. ----- 作者:kirin 1.共同点: 都是字符串类型 2.不同点: ①.char类型是定长数据类型.,对于数据插入的速度比较块,在有大量插入需 ...