Para uma tarefa minha, preciso listar todos os arquivos em uma árvore (um diretório, todos os seus subdiretórios, todos os subdiretórios, etc.).
Eu preferiria vê-los no Nautilus ou Krusader, mas uma solução de linha de comando também é interessante (nesse caso, precisarei que os nomes dos arquivos, tamanhos e tempos de modificação sejam listados).
Respostas:
árvore será muito conveniente para você.
usando
tree filepath
para listar os arquivos.fonte
Esse é provavelmente o método mais simples. Estou apenas cortando um script de localização para dar um toque a mais controle.
fonte
ls -R
se você não quiser todos os detalhes.Você pode jogar com a formatação printf quantas vezes quiser. Isso oferece uma ótima oportunidade para que as coisas sejam formatadas da maneira que você precisa, o que é inestimável se você estiver usando a saída em outro aplicativo.
Mais: http://linux.about.com/od/commands/l/blcmdl1_find.htm
Para melhor legibilidade, você pode canalizar tudo através do
column
comando e ele redimensionará automaticamente as coisas para que elas se alinhem.fonte
Como Oli respondeu,
find
permitirá pesquisar uma árvore de diretórios inteira:Você também pode usar a
-type f
opção para limitar os resultados a apenas arquivos. Se você deseja corresponder a um padrão de arquivo, deseja as opções-name
ou-iname
(distinção entre maiúsculas e minúsculas e maiúsculas e minúsculas, respectivamente). Faça uma leitura dafind
página de manual - há uma quantidade substancial de opções que você pode usar para restringir / refinar sua pesquisa.E, além disso, se você espera que várias telas de dados sejam devolvidas a você, lembre-se de canalizar seus resultados
less
.@ Oli: +1 Acabei de aprender algo novo -
column
. Não tinha usado isso antes.fonte
ls
é o comando padrão para listar arquivos no Ubuntu e outros sistemas operacionais Linux e Unix.ls
é particularmente útil para aprender, porque você o encontrará instalado em todos os sistemas Unix que encontrar. Por padrão, executar isso exibe apenas os arquivos no diretório atual.No entanto, a
-R
'flag' é a opção recursiva (observe R maiúsculo , não r ) que também mostrará todos os subdiretórios.Você pediu "detalhes" também - para isso, você quer a
-l
bandeira (é um L minúsculo, não o número um). Esteja ciente de que isso fornece informações sobre permissões de arquivo, além de tamanho, informações de hora / data e nome do arquivo.Se você também quiser mostrar arquivos / pastas ocultos (o equivalente a Ctrl+ Hno Nautilus), adicione o
-a
sinalizador 'all'.Você pode mesclar sinalizadores para fornecer algo como:
Se você executar isso em qualquer pasta de tamanho decente, verá que isso produz uma enorme saída longa que rola sua tela muito rapidamente. Para contornar isso, você pode 'canalizar' a saída
ls
através de um programa chamadoless
(o nome é uma paródia do similarmore
que existia primeiro, mas possui mais recursos).Isso permitirá que você use as teclas de seta para cima / para baixo, ao lado de PageUp / Down para passar pela saída em uma velocidade mais confortável.
fonte
Usando o Krusader:
Isso permitirá que você processe todo o lote arrastando para o outro painel etc.
fonte
Que tal um script do Nautilus ?
Instruções de instalação: Como instalar um script do Nautilus?
fonte
Eu criei um programa especialmente para isso - instantâneo de diretório .
Ele itera recursivamente por um diretório e armazena os nomes e tamanhos de todos os arquivos e pastas encontrados em arquivos HTML bem estruturados, que possuem uma organização semelhante à do diretório de entrada.
Em outras palavras, isso pode ser pensado como uma versão com hiperlink dos comandos
dir /s
outree /f
.fonte
dir
etree
com opções no estilo DOS, então tenho que perguntar, isso funcionará no Ubuntu?Nautilus
Isso também funciona no Nemo.
fonte
você pode colocá-los no seu arquivo .bashrc
Agora, você pode usar o comando get_tree dentro de qualquer diretório e ele exibirá toda a hierarquia.
Sintaxe:
Saída de amostra:
Espero que isto ajude !!
fonte