Se você quiser distinguir facilmente pastas de arquivos, use algo como ls -alhF
. Eu geralmente defino l
como um alias para isso, ie. Eu coloquei a linha alias l='ls -alhF'
no meu .bashrc
.
Como posso listar pastas de dentro do terminal, qual comando devo usar?
Se você quiser distinguir facilmente pastas de arquivos, use algo como ls -alhF
. Eu geralmente defino l
como um alias para isso, ie. Eu coloquei a linha alias l='ls -alhF'
no meu .bashrc
.
para listar apenas pastas, tente: ls -d */
-d
lista os próprios diretórios, não seus conteúdos. Para explicar isso, considere o que acontece se digitarmos
ls */
.ls
fica uma camada abaixo, em cada subdiretório e lista todos os arquivos em cada um deles sequencialmente
Fonte: man ls
*/
*/
é conhecido como "glob" no UNIX. (veja Wikipedia para mais detalhes). Mas, basicamente, significa "qualquer nome de arquivo que termine em uma barra invertida". No UNIX, os diretórios são realmente apenas arquivos, fundamentalmente. Mas eles são nomeados especialmente terminando em uma barra para que o sistema operacional saiba que eles são diretórios (ou pastas, em linguagem de pessoa comum). E o asterisco *
é tecnicamente um caractere curinga que significa "qualquer sequência de caracteres".
Este parágrafo não se refere especificamente à sua pergunta, mas se você nunca leu sobre isso, será bom vê-lo. Os globs são diferentes das Expressões Regulares, conforme (parcialmente) explicado em Qual é a diferença entre Expressões Regulares e Globbing? Existem livros inteiros escritos em expressões regulares, mas há várias maneiras diferentes de codificar expressões que combinam padrões.
Como sou um usuário muito inexperiente, adoro o site . Ele diz tudo o que você quer saber sobre os comandos do bash, em alguns casos, até dá exemplos. Muito útil.
No seu caso:
ls
para listar os arquivos ls -a
para incluir arquivos ocultos ls -l
para um longo formato de listagem ls -al | grep ^d
inclui arquivos ocultos '-a' grep ^ d começa com 'd' o que significa diretório quando o nome começa com o diretório de pontos está oculto
para listar recursivamente, veja isto
find ./ -type d | less
./ ..................... means starts find in current folder
-type .................. indicates the type to be searched
d ...................... means directory
| ...................... redirects the command
less ................... enables paging using the keyboard arrows and leave with q
ls -1 -d */
onde
-1
lista um diretório por linha.
ls
listará os arquivos.
ls -l
listará os arquivos com detalhes (como o tamanho do arquivo).
Para ver as pastas do diretório inicial, o comando ls
é suficiente - isto irá mantê-lo simples.
$ ls
Desktop Downloads hadoop Pictures Templates
Documents examples.desktop Music Public Videos
Você pode até especificar vários diretórios ls ~ /usr
$ ls ~ /usr
/home/hadoop1:
Desktop Downloads hadoop Pictures Templates
Documents examples.desktop Music Public Videos
/usr:
bin games include lib local locale sbin share src
Para obter a saída em formato longo, podemos usar a opção -l
$ ls -l
total 48
drwxr-xr-x 2 hadoop1 hadoop1 4096 Jul 1 2017 Desktop
drwxr-xr-x 2 hadoop1 hadoop1 4096 Jul 1 2017 Documents
drwxr-xr-x 2 hadoop1 hadoop1 4096 Jul 1 2017 Downloads
-rw-r--r-- 1 hadoop1 hadoop1 8980 Jul 1 2017 examples.desktop
drwxr-xr-x 10 hadoop1 hadoop1 4096 Jul 1 2017 hadoop
drwxr-xr-x 2 hadoop1 hadoop1 4096 Jul 1 2017 Music
drwxr-xr-x 2 hadoop1 hadoop1 4096 Jul 1 2017 Pictures
drwxr-xr-x 2 hadoop1 hadoop1 4096 Jul 1 2017 Public
drwxr-xr-x 2 hadoop1 hadoop1 4096 Jul 1 2017 Templates
drwxr-xr-x 2 hadoop1 hadoop1 4096 Jul 1 2017 Videos
Tags command-line