linux系列之: 你知道查看文件空间的两种方法吗?

简介: linux系列之: 你知道查看文件空间的两种方法吗?

目录



简介


linux系统中查看文件空间大小应该是一个非常常见的命令了,今天给大家介绍linux系统中查看文件空间的两种方法和在使用中可能会遇到的奇怪问题.


为什么会有两种方法呢? 因为我们可以使用du命令来看空间的占用情况,也可以使用df来查看空间的剩余情况,就像一个硬币的正反两面,怎么用着舒服怎么来.


话不多说,开始我们今天精彩的内容吧.


du命令


查看空间大小最直接的命令就是du了, 这个命令的全称就是disk usage. 表示的是磁盘空间的占用情况.


先看下du命令的基本语法:


du [-Aclnx] [-H | -L | -P] [-g | -h | -k | -m] [-a | -s | -d depth] [-B blocksize]
        [-I mask] [-t threshold] [file ...]


du命令主要用来显示文件系统的使用情况,默认情况是显示当前目录的信息,当然也可以指定具体的目录.


du的参数有很多,这里就不一一列举了,这里我们讲一下最常用的一些用法.


其中-h表示是人类可识别的读法,所以我们一般都会带上-h.


比如查看当前目录的空间使用情况可以用:


# du -ah


上面的命令显示的是目录中的所有文件.如果要将所有的文件都统计累加的话,那么可以用:


# du -hs


如果要指定特定的目录, 直接在后面加上目录名即可.


如果你又想查看目录中具体文件的大小,又想统计总的大小,那么可以使用:


du -ch


上面的命令会将总的大小添加在后面.


有时候我们可能发现目录占用的空间太大,但是我们又不知道具体是哪个目录,怎么办呢?


du提供了一个--max-depth=1的参数,可以指定统计目录的层级,大家可以根据需要进行调整,非常的方便.


df命令


df命令和du命令类似,但是他统计的是目录的剩余空间.


df的命令如下:


df [-b | -h | -H | -k | -m | -g | -P] [-ailn] [-t] [-T type] [file | filesystem ...]


那么df和du的统计是不是一致的呢?


大多数情况下是一样的,但是在某些情况两者的统计会出现较大的误差.


大家可能会有过这样的经历,就是一个很大的日志文件,还在源源不断的写入,如果这时候把这个日志文件删除了,会发生什么情况呢?


对于du来说是统计文件大小相加,而df是统计数据块使用情况.


在上面的例子中,虽然文件删除了,但是文件句柄并没有释放,所以du的数据显示文件已经删除了,但是df显示文件还在.直到这个打开大文件的进程被Kill掉。


可以通过下面的命令来查看文件的打开情况:


fuser -u


总结



当然,还有最简单的ls命令,也可以简单的查看文件的大小.希望大家能够喜欢.

相关文章
|
2天前
|
Linux
【Linux】命名管道的创建方法&&基于命名管道的两个进程通信的实现
【Linux】命名管道的创建方法&&基于命名管道的两个进程通信的实现
|
1天前
|
Linux
如何在 Linux 中递归更改文件的权限?
【5月更文挑战第10天】
12 3
|
1天前
|
Linux
Linux如何查询较大文件的方法
【5月更文挑战第8天】Linux如何查询较大文件的方法
5 0
|
2天前
|
Linux 网络安全
xmanager 4 连接SuSE linux server 11方法
xmanager 4 连接SuSE linux server 11方法
|
2天前
|
Linux 程序员 Shell
【Linux】详解core dump文件的作用以及用法&&ubuntu20.04下无法形成core dump文件的解决办法
【Linux】详解core dump文件的作用以及用法&&ubuntu20.04下无法形成core dump文件的解决办法
|
2天前
|
Linux Shell
Linux操作系统下查找大文件或目录的技巧
Linux操作系统下查找大文件或目录的技巧
10 2
|
3天前
|
存储 安全 Linux
Linux:进程地址空间
Linux:进程地址空间
21 10
|
3天前
|
算法 Linux
Linux:文件增删 & 文件压缩指令
Linux:文件增删 & 文件压缩指令
6 0
|
4天前
|
Linux
在 Linux 中创建文件
在 Linux 中创建文件
|
1天前
|
安全 网络协议 Linux
linux必学的60个命令
Linux是一个功能强大的操作系统,提供了许多常用的命令行工具,用于管理文件、目录、进程、网络和系统配置等。以下是Linux必学的60个命令的概览,但请注意,这里可能无法列出所有命令的完整语法和选项,仅作为参考