Seja por pura curiosidade ou então por necessidade, diferentes motivos podem levar você a querer entrar nesse mundo.
Talvez você já tenha ouvido falar que a maior parte dos servidores mundiais são máquinas Linux, talvez você só queira um ambiente mais customizável.
O fato é que não importa qual a sua motivação, a base ainda é a mesma.
Nesse artigo vou tentar mostrar um pouco por onde começar, de forma resumida, pois acredito que o aprendizado real vem no uso diário dessa ferramenta.
Antes de começar a passar o pouco que sei, acho importante citar o que NÃO está no escopo deste artigo:
- Comparações entre distros
- Redes
- Gerenciamento de serviços
- Uma abordagem profunda
A ideia é realmente passar apenas o suficiente pra você começar a usar hoje, sem se sentir sobrecarregado e consequentemente desistir. E por isso me basearei no Ubuntu por ser a distro mais popular.
Caso você queira, também pode navegar diretamente para a sessão através dos links:
Dito isso, vamos lá.
Comandos básicos
man
Consulta os manuais online do sistema.
$ man ls
whereis
Localiza o binário, código-fonte e o manual para um comando.
$ whereis rpm
Exibe o caminho do binário, código-fonte e o manual
tree
Exibe a árvore de diretórios.
$ tree /var/lib
find
Localiza arquivos e palavras dentro destes.
Opções | ||
---|---|---|
Comando | Argumento | Descrição |
-name | padrão | procura arquivos cujos nomes sejam iguais ao padrão |
-exec | comando | procura arquivos e executa um comando |
-type | x | procura por arquivos do tipo especificado, onde x pode ser um dos seguintes valores: f = Arquivos d = Diretórios l = Links simbólicos |
$ find / -name arquivo1.doc
Procura o arquivo1.doc dentro do diretório /
$ find /etc -type f -exec grep -i `mouse` {} \;
Procura todos os arquivos abaixo de /etc que possuem a palavra mouse
ln
Cria links para arquivos e/ou diretórios. Cria tanto links simbólicos (soft links) quanto diretos (hard links). O padrão são links diretos.
OBS: cuidado ao criar hard links, pois isso significa que se você apagar o link, o arquivo também será deletado.
Opções:
-s — Cria um link simbólico.
$ ln -s /arquivo1.doc link1.doc
Cria o link simbólico link1.doc. Se o link for deletado o arquivo original permanece
head
Exibe no terminal uma quantidade de linhas de texto a partir do início do arquivo.
$ head -5 /etc/mtools.conf
Exibe as cinco primeiras linhas do arquivo /etc/mtool.conf
tail
Exibe uma quantidade de linhas a partir do final do arquivo.
$ tail -5 /etc/mtools.conf
Exibe as cinco últimas linhas do arquivo.
tee
Exibe a saída de um programa e a escreve em um arquivo simultaneamente.
$ ls -l /bin | tee ls.out
lista o conteúdo do diretório bin e escreve o resultado no arquivo ls.out
Comandos de compactação e descompactação
tar — Armazena ou extrai arquivos e diretórios dentro de um único arquivo ou dispositivo.
Opções | |
---|---|
Comando | Descrição |
-c | Cria um novo arquivo .tar e adiciona a ele os arquivos especificados |
-x | Retira os arquivos agrupados no arquivo .tar. |
-f | Indica que o destino é um arquivo em disco e não uma fita magnética |
-z | compacta ou descompacta arquivos utilizando o comando gzip |
$ tar -xvf documentos.tar
Extrai o conteúdo do arquivo documentos.tar
$ tar -cvzf textos.tar.gz documentos1
Gera um arquivo de backup compactado com gzip do diretório documentos1
$ tar -xvzf textos.tar.gz
Extrai o conteúdo do arquivo textos.tar.gz
Comandos de montagem e desmontagem
mount — Monta discos
Opções | |
---|---|
Comando | Descrição |
-a | monta todos os dispositivos referenciados no arquivo /etc/fstab |
-h | exibe uma mensagem de ajuda |
-w | monta o dispositivo para leitura e gravação |
-t | especifica o tipo de sistema de arquivo no dispositivo |
ex:
$ mount -t ext4 /dev/fd0 /media
monta o disco fd0, que tem como tipo de sistema de arquivo ext4, no diretório /media
unmount — Desmonta discos
ex:
$ umount /dev/fd0
O sistema de arquivos
No linux não existem extensões. Os arquivos executáveis são marcados com um asterisco
no final, arquivos de backup são marcados com ~
, arquivos de diretórios com /
, links simbólicos com @
e diretórios ocultos começam com .
.
Para visualizar essas terminações, utilizamos o comando ls -F.
$ ls -F
Estrutura de diretórios
O sistema GNU/Linux possui a seguinte estrutura básica de diretórios organizados segundo o FHS (Filesystem Hierarchy Standard).
Diretório | Descrição |
---|---|
/bin | Contém arquivos programas do sistema que são usados com freqüência pelos usuários. |
/boot | Contém arquivos necessários para a inicialização do sistema. |
/cdrom | Ponto de montagem da unidade de CD-ROM. |
/media | Ponto de montagem de dispositivos diversos do sistema (rede, pen-drives...). |
/dev | Contém arquivos usados para acessar dispositivos (periféricos) existentes no computador. |
/etc | Arquivos de configuração de seu computador local. |
/etc/X11 | Configuração do X Window System. |
/floppy | Ponto de montagem de unidade de disquetes. |
/home | Diretórios contendo os arquivos dos usuários. |
/lib | Bibliotecas compartilhadas pelos programas do sistema e módulos do kernel. |
/lost+found | Local para a gravação de arquivos/diretórios recuperados pelo utilitário fsck.ext2. Cada partição possui seu próprio diretório lost+found. |
/mnt | Ponto de montagem temporário. |
/proc | Sistema de arquivos do kernel. Este diretório não existe em seu disco rígido, ele é colocado lá pelo kernel e usado por diversos programas que fazem sua leitura, verificam configurações do sistema ou modificar o funcionamento de dispositivos do sistema através da alteração em seus arquivos. |
/sys | Sistema de arquivos do kernel. Este diretório não existe em seu disco rígido, ele é colocado lá pelo kernel e usado por diversos programas que fazem sua leitura, verificam configurações do sistema ou modificar o funcionamento de dispositivos do sistema através da alteração em seus arquivos. |
/root | Diretório do usuário root. |
/sbin | Diretório de arquivos programas usados pelo superusuário (root) para administração e controle do funcionamento do sistema. |
/tmp | Diretório para armazenamento de arquivos temporários criados por programas. |
/usr | Contém maior parte de seus programas. Normalmente acessível somente como leitura. Icones de desktop ficam em: /usr/share/applications |
/usr/bin | Comandos não essenciais do sistema. |
/usr/local/share | Hierarquia local independente da arquitetura. |
/var | Contém maior parte dos arquivos que são gravados com freqüência pelos programas do sistema, e-mails, spool de impressora, cache, etc. |
Permissões
Arquivos e diretórios
- /etc/passwd - Armazena informações sobre os usuários (não inclui a senha) A sintaxe do arquvio é: usuário:senhaCriptografada:UID:GID:comentário:HOME:shell
Comandos para gerenciamento de usuários e grupos
adduser usuário [opções]
passwd — Define uma senha para um usuário
$ passwd usuário
usermod — Modifica características de um usuário
A síntaxe é: usermod opções usuário
Opções:
-d dir_home — Novo diretório home do usuário que está sendo modificado.
-s programa — Novo shell
-g novo_grupo — Novo grupo
userdel — Elimina um usuário do sistema
A sintaxe é: userdel opção usuário
Opções:
-r — Remove todos os arquivos do usuário
Permissões e privilégios
Quando é feita a listagem com a opção -l
são mostradas informações extras e com elas vem as informações de permissões e privilégios.
A primeira coluna indica sempre o tipo de arquivo seguidas de nove posições que indicam as chaves de permissão.
É possível identificar as chaves ativas se ao invés de um traço tiver uma letra.
As primeiras três posições são para proprietário, as próximas três ao grupo que o arquivo pertence e as três últimas aos outros usuários. Cada grupo de chaves contém uma chave de leitura, uma de escrita e uma de execução, sempre nessa ordem.
A letra utilizada para identificar as chaves são as seguintes:
r — read
w — write
x — execution
Comandos para gerenciamento de privilégios
chmod — Altera permissões de acesso a arquivos
A sintaxe é:
chmod opção modo_arquivo arquivo
Opções:
-c — Mostra informações sobre os arquivos modificados
-f — Não imprime mensagem de erro
-R — Recursivo
Modo simbólico — É uma lista de expressões na forma:
identificador operando valor
Identificadores:
u — Usuário
g — Grupo
o — Outros
a — Todos
Operandos:
+ — Adiciona permissões às permissões já existentes.
- — Retira permissões das permissões existentes.
= — Atribui uma nova permissão, sobrescrevendo as outras existentes.
Valores:
r — Permissão para leitura
w — Permissão para escrita
x — Permissão para execução
chwon — Muda o dono de um arquivo
chwon opção novo_dono[.novo_grupo] arquivo
ex:
$ chown claudio.teses monografia.doc
Muda o dono e o grupo do arquivo monografia.doc
Gerenciador de pacotes
O Ubuntu tem como seu gerenciador de pacotes o DPKG, que ele herdou do Debian e como uma extensão do DPKG, o APT.
DPKG
dpkg opção nome_pacote
Opções:
-i — Instalação simples
-P — Desinstala o pacote (todos os arquivos do pacote)
-l — Exibe os pacotes que estão instalados
-help — Exibe uma mensagem de ajuda
Opções:
--to-deb ou -d — converte o pacote para o formato .deb.
APT
Arquivos de configuração:
- /etc/apt/apt.conf — configuração padrão do APT.
- /etc/apt/sources.list — Repositórios que o APT utiliza para buscar info dos pacotes a serem instalados ou atualizados.
Sintaxe do sources.list:
tipo URI parâmetros
- tipo — tipo do pacote: deb ou deb-src.
- URI — localização do repositório.
- parâmetros — info adicionais sobre a localização dos pacotes dentro do repositório.
APT-CACHE:
apt-cache search [package a procurar]
COMANDOS APT-GET:
apt-get opção comando
Opções:
-h — Ajuda.
-y — Assume "yes" pra todas as perguntas e não exibe prompt.
update — Atualiza o banco de dados local do apt-get com a lista de pacotes do servidor.
install — Instala um ou mais pacotes.
remove — Remove um ou mais pacotes.
upgrade — Efetua a atualização dos pacotes instalados.
Bom, tentei ao máximo sintetizar para também não estender muito. Acredito que hoje existem recursos que possibilitam um aprofundamento muito maior, mas entendo que existem pessoas que desejam apenas começar.
Por hoje é isso, qualquer feedback, deixem nos comentários ou se quiserem trocar uma ideia é só me chamar lá no twitter! :)
Top comments (0)