Pesquisar este blog

sexta-feira, 18 de setembro de 2015

Introdução ao Linux, Sistemas Operacionais Abertos

Introdução ao Linux

Aqui vão ser explicados alguns comandos básicos do linux, para testá-los na sua casa você deve acessar o terminal. Cada distribuição do linux possui uma configuração de um sistema de janelas diferentes, mas todos vem com um terminal instalado. Para acessá-lo, encontre o sistema de busca de programas, e digite terminal. O logo do terminal geralmente é um quadrado com o fundo preto, ou vermelho, abra ele e pronto, você já está apto a usar os comandos que serão mostrados aqui.
Uma outra forma de acessar o terminal é usando as teclas ctrl + alt + 1 isso te leva ao modo texto do linux. Agora é só digitar o seu usuário e senha e pronto, você já estará acessando o terminal.
No linux a caixa da letra (maiúscula e minúscula) fazem a diferença, então tudo o que será mostrado aqui, deve ser seguido a risca.

Top

O comando top mostra uma lista dos processos que estão sendo executado no seu sistema. Em cima da tela ele exibe um cabeçalho, onde estão informações como o número total de Tasks, quantas estão rodando, quantas estão dormindo, quantas estão paradas. Qual é a porcentagem da cpu que está sendo utilizada, qual é a quantidade da memória está sendo utilizada, incluindo o SWAP (memória virtual).
Abaixo do cabeçalho, temos uma lista dos processos, ordenados pela ocupação da CPU, ou seja, os que mais estão consumindo processamento, serão mostrados primeiro.
Dentre as informações importantes que temos no top, estão o PID (proccess id), que é o id do processo no sistema. O pid será usado mais afrente neste post, na definição do comando kill.
Quanto cada processo está ocupando do processador, memória e ha quanto tempo ele está rodando, quem é o usuário dono do processo (aquele que iniciou o processo).
Ele se atualiza a cada 3 segundos, por padrão, mas para alterar isso basta usar o argumento -d
top -d 10
Faz com que a lista se atualize a cada 10 segundos.

Aptitude (apt-get)

No início, a instalação de um software no Linux era uma tarefa complicada, todo software que era instalado, deveria ser compilado pelo usuário, e no seu processo de compilação, ele checava as dependências daquele software. Por exemplo, se o software A depende do B, você deve instalar primeiro o B, para depois instalar o A. Esta lista inicialmente era bem pequena, mas depois de algum tempo, administrar todas estas dependências tornou-se um processo complicado.
Algumas distribuições como o SuSe (da novel), o RedHat, o Debian e o e algumas outras, criaram a sua forma de facilitar o processo de instalação de softwares no Linux.
O apt-get é o administrador de pacotes das distribuições baseadas no Debian, dentre elas o Ubuntu, o Mint, mas ele também pode ser instalado nas outras distribuições.
O funcionamento do apt-get se dá da seguinte maneira. Cada distribuição possui uma lista de servidores onde ficam armazenados os softwares que estarão disponíveis para serem utilizados. Estes servidores também possuem uma lista de quais softwares e quais versões estão disponíveis nele.
Toda configuração de onde o apt-get irá procurar e baixar os softwares ficam aramazenadas no arquvo:
/etc/apt/sources.list  (em algumas distribuições este arquivos pode ter um nome ou uma localização diferente desta)
Existem diversas fontes diferentes de softwares, como pendrives, cdroms, dvds e tudo isso pode ser configurado neste arquivo:
deb http://sítio.exemplo.com/debian distribuição componente1 componente2 componente3
deb-src http://sítio.exemplo.com/debian distribuição componente1 componente2 componente3
Distribuição é onde será configurada o nome da sua distribuição, e os componentes são subdivisões de como os softwares são categorizados, e elas geralmente são:
  • main 
  • contrib
  • non-free
Cada distribuição faz a sua subdivisão de quais softwares estarão em cada categoria.
Os comandos do apt-get são:
  • update que atualiza a lista de pacotes disponíveis para instalação
  • upgrade atualiza os softwares instalados
  • install instala os softwares listados
  • dist-upgrade atualiza a versão da distribuição
  • remove remove um pacote
  • clean apaga os arquivos baixados para instalação
Um exemplo de instalação seria:
apt-get install htop

Usuário Root e comando sudo

Toda instalação do linux, possui um super usuário, também conhecido como root. Este usuário é quem consegue instalar, alterar as configurações e apagar os arquivos do sistema.
Nunca devemos usar um usuário em uma estação como root, por exemplo, caso haja um vírus, se você estiver com o seu usuário, não root, o máximo que este vírus conseguirá fazer de estrado, é apagar as coisas do seu usuário e nunca, apagar um software instalado no sistema, já que isso necessita da permissão de root.
Uma das formas de fazer com o que seu usuário tenha a permissão de root, momentâneamente, é utilizando o comando sudo.
Para usarmos o apt-get devemos ter permissão de root, então como exemplo teríamos que usá-lo assim:
sudo apt-get update
Com isso o seu usuário se torna root, por alguns minutos, e o apt-get consegue rodar a instalar os softwares que você pediu.
Um usuário só consegue usar o sudo, se ele estiver no grupo de sudo.

Adicionando usuário ao grupo

Existem duas formas de se adicionar um usuário a um grupo, a primeira delas é através do comando:
  useradd -G grupo usuario
No caso para adicionar o usuário dirceu ao grupo sudo faça:
useradd -G sudo dirceu
A outra forma de fazer isso é editando o arquivo:
/etc/group
E adicionar o nome do usuário na linha do grupo do sudo:
 sudo:x:27:dirceu
Para isso deve-se usar um editor de texto

Editor de texto nano

O nano é um dos editores que vem instalado na distribuição debian e vamos utilizá-lo para alterar os arquivos.
A maioria dos comandos do nano são acessados através da tecla ctrl.
A sua utilização é bem simples, para acessar o arquivo de grupos digite:
suto nano /etc/group
Com isso ele abrirá o arquivo na sua tela.
ctrl+w
é o comando que usamos para busca, e como queremos achar o grupo sudo, basta digitar ctrl+w sudo
Ao achar o texto, seu cursor será direcionado para o texto encontrado, da mesma forma como acontece nos softwares que estamos acostumados.
Os comandos básicos do nano são:
  • ctrl+x sair
  • ctrl+a tecla home
  • ctrl+e tecla end
  • ctrl+y page down
  • ctrl+v page up

Cat

Cat é o comando responsável por mostrar o conteúdo de um arquivo na tela.
cat /etc/group
Irá mostrar o conteúdo do arquivo /etc/group na sua tela, com isso podemos ver se a nossa alteração foi realmente salva no arquivo.

Comando PS

O comando top nos mostra os processos em exeucção no momento, já o comando ps, nos mostra uma lista com todos os processos sendo executados.
  • A mostra todos os processos
  • a todos os processos daquele terminal
O ps é um comando bem útil quando queremos saber qual é o PID de um certo processo. Como a saída do ps -A é bem grande, vamos explicar uma forma de limitar o resultado apresentado.

Comando | grep

O pipe, ou | serve para encadear processos no linux. Com o pipe podemos direcionar a saída de um comando, para outro.
Grep é o comando utilizado para realizar buscas em arquivos dentro de um diretório.
grep dirceu *
Procura a palavra dirceu em todos os arquivos daquele diretório.
ps -A | grep dirceu
Vai procurar a palavra dirceu na saída gerada pelo comando ps -A, portanto se houver algum processo chamado dirceu rodando na sua máquina, a linha dela será mostrada e com isso teremos o PID daquele processo.

Matando um processo com o kill

Kill é um comando que envia um sinal para um processo, e como o seu nome diz, este sinal geralmente é o de terminar o processo. Quando algo trava, podemos usar o kill para matar aquele processo e evitar termos que reiniciar a máquina. Reiniciar o Linux é uma tarefa muito rara.
Existem mais de 60 tipos de sinais que podem ser enviados pelo comando kill, mas o que estamos mais interessados é o 9
kill -9 1234
Irá mandar um sinal de SIGKILL para o processo com id 1234. Lembre para saber o PID de um processo usamos o comando ps, descrito acima. SIGKILL é o sinal responsável por matar aquele processo. Este é o comando mais forte do kill. Por padrão, se nenhum comando for especificado, um comando -15 será usado SIGTERM, caso ele falhe, deveremos utilizar o kill -9 para matar o processo.
Para matar um processo (kill -15) usando o seu nome, podemos usar o comando killall, mas saiba que o comando killall matará todos os processos que tiverem aquele nome.
killall nano
Envia um comando SIGTERM para todas as instancias do nano que estão sendo executadas naquela máquina.

Tarefas em background

O terminal do Linux é multitarefas, ou seja, conseguimos executar vários softwares nele ao mesmo tempo.
Uma das formas de se colocar um processo em background, ou seja, executando mas sem ocupar a tela, é através da utilização do caracter &
nano /etc/group &
Irá fazer com que o nano seja executado em background.
Para parar um processo que está sendo executado, e jogá-lo em background pausado, usamos as teclas ctrl+z
Com isso o processo vai para background, mas fica parado. Podemos fazer isso com vários programas e para listá-los podemo suar o comando jobs, que irá te mostrar a lista de processos e a situação deles.
Como o nano é um programa que precisa da tela, toda vez que jogarmos ele para background ele ficará parado.
Exemplo de saída o jobs:
[1]+  Stopped                 nano /etc/group
[2]   Running                 tail -f /etc/group &
[3]-  Stopped                 tail -f /etc/group &
Aqui ele mostrou uma lista com três processos, cada um deles, com seu número, estado e o comando.
Como o processo 3 está parado, caso seja necessário deixá-lo rodando em background  deve-se usar o comando bg. Bg é o comando que joga um processo para background.
bg 3
Fará com que o status do comando 3 mude de Stopped para Running
[1]+  Stopped                 nano /etc/group
[2]   Running                 tail -f /etc/group &
[3]-  Running                 tail -f /etc/group &
 O último comando deste post é o fg, mas e se você quiser ver o resultado, ou trazer para a tela um dos processos que estão sendo executados em background? Basta usar o comando fg, que funciona da mesma forma que o bg:
fg 3
Coloca na tela (foreground) o processo tail -f /etc/group

Nenhum comentário:

Postar um comentário