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

11

Si ejecuto el sudo df -hcomando, obtuve 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 bajo /sda2? Por ejemplo, si ejecuto el ls /comando, obtengo todos los directorios en 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 poca cantidad de espacio restante /dev/sda2/. ¿Cómo puedo desocupar más espacio de esta partición?
ursitesion
fuente

Respuestas:

4

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

tree -xDónde -xAlojarse solo en el sistema de archivos actual. Ala encuentra -xdev.

ACTUALIZACIÓN: He intentado tree -P /dev/xvday parecía haber mostrado directorios en ese sistema de archivos. El -Pcomando significa patrón. Entonces, para responder a su pregunta, debería poder usarla 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í

ryekayo
fuente
¿Puedo usar el comando de árbol con el sistema de archivos para enumerar todos los directorios?
ursitesion
1
Actualicé mi respuesta. Yo creo que tu puedes.
ryekayo
Ejecuté tree -P /dev/sda4/y obtuve este resultado: `. 0 directorios, 0
archivos`
Asegúrese de estar en el /directorio cuando ejecute este comando
ryekayo
correcto. ¿Cómo enumerar directorios de un solo nivel?
ursitesion
8

Si está buscando directorios que están usando espacio y no están en una partición diferente, entonces lo desea du -hx --max-depth=1 /. El -xle dice que no descienda a directorios que están en otros sistemas de archivos (particiones). La --max-depth=1solicitud solo imprime una línea (que enumera 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 lo que está ocupando el espacio.

psusi
fuente
3

Pero, ¿cómo sabré la lista de directorios bajo / 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 particiones).

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 usar el ducomando, por ejemplo:

~/tmp$ du -sh
752K    .

dutiene muchas opciones completas de uso. Una muy buena para rastrear carpetas grandes es la --max-depth=1que 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 ayudarlo a determinar qué archivos eliminar para hacer más espacio. Si no puede eliminar ningún archivo, debe cambiar el tamaño de la partición o mover algunos datos a una partición diferente.

Martín
fuente
He agregado todo el sistema de archivos en mi servidor.
ursitesion
@ursitesion OK, ¿cuál es tu pregunta real entonces?
Martin
Quiero reducir los 'usos%' en mi/dev/sda2
ursitesion
ah .. deberías editar tu pregunta entonces. Actualizaré mi respuesta
Martin
Actualicé