如何知道文件系统下的目录列表?


11

如果我运行sudo df -h命令,则会得到以下输出:

Filesystem            Size  Used Avail Use% Mounted on
/dev/sda2              12G  9.5G  1.1G  91% /
/dev/sda4             3.8G  1.5G  2.1G  41% /home
/dev/sda1              99M   75M   20M  80% /boot
tmpfs                 3.9G     0  3.9G   0% /dev/shm
/dev/sdc1              51G  2.6G   46G   6% /u000

但是,我怎么知道下面的目录列表/sda2?例如,如果我运行ls /命令,则所有目录都位于根目录下。

$ ls /
bin   cdunix     dev  etc   lib    lost+found  misc  mnt1  mtp     net  PatchInstall  root  selinux  sys       tmp   usr
boot  cron_4058  esm  home  lib64  media       mnt   mnt2  NB_DIR  opt  proc          sbin  srv      tftpboot  u000  var
  • 但是,是否有任何命令或方式可以列出他们的文件系统呢?
  • 因为,剩余的空间非常少/dev/sda2/。如何从该分区中腾出更多空间?

Answers:


4

如果我正确阅读此问题,则有一个名为的程序tree。这将以树状结构列出所有目录。安装后,您可以执行以下操作:

tree -x其中-x仅停留在当前的文件系统上。阿拉找到-xdev。

更新:我已经尝试过了tree -P /dev/xvda,它似乎在该文件系统下显示了目录。该-P命令代表模式。因此,要回答您的问题,您应该可以使用它列出文件系统中的目录。

要列出目录中的第一级/,请尝试命令:

tree -LP 1 /dev/xvda

其中Llevel是目录树的最大显示深度。

在此处参考手册页


可以在文件系统中使用tree命令列出所有目录吗?
ursitesion

1
我更新了答案。我相信你可以。
ryekayo 2014年

我执行 tree -P /dev/sda4/并得到以下结果:0个目录,0个文件`
ursitesion

/运行此命令时,请确保您位于目录中
ryekayo 2014年

正确。如何只列出一级目录?
ursitesion 2014年

8

如果要查找占用空间的目录,并且不在其他分区上,则需要du -hx --max-depth=1 /。在-x没有告诉它沦落成是对其他文件系统(分区)的目录。的--max-depth=1要求,只打印行(列出该目录,总空间的所有子目录)为每个目录/,而不是每一个子目录。

然后,您可以开始向下钻取更大的子目录以查找占用空间的内容。


3

但是,我怎么知道/ sda2下的目录列表?

/ dev / sda2下没有目录,/ dev / sda2是磁盘上的分区(sda是磁盘,2是分区号)。

但是,是否有任何命令或方式可以列出他们的文件系统呢?

由于仅安装了一个文件系统,因此它们全部位于/ fs上。

查看已挂载文件系统列表的更好方法是使用mount:

$ sudo mount
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
udev on /dev type devtmpfs (rw,relatime,size=10240k,nr_inodes=2018106,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,relatime,size=3232436k,mode=755)
/dev/sda5 on / type ext4 (rw,noatime,errors=remount-ro,data=ordered)

要查看文件夹使用的存储量,可以使用以下du命令:

~/tmp$ du -sh
752K    .

du有很多使用完整选项。跟踪大文件夹时,一个非常好的方法是--max-depth=1限制输出的深度:

du -h --max-depth=1 /
7,9M    /sbin
702M    /lib

如果您在/上没有root身份运行此命令,则会收到很多错误消息。

du可以帮助您确定要删除哪些文件以腾出更多空间。如果无法删除任何文件,则需要调整分区的大小或将一些数据移动到其他分区。


我已经在服务器上添加了所有文件系统。
ursitesion

@ursitesion好的,那么您的实际问题是什么?
马丁

我想减少我的使用中的“使用百分比”/dev/sda2
ur14年

嗯..那么您应该编辑您的问题。我将更新我的答案
马丁

更新我的问题....
ursitesion
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.