ls -alXh > Option1.txt
man ls
ajudaria, também ...;)
Como posso criar um novo arquivo chamado Option1.txt na minha área de trabalho? Este arquivo deve contém o conteúdo do meu diretório 'home'. E como eu faria minha saída:
ls -alXh > Option1.txt
man ls
ajudaria, também ...;)
ls -ahlX ~|awk '{printf "%-20s %-40s\n",$9,$5 }'>~/Desktop/Option1.txt
Ordenado alfabeticamente pela extensão de entrada. ( Using ls -X
)
Inclui arquivos e pastas ocultos (usando ls -a
)
Mostra todos os tamanhos de arquivo em formato legível por humanos (Usando ls -lh
)
awk '{print $9,$5 }
apenas imprime o nome e o tamanho dos arquivos e diretórios
e finalmente armazena no Option.txt.
%-20s %-40s\n
é para formatar as colunas
Mas isto não imprimirá o nome completo do diretório, como apontado nos comentários de @ Glenn Jackman, se houver espaços no nome do diretório.
Então,
Outra opção seria ( fonte )
ls -ahlX ~|gawk -F':[0-9]* ' '/:/{print $2}'>~/Desktop/Option1.txt
Este imprime os nomes dos arquivos, mesmo que haja espaços.
Mas é sempre uma má ideia analisar ls.
A análise de saída de ls
nunca é uma boa ideia. Minha abordagem seria usar du
para listar o uso de disco para cada arquivo, com a opção --mad-depth
para listar apenas o diretório atual (porque du
é recursivo) e depois definir o comando sort
para organizar a saída com base no segundo campo.
du --all --max-depth 1 --human-readable | sort --key=2
Redirecionar isso para um arquivo é simplesmente du --all --max-depth 1 --human-readable | sort --key=2 > outputFileName.txt
Você também pode estar interessado em informações mais detalhadas do que as fornecidas por du
. Consulte minha outra resposta que utiliza find
e du
(embora possa precisar ser modificado para incluir | sort
parte): Comando 'ls' mostrando o tamanho do diretório em vez do tamanho do bloco