O documento discute introdução ao Linux, incluindo sistemas de arquivos, hierarquia de diretórios padrão, processo de boot, distribuições Linux, comandos principais e ferramentas, tratamento de entrada e saída, agendamento de programas, interface gráfica, shell script e debug.
2. Sistema de Arquivos
Sistemas de arquivos convencionais
Ext2, Ext3 ,Ext4
NTFS, FAT , FAT 16, FAT 32
XFS, JFS
ReiserFS
procfs,sysfs,tmpfs,debugfs
nfs
Journaling
Mantém o registro de mudança dos dados
Ajuda a recuperar possíveis falhas em disco
4. Cont..
Diretórios
bin
boot
dev
etc
lib
media
mnt
opt
sbin
srv
tmp
usr
var
Descrição
Principais Binários
Arquivos estáticos do boot loader
Arquivos de devices
Configuração do sistema
Principais libs share. e mod. kernel
Mount Point for removeable media
Mount Point para s.a temporário
Pacotes de software adicionais
Principais binários do sistema
Local para serviços providos pelo sistema
Arquivos temporários
Segunda Hierarquia
Dados Variáveis
5. Processo de Boot
Boot Loaders
Grub
Lilo
Burg
BIOS vs UEFI
MBR vs GPT
Muita dor de cabeça
6. Cont..
Boot Loader
Carrega o Kernel na memória
Carrega o Initramfs na memória
Kernel
Configura a memória do
computador
Configura o hardware do
computador
Controla
Processos
I/O
Discos
7. Cont..
Initramfs
Programas / Binários
Proporciona ao kernel o mount do
/
Udev
Localiza os dispositivos
Localiza os drivers
Checa erros nos sistemas de
arquivo
10. Comandos Principais
man ( manual do linux ) -> O mais importante !
tty ( ctrl + alt + f n ) -> terminal
mkdir ( criar um diretório )
rm ( exclui um arquivo ou diretório )
cp ( copia um arquivo ou diretório)
mv ( move ou renomeia um arquivo ou diretório )
cd ( mudar de diretório )
ls ( mostrar os arquivos no diretório )
pwd ( mostra o diretório atual )
du( lista o tamanho dos arquivos e diretórios)
11. Cont..
cat ( concatena e imprime o conteúdo de arquivos)
head ( mostra as 10 primeiras linhas de um arquivo)
tail ( mostra as 10 últimas linhas de um arquivo)
echo ( imprime uma string no terminal )
clear ( limpa o terminal )
vim ( editor de texto )
su ( troca de usuário )
sudo ( realiza funções de super user )
whoami ( verifica o usuário que está logado no momento)
w ( verifca os usuários logados e o que estão executando )
12. Cont..
hostname ( mostra o nome do computador )
uname ( mostra informação sobre o s.o )
whereis ( localização do binário )
date ( data no sistema )
ps ( lista os processos do sistema )
top ( lista os processos do sistema e o uso de memória )
kill ( mata um processo )
mount ( monta uma partição )
umount ( desmonta uma partição )
chmod ( muda a permissão )
13. Cont..
chown ( muda o dono do arquivo )
ifconfig ( mostra as interfaces de rede )
grep ( Expressão Regular )
find ( procura arquivos e diretórios )
Ex: find . -name hello
cut ( pega seções da saída de um programa )
Ótimo em conjunto com delimitadores
Ex: cut -d ':' -f 1
ln ( cria um link )
diff ( usado para ver a diferença entre dois arquivos)
14. Tratamentos de entrada / saída
Uso do " | " ( pipe )
Passa a saída do comando anterior para o próximo comando
Ex: cat texto | grep "senha"
Uso das setas
Insere ou escreve o conteúdo de um arquivo.
> ( escreve/sobrescreve a saída de um comando no arquivo)
>> ( escreve a saída de um comando no fim do arquivo)
< ( passa para o programa a entrada de um arquivo )
<< ( passa para o programa o fim do arquivo )
15. Agendamento de programas
Ferramenta Cron
Crontab -e ( Edita o agendamento do super user )
Formato [minuto] [hora] [dia] [semana] [usuário] [comando]
* é usado como qualquer
Para utilizar outro usuário criar o cron no
/var/spool/cron/crontabs/$USER
16. Execução de Programas
&
Colocado no fim do programa para indicar que vai rodar em
background
Ex: ls -lah -R / &
bg
Temos que parar a execução do programa com ctrl + z primeiramente
Executa o programa em segundo plano
bg [número] número:=número obtido pelo ctrl+z
fg
Retornamos o processo para o primeiro plano
fg [número] número do processo
17. Daemon
São programas que rodam em background
Normalmente esperam um evento ocorrer ou oferecem um
determinado serviço
Gerenciadores de daemons comuns do linux
rc.d
init.d
systemd
Colocando programas e scripts como daemons no debian
Ex: update-rc.d programa defaults
18. Criando Daemons em PERL
Proc::Daemon é um módulo do perl
Código:
use strict;
use Proc::Daemon;
Proc::Daemon::Init
my $continue=1;
$SIG{TERM} = sub { $continue = 0 };
while($continue){
}
24. Cont.
Shell script não tem declaração de tipo ( int, float, double ....)
Shell script não é orientado a objetos
Funções
#!/bin/bash
main(){
//conteúdo
}
main
Retorno
return [inteiro] ( 0 - 255 )
Pegamos o valor do retorno usando $?
26. Cont.
Parâmetro
$0 ( Nome do script )
$1 ( Primeiro parâmetro )
$* ( Todos os parâmetros )
$# ( Número de argumentos )
IF
Sintaxe
if [ CONDITION ] ; then
//faz algo
fi
27. Cont.
IF (cont.)
Else e Elif
Condições para arquivos
-e ( se o arquivo existe )
-d ( se o diretório existe )
-s ( se o arquivo tem tamanho diferente de zero )
-r ( se o arquivo pode ser lido )
-w ( se o arquivo pode ser gravado )
-x ( se o arquivo pode ser executado )
28. Cont.
IF (cont.)
Condições de String
string1 == string2
Condição númerica
-eq ( igual a )
-ne ( não igual )
-gt ( maior que )
-lt ( menor que )
-ge ( maior ou igual )
-le ( menor ou igual )
29. Cont.
FOR
Sintaxe
for contador in limite_contador;
do
//algo
done
WHILE/ UNTIL
Sintaxe
while [ CONDICAO ]
do
//algo
done