Trabalhando com arquivos e diretórios
Talvez uma das grandes dificuldades para um iniciante é lidar com os arquivos e diretórios via terminal. Têm-se a impressão que é algo superior, onde coisas mais simples parecem grandes segredos. Iremos explorar a estrutura do sistema de arquivos e também como lidar com arquivos e diretórios.
Parte 4: Metacaracteres
Para um uso mais eficiente do tempo, podemos usar os chamados metacaracteres. Estes são caracteres com significado especial. Vejamos o uso de '*' e '?'.
Use o comando 'touch' para criar arquivos 'vazios'. Do diretório 'exercicio' criado anteriormente, faça o seguinte:
$ touch alagoas amazonia bahia bacia saopaulo santacatarina riodejaneiro riogrande
Agora, digite as linhas de comandos abaixo, e observe o resultado.
$ ls a*
$ ls s*
$ ls sa*
$ ls b????
O que aconteceu é resultado de algo simples: o caracter '*' é entendido como um número indefinido de caracteres. Por isso, o comando 'ls a*' lista tanto alagoas como amazonia. Já o caracter '?' é entendido como um, e apenas um, caracter indefinido. Também por isso, o comando 'ls b????' lista tanto bahia como bacia. Muito útil para economizar tempo, principalmente em tarefas repetitivas.
Também é possível usar metacaracteres para lidar com comandos e arquivos simultaneamente. Veja três deles:
$ ls >> listagem
O comando acima adiciona a listagem do conteúdo do diretório atual ao final do arquivo 'listagem'.
Use o comando 'touch' para criar arquivos 'vazios'. Do diretório 'exercicio' criado anteriormente, faça o seguinte:
$ touch alagoas amazonia bahia bacia saopaulo santacatarina riodejaneiro riogrande
Agora, digite as linhas de comandos abaixo, e observe o resultado.
$ ls a*
$ ls s*
$ ls sa*
$ ls b????
O que aconteceu é resultado de algo simples: o caracter '*' é entendido como um número indefinido de caracteres. Por isso, o comando 'ls a*' lista tanto alagoas como amazonia. Já o caracter '?' é entendido como um, e apenas um, caracter indefinido. Também por isso, o comando 'ls b????' lista tanto bahia como bacia. Muito útil para economizar tempo, principalmente em tarefas repetitivas.
Também é possível usar metacaracteres para lidar com comandos e arquivos simultaneamente. Veja três deles:
- '<' envia o conteúdo de um arquivo para um comando
- '>' envia a saída de um comando para um arquivo, apagando o arquivo se ele já existir.
- '>>' envia a saída de um comando para um arquivo, colocando tal saída no final do arquivo se ele já existir.
$ ls >> listagem
O comando acima adiciona a listagem do conteúdo do diretório atual ao final do arquivo 'listagem'.
poderia ter enfatizado mais comandos básicos e permissões de arquivos.
de qualquer forma, parabéns pela iniciativa.