我试图通过使用ls带有选项的命令来获取目录(包含目录和子目录)的大小l。它似乎适用于文件 ( ls -l file name),但如果我尝试获取目录的大小(例如,ls -l /home),我只会得到 4096 字节,尽管总的来说它要大得多。
在管理 Linux 系统时,我经常发现自己在分区变满后很难找到罪魁祸首。我通常使用du / | sort -nr但在大型文件系统上这需要很长时间才能返回任何结果。
此外,这通常可以成功地突出显示最严重的罪犯,但我经常发现自己
在更微妙的情况下诉诸于du没有sort,然后不得不浏览输出。
我更喜欢依赖于标准 Linux 命令的命令行解决方案,因为我必须管理相当多的系统并且安装新软件很麻烦(尤其是在磁盘空间不足时!)
你如何du -sh /dir/*按大小排序?我读过一个网站说使用,| sort -n但这显然是不对的。这是一个错误的例子。
[~]# du -sh /var/* | sort -n
0 /var/mail
1.2M /var/www
1.8M /var/tmp
1.9G /var/named
2.9M /var/run
4.1G /var/log
8.0K /var/account
8.0K /var/crash
8.0K /var/cvs
8.0K /var/games
8.0K /var/local
8.0K /var/nis
8.0K /var/opt
8.0K /var/preserve
8.0K /var/racoon
12K /var/aquota.user
12K /var/portsentry
16K /var/ftp
16K /var/quota.user
20K /var/yp
24K /var/db
28K /var/empty
32K /var/lock
84K /var/profiles
224M /var/netenberg
235M /var/cpanel
245M /var/cache
620M /var/lib
748K /var/spool
Run Code Online (Sandbox Code Playgroud) 我知道当您使用ll或ls -l。但我想知道一个目录中有多少存储空间,包括该目录中的文件和其中的子目录等。我不想要文件数量,而是这些文件占用的存储量。
所以我想递归地知道某个目录中有多少存储空间?我猜,如果有命令,它将以字节为单位。
我有一个 linux 服务器,它目前的空间使用情况如下:
/dev/sda3 20G 15G 4.2G 78% /
/dev/sda6 68G 42G 23G 65% /u01
/dev/sda2 30G 7.4G 21G 27% /opt
/dev/sda1 99M 19M 76M 20% /boot
tmpfs 48G 8.2G 39G 18% /dev/shm
Run Code Online (Sandbox Code Playgroud)
如你看到的。/为 78%。我想检查一下,哪些文件或文件夹正在占用空间。
我试过这个:
find . -type d -size +100M
Run Code Online (Sandbox Code Playgroud)
结果如下:
./u01/app/june01.dbf
./u01/app/temp01.dbf
./u01/app/smprd501.dbf
./home/abhishek/centos.iso
./home/abhishek/filegroup128.jar
Run Code Online (Sandbox Code Playgroud)
现在这是我的问题。我只想要位于消耗空间的文件夹中的那些文件的名称,/而不是 at/u01或/home。由于/是一切的基础,它向我展示了我服务器的每个文件。
是否有可能获得占 78% 的大文件/?
如何找到已被删除但仍在应用程序中打开的大文件?即使进程打开了这样的文件,如何删除它?
情况是我们正在运行一个正在以极快的速度填充日志文件的进程。我知道原因,我可以解决它。在那之前,我想在不关闭进程的情况下 rm 或清空日志文件。
简单地执行rm output.log仅删除对文件的引用,但它会继续占用磁盘空间,直到进程终止。更糟糕的是:在rming之后我现在无法找到文件在哪里或有多大!有没有办法找到该文件,并可能清空它,即使它仍然在另一个进程中打开?
我特指基于 Linux 的操作系统,例如 Debian 或 RHEL。
当我总结我的文件的大小时,我得到一个数字。如果我跑du,我会得到另一个数字。如果我du在分区上的所有文件上运行,它与df使用的声明不匹配。为什么我的文件总大小有这么多不同的数字?电脑不能加吗?
说到添加:当我添加 的“Used”和“Available”列时df,我没有得到总数。而且这个总数小于我的分区大小。如果我把我的分区大小加起来,我就不会得到我的磁盘大小!是什么赋予了?
我知道默认情况下,新创建的文件系统将使用为 root 分配的空间的 5% 创建。我也知道您可以通过以下方式更改定义的空间:
tune2fs -m 1 /dev/sdXY
Run Code Online (Sandbox Code Playgroud)
不过,我很好奇的是,这个保留空间的实际用途是什么。它是否有任何实际用途,在某些情况下值得超过 5% 的空间?
我偶然发现这个问题的原因是我们最近构建了一个 1TB 的文件存储,并且无法弄清楚为什么 df -h 让我们丢失了 5% 的容量。
我的根分区上的磁盘空间不足,所以我想从系统中删除一些应用程序。如何查看哪些软件包使用了最多的磁盘空间?是否可以从aptitude?
我了解通用磁盘空间分析器,例如df或baobab,但我需要已安装应用程序的解决方案。
我正在寻找WinDirStat的 Linux 替代品。我想知道是什么占用了我的硬盘空间。
首选在控制台上运行且不需要 UI 的程序。
disk-usage ×10
command-line ×3
filesystems ×2
partition ×2
apt ×1
command ×1
directory ×1
files ×1
find ×1
logs ×1
ls ×1
open-files ×1
process ×1
recursive ×1
root ×1
software-rec ×1
sort ×1
units ×1