Minicurso Linux

Julia Rizza

contato@juliarizza.com

Estrutura de Arquivos

  • Tudo que pode ser manipulado pelo sistema (arquivos, diretórios, processos, etc) é visto como um arquivo.
  • Linux Standard Base: padrão de estruturas e manipulação de arquivos que distros Linux devem utilizar.

Arquivos

Para diferenciar os arquivos comuns de diretórios, processos, etc, os arquivos Linux possuem cabeçalhos.

 

Um cabeçalho contém informações como: tipo, tamanho, datas de criação e modificação, etc.

 

Os headers (cabeçalhos) devem seguir um padrão para os arquivos serem compatíveis entre versões.

Tipos de Arquivos

  • Regular: arquivo comum, contém apenas dados. Ex: imagens, vídeos, textos, músicas, etc.
  • Diretórios: um separador de grupos de arquivos, podendo conter arquivos regulares e/ou outros diretórios.
  • Dispositivo: qualquer componente de hardware instalável. Ex: placas de vídeo, placas de rede, etc.
  • Links: referência a outro arquivo que está em outro local.
  • FIFO: canal de comunicação entre arquivos e entre processos.

Nomes de Arquivos

Os nomes de arquivos no GNU/Linux podem ter até 255 caracteres, podendo utilizar espaços e acentos. Há exceção somente quanto ao uso dos caracteres especiais / \ | " * ? < > ! `.

 

É case-sensitive (diferencia letras maiúsculas de minúsculas).

 

Arquivos com um ponto (.) antes do nome são considerados arquivos ocultos.

Filesystem Hierarquy Standard

O Linux possui uma hierarquia de diretórios base muito bem estruturada.

 

O diretório raíz, ou seja, aquele de onde todos os outros são derivados, é chamado apenas de /.

 

Arquivos executáveis (programas) são agrupados num determinado diretório, enquanto bibliotecas são arquivadas em outro, e arquivos temporários em outro, e assim por diante.

FHS

Caminhos

O caminho para um arquivo exemplo.txt localizado na pasta de Documentos pode ser descrito como:

[diretório raíz]/[home]/[usuário]/[diretório de documentos]/exemplo.txt
~/[diretório de documentos]/exemplo.txt

Podemos usar também atalhos relativos. Se estamos, por exemplo, na pasta do usuário:

./[diretório de documentos]/exemplo.txt

Ou na pasta de Imagens:

../[diretório de imagens]/exemplo.txt

Terminal

É a linha de comando. A partir dele, você pode acessar qualquer parte do seu sistema operacional e executar qualquer ação.

Estrutura de Comandos

Para digitar um comando, é só abrir o terminal, digitar e teclar enter. O que você verá será algo como:

 

usuário@máquina:~$ [comando] -[opção1] [argumento1]

man

É um comando de ajuda. Ele responde com uma página de manual (man page) sobre o comando que você perguntou.

$ man ls

cd

Navegação no sistema de arquivos. Com ele, você navega pelos diretórios do seu computador a partir do terminal.

$ cd ~/Documents/
$ cd /usr/bin/share

Obs: use o tab para completar os comandos e nomes de arquivos!

ls

É uma listagem de arquivos do diretório em que você está. Aceita várias opções, como o -lh, para exibir informações de permissões, datas, tamanho, etc; e o -a, para exibir arquivos ocultos também.

$ ls
$ ls -lh
$ ls -a
$ ls -lha

touch

Cria um arquivo vazio com o nome e tipo especificados e no caminho também especificado.

$ touch exemplo.txt
$ touch ~/Documents/exemplo.html

nano

Abre um editor de texto padrão para edição de um arquivo. Se o arquivo ainda não existe, ele cria e grava o arquivo.

$ nano exemplo.txt
$ nano ~/Documents/exemplo.html

mkdir

Cria um novo diretório no local em que o usuário se encontra com o nome especificado.

$ mkdir teste
$ cd teste

cat

Realiza a leitura de um arquivo de texto. Basta informar qual arquivo você gostaria de ler utilizando seu caminho.

$ cat arquivo.txt
$ cat ~/Documents/arquivo.txt

head

Mostra as n primeiras linhas de um arquivo, sendo que n é uma opção que deve ser especificada.

$ head -10 arquivo.txt
$ head -10 ~/Documents/arquivo.txt

tail

Mostra as n últimas linhas de um arquivo, sendo que n é uma opção que deve ser especificada.

$ tail -10 arquivo.txt
$ tail -10 ~/Documents/arquivo.txt

cp

Copia um arquivo de um lugar para outro, basta informar o caminho do arquivo a ser copiado e o caminho para onde irá copiá-lo.

$ cp arquivo1.txt arquivo2.txt
$ cp arquivo1.txt ~/Documents/arquivo2.txt
$ cp ~/Documents/arquivo1.txt ~/Pictures/arquivo2.txt

mv

Move um arquivo de um lugar para outro, basta informar o caminho do arquivo a ser movido e o caminho para onde irá movê-lo. Obs: também é usado para renomear arquivos.

$ mv nome_velho.txt nome_novo.txt
$ mv arquivo.txt ~/Documents/arquivo.txt

rm

Remove um arquivo existente. Para remover um diretório, precisamos passar também a opção -r, uma remoção recursiva.

$ rm arquivo.txt
$ rm -r teste/

locate

Localiza um arquivo no seu sistema.

$ locate arquivo.txt

wget

Realiza o download de um arquivo. A opção -c garante que o download continue quando ocorra alguma falha e o arquivo tenha sido baixado apenas parcialmente.

$ wget -c <URL_do_download>

top

Exibe os processos (execuções) em andamento no seu sistema e é atualizado em tempo real até que tecle q para sair.

$ top

apt-get

O apt-get é o gerenciador de pacotes do Ubuntu. Com ele, podemos gerenciar os programas que temos instalados no sistema.

$ apt-get install blender
$ apt-get remove blender

sudo

Dá permissões de administrador/root a um usuário para executar comandos antes proibidos a um usuário comum.

$ sudo apt-get install <seu-app>

&&

Caracteres especiais para fazer com que comandos sejam executados em sequência.

$ mkdir teste && cd teste/

grep

Busca um termo em um arquivo ou um retorno em texto. Também pode ser utilizado como um filtro.

$ grep "termo procurado" arquivo.txt
$ top | grep "firefox"

clear

Limpa o buffer do terminal, ou seja, limpa os comandos anteriores e deixa a tela em branco para você continuar trabalhando. Também pode ser executado pelo atalho ctrl+L.

$ clear

history

Exibe o histórico de comandos que você executou na sua linha de comando. É muito comum filtrarmos um histórico em busca de um comando específico.

$ history
$ history | grep "nano"

shutdown

Reinicia o sistema.

$ shutdown

Minicurso Linux

Julia Rizza

contato@juliarizza.com

Minicurso Linux - Aula 3

By Júlia Rizza

Minicurso Linux - Aula 3

  • 994