Como saber a lista de diretórios em um sistema de arquivos?

Como saber a lista de diretórios em um sistema de arquivos?

Se eu executar sudo df -ho comando, obtive a saída abaixo:

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

Mas como saberei a lista de diretórios em /sda2? Por exemplo, se eu executar ls /o comando, colocarei todos os diretórios na raiz.

$ 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
  • Mas existe algum comando ou maneira pela qual eu também possa listar seu sistema de arquivos?
  • Desde então, há muito menos espaço restante em /dev/sda2/. Como posso desocupar mais espaço desta partição?

Responder1

Se você está procurando diretórios que estão ocupando espaço e não estão em uma partição diferente, então você deseja du -hx --max-depth=1 /. O -xinstrui a não descer para diretórios que estejam em outros sistemas de arquivos (partições). O --max-depth=1pedido é para imprimir apenas uma linha (listando o espaço total desse diretório e todos os subdiretórios) para cada diretório, /em vez de para cada subdiretório.

Você pode então começar a detalhar os subdiretórios maiores para descobrir o que está ocupando espaço.

Responder2

Se estou lendo esta pergunta corretamente, existe um programa chamado tree. Isso listaria todos os diretórios em uma estrutura semelhante a uma árvore. Com ele instalado, você pode fazer algo como:

tree -xOnde -xStay apenas no sistema de arquivos atual. Ala encontre -xdev.

ATUALIZAÇÃO: Eu tentei tree -P /dev/xvdae parecia ter mostrado diretórios nesse sistema de arquivos. O -Pcomando significa padrão. Portanto, para responder à sua pergunta, você poderá usá-lo para listar diretórios em sistemas de arquivos.

Para listar os primeiros níveis no /diretório, tente o comando:

tree -LP 1 /dev/xvda

onde Lé o nível Profundidade máxima de exibição da árvore de diretórios.

Consulte as páginas de manualaqui

Responder3

Mas como saberei a lista de diretórios em /sda2?

Não há diretórios em /dev/sda2, /dev/sda2 é uma partição no disco (sda é o disco e 2 é o número da partição).

Mas existe algum comando ou maneira pela qual eu também possa listar seu sistema de arquivos?

Como você tem apenas um sistema de arquivos montado, todos eles estão em /fs.

A melhor maneira de ver uma lista de sistemas de arquivos montados é 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 a quantidade de armazenamento usada por uma pasta você pode usar o ducomando, por exemplo:

~/tmp$ du -sh
752K    .

dutem muitas opções completas de uso. Uma opção realmente boa ao rastrear pastas grandes é --max-depth=1limitar a profundidade da saída:

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

Você receberá muitas mensagens de erro se executar isso em/sem ser root.

dupode ajudá-lo a descobrir quais arquivos excluir para liberar mais espaço. Se você não conseguir excluir nenhum arquivo, será necessário redimensionar a partição ou mover alguns dados para uma partição diferente.

informação relacionada