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

11

Se eu executar o sudo df -hcomando, 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 vou saber a lista de diretórios abaixo /sda2? Por exemplo, se eu executar o ls /comando, tenho 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 meio pelo qual também posso listar o sistema de arquivos deles?
  • Desde então, há muito menos quantidade de espaço restante /dev/sda2/. Como posso desocupar mais espaço desta partição?
ursitesion
fonte

Respostas:

4

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

tree -xOnde -xPermaneça 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ê deve 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 Lestá o nível Max profundidade de exibição da árvore de diretórios.

Consulte as páginas de manual aqui

ryekayo
fonte
posso usar o comando tree com sistema de arquivos para listar todos os diretórios?
ursitesion
1
Eu atualizei minha resposta. Eu acredito que você pode.
ryekayo
Eu executei tree -P /dev/sda4/e obtive este resultado: `. 0 diretórios, 0 arquivos`
ursitesion
Verifique se o seu no /diretório ao executar este comando
ryekayo
corrigir. Como listar diretórios de apenas um nível?
ursitesion
8

Se você estiver procurando por diretórios que estão ocupando espaço e não estão em uma partição diferente, então deseja du -hx --max-depth=1 /. Ele -xdiz para não descer para diretórios que estão em outros sistemas de arquivos (partições). Ele --max-depth=1pede para imprimir apenas uma linha (listando o espaço total para esse diretório e todos os subdiretórios) para cada diretório em /vez de cada subdiretório.

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

psusi
fonte
3

Mas, como vou saber 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 das partições).

Mas, existe algum comando ou meio pelo qual também posso listar o sistema de arquivos deles?

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

Uma maneira melhor de ver uma lista de sistemas de arquivos montados é usar o 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. Realmente bom ao rastrear pastas grandes é o --max-depth=1que limitará 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 criar mais espaço. Se você não conseguir excluir nenhum arquivo, precisará redimensionar a partição ou mover alguns dados para uma partição diferente.

Martin
fonte
Eu adicionei todo o sistema de arquivos no meu servidor.
precisa
@ursitesion OK, qual é a sua pergunta real, então?
Martin
Eu quero reduzir o 'usos% `no meu/dev/sda2
ursitesion 17/11/2014
ah .. você deve editar sua pergunta então. Vou atualizar minha resposta
Martin
Atualizei