shell学习四十六天----文件系统的空间信息df和du命令

文件系统的空间信息

df命令

df命令提供单行摘要,一行显示一个加载的问价系统的已使用的和可用的空间.其单位视系统而定,有些使用块,有些则是KB.大部分现代实现都支持-k选项,也就是强制使用KB单位,以及-l(小写字母L)选项,仅显示本地文件系统,排除网络加载的文件系统.

df命令详解

语法:

df [选项] [文件或目录]

用途:

显示一个或多个文件系统内部的inode或空间使用情况

主要选项:


-i


显示inode技术,而非空间


-k


显示空间时,以KB为单位,而非块


-l


小写L,仅显示本地文件系统

行为:

df会针对每个文件或目录参数,如果无提供参数,则为所有的文件系统,产生单行表头以识别输出兰,再接上包含该文件或目录的文件系统的使用量报告.

案例

$df

Filesystem     1K-blocks    Used Available Use% Mounted on

/dev/sda3        1032088  262592    717068  27% /

tmpfs             961216       0    961216   0% /dev/shm

/dev/sda1         198337   34004    154093  19% /boot

/dev/sda7       14219628  166640  13330660   2% /home

/dev/sda2        3120456 1874636   1087308  64% /usr

/dev/sda5        1032088  177716    801944  19% /var

/dev/sdb1        2071384   68632   1897528   4% /disk1

分析:df命令的输出清单的第一列是代表文件系统对应的设备的路径名(一般是硬盘上的分区);第二列给出分区包含的数据块(1024字节)的数目;第三四列分别表示一用的和可用的数据块数目.用户也会感到奇怪的是;第三四列数之和不等于第二列中的数据块.这是因为缺省的每个分区都留了少量空间供系统管理员使用.及时遇到普通用户空间已满的情况,管理员仍能登陆和留有解决问题所需的工作空间.清单Use%中列表示普通用户空间使用的百分比,及时这一数字达到100%,分区仍能留有系统管理员使用的空间;最后Mount on列表示文件系统的挂载点.

$df -i

Filesystem     Inodes IUsed  IFree IUse% Mounted on

/dev/sda3       65536  6410  59126   10% /

tmpfs          240304     1 240303    1% /dev/shm

/dev/sda1       51200    39  51161    1% /boot

/dev/sda7      903984    86 903898    1% /home

/dev/sda2      198400 57886 140514   30% /usr

/dev/sda5       65536  2356  63180    4% /var

/dev/sdb1      131648    11 131637    1% /disk1

分析:以inode模式来显示磁盘使用情况

$df /home

Filesystem     1K-blocks   Used Available Use% Mounted on

/dev/sda7       14219628 166640  13330660   2% /home

分析:显示指定类型磁盘

du命令

du命令也是查看使用空间的,但是与df命令不同的是du命令是对文件和目录磁盘使用的空间的查看,还是和df命令有一些区别的.

du命令详解

语法:

du [选项] [文件]

用途:显示一个或多个目录树的空间使用率

主要选项:


-k


空间的显示,以KB为单位,而非(与系统相依的)块(block)


-s


为每个参数,仅显示单行摘要

行为:

du会针对每个文件或目录参数----如果无提供这类参数则为当前目录,产生一个输出行,其会包含以整数表示的使用率,并接着文件或目录的名称.除非给定-s选项,否则每个目录参数会以递归方式查找,为每个嵌套目录产生一个报告行.

案例:

$du       #在tmp目录下使用du命令

4       ./.ICE-unix

8       .

分析:只显示当前目录下面的子目录的目录大小和大钱目录的总大小,最下面的8为当前目录的总大小.注意,只显示目录的.

案例:显示指定文件所占空间的大小

$du /etc/passwd

4       /etc/passwd

案例:查看指定目录的所占空间

$du /root

8       /root/.w3m

4       /root/.pki/nssdb

8       /root/.pki

200     /root

案例:显示多个文件所占大小

$du /tmp /root

4       /tmp/ert

4       /tmp/.ICE-unix

12      /tmp

8       /root/.w3m

4       /root/.pki/nssdb

8       /root/.pki

200     /root

案例:只显示总和的大小

$du -s /root

200     /root

案例:方便阅读的格式

$du -hs /root

200K    /root

案例:文件和目录都显示

du -ah /root

案例:显示多个文件或目录各自占用磁盘空间的大小.还统计他们的总和

$du -cs /etc /tmp /root

28048   /etc

12      /tmp

200     /root

28260   总用量

案例:按照空间大小排序

$du /etc| sort -nr | more

du和df的区别

df命令用于查看文件系统的使用情况;

使用df命令输出信息的第一个标注:

文件系统             1K-块      已用      可用 已用% 挂载点

du命令用于查看文件或目录所占磁盘空间的使用情况.

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-07-28 21:21:33

shell学习四十六天----文件系统的空间信息df和du命令的相关文章

shell学习五十六天----延迟进程调度

延迟进程调度 前言:大部分时候,我们都希望进程快点開始,开点结束,别卡.而shell的运行,也是在前一个命令后,立即接着运行下一个命令.命令完毕的速度是与资源的限制有关,且不在shell的权限下. 在交谈模式中使用下,有时不必等到命令完毕才干运行还有一个.这是shell提供的一个简单方式:全部的命令仅仅要在最后加上&字符,都可起始于后台运行,无需等待.仅仅有在少数情况下,必须等待后台进程完毕. 稍稍有四种情况须要延时进程事实上,知道未来的某个事件才运行. 第一种 sleep sleep命令经常使

shell学习四十九天----进程建立

进程 前言:进程指的是运行中程序的一个实例.新进程由fork()与execve()等系统调用所起始,然后运行,知道他们下达exit()系统调用为止. linux系统都支持多进程.尽管计算机看起来像是一次做了非常多事,但除非是他拥有多个CPU,否则一次做了好多事仅仅是个错觉.其实,每一个进程仅容许在一个极短的期间运行,我们称为时间片段,之后进程会先临时搁置,让其它等待中进程运行.时间片段极短,通常仅仅有几微妙,所以人们非常少感觉到进程将控制权交回内核,再交给还有一个进程的这样的文本切换.进程本身不

shell学习四十天----awk的惊人表现

awk的惊人表现 awk可以胜任几乎所有的文本处理工作. awk 调用 1.调用awk: 方式一:命令行方式 awk [-F field-separator ] 'commands' input-file(s) [ -F域分隔符 ]是可选的,因为awk使用空格作为缺省的域分隔符,因此如果要浏览域间有空格的文本,不必指定这个选项,如果要浏览例如passwd文件.此文件名域以冒号作为分隔符,则必须指明-F选项,如: awk -F 'commands' input-file 方式二:将所有awk命令插

shell学习四十五天----xargs

执行命令:xargs 当find产生一个文件列表时,该列表提供给另一个命令有时是很有用的. 案例: $touch abc.c erd.c oiy.c $ll ./erd.c ./abc.c ./oiy.c $find -name '*.c'| rm rm: 缺少操作数 请尝试执行"rm --help"来获取更多信息. $find -name '*.c'| xargs rm $find -name '*.c' 无任何显示,说明已成功删除. 1.简介,之所以能用到这个命令,关键是由于很多命

shell学习三十四天----printf详解

printf 先来看一个简单的例子:使用命令printf "hello,world\n", 输出:hello,world 再使用echo "hello,world\n",输出为:hello,world\n 案例二:使用命令printf "%s\n" hello,world 输出结果为:hello,world printf命令的完整语法有两个部分: printg format-string [arguments] 第一部分为描述格式规格的字符串,他

shell学习五十四天----进程系统调用的追踪strace

strace 前言:strace常用来跟踪进程执行时的系统调用的所接受的信号.在linux世界,进程是不能直接访问硬件设备,当进程需要访问硬件(比如读取磁盘文件,接收网络数据等等)时,必须由用户态模式切换至内核态模式,通过系统调用访问硬件设备.strace可以跟踪到一个进程产生的系统调用,包括参数,返回值,执行消耗的时间,有其在调试的时候,strace能帮助你追踪到一个程序所执行的系统调用.当你想知道程序和操作系统是如何交互的时候,这是极其方便的,比如你想知道执行了哪些系统调用,并且以何种顺序执

python学习第四十六天dir( )函数用法

dir( )函数有点像目录的意思,但是他是包含由模块定义的名称的字符串的排序列表.这个列表包含模块中定义的所有模块,变量和函数的名称. 列举其用法 import time content = dir(time) print (content) 输出结果 ['_STRUCT_TM_ITEMS', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'altzone', 'asctime', 'clock', 'ctime'

shell学习四十八天----进程建立

进程 前言:进程指的是执行中程序的一个实例.新进程由fork()与execve()等系统调用所起始,然后执行,知道他们下达exit()系统调用为止. linux系统都支持多进程.虽然计算机看起来像是一次做了很多事,但除非是他拥有多个CPU,否则一次做了好多事只是个错觉.事实上,每个进程仅容许在一个极短的期间执行,我们称为时间片段,之后进程会先暂时搁置,让其他等待中进程执行.时间片段极短,通常只有几微妙,所以人们很少感觉到进程将控制权交回内核,再交给另一个进程的这种文本切换.进程本身不会管理文本切

shell学习四十一天----列出文件ls和od命令

列出文件 首先恶臭命令提供简单的方式列出匹配模式的文件: 命令: echo /bin/*sh #显示/bin下的shell 输出:/bin/bash /bin/csh /bin/dash /bin/sh /bin/tcsh 分析:shell将通配符字符模式替换为匹配的文件列表,echo以空格区分文件列表,在单一行上显示他们.echp不会更近一部解释他的参数,因此与文件系统里的文件也没有任何关系. ls命令则比echo能做更多的处理,因为他纸袋自己的参数应该是文件.未提供命令行选项时,ls只会验证