O comando LS (List), no Linux, faz realmente o que seu nome dá a entender. Ele lista o conteúdo de diretórios. Para quem adora usar o terminal, ou até mesmo para quem precisa, ele é imprescindível. Trata-se de um dos comandos mais utilizados em sistemas Unix-like, além disso, um comando valiosíssimo para administradores de servidores Linux.
Trata-se de um comando também capaz de listar arquivos de diferentes maneiras. O usuário é capaz, com o comando LS, de listar arquivos em ordem alfabética, em forma de listas simples, em colunas, e de diversos outros modos (em blocos, também).
Com o LS, podemos visualizar informações de uma maneira mais amigável, mais confortável, até mesmo porque, dependendo da situação e do usuário, o shell pode assustar um pouco, principalmente quando um grande número de informações é exibido ao mesmo tempo.
Vamos lá. Vamos mostrar a você 15 exemplos de utilização do comando LS, no Linux:
1) ls
Esta é a forma mais básica. Ao simplesmente digitar “ls” (sem aspas e seguido de um <ENTER>) no prompt de comando, o usuário pode conferir uma lista com os arquivos contidos no diretório, sem maiores detalhes, sem que sejam exibidas informações tais como, por exemplo, tamanho dos arquivos, data de modificação, etc:
[email protected] [/home/codigofonte]# ls ./ codigofonte.jpg codigofonte.php ../ codigofontejpg.jpg codigofonte_teste.php codigofonte_2.jpg .codigofonte.php codigofonte.txt [email protected] [/home/codigofonte]#
2) ls -l
O comando acima exibe o conteúdo da pasta em forma de lista:
[email protected] [/home/codigofonte]# ls -l total 540 drwxr-xr-x 2 root root 4096 Feb 11 11:26 ./ drwx--x--x. 26 root root 4096 Feb 11 11:17 ../ -rw-r--r-- 1 root root 27886 Feb 5 13:50 codigofonte_2.jpg -rw-r--r-- 1 root root 211156 Dec 1 10:43 codigofonte.jpg -rw-r--r-- 1 root root 216423 Dec 1 10:23 codigofontejpg.jpg -rw-r--r-- 1 root root 1809 Feb 11 11:19 .codigofonte.php -rw-r--r-- 1 root root 1809 Feb 11 11:19 codigofonte.php -rw-r--r-- 1 root root 56141 Feb 11 11:20 codigofonte_teste.php -rw-r--r-- 1 root root 19899 Feb 11 11:19 codigofonte.txt [email protected] [/home/codigofonte]#
3) ls -a
Com o comando ls seguido do parâmetro -a, podemos listar o conteúdo de um diretório em forma de coluna:
[email protected] [/home/codigofonte]# ls -a ./ codigofonte.jpg codigofonte.php ../ codigofontejpg.jpg codigofonte_teste.php codigofonte_2.jpg .codigofonte.php codigofonte.txt [email protected] [/home/codigofonte]#
4) ls -t
Com ls -t podemos listar os arquivos por ordem de data de modificação. Arquivos que foram modificados por último, mais recentemente, são exibidos em primeiro lugar:
[email protected] [/home/codigofonte]# ls -t codigofonte.txt codigofonte_teste.php codigofonte_2.jpg codigofonte.php .codigofonte.php codigofonte.jpg ./ ../ codigofontejpg.jpg [email protected] [/home/codigofonte]#
5) ls -lt
Lista os arquivos por ordem de data de modificação, também exibindo os modificados mais recentemente em primeiro lugar. Porém, este comando lista tudo com mais detalhes:
[email protected] [/home/codigofonte]# ls -lt total 540 -rw-r--r-- 1 root root 19535 Feb 11 11:34 codigofonte.txt -rw-r--r-- 1 root root 1944 Feb 11 11:34 codigofonte.php drwxr-xr-x 2 root root 4096 Feb 11 11:26 ./ -rw-r--r-- 1 root root 56141 Feb 11 11:20 codigofonte_teste.php -rw-r--r-- 1 root root 1809 Feb 11 11:19 .codigofonte.php drwx--x--x. 26 root root 4096 Feb 11 11:17 ../ -rw-r--r-- 1 root root 27886 Feb 5 13:50 codigofonte_2.jpg -rw-r--r-- 1 root root 211156 Dec 1 10:43 codigofonte.jpg -rw-r--r-- 1 root root 216423 Dec 1 10:23 codigofontejpg.jpg [email protected] [/home/codigofonte]#
6) ls -ltr
Similar ao comando acima, com a diferença de listar em ordem reversa, ou seja, os modificados mais recentemente vão ficando para o final da lista:
[email protected] [/home/codigofonte]# ls -ltr total 540 -rw-r--r-- 1 root root 216423 Dec 1 10:23 codigofontejpg.jpg -rw-r--r-- 1 root root 211156 Dec 1 10:43 codigofonte.jpg -rw-r--r-- 1 root root 27886 Feb 5 13:50 codigofonte_2.jpg drwx--x--x. 26 root root 4096 Feb 11 11:17 ../ -rw-r--r-- 1 root root 1809 Feb 11 11:19 .codigofonte.php -rw-r--r-- 1 root root 56141 Feb 11 11:20 codigofonte_teste.php drwxr-xr-x 2 root root 4096 Feb 11 11:26 ./ -rw-r--r-- 1 root root 1944 Feb 11 11:34 codigofonte.php -rw-r--r-- 1 root root 19535 Feb 11 11:34 codigofonte.txt [email protected] [/home/codigofonte]#
7) ls -s
O comando acima exibe os arquivos de uma pasta em formato de bloco, sendo que eles são ordenados por tamanho:
[email protected] [/home/codigofonte]# ls -s total 540 4 ./ 208 codigofonte.jpg 4 codigofonte.php 4 ../ 212 codigofontejpg.jpg 56 codigofonte_teste.php 28 codigofonte_2.jpg 4 .codigofonte.php 20 codigofonte.txt [email protected] [/home/codigofonte]#
8) ls -l *.extensao
O comando acima permite filtrar e listar somente determinados tipos de arquivo. Por exemplo, ls -l *.php exibirá somente os arquivos .php contidos na pasta, e assim por diante:
[email protected] [/home/codigofonte]# ls -l *.php -rw-r--r-- 1 root root 1944 Feb 11 11:34 codigofonte.php -rw-r--r-- 1 root root 56141 Feb 11 11:20 codigofonte_teste.php [email protected] [/home/codigofonte]#
9) ls -1
Com ls -1, podemos fazer com que os arquivos do diretório sejam listados por linha, um em cada linha:
[email protected] [/home/codigofonte]# ls -1 ./ ../ codigofonte_2.jpg codigofonte.jpg codigofontejpg.jpg .codigofonte.php codigofonte.php codigofonte_teste.php codigofonte.txt [email protected] [/home/codigofonte]#
10) ls -lh
Para obter uma listagem de arquivos que exiba seus respectivos tamanhos de uma forma mais compreensível, ou “Human Readable” (humanamente legível). Assim, você pode conferir os tamanhos em KB, MB, GB, etc:
[email protected] [/home/codigofonte]# ls -lh total 540K drwxr-xr-x 2 root root 4.0K Feb 11 11:26 ./ drwx--x--x. 26 root root 4.0K Feb 11 11:17 ../ -rw-r--r-- 1 root root 28K Feb 5 13:50 codigofonte_2.jpg -rw-r--r-- 1 root root 207K Dec 1 10:43 codigofonte.jpg -rw-r--r-- 1 root root 212K Dec 1 10:23 codigofontejpg.jpg -rw-r--r-- 1 root root 1.8K Feb 11 11:19 .codigofonte.php -rw-r--r-- 1 root root 1.9K Feb 11 11:34 codigofonte.php -rw-r--r-- 1 root root 55K Feb 11 11:20 codigofonte_teste.php -rw-r--r-- 1 root root 20K Feb 11 11:34 codigofonte.txt [email protected] [/home/codigofonte]#
11) ls -d */
Digamos que você esteja em um diretório e deseje listar todos os seus subdiretórios, apenas, excluindo os arquivos aí presentes. Basta então digitar ls -d */ , e o output será similar ao abaixo:
[email protected] [/home/codigofonte]# ls -d */ codigofonte_1// codigofonte_2// codigofonte_imagens// codigofonte_teste// [email protected] [/home/codigofonte]#
12) ls -g e ls -G
Para excluir da listagem de arquivos os proprietários e os grupos de cada arquivo. O comando ls -g exclui da lista o proprietário, e ls seguido do parâmetro -G (observe a letra maiúscula aqui) exclui o grupo. Também é possível usar os dois de forma combinada, ou seja, ls -g -G :
[email protected] [/home/codigofonte]# ls -g -G total 556 drwxr-xr-x 6 4096 Feb 11 12:54 ./ drwx--x--x. 26 4096 Feb 11 11:17 ../ drwxr-xr-x 2 4096 Feb 11 12:54 codigofonte_1/ drwxr-xr-x 2 4096 Feb 11 12:54 codigofonte_2/ -rw-r--r-- 1 27886 Feb 5 13:50 codigofonte_2.jpg drwxr-xr-x 3 4096 Feb 11 12:57 codigofonte_imagens/ -rw-r--r-- 1 211156 Dec 1 10:43 codigofonte.jpg -rw-r--r-- 1 216423 Dec 1 10:23 codigofontejpg.jpg -rw-r--r-- 1 1809 Feb 11 11:19 .codigofonte.php -rw-r--r-- 1 1944 Feb 11 11:34 codigofonte.php drwxr-xr-x 2 4096 Feb 11 12:54 codigofonte_teste/ -rw-r--r-- 1 56141 Feb 11 11:20 codigofonte_teste.php -rw-r--r-- 1 19535 Feb 11 11:34 codigofonte.txt [email protected] [/home/codigofonte]#
13) ls -R
Através deste comando, você pode listar não somente arquivos e pastas, mas também o conteúdo de subdiretórios, como outros arquivos, por exemplo:
[email protected] [/home/codigofonte]# ls -R .: ./ codigofonte_2.jpg .codigofonte.php codigofonte.txt ../ codigofonte_imagens/ codigofonte.php codigofonte_1/ codigofonte.jpg codigofonte_teste/ codigofonte_2/ codigofontejpg.jpg codigofonte_teste.php ./codigofonte_1: ./ ../ .codigofonte.php ./codigofonte_2: ./ ../ codigofonte.jpg codigofonte.php ./codigofonte_imagens: ./ ../ testes_codigofonte/ ./codigofonte_imagens/testes_codigofonte: ./ ../ ./codigofonte_teste: ./ ../ [email protected] [/home/codigofonte]#
14) ls -m
Para listar o conteúdo e separar apenas por uma vírgula:
[email protected] [/home/codigofonte]# ls -m ./, ../, codigofonte_1/, codigofonte_2/, codigofonte_2.jpg, codigofonte_imagens/, codigofonte.jpg, codigofontejpg.jpg, .codigofonte.php, codigofonte.php, codigofonte_teste/, codigofonte_teste.php, codigofonte.txt [email protected] [/home/codigofonte]#
15) ls -d $PWD/*
O comando acima lista pastas e arquivos incluindo o caminho completo para eles:
[email protected] [/home/codigofonte]# ls -d $PWD/* /home/codigofonte/codigofonte_1/ /home/codigofonte/codigofontejpg.jpg /home/codigofonte/codigofonte_2/ /home/codigofonte/codigofonte.php /home/codigofonte/codigofonte_2.jpg /home/codigofonte/codigofonte_teste/ /home/codigofonte/codigofonte_imagens/ /home/codigofonte/codigofonte_teste.php /home/codigofonte/codigofonte.jpg /home/codigofonte/codigofonte.txt [email protected] [/home/codigofonte]#
Finalizando
O comando ls, juntamente com os vários parâmetros existentes, é realmente importantíssimo. Com ele, podemos realmente obter informações a respeito de arquivos e diretórios, listando seus respectivos conteúdos de diversas maneiras.
Dê uma lida também em outros artigos a respeito de comandos no Linux: