Как узнать список каталогов в файловой системе?

Как узнать список каталогов в файловой системе?

Если я запущу 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/. Как мне освободить больше места из этого раздела?

решение1

Если вы ищете каталоги, которые занимают место и не находятся на другом разделе, то вам нужно du -hx --max-depth=1 /. Он -xсообщает ему не переходить в каталоги, которые находятся на других файловых системах (разделах). Он --max-depth=1просит вывести только строку (с указанием общего пространства для этого каталога и всех подкаталогов) для каждого каталога, /а не для каждого отдельного подкаталога.

Затем вы можете начать углубляться в более крупные подкаталоги, чтобы выяснить, что занимает место.

решение2

Если я правильно понял этот вопрос, есть программа под названием tree. Она выведет список всех каталогов в виде древовидной структуры. Установив ее, вы можете сделать что-то вроде:

tree -xГде -xОстаться только в текущей файловой системе. Ala find -xdev.

ОБНОВЛЕНИЕ: Я попробовал, tree -P /dev/xvdaи, похоже, он показал каталоги в этой файловой системе. -PКоманда означает шаблон. Поэтому, отвечая на ваш вопрос, вы должны иметь возможность использовать его для вывода списка каталогов в файловых системах.

Чтобы вывести список первых уровней в /каталоге, попробуйте команду:

tree -LP 1 /dev/xvda

где L— уровень Максимальная глубина отображения дерева каталогов.

Обратитесь к страницам руководства.здесь

решение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может помочь вам выяснить, какие файлы удалить, чтобы освободить место. Если вы не можете удалить ни одного файла, вам нужно либо изменить размер раздела, либо переместить некоторые данные в другой раздел.

Связанный контент