Trabalhando com DIRETÓRIOS
Umas das coisas que mais vamos precisar saber é como trabalhar com diretórios dentro do terminal.
Precisamos saber listar arquivos e sub diretórios, visualizar dados ocultos, permissões de arquivos e pastas, criar novos, portanto, vamos começar por eles primero.
LiStando
Isso mesmo, eu coloquei dessa forma para fixar bem o primeiro comando, o ls, ele lista tudo que tem dentro de um diretório.
Vá no terminal e digite:
ls # pressione enter
> Documentos Imagens Musica Videos 模板
O comando irá mostrar o conteúdo da pasta em que o usuário estiver. Também podemos passar um caminho de um diretorio completo, ou relativo, como parâmetro para ele:
ls Documentos/
> arq1.txt arq2.txt pasta1 pasta2
ls Documentos/pasta1
> #pasta vazia
Pronto, é isso.
Só que não, ainda temos várias opções que podemos usar no comando ls.
Opções do comando ls
As opções dos programas alteram o comportamento deles, podendo exibir mais ou menos informações, ou exibindo de uma forma diferente.
Não vou tratar sobre todas, apenas as mais usadas, mas pode usar e abusar da primeira opção a seguir.
Buscando Ajuda
--help
O mais importante de todas as opções é o --help
essa opção mostra ajuda do programa, uma mão na roda quando estamos em dúvida do que cada opção faz, ou não sabemos como usar o programa. Todo bom programa CLI tem essa opção.
ls --help
O rei, Roberto Carlos diria:
-São tantas opções!
Listando tudo
--all
-a
O essa opção lista tudo dentro de um diretório, e não ignora entradas que iniciam com o .
.
#colocar aqui a imagem da saida do comando
Verão que que algumas saídas são coloridas, essas em azul são pastas.
Lista Completa
-l
Essa opção mostra uma lista completa de cada arquivo e pasta no diretório.
Como permissões de acesso data e horário da ultima modificação.
#colocar aqui a imagem da saida do comando
Podemos perceber que no inicio de cada linha aparece uma sequência de 10 caracteres:
-rw-r--r--
O primeiro caractere indica o tipo que representa entrada:
*-*rw-r--r--
-
a entrada é um arquivo comum;d
a entrada é um diretório;l
a entrada é um link simbólico.
A próxima sequência caracteres dizem respeito às permissões de utilização, são três grupos de três caracteres, e eles podem ser os seguintes.
r
Permissão de leitura;w
Permissão de escrita;x
Permissão de execussão.
A ordem em que os caracteres aparecem serão sempre essa:
rwx
O caractere -
indica que a permissão foi negada.
Mas você falou em três grupos de caracteres!
Bom, os grupos de caracteres são referentes a:
usuário grupo outros
Sempre nessa mesma ordem, isso ficará claro mais a frente.
Logo após temos um número que é um link rigido, que é nome adicional para um arquivo existente.
Os dois nomes que vem logo em segida representam o usuário proprietário do arquivo e o proprietário do grupo de usuários ao qual o proprietário pertence.
O valor seguinte é o tamanho do arquivo.
A data e hora que vem logo em seguida são referentes à ultima modificação que ocorreu.
Por último vem o nome do arquivo junto com a extensão.
Vamos aprender a criar uns diretórios.
Criando Diretórios
Criação de diretórios são muito fáceis no linux, basta usar o mkdir (_MaKe DIRectory)
$ mkdir meu_primeiro_diretorio
O comando irá criar a pasta passada no argumento.
Podemos passar nome de mais de uma pasta separada por espaço, elas serão criadas dentro do diretório.
$ mkdir pasta1 pasta2 pasta3
ls
Opções do comando mkdir
O comando mkdir
possui algumas opções a serem utilizadas
Pedindo ajuda
--help
Esse comando mostra o help do comando.
Criação de subpastas
--parents
-p
Não gera erro caso a pasta já exista.
No linux, a separação de pastas/arquivos é feita pelo caractere /
, se encadearmos uma sequência de nomes separados por esse caractere ele irá criar as pastas que não existirem dentro do caminho indicado.
$ mkdir -p pasta1/subpasta1/outrasubpasta1
$ ls pasta1
> subpasta1
$ ls pasta1/subpasta1
> outrasubpasta1
Removendo diretórios
Sabe aquele tanto de pasta que criou para o fazer esse curso??
Pode apagar todos eles usando o comando rmdir
(ReMove DIRectory), se estiverem vazios.
cd ~/Documentos
$ ls
> arq1 arq_pelago meu_primeiro_diretorio pasta1 pasta2 pasta3
$ rmdir pasta3
Buscando ajuda
--help
Mostra ajuda do comando.
Ignorando erros
--ignore-fail-on-non-empty
Ignora o erro quando a pasta não estiver vazia, e mesmo assim não remove ela.
$ rmdir pasta1
> rmdir: falhou em remover 'pasta1': Diretório não vazio
$ rmdir --ignore-fail-on-non-empty pasta1
ls
> arq1 arq_pelago meu_primeiro_diretorio pasta1 pasta2