¿Cómo saber la lista de directorios bajo un sistema de archivos?

¿Cómo saber la lista de directorios bajo un sistema de archivos?

Si ejecuto sudo df -hel comando, obtengo el siguiente resultado:

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

Pero, ¿cómo sabré la lista de directorios que aparecen debajo /sda2? Por ejemplo, si ejecuto ls /el comando, obtengo todos los directorios bajo la raíz.

$ 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
  • Pero, ¿hay algún comando o forma a través del cual también pueda enumerar su sistema de archivos?
  • Desde entonces, queda muy menos espacio en /dev/sda2/. ¿Cómo puedo liberar más espacio de esta partición?

Respuesta1

Si está buscando directorios que estén consumiendo espacio y no estén en una partición diferente, entonces desea du -hx --max-depth=1 /. Le -xdice que no descienda a directorios que se encuentran en otros sistemas de archivos (particiones). Solicita --max-depth=1imprimir solo una línea (enumerando el espacio total para ese directorio y todos los subdirectorios) para cada directorio en /lugar de cada subdirectorio.

Luego puede comenzar a profundizar en los subdirectorios más grandes para encontrar qué está ocupando espacio.

Respuesta2

Si estoy leyendo esta pregunta correctamente, hay un programa llamado tree. Esto enumeraría todos los directorios en una estructura similar a un árbol. Con él instalado, puedes hacer algo como:

tree -xDónde -xPermanecer únicamente en el sistema de archivos actual. Ala encontrar -xdev.

ACTUALIZACIÓN: Lo intenté tree -P /dev/xvday parecía haber mostrado directorios bajo ese sistema de archivos. El -Pcomando significa patrón. Entonces, para responder a su pregunta, debería poder usarlo para enumerar directorios en sistemas de archivos.

Para enumerar los primeros niveles en /el directorio, pruebe el comando:

tree -LP 1 /dev/xvda

donde Lestá el nivel Profundidad máxima de visualización del árbol de directorios.

Consulte las páginas del manual.aquí

Respuesta3

Pero, ¿cómo sabré la lista de directorios en /sda2?

No hay directorios en /dev/sda2, /dev/sda2 es una partición en el disco (sda es el disco y 2 es el número de partición).

Pero, ¿hay algún comando o forma a través del cual también pueda enumerar su sistema de archivos?

Como solo tiene un sistema de archivos montado, todos están en /fs.

Una mejor manera de ver una lista de sistemas de archivos montados es usar 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)

Para ver la cantidad de almacenamiento utilizado por una carpeta, puede utilizar el ducomando, por ejemplo:

~/tmp$ du -sh
752K    .

duTiene muchas opciones completas de uso. Una opción realmente buena a la hora de rastrear carpetas grandes es --max-depth=1la que limitará la profundidad de la salida:

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

Recibirá muchos mensajes de error si ejecuta esto en/sin ser root.

dupuede ayudarle a determinar qué archivos eliminar para ganar más espacio. Si no puede eliminar ningún archivo, deberá cambiar el tamaño de la partición o mover algunos datos a una partición diferente.

información relacionada