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