Listando arquivos e diretórios de forma mais eficiente - Série Linux
Tags: linux, ubuntu
Published: 2023-07-27 03:31:46

Na continuação dessa série iremos falar de um dos comandos mais populares do linux o **ls** esse comando é bem interessante por suas opções e como elas podem ser de grande ajuda quando você está só tem a linha de comando disponível.

Para quem não conhece o comando **ls** é o comando de listagem, ele lista todos os arquivos e diretórios do diretório corrente.

Para começar irei discorrer o que muitos já sabem até outros comandos que para alguns podem ser comum, mas para outros seja uma novidade.

# ls

```
cd ~      # Entrando na pasta home.
ls        # Lista arquivos e diretórios no diretório corrente.
```

---

# Detalhando a listagem

---

## ls -a

Com essa opção são listados os arquivos ocultados, o diretório atual (simbolizado por .) e o diretório anterior (simbolizado por ..).

```
cd ~      # Entrando na pasta home.
ls -a     # Lista arquivos e diretórios ocultos.
```

---

## ls -l

Essa opção irá listar as permissões, quem criou, quem alterou, tamanho e data de alteração do arquivo.

```
cd ~      # Entrando na pasta home.
ls -l     # Lista arquivos e diretórios com seus detalhes 
```

---

## ls -s

Essa opção irá mostrar ao lado do nome do arquivo/diretório o tamanha em KB do mesmo.

```
cd ~      # Entrando na pasta home.
ls -s     # Lista arquivos e diretórios mostrando seus KB
```

---

# Ordenando a listagem

---

## ls -S

Essa opção ordena os arquivos/diretórios pelo tamanho.

```
cd ~      # Entrando na pasta home.
ls -S     # Lista arquivos/diretórios ordenando por seus KB
```

---

## ls -t

Essa opção ordena os arquivos/diretórios pela data e horá mais recente de alteração.

```
cd ~      # Entrando na pasta home.
ls -t     # Lista arquivos/diretórios ordenando pela data e hora mais recente de alteração mais recente.
```

---

# Listando com coringas 🃏

---

## ?

O ponto de interrogação é bem simples, ele representa um  caractere e pode ser qualquer caractere. 

Digamos que temos os arquivos:

arq1 arq2 arq3 arq4 arq5 arq01 arq02 arq03 arq04 arq05 arq10 arq20 arq30 arq40 arq50

```
ls arq? #será lista todos os arquivos que tenham arq e um caractere amais.
# resultado: arq1  arq2  arq3  arq4  arq5
```

---

## *

Esse coringa qualquer coisa, qualquer caractere e qualquer quantidade do mesmo.

Digamos que temos os arquivos:
arquivo arqdhdtrhdrdvo arq1 arq2 arq3

```
ls arq*vo # Esse comando indica que entre o **q** e o **v** pode ter qualquer caractere e qualquer quantidade de caractere.
# resultado: arquivo arqdhdtrhdrdvo

```    

---

## [1-5]

Esse coringa determina o range de possibilidades.

Digamos que temos os arquivos:
arq1 arq2 arq3 arq4 arq5 arq01 arq02 arq03 arq04 arq05 arq10 arq20 arq30 arq40 arq50

```
ls arq[1-5] # irá listar todos os arquivos arq que tenha um caractere de 1 a 5.
# resultado: arq1  arq2  arq3  arq4  arq5
```

---

## [a, A]

Esse coringa determina as possibilidades que podemos ter, ele é muito parecido com o de range de possibilidades.

Digamos que temos os arquivos:

arq1 arq2 arq3 arq4 arq5 Arq6 Arq7 Arq8 Arq9

```
ls arq? # só listara os arquivos arq e não os Arq
#resultado: arq1 arq2 arq3 arq4 arq5

ls [a,A]rq? #listara todos os arquivos arq e Arq
#resultado: arq1 arq2 arq3 arq4 arq5 Arq6 Arq7 Arq8 Arq9
```