df和du命令报告Linux、macOS和许多其他类似Unix的操作系统上使用的bashshell中的磁盘空间使用情况。通过这些命令,您可以轻松地确定哪些内容占用了系统的存储空间。
Bash包含两个与磁盘空间相关的有用命令。要找出可用和已用的磁盘空间,请使用df(磁盘文件系统,有时称为磁盘空闲)。要发现占用已用磁盘空间的内容,请使用du(disk usage)。
在Bash终端窗口中键入df并按enter开始。您将看到许多与下面的屏幕截图类似的输出。不使用任何选项而使用df将显示所有已装入的文件系统的可用空间和已用空间。乍一看,它可能看起来难以理解,但它很容易理解。
df显示器的每一行由六列组成。
通过使用-B(块大小)选项,可以将1K块计数替换为更有用的输出。要使用此选项,请键入df、空格,然后键入-B和K、M、G、T、P、E、Z或Y列表中的一个字母。这些字母表示1024标度倍数中的kilo、mega、giga、tera、peta、exa、zeta和yotta值。
例如,要查看以兆字节为单位的磁盘使用率数据,可以使用以下命令。注意B和M之间没有空间。
df -BMh(人类可读)选项指示df对每个文件系统的大小使用最适用的单位。在下一个输出中,请注意有些文件系统的大小是千兆字节、兆字节甚至千字节。
df -h如果需要查看以inode数表示的信息,请使用-i(inode)选项。inode是Linux文件系统用来描述文件和存储文件元数据的数据结构。在Linux上,inode保存每个文件和目录的名称、修改日期、在硬盘上的位置等数据。这对大多数人来说是没有用的,但是系统管理员有时必须引用这类信息。
df -i除非被告知不这样做,否则df将提供所有挂载文件系统的信息。这可能会导致大量输出的杂乱显示。例如,列表中的/dev/loop条目是伪文件系统,允许将文件作为分区装入。如果您使用新的ubuntusnap方法安装应用程序,您可以获得很多这样的应用程序。这些文件上的可用空间总是0,因为它们不是真正的文件系统,所以我们不需要看到它们。
我们可以告诉df排除特定类型的文件系统。为此,我们需要知道要排除哪种类型的文件系统。T(打印类型)选项将为我们提供该信息。它指示df在输出中包含文件系统的类型。
df -T/dev/loop条目都是squashfs文件系统。我们可以使用以下命令排除它们:
df -x squashfs这给了我们一个更易于管理的输出。为了得到一个总数,我们可以添加--total选项。
df -x squashfs --total我们可以使用-t(type)选项要求df只包含特定类型的文件系统。
df -t ext4如果要查看一组文件系统的大小,可以按名称指定它们。Linux中的驱动器名是按字母顺序排列的。第一个驱动器名为/dev/sda,第二个驱动器名为/dev/sdb,依此类推。分区编号。所以/dev/sda1是驱动器/dev/sda上的第一个分区。我们告诉df通过将文件系统的名称作为命令参数传递来返回特定文件系统的信息。让我们看看第一个硬盘的第一个分区。
df /dev/sda1请注意,您可以在文件系统名称中使用通配符,其中*表示任意一组字符和?表示任何单个字符。因此,要查看第一个驱动器上的所有分区,我们可以使用:
df /dev/sda*我们可以要求df报告一组命名的文件系统。他说,我们要求的是/dev和/run文件系统的大小,我们想要一个总数。
df -h --total /dev /run为了进一步定制显示,我们可以告诉df要包括哪些列。为此,请使用--output选项并提供所需列名的逗号分隔列表。确保逗号分隔列表中不包含任何空格。
让我们让df报告第一个驱动器上的第一个分区,包括人类可读的数字,以及source、fstype、size、used、avail和pcent列:
df -h /dev/sda1 --output=source,fstype,size,used,avail,pcent长命令非常适合转换为别名。我们可以通过键入以下内容并按Enter键来创建别名dfc(用于df custom):
alias dfc="df -h /dev/sda1 --output=source,fstype,size,used,avail,pcent"键入dfc并按enter将具有与在long命令中键入相同的效果。要使此别名永久化,请将其添加到.bashrc或.bash\u别名文件中。
我们一直在寻找改进df输出的方法,以便它显示的信息符合您的需求。如果您想采用相反的方法并让df返回所有信息,那么可以使用-a(all)选项和--output选项,如下所示。-a(all)选项要求df包含每一个文件系统,如果不使用逗号分隔的列列表而使用--output选项,则会导致df包含每一列。
df -a --output通过less命令将df的输出管道化是一种方便的方法,可以查看它可以产生的大量输出。
df -a --output | less让我们做一些调查,找出这台电脑占用空间的地方。我们将从一个df命令开始。
df -h -t ext4第一个硬盘的第一个分区上使用了78%的磁盘空间。我们可以使用du命令来显示哪些文件夹保存的数据最多。在没有选项的情况下发出du命令将在发出du命令的目录下显示所有目录和子目录的列表。如果你从你的主文件夹这样做的清单将非常长。
du输出格式非常简单。每行显示目录的大小和名称。默认情况下,大小以1K块为单位显示。要强制du使用不同的块大小,请使用-B(块大小)选项。要使用此选项,请键入du、一个空格,然后键入-B和K、M、G、T、P、E、Z和Y列表中的一个字母,就像我们上面对df所做的那样。要使用1M块,请使用以下命令:
du -BM就像df一样,du有一个可读选项-h,它根据每个目录的大小使用一系列块大小。
du -h-s(summary)选项给出每个目录的总数,而不显示每个目录中的子目录。以下命令要求du以摘要格式返回当前工作目录下所有目录(*)的信息,格式为可读数字。
du -h -s *图片文件夹保存的数据最多。我们可以让杜把文件夹按大小从大到小排序。
du -** Pictures/* | sort -nr通过细化df和du返回的信息,可以很容易地找出正在使用的硬盘空间,并发现占用了多少空间。然后,您就可以做出明智的决定,将一些数据移动到其他存储,将另一个硬盘驱动器添加到您的计算机或删除冗余数据。
这些命令有很多选项。我们在这里描述了最有用的选项,但是您可以在Linux手册页中看到df命令和du命令选项的完整列表。
有备用硬盘,你想更有效地使用你的Linux电脑?RAID可以提供性能提升或添加冗余,具体取决于它的配置方式。让我们快速进入多磁盘世界。 ...
... 要了解更多的Linux基础知识,请查看我们关于如何在Linux中重命名文件的概述。 ...
...,但这只会保存您的文件。要保存应用程序,您必须学习如何备份每个应用程序。对某些人来说,这意味着导出一个特定的文件。对于其他人,这意味着复制一个隐藏的文件夹。还有一些应用程序你根本无法备份。 ...
如果您希望更多地使用Linux终端,那么学习如何手动装载和卸载硬盘是一个简单的开始。此外,如果你发现自己处于一种让你远离传统桌面的境地,学习如何这样做可能会节省很多时间和谷歌搜索。 ...
...便的Linux命令备忘单。如果您想运行其中的几个,请查看如何在带屏幕的Linux终端上执行多任务。 ...
...个最快捷和最有用的方法来查看你还有多少空闲空间。 如何使用finder快速检查可用磁盘空间 检查Mac上可用磁盘空间的最基本方法是使用Finder。按Command+N或在菜单栏中选择File>new Finder window,打开一个新的Finder窗口。(您也可...
...ee、vmstat和top。我们还将直接查看reading/proc/meminfo。 linux如何使用ram RAM是一种有限的资源,所有进程(如应用程序和守护进程)都需要它的一部分。只有这么多了。内核判断内存争用,并将定量分配的内存分配给所有饥饿的进...