如何判别linux分区是否已写满?

banmiton 2008-09-18 03:21:27
如何判别linux分区是否已写满?是否是statfs()函数?
...全文
182 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
iasky 2008-09-20
  • 打赏
  • 举报
回复
statfs很常用的系统调用,在mount的时候就需要
realdragon2 2008-09-20
  • 打赏
  • 举报
回复
UP~
[Quote=引用 5 楼 bubu8633 的回复:]


分区查看命令

fdisk -l
parted
df
sfdisk -l
partx /dev/hda
cat /proc/partitions


statfs64
[/Quote]
nipiao2 2008-09-20
  • 打赏
  • 举报
回复
linux 技术交流群 8709932 欢迎大家的加入
cceczjxy 2008-09-20
  • 打赏
  • 举报
回复
int statfs(const char *path, struct statfs *buf);
int fstatfs(int fd, struct statfs *buf);


#include <sys/statvfs.h>

int fstatvfs(int fildes, struct statvfs *buf);
int statvfs(const char *restrict path, struct statvfs *restrict buf);

这几个都可用。不过这都是判断的文件系统的信息。
hupo1982 2008-09-19
  • 打赏
  • 举报
回复
你是指从C代码里面还是脚本啊?
yangzhifu 2008-09-19
  • 打赏
  • 举报
回复
我也是第一次,而且man不到!
ckc 2008-09-19
  • 打赏
  • 举报
回复
第一次知道还有这个函数。。。
cceczjxy 2008-09-19
  • 打赏
  • 举报
回复
冷月清晖 2008-09-19
  • 打赏
  • 举报
回复


分区查看命令

fdisk -l
parted
df
sfdisk -l
partx /dev/hda
cat /proc/partitions


statfs64
litw 2008-09-18
  • 打赏
  • 举报
回复
都是这么做的.
这本书是James Kirkland做系统维护工作的结晶.本文档是英文版,很值得仔细研读。 本书详细介绍了Linux系统故障的诊断与排除技巧,是作者长期实践经验的结晶。全书共分15章:第1章介绍系统引导、启动和关闭问题,这是所有Linux用户都会碰到的基本问题;第2章介绍系统运行中可能出现的错误;第3章、第4章介绍性能与性能相关的工具;第5章至第7章介绍主要存储硬件及其故障诊断;第8章介绍Linux进程及其故障诊断;第9章讲解了系统备份与恢复中如何诊断常见问题的知识;第10章至第15章介绍了Linux系统其他方面的故障诊断与排除技巧,包括打印问题、安全问题、网络问题、登录问题等。   本书适用于Linux系统管理员及高级用户,对Linux系统感兴趣的用户也可将此书作为参考书。 第1章 系统引导、启动和关闭问题 1 1.1 引导加载程序 2 1.1.1 GRUB 2 1.1.2 LILO 10 1.1.3 当GRUB或者LILO不工作时进行引导 13 1.2 init进程和/etc/inittab文件 14 1.2.1 以多用户模式启动 17 1.2.2 init错误 19 1.3 rc脚本 20 1.3.1 确认模式 24 1.3.2 rc脚本中的启动问题 25 1.4 解决root文件系统的问题 27 1.4.1 从第二个硬盘引导 28 1.4.2 从援救CD引导 28 1.4.3 使用Knoppix CD重置丢失的root密码 30 1.4.4 使用Knoppix CD重新安装GRUB 30 1.4.5 从援救软盘引导 32 1.5 小结 32 1.6 附注 32 第2章 系统挂起和严重错误 33 2.1 操作系统挂起 34 2.1.1 诊断可中断挂起故障 34 2.1.2 诊断不可中断挂起故障 42 2.2 操作系统严重错误 44 2.2.1 诊断操作系统严重错误 44 2.2.2 诊断oops导致的严重错误 47 2.3 硬件机器检查 49 2.4 小结 50 第3章 性能工具 52 3.1 top 53 3.1.1 添加和移除字段 53 3.1.2 解释输出 55 3.1.3 保存自定义 56 3.1.4 批处理模式 57 3.2 sar 58 3.2.1 sar数据收集器 58 3.2.2 CPU统计数据 59 3.2.3 磁盘I/O统计数据 62 3.2.4 网络统计数据 63 3.3 vmstat 65 3.4 iostat 67 3.5 free 69 3.6 小结 69 3.7 尾注 69 第4章 性能 70 4.1 在可能的最低层开始故障诊断 70 4.1.1 使用raw命令将原始设备绑定到块设备 71 4.1.2 原始设备性能 72 4.1.3 使用dd命令确定连续I/O速度 73 4.1.4 使用sar和iostat测量磁盘性能 74 4.1.5 理解测试性能时I/O块大小的重要性 75 4.1.6 时间的重要性 76 4.1.7 确定块大小 77 4.1.8 队列的重要性 78 4.1.9 磁盘的多线程(进程)I/O 79 4.1.10 使用条带化lvol减少磁盘I/O紧张 80 4.1.11 条带化lvol与单磁盘性能的比较 82 4.1.12 多路径I/O 83 4.2 文件系统 86 4.2.1 将日志记录到单独磁盘 86 4.2.2 确定文件系统请求的I/O大小 88 4.2.3 用小块I/O传输加载文件系统 88 4.2.4 利用文件系统的关键优势 91 4.2.5 Linux和Windows性能以及调整扇区对齐 92 4.2.6 使用bonnie++进行调整性能和基准测试 93 4.2.7 评估应用程序的CPU利用率问题 95 4.2.8 使用Oracle statspak 98 4.2.9 分配共享内存时“设备上无剩余空间”错误的故障诊断 101 4.2.10 其他性能工具 102 4.3 小结 103 第5章 针对PCMCIA和USB通过SAN添加新存储 104 5.1 配置 105 5.2 内核模块 106 5.3 通过PCI添加LUN 112 5.4 通过PCMCIA/USB添加存储 119 5.5 小结 122 第6章 磁盘分区与文件系统 123 6.1 背景 123 6.1.1 IDE和SCSI 124 6.1.2 位计算 124 6.2 分区表/主引导记录:定位 126 6.3 分区表/主引导记录:CHS寻址 127 6.3.1 定义主分区 128 6.3.2 确定能否创建附加分区 130 6.4 分区表/主引导记录:逻辑分区/扩展分区 132 6.5 分区表/主引导记录:逻辑块寻址(LBA) 135 6.6 分区表/主引导记录:引导加载器 137 6.6.1 在使用过的驱动器上审查字节 139 6.6.2 BIOS初始化引导加载器 141 6.7 分区表/主引导记录:备份 141 6.7.1 分区恢复过程 142 6.7.2 演示故障 143 6.7.3 挂载分区 144 6.7.4 在ext文件系统中恢复超级块和信息结点表 146 6.8 更多案例 150 6.9 小结 153 第7章 设备故障与置换 154 7.1 支持的设备 154 7.2 到哪里寻找错误 156 7.3 确定故障设备 158 7.4 故障设备的置换 165 7.5 小结 170 第8章 Linux进程:结构、挂起与核心转储 171 8.1 进程结构和生命周期 171 8.1.1 进程/任务概述 171 8.1.2 进程关系 172 8.1.3 Linux进程创建 172 8.1.4 Linux进程创建的示例 173 8.1.5 进程创建小结 174 8.1.6 Linux进程终止 174 8.2 Linux线程 174 8.3 确定进程挂起 180 8.4 进程核心 186 8.4.1 信号 187 8.4.2 限制 189 8.4.3 核心文件 191 8.5 小结 192 第9章 备份与恢复 194 9.1 备份介质 194 9.1.1 磁带 195 9.1.2 光盘存储 202 9.1.3 硬盘存储 202 9.2 备份范围 203 9.3 基本备份和恢复命令 204 9.3.1 tar 204 9.3.2 cpio 206 9.3.3 dump和恢复 208 9.3.4 dd 209 9.3.5 mkisofs 209 9.3.6 rsync命令 209 9.4 裸机恢复 210 9.5 确定磁带的内容 210 9.6 怎样辨别磁带的问题出自硬件还是软件 211 9.7 小结 213 第10章 cron与at 214 10.1 cron 215 10.1.1 cron守护程序 220 10.1.2 kcron 222 10.2 anacron 224 10.3 at 225 10.4 诊断cron 227 10.5 小结 233 第11章 打印与打印机 234 11.1 什么是假脱机程序 234 11.1.1 使用假脱机程序命令 235 11.1.2 假脱机程序“管道工程” 237 11.1.3 术语定义 240 11.2 打印机类型 242 11.3 连接类型 243 11.3.1 本地串行打印 244 11.3.2 本地USB打印 246 11.3.3 本地并行打印 249 11.3.4 远程打印 249 11.3.5 原始网络套接字打印 253 11.4 页面描述语言 255 11.5 通用打印诊断 256 11.5.1 映射假脱机环境 256 11.5.2 断点 257 11.6 小结 257 第12章 系统安全 258 12.1 什么是系统安全 258 12.1.1 主机安全与网络安全的比较 258 12.1.2 什么是安全漏洞 259 12.1.3 主机安全漏洞分类 259 12.1.4 安全漏洞和暴露类型 261 12.1.5 增强主机安全的一般步骤 262 12.2 预防 262 12.2.1 SSH加密 262 12.2.2 诊断典型SSH问题 266 12.2.3 连接和登录失败 266 12.2.4 使用netfilter/iptables强化系统 271 12.2.5 什么是NAT 273 12.2.6 MANGLE表 273 12.2.7 使用iptables进行配置 273 12.2.8 iptables命令示例 277 12.2.9 保存配置 277 12.2.10 终止、验证状态和启动iptables 278 12.2.11 问题诊断示例 279 12.2.12 打补丁 283 12.2.13 遭受入侵后的恢复 284 12.3 小结 284 第13章 网络问题 285 13.1 OSI和TCP/IP层简介 285 13.2 诊断网络层问题 286 13.2.1 TCP/IP物理网络访问层的诊断 286 13.2.2 诊断网络层问题(OSI第三层、TCP/IP第二层) 297 13.2.3 诊断传输层(TCP和UDP)问题 314 13.2.4 诊断应用程序级的问题:TCP/IP模型的最后一层 329 13.3 小结 329 第14章 登录问题 330 14.1 /etc/password,/etc/shadow和密码时效 331 14.1.1 /etc/password和/etc/shadow 331 14.1.2 chage、passwd和usermod 332 14.1.3 /etc/passwd和/etc/shadow损坏 337 14.1.4 pwck 337 14.2 Linux配置造成的登录失败 338 14.2.1 /etc/securetty 338 14.2.2 /etc/nologin 339 14.3 PAM 339 14.3.1 功能 340 14.3.2 优先级 340 14.3.3 模块名 341 14.3.4 参数 341 14.3.5 /etc/pam.d 341 14.3.6 /etc/pam.conf 342 14.3.7 /lib/security 342 14.3.8 Linux-PAM资源 343 14.3.9 诊断PAM故障 343 14.3.10 验证模块 345 14.3.11 PAM中的漏洞 346 14.4 shell问题 347 14.5 密码问题 348 14.6 小结 350 14.7 尾注 350 第15章 X Windows问题 351 15.1 X背景 351 15.2 X组件 352 15.2.1 X Server组件 352 15.2.2 X客户端组件 360 15.3 X显示管理器 361 15.4 X桌面管理器(环境) 362 15.5 X故障诊断案例 363 15.6 小结 365 15.7 尾注 366
一般要将硬盘分成主引导扇区、操作系统引导扇区、FAT表、DIR目录区和Data数据区等五部分,这里分别进行了介绍!硬盘的文件系统结构 • 新买的硬盘,是没有直接办法使用的,需要将它分区、格式化,然后再安装上操作系统才可以使用。就拿一直沿用到现在的Win9x/Me/2000/XP系列来说,一般要将硬盘分成主引导扇区、操作系统引导扇区、FAT表、DIR目录区和Data数据区等五部分。通常所说的主引导扇区MBR在一个硬盘中是是唯一的,MBR区的内容只有在硬盘启动时才读取其内容,然后驻留内存。其它几项内容随你的硬盘分区数的多少而异。 • 主引导扇区(MBR)。主引导扇区位于整个硬盘的0磁道0柱面1扇区,包括硬盘主引导记录MBR(Main Boot Record)和分区表DPT(Disk Partition Table)。其中主引导记录的作用就是检查分区是否正确以及判别哪个分区为可引导分区,并在程序结束时把该分区的启动程序(也就是操作系统引导扇区)调入内存加以执行。 • 分区表(DPT)。在主引导区中,从地址BE开始,到FD结束为止的64个字节中的内容就是通常所说的分区表。分区表以80H或00H为开始标志,以55AAH为结束标志,每个分区占用16个字节,一个硬盘最多只能分成四个主分区,其中扩展分区也是一个主分区。随着硬盘容量的迅速扩大,引入的扩展分区可以不受四个主分区的限制,把硬盘分区数扩展到“Z”。值得一提的是,MBR是由分区程序(例如DOS的Fdisk.exe)产生的,不同的操作系统可能这个扇区的内容代码是不相同,但是实现的功能只有一个,使其中的一个活动分区获得控制区,正常启动系统。 • 主引导扇区(MBR)。主引导扇区位于整个硬盘的0磁道0柱面1扇区,包括硬盘主引导记录MBR(Main Boot Record)和分区表DPT(Disk Partition Table)。其中主引导记录的作用就是检查分区是否正确以及判别哪个分区为可引导分区,并在程序结束时把该分区的启动程序(也就是操作系统引导扇区)调入内存加以执行。 • 主分区和扩展分区。主分区是一个比较单纯的分区,通常位于硬盘的最前面一块区域中,构成逻辑C磁盘。在主分区中,不允许再建立其它逻辑磁盘。也可以通过分区软件,在分区的最后建立主分区,或在磁盘的中部建立主分区。扩展分区的概念则比较复杂,也是造成分区和逻辑磁盘混淆的主要原因。由于硬盘仅仅为分区表保留了64个字节的存储空间,而每个分区的参数占据16个字节,故主引导扇区中总计可以存储4个分区的数据。操作系统只允许存储4个分区的数据,如果说逻辑磁盘就是分区,则系统最多只允许4个逻辑磁盘。对于具体的应用,4个逻辑磁盘往往不能足实际需求。为了建立更多的逻辑磁盘供操作系统使用,系统引入了扩展分区的概念。 所谓扩展分区,严格地讲它不是一个实际意义的分区,它仅仅是一个指向下一个分区的指针,这种指针结构将形成一个单向链表。这样在主引导扇区中除了主分区外,仅需要存储一个被称为扩展分区分区数据,通过这个扩展分区的数据可以找到下一个分区(实际上也就是下一个逻辑磁盘)的起始位置,以此起始位置类推可以找到所有的分区。无论系统中建立多少个逻辑磁盘,在主引导扇区中通过一个扩展分区的参数就可以逐个找到每一个逻辑磁盘。 • 操作系统引导扇区(OBR)。OBR(OS Boot Record)即操作系统引导扇区,通常位于硬盘的0磁道1柱面1扇区(这是对于DOS来说的,对于那些以多重引导方式启动的系统则位于相应的主分区/扩展分区的第一个扇区),是操作系统可直接访问的第一个扇区,它也包括一个引导程序和一个被称为BPB(BIOS Parameter Block)的本分区参数记录表。其实每个逻辑分区都有一个OBR,其参数视分区的大小、操作系统的类别而有所不同。引导程序的主要任务在当根目录中寻找系统文件IO.SYS,MSDOS.SYS和WINBOOT.SYS三个文件,如果存在,就把IO.SYS文件读入内存,并移交控制权予该文件。在WIN98的系统中,没有MSDOS.sys文件,系统能够正常启动,但是无法进入桌面;如果没有COMMAND.COM文件,能够正常启动到桌面,但是无法进入DOS字符方式。 BPB参数块:记录着本分区的起始扇区、结束扇区、文件存储格式、硬盘介质描述符、根目录大小、FAT个数、分配单元(Allocation Unit,以前也称之为簇)的大小等重要参数。OBR由高级格式化程序产生(例如DOS 的Format.com)。 • 文件分配表(FAT)。FAT(File Allocation Table)即文件分配表,是DOS/Win9x系统的文件寻址系统。为了防止意外损坏,FAT一般做两个(也可以设置为一个),第二FAT为第一FAT的备份, FAT区紧接在OBR之后(对于FAT32格式,位置是从引导扇区开始的第32个扇区就是第一个FAT表的位置),其大小由这个分区的空间大小及文件分配单元的大小决定。随着硬盘容量的迅速发展,Microsoft 的DOS及Windows也先后采用我们所熟悉的FAT12、FAT16和FAT32格式。不过Windows NT、OS/2、UNIX/Linux、Novell等都有自己的文件管理方式,不同于FAT文件格式。FAT12是使用12BIT来表示簇的位置,最大容量32M,FAT16是使用两个字节16BIT位来表示簇的位置,分区最大容量2G,而FAT32采用4个字节来表示簇的位置,分区最大容量65G。 • 目录区(DIR)。DIR是Directory即根目录区的简写,在FAT12和FAT16格式中,DIR紧接在第二FAT表之后,而在FAT32格式中,根目录区的位置可以在分区中的任意位置,其起始位置是由引导扇区给出的。单有FAT表还不能确定文件在磁盘中的具体位置,只有FAT表和DIR区配合使用,才能准确定位文件的确切位置。DIR记录着每个文件(目录)的文件名,扩展名,是否支持长文件各,起始单元(这是最重要的)、文件的属性,大小,创建日期,修改日期等住处内容。操作系统在读写文件时,根据DIR中的起始单元,结合FAT表就可以知道文件在磁盘的具体位置,然后顺序读取每个簇的内容就可以了。 • 数据区(DATA) 。在DIR区之后,才是真正意义上的数据存储区,即DATA区。DATA虽然占据了硬盘的绝大部分空间,但没有了前面的各部分,它对于我们来说,也只能是一些枯燥的二进制代码,没有任何意义。注意:我们通常所说的格式化程序(指高级格式化,例如DOS下的Format程序),并没有把DATA区的数据清除,只是重写了FAT表而已,除非你使用了“Format X: /U”命令,强制对每一扇区写“F6”。 至于硬盘分区,也只是修改了MBR和OBR,绝大部分的DATA区的数据并没有被改变,这也是许多硬盘数据能够得以修复的原因。但即便如此,MBR,OBR,FAT,DIR之一被破坏的话,我们的数据也无法正常读取。
程序名称:备份还原系统工具v2.0 (GhostShellv2.0)
程序开发:篮球梦音乐心 (c) 维修技术联盟
程序大小:3.06 MB
应用平台:WinNT Win2000 WinXP Win2003

一、程序简介:

备份还原系统工具(GhostShell)是能在 Windows 下对任意分区一键备份或恢复(以 Ghost11.exe 为核心)的应用程序。
支持多硬盘、混合硬盘(IDE/SATA/SCSI)、混合分区(FAT32/NTFS)、未指派盘符分区、盘符错乱分区。支持多系统,支持
支持鼠标拖拽,支持各种存储设备检测,自动判断中文名或中文目录,自动修正后辍名,自动判断文件是否文件,自动辨别
路径错误,自动选择控件;本程序有自动具有自动记忆功能,当你运行一次备份之后,将会自动生成记录,在下一次打开程序
时,自动写入此程序,让你更快速进行还原。

二、特点详解:

1、默认核心是 Ghost 11,自动以最高压缩进行备份,减少镜像体积

2、程序默认对当前系统所在分区进行备份/还原操作,可选择其他分区

3、选择“备份系统”时,所创建的文件会自动进行隐藏并自动记录,防止
被误删,在下一次运行此程序时,会自动填入路径地址,即可快速进行还原

4、无论是“备份系统”还是“还原系统”,都可以自动判断分区和路径地址是否
有效可用,自动修正后辍名
(比如,你可需要打D:\backup,按上确定之后会自动补充为D:\bakcup.gho,并判断文件是否存在)

5、还原时可忽略 Ghost 镜像文件 CRC 校验

6、支持网络Ghost系统进行安装,准备好系统镜像,选择“还原系统”,再按“确定”即可自动重启进行安装

以下为更新功能:

7、启动时自动检查历史操作进行选择控件

8、支持鼠标拖拽,直接把 Ghost 文件拖到程序窗口即可自动输入地址,方便快捷

9、选择“备份系统”即可全自动在系统启动项添加“还原系统”功能,并支持设置启动停留时间

10、支持存储设备检测,不管您是光驱,还是闪存盘,还是移动硬盘,轻轻一按,即可自动复制到磁盘进行恢复,安全可靠

11、支持旧版本功能升级,如果您以使用旧版本对系统进行备份,运行此程序时将自动提示更新您的系统添加“还原系统”功能

12、由于 Ghost 是DOS下的应用程序,不支持中文名或中文目录,本软件软件可以自动检测你选择你文件是否为中文名或者存放在中文目录

13、添加操作提示,即使您已经选择了备份或者还原功能,如果你想修改系统或者系统在未进行备份之前就出现问题,只需选择
“撤消备份/还原”即可自动检测并还原所有操作。


三、使用说明:

运行程序后选择需要备份/还原系统后按“确定”即可,程序会自动重启计算机进入 DOS 进行备份/还原,完成后自动重新进入系统。

四、注意事项:

本程序不支持硬盘存在 Linux 分区并且该分区穿插在其他分区中;若该分区在硬盘最后则不会影响本程序使用。

23,127

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧