Como faço para listar arquivos com caminhos completos no Linux?

6

No Linux, existe um equivalente a Dir /s /a /b em que o caminho completo e o nome do arquivo estão listados? Sou novo no Linux e, sem uma GUI, quero ter uma ideia da estrutura do que está no disco rígido.

    
por Luke Puplett 03.01.2013 / 13:13

2 respostas

10

Use o comando find . Por padrão, ele listará recursivamente todos os arquivos e pastas que estiverem descendo de seu diretório atual, com o caminho completo (relativo).

Se você quiser o caminho completo, use: find "$(pwd)" .

  • Se você quiser restringi-lo apenas a arquivos ou pastas, use find -type f ou find -type d , respectivamente.
  • Se você quiser que ele pare em uma determinada profundidade de diretório, use find -maxdepth 2 , por exemplo.

Leia Encontrando arquivos para um extenso manual sobre o GNU find , que é o padrão no Linux.

    
por 03.01.2013 / 13:16
2

Para fins de conclusão, o comando ls -lR / listará o nome de cada arquivo, o tipo de arquivo, o arquivo bits de modo, número de links físicos, nome do proprietário, nome do grupo, tamanho e data e hora de cada arquivo (que você tem permissão para acessar) do diretório raiz para baixo. ( l é para lista longa, ou seja, toda essa informação, R é para recursar através de diretórios, / começa na raiz do sistema de arquivos.)

Existem vários parâmetros para tornar as informações de saída mais próximas de dir /S /A , mas devo admitir que não posso descobrir como traduzir /B .

Para informações úteis, eu tentaria: ls -lAFGR --si /

onde

  • l = lista longa (como mencionado acima)
  • A = quase todos os arquivos (não incluir . e .. em cada dir, mas mostra todos os arquivos ocultos)
  • F = mostra o indicador do arquivo, (um dos * para arquivos exe, / para diretórios, @ para links simbólicos, | para FIFOs, = para soquetes e > para portas)
  • G = não mostrar informações do grupo (remova isso se quiser ver)
  • R = lista recursivamente diretórios (subdiretórios) e
  • - si = mostra o tamanho do arquivo em formato legível, por exemplo, 1M (onde 1M = 1000B)

ls pode fornecer uma sinopse mais fácil de ler diretórios e arquivos nesses diretórios, já que a saída de find pode ser difícil de verificar quando os arquivos estão contidos em estruturas de diretórios muito longas (abrangendo várias linhas). O corolário é que cada arquivo é listado sozinho (isto é, sem informações de caminho de diretório) e você pode ter que voltar algumas páginas / telas para encontrar os diretórios em que um determinado arquivo está localizado.

Além disso, o find não contém as informações / A no comando DIR. Eu sugeri um número de atributos no comando que mostrei (que coincidentemente mostra a utilidade extra que você obtém do Linux sobre um determinado sistema proprietário), mas se você ler as páginas man e info em ls , você poderá ver o que incluir ou não.

    
por 03.01.2013 / 14:29

Tags