linux.playground

trilha / arco 1 · onde eu estou

o que é ls e o que ele faz

o backup rodou e deu certo. o .env não estava nele. o ls não mostrou, e você não perguntou. antes de qualquer comando, uma pergunta: o que tem aqui?

em poucos minutos: o que o ls faz, o que o -l revela, e o erro que ele evita. a pílula fica no final.

escolhe a camada

em uma frase

é abrir a gaveta e ler as etiquetas. a etiqueta virada para dentro, o nome com ponto na frente, fica de fora.

para quem está começando

lista os nomes que estão dentro de uma pasta. sem argumento, lista a pasta onde você está.

a fonte da verdade

o ls lê o conteúdo da pasta: nomes e números. o -l faz um segundo passo: pergunta ao kernel os dados de cada arquivo, que ficam no inode (dono, tamanho, permissões, data).

o número por trás do nome

rw-rw-r-- são três grupos de três letras: dono, grupo e outros. em número é 664: r vale 4, w vale 2, x vale 1.

mac vs linux

no mac o ls é o do bsd: a cor é -G, não --color, e o -l pode mostrar um @ depois das permissões.

agora você

terminal fechado

um linux de verdade, só seu, apagado quando você sai.

  1. na sua home tem uma pasta chamada homelab. lista o que tem dentro dela.

    ls homelab

  2. pede ao ls os arquivos escondidos também.

    ls -a homelab

  3. agora os detalhes de cada arquivo: dono, tamanho e permissões.

    ls -l homelab

  4. o .env guarda senhas. antes de rodar o ls -la, aposta: quem consegue ler esse arquivo?

cuidado: for f in $(ls) quebra nome com espaço

o arquivo ~/podar.sh apaga os backups antigos da pasta ~/homelab, os que têm "antigo" no nome. ele usa um loop em cima do ls. só que um dos arquivos tem espaço no nome: "relatorio antigo". o loop quebra esse nome em dois pedaços, e um deles é o nome de outro arquivo. passo 1: veja o estrago. rode ~/podar.sh e depois ls homelab. repare quem sumiu e quem ficou. para trazer tudo de volta, digite restaurar-homelab (só esse nome, sem ./ e sem .sh). passo 2: conserte o script. abra com nano ~/podar.sh. para salvar: ctrl+o e enter. para sair: ctrl+x. passo 3: teste. rode ~/podar.sh de novo e confira com ls homelab que só o "relatorio antigo" sumiu.

a pílula

lso que tem na pasta
ls -ainclui os escondidos (ponto)
ls -ldono, tamanho e permissões

ls é para olhar. glob é para loop.

quiz

1. o backup deixou o .env de fora e o ls não mostrou o arquivo. por quê?
2. o que significa rw-rw-r-- no começo de uma linha do ls -l?
3. um arquivo se chama 'relatorio antigo', com espaço. o que o for f in $(ls | grep antigo) entrega ao loop?

próxima: o que é cd e o que ele faz