DEV Community

Ed
Ed

Posted on • Edited on

Quero usar linux, por onde eu começo?

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
Enter fullscreen mode Exit fullscreen mode

whereis
Localiza o binário, código-fonte e o manual para um comando.

$  whereis rpm 
Enter fullscreen mode Exit fullscreen mode

Exibe o caminho do binário, código-fonte e o manual

tree
Exibe a árvore de diretórios.

$  tree /var/lib
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

Procura o arquivo1.doc dentro do diretório /

$  find /etc -type f -exec grep -i `mouse` {} \;
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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 
Enter fullscreen mode Exit fullscreen mode

Extrai o conteúdo do arquivo documentos.tar

$  tar -cvzf textos.tar.gz documentos1
Enter fullscreen mode Exit fullscreen mode

Gera um arquivo de backup compactado com gzip do diretório documentos1

$  tar -xvzf textos.tar.gz
Enter fullscreen mode Exit fullscreen mode

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  
Enter fullscreen mode Exit fullscreen mode

monta o disco fd0, que tem como tipo de sistema de arquivo ext4, no diretório /media

unmount — Desmonta discos

ex:

$  umount /dev/fd0
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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)