O documento descreve características básicas de sistemas operativos Linux, incluindo o que é um sistema operativo de rede, o kernel Linux, login de usuários, navegação no sistema de arquivos e comandos básicos como ls, mkdir, cp e mv.
2. O que é um S.O. de Rede?
Sistema operativo que incluí funções
especiais que permitem a ligação de um
computador a uma LAN.
Exemplos:
Unix
GNU/Linux;
Mac Os;
Windows 2003 (???).
3. O S.O. GNU/Linux
Sistema operativo de rede livremente
distribuído e open-source que funciona em
várias plataformas;
O kernel (núcleo) utilizado pela maioria dos
SOs GNU é o Linux;
GNU:
GNU is Not Unix (definição recursiva!).
4. O kernel Linux
O kernel Linux foi desenvolvido por um jovem
estudante da Universidade de Helsínquia (Finlândia),
chamado Linus Torvalds.
Versão 0.02 lançada em 1991;
Versão 1.00 lançada em 1994;
A mais utilizada actualmente (2004) é a versão 2.4;
A mais recente é a versão 2.6.
5. Login / Utilizadores
Como o Linux é um SO com capacidades de multi-
utilizador, é necessário que se faça um login;
Elementos necessários:
Nome do utilizador;
Password.
Os elementos para login, são criados pelo
administrador do sistema (root).
6. Login OK
Após um login bem sucedido, o
utilizador encontra-se na sua home
directory;
Home directory:
Pasta de trabalho do utilizador, onde tem
direitos de execução, escrita e leitura;
Geralmente /home/nomeUtilizador/;
7. A Shell
Quando se efectua o login, somos saudados por uma prompt com um
aspecto semelhante ao seguinte:
$
O aspecto da prompt pode ser modificado para incluir:
O nome do computador;
Nome da directoria corrente;
…
O programa que apresenta a prompt é chamado de shell;
A shell é o programa que nos permite comunicar com o sistema
operativo (CLI – Command Line Interface).
8. A Shell (2)
Existem várias implementações de programas de shell:
sh:
Bourne Shell (Steven Bourne);
ksh:
Korn Shell;
csh:
C-Shell.
bash:
Bourne Again Shell (Integra funcionalidades da ksh e csh);
…
9. A Shell (3)
Para se saber qual a shell em utilização:
echo $SHELL
A maioria dos sistemas Linux utiliza a Bourne Again Shell (bash);
Para “fechar” a shell Bash (voltar à prompt de login):
Escrever na prompt:
logout, ou
exit
Ou
Pressionar Ctrl+D.
10. Consolas Virtuais
Além de multi-utilizador, o SO Linux é um sistema multi-tarefa;
Mesmo um sistema Linux seja utilizado por apenas um utilizador, este
tem à sua disposição seis consolas virtuais (pode ser alterado);
Para alternar entre elas, basta pressionar:
Alt + Fn (1 ≤ n ≤ 6);
Alt + F7 (reservado para o modo gráfico);
Se se estiver em modo gráfico (X11), para alternar para uma das
consolas de texto, pressionar:
Ctrl + Alt + Fn;
Alt + F7 regressa ao modo gráfico;
11. Navegar no Sistema de Ficheiros
Na prompt da shell bash:
cd nomeDir
Informa a shell que se pretende trabalhar na directoria com o nome
nomeDir (cd – Change Directory);
cd /
Informa a shell que se pretende trabalhar na directoria de raiz (root
directory);
cd
Regressa à home directory, qualquer que seja a directoria onde se
esteja;
pwd
Informa ao utilizador qual a directoria onde se está a trabalhar
actualmente (Present Working Directory);
12. Caminhos (Paths)
Caminhos absolutos (começam com / ):
/usr/share
/dev
/etc/network
Interpretados a partir da raiz.
Caminhos relativos (não começam com / ):
usr
Maildir
home/antonio/Docs
Interpretados relativamente à pwd.
13. Caminhos e os Comandos
Exemplo com o comando cd:
cd /usr
Mudar para a directoria usr na raiz;
cd usr
Mudar para a directoria usr que existe dentro da pwd;
cd ..
Mudar para a directoria hierarquicamente abaixo da pwd;
cd ../power
Mudar para a directoria power que é “irmã” da pwd;
cd ~/radical
Mudar para a directoria radical dentro da home directory.
14. Caminhos e .
. refere-se à pwd (directoria corrente);
Utiliza-se frequentemente para a execução de
programas na directoria corrente;
Exemplo:
./meuprog
Executa o programa com o nome meuprog que se
encontra na pwd (obviamente meuprog é executável).
15. Outras Home Directories
Para nos referirmos às home directories de
outros utilizadores:
Com caminho absoluto:
/home/jaquim
Com o caracter ~:
~/jaquim
16. Comando ls (LS)
ls
Apresenta uma listagem (ls – list) do conteúdo da pwd:
antonio@imortal:~$ ls
dead.letter Docs Maildir profile
ls –a
Apresenta uma listagem de TODO (a – all) o conteúdo da
pwd. Inclui:
Ficheiros ocultos (começados por . );
Links especiais . e .. ;
antonio@imortal:~$ ls -a
. .alias .bash_profile .cshrc Docs profile
.. .bash_history .bashrc dead.letter Maildir .viminfo
17. Comando ls (2)
ls –l
Apresenta uma listagem longa (l – long) dos conteúdos da
pwd, incluindo direitos, número de links, proprietário, grupo,
tamanho, última alteração e nome:
antonio@imortal:~$ ls -l
total 16
-rw------- 1 antonio users 1 2004-04-13 21:13 dead.letter
drwx------ 2 antonio users 4096 2004-04-24 13:11 Docs
drwxr-xr-x 9 antonio users 4096 2004-05-04 17:11 Maildir
drwx------ 14 antonio users 4096 2004-04-21 20:03 profile
ls –lh
O parâmetro h (human readable) faz com que os tamanhos
dos ficheiros sejam apresentados em Kb, Mb e Gb.
18. Comando ls (3)
ls nomeficheiro
Apresenta apenas o ficheiro nomeficheiro caso este exista;
ls nomeDirectoria
Apresenta o conteúdo da directoria com o nome
nomeDirectoria;
ls –d nomeDirectoria
Apresenta apenas a directoria (d) com o nome
nomeDirectoria;
ls –R nomeDirectoria
Apresenta todos os ficheiros contidos na directoria
nomeDirectoria e respectivas sub-directorias (R – recursivo).
19. Inodes
Um inode number é um índice numérico que identifica
cada objecto no sistema de ficheiros;
ls –i
Apresenta uma listagem do conteúdo da pwd junto com os
respectivos inodes:
antonio@imortal:~$ ls -i
65570 dead.letter 65631 Docs 65571 Maildir 65543 profile
Podem existir dois ficheiros com um mesmo inode
number, desde que que se encontrem em sistemas de
ficheiros diferentes (e.g. partições diferentes).
20. Comando mkdir
mkdir power
Cria a directoria power na pwd;
mkdir um dó li tá
Cria as directorias um, dó, li e tá na pwd;
mkdir –p um/dó/li/tá
Cria a inteira árvore de directorias
especificada (p – parent directories).
21. Comando cp
cp fich1 fichCópia
Cria uma cópia do ficheiro fich1 com o nome fichCópia;
cp –i fich1 fichCópia
Cria uma cópia do ficheiro fich1 com o nome fichCópia, mas se
fichCópia já existir, pergunta (i – Interactivo) se se quer substituir;
cp /usr/src/kernel-source-2.6.5.tar .
Cria uma cópia do ficheiro kernel-source-2.6.5.tar que se encontra
em /usr/src/ na pwd (.);
cp –R /usr/src .
Cria uma cópia da directoria /usr/src e TODO o seu conteúdo em .
(pwd).
22. Comando mv
mv fich1 fich2
Move (mv) o ficheiro com o nome fich1 para fich2.
Equivalente a renomear o ficheiro com o nome
fich1 para o nome fich2.
mv –i fich1 fich2
Igual ao anterior mas pergunta se se pretende
substituir fich2 se este já existir.
23. Comando touch
touch fich1
Cria um ficheiro com o nome fich1;
Se fich1 já existir, apenas actualiza a sua
data e hora (mtime) para a data e hora
correntes do sistema.
24. Movimentação numa estrutura de
Ficheiros e Directórios
A informação no Unix, encontra-se organizada em ficheiros
que por sua vez se encontram organizados em directorias.
As directorias encontram-se organizadas numa estrutura em
árvore, onde existe uma raiz comum com várias ramificações.
A estrutura de directórios do Unix pode ser representada (tal
como a estrutura do DOS) por uma árvore invertida com a raiz
no topo.
O símbolo do directório raiz(root directory) é uma barra “/”, ao
contrário do DOS que é uma barra invertida “”.
Quando se inicia uma sessão em Unix, o utilizador após o login
fica posicionado automaticamente no seu directório pessoal.
25. Movimentação numa estrutura de
Ficheiros e Directórios
Eis um exemplo da estrutura de directórios de um sistema Unix:
u n ix
s t a n d s b in e t c
1 1 5
t e r m c o n s t t y
d e v h o m e o p t
ls c a t
b in lib
u s r
x
v a r t m p
/ ( r o o t )
26. Movimentação numa estrutura de
Ficheiros e Directórios
stand: versão executável do kernel
sbin: comandos para administração do sistema
etc: ficheiros de configuração do sistema
dev: ficheiros especiais que correspondem na sua utilização a
discos, terminais, etc.
home: onde são criados os ficheiros do utilizador
opt: onde fica armazenado software não pertencente ao Unix
usr: ficheiros estáticos e partilháveis(comandos de sistema-
lin, bibliotecas- lib)
var: contém logs, ficheiros temporários, etc.
tmp: só ficheiros temporários. De cada vez que o sistema é
reinicializado esta directoria é limpa.
27. /
dev -
etc -
home
opt -
sbin -
stand
-
tmp -
usr -
var -
Contém ficheiros especiais (de dispositivos) tais como terminais,
impressoras e dispositivos de armazenamento
Contém bases de dados de configuração e administração do sistema
(contém, por exemplo, os ficheiros com as passwords de todos os
utilizadores)
- Contém os directórios-conta e ficheiros de todos os utilizadores
Contém os eventuais pacotes de aplicações adicionais
Contém os programas de arranque e recuperação do sistema
Contém programas standard e ficheiros de dados utilizados na
primeira inicialização do sistema
Contém todos os ficheiros temporários utilizados pelo Sistema Unix
Contém programas vários do Sistema Unix, utilitários, comandos de
administração de sistema, dados e ficheiros executáveis de jogos,
compiladores e bibliotecas de linguagens de programação, manuais, etc.
Contém directórios de ficheiros que diferem ao longo das diferentes
versões de Unix. Estes incluem ficheiros de contabilidade, de registo da
actividade do sistema, ficheiros de correio electrónico, etc.
29. Directorias e Ficheiros
Mudar de directoria
$home
Muda para o directório pessoal.
cd
permite ao utilizador mudar a directoria
de trabalho. O caminho pode ser relativo
ou absoluto.
30. Directorias e Ficheiros
Usando-se:
cd
sem o nome do directório fará com que seu directório
corrente seja o seu directório padrão,
cd -
fará com que seu directório corrente seja o directório
onde estava anteriormente e é uma maneira
conveniente de se alternar entre dois directórios,
cd ..
fará com que seu directório corrente seja o directório
exactamente superior ao que você se encontra (muito
útil).
31. Directorias e Ficheiros
Criar directorias
mkdir
Permite criar novas directorias
cria uma directoria, tendo como ponto de origem a
directoria de trabalho.
du
Espaço já utilizado em disco; numero de blocos de 512 bytes de
todos os directórios existentes no sistema.
df
Quantidade de espaço livre no disco em blocos de 512 bytes.
32. Directorias e Ficheiros
Eliminar directorias vazias
rmdir
permite apagar directorias vazias.
O directório a remover deve pertencer ao utilizador
que o pretende remover.
Deve estar posicionado no directório pai daquele
que vai ser eliminado.
O directório a eliminar não deve conter qualquer
conteúdo.
33. Directorias e Ficheiros
Listar o conteúdo de uma directoria
ls ou dir
Lista o conteúdo do directório corrente, permite listar nomes e
atributos de ficheiros e directorias
O comando dir é um alias para o comando ls de forma que
estes comandos fazem exactamente a mesma coisa.
A listagem dos arquivos é normalmente codificada por cores:
azul escuro = directórios,
cinza = arquivos normais,
Verde = arquivos executáveis,
violeta = arquivos gráficos,
Vermelho = arquivos comprimidos,
azul claro = links simbólicos,
amarelo = arquivos de dispositivos,
castanho = FIFO
34. Directorias e Ficheiros
Opções do comando ls:
a - lista todos os ficheiros de uma directoria,
incluindo aqueles que começam com “.”(os
que se encontram escondidos).
s - lista os ficheiros e o seu tamanho em
kbytes.
l - lista o tipo de ficheiro, permissões para o
dono, grupo do dono e outros utilizadores,
numero de ficheiros relacionados, nome do
dono e tamanho.
35. Directorias e Ficheiros
1 2 3 4 5 6 7 8 9 10
- rw
-
--
-
--
-
1 roo
t
roo
t
753
8
Mar 31
18:39 mb
ox
Quando utilizado o comando ls –l a saída será uma
sequência semelhante à seguinte:
36. Directorias e Ficheiros
1 Tipo de item listado:
d - directório (l no linux)
c - periférico
b - unidade
- - ficheiro normal
2 Permissões de acesso do dono ao item:
r – leitura
w – escrita
x – execução
3 Permissões de acesso do grupo a que
pertence o dono ao item:
r – leitura
w – escrita
x – execução
37. Directorias e Ficheiros
4 Permissões de acesso dos outros
utilizadores ao do item:
r – leitura
w – escrita
x – execução
5 Número de ficheiros associados
6 Nome do dono do item
7 Nome do grupo a que pertence o dono do item
8 Tamanho do item
9 Data de criação e/ou alteração
10 Nome do item
38. Directorias e Ficheiros
ls -al |more
Lista o conteúdo do directório corrente, todos os arquivos
(incluindo aqueles começando com um ponto), e em um
formato mais longo.
A saída é canalizada para o comando "more", de forma que a
exibição seja interrompida quando a tela ficar cheia.
O comando ls tem diversas opções úteis.
Algumas delas tem atalhos (aliases) para evitar uma digitação
complicada.
Execute ll (="long ls [ls longo]", um alias para ls -l).
Uma outra opção que uso frequentemente é ls -ad (lista todos
os subdirectorias em meu directório corrente, mas não lista
seus conteúdos).
39. Directorias e Ficheiros
Exemplos:
$ls /etc
Lista os ficheiros existentes no directório etc
$ls /etc/a*
Lista todos os ficheiros do directório etc cujo nome começa por a
$ls nl????
Lista todos os ficheiros começados por nl e que possuem mais quatro
caracteres
$ls /bin/[a-f]*
Lista todos os ficheiros do directório bin cujo nome começa por uma
letra entre a e f
$ls /bin/[b,g]*
Lista todos os ficheiros do directório bin cujo nome começa por b ou g
$ls –aR|more
Lista todos os directórios abaixo do actual por páginas
40. Directorias e Ficheiros
Considerações sobre o nome de ficheiros Unix:
Em algumas versões do Unix, o nome dos ficheiros pode ter até
256 caracteres (Ex. Santa Cruz).
Pode usar-se qualquer combinação de caracteres incluindo
números, excepto os caracteres seguintes que têm um
significado especial para o Shell: ! “ ‘ ’ ; / ; $ < > ( ) | { } [ ]
~
Maiúsculas e minúsculas são interpretadas diferentemente:
MENU.txt é diferente de menu.txt.
As extensões podem ter qualquer comprimento.
Dentro de um directório não podem existir nomes duplicados.
41. Directorias e Ficheiros
Símbolos de redireccionamento:
>
Indica ao computador onde colocar o output da linha de
comandos.
Ex. echo > teste cria o ficheiro teste com o conteúdo
especificado caso este não exista. Se já existe substitui o
conteúdo existente pelo novo conteúdo.
>>
Indica ao computador onde adicionar o output.
Ex. echo >> teste cria o ficheiro teste com o conteúdo
especificado caso este não exista. Se já existe adiciona o
novo conteúdo ao conteúdo existente.
<
Indica ao computador de onde vem o input para a linha
execução do comando
Ex. mail sara<mensagem utiliza o ficheiro mensagem para
enviar para o utilizador sara.
42. Directorias e Ficheiros
Criação de ficheiros de texto simples
echo
Envia as entradas do teclado para o terminal
directamente, ou para outro local se a saída
for redireccionada.
(echo > ou >> nome_ficheiro)
touch
Cria ficheiros simples de experiência e
vazios quando não existe outro já com o
mesmo nome no directório de trabalho.
(touch nome_ficheiro)
43. Directorias e Ficheiros
Criação de ficheiros de texto simples
cat
Cria ficheiros de texto de forma rápida,
digitando texto até que seja pressionada
CTRL+d para terminar a entrada.
(cat > nome_ficheiro)
cat >> fich1
acrescenta linhas no ficheiro
44. Directorias e Ficheiros
Ver o conteúdo de um ficheiro
cat > nome_fich
visualiza o conteúdo de um ficheiro;
cat > fich1 fich2 > fich_final
Com a utilização dos símbolos de
redireccionamento e com o comando cat é
possível concatenar vários ficheiros para um
só.
45. Directorias e Ficheiros
Ver o conteúdo de um ficheiro
grep
procura palavras ou cadeias de caracteres
dentro de ficheiros.
(grep “texto a procurar” nome_ficheiro)
strings
Apresenta no ecrã qualquer cadeia de
caracteres que possa existir no interior de um
ficheiro binário
46. Directorias e Ficheiros
Ver o conteúdo de um ficheiro
more
Imprime o conteúdo de um ficheiro página a página
(more nome_ficheiro)
Teclas de movimentação no more:
Q ou q – sair do more
Enter – visualizar nova linha
Barra de espaços – visualizar nova página
/- permite pesquisar por palavras dentro de um ficheiro a
partir da localização actual.
47. Directorias e Ficheiros
Ver o conteúdo de um ficheiro
head
imprime as primeirasprimeiras 10 linhas de um ficheiro se
nada for especificado (head nome_fich) ou o nº
de linhas indicado (head -5 nome_fich)
tail
imprime as últimasúltimas 10 linhas de um ficheiro se
nada for especificado (tail nome_fich) ou o nº de
linhas indicadas
(tail -5 nome_ficheiro)
48. Directorias e Ficheiros
Procura de ficheiros na árvore de directórios
find
Permite procurar um ficheiro numa hierarquia de directorias, a
partir de um ponto especificado pelo utilizador, o nome de um
ficheiro ou parte dele.
find / -name tlp -print
1
-
“/” indica ao find que deve iniciar a procura na raiz
“.” indica ao find que deve iniciar a procura a partir do directório actual e
continuar para os directórios abaixo
2
-
“-name” indica ao find que se refere a um nome de ficheiro ou directório
“-user” procura todos os ficheiros pertencentes a um determinado
utilizador
3
-
Nome do ficheiro ou ficheiros que se pretende procurar
4
-
Para imprimir no écran(opcional)
49. Directorias e Ficheiros
Identificação de tipos de ficheiros
Categorias dos ficheiros Unix
Ficheiros correspondentes a periféricos, como
terminais e impressoras
Ficheiros correspondentes às unidades de disco
Directórios
Ficheiros vulgares:
Ficheiros de texto em código ASCII
Ficheiros de código fonte
Programas de shell Unix
Ficheiros binários
Ficheiros de programas executáveis
50. Directorias e Ficheiros
Identificação de tipos de ficheiros
file
Permite identificar os vários tipos de ficheiros.
(file nome_ficheiro)
É conveniente saber a localização exacta dos
ficheiros.
Os caracteres de escape “?” e “*” podem ser
utilizados com este comando.
51. Directorias e Ficheiros
Cópia de ficheiros na árvore de directórios
cp <origem> <destino>
Cria uma nova cópia de um ficheiro mantendo o ficheiro
original intacto para a directoria actual com um novo nome ou
para outra directoria com o mesmo nome ou outro.
(cp nome_ficheiro novo_nome_ficheiro ou directoria_destino)
A nova cópia substitui qualquer outra com o mesmo nome na
directoria para onde é criada a cópia.
Se forem copiados mais do que um ficheiro então o destino
deverá ser um directório.
No ficheiro de origem deve ter permissão de leitura e o de destino
deve ter permissão de escrita.
52. Directorias e Ficheiros
Deslocação e alteração do nome de ficheiros
mv <origem> <destino>
Permite alterar o nome de ficheiros e/ou
move-los.
(mv nome_ficheiro novo_nome_ficheiro ou
directoria_destino)
53. Directorias e Ficheiros
Eliminação de ficheiros
rm
Permite a remoção de ficheiros e/ou directórios não
vazios.
(rm nome_ficheiro)
Algumas opções do comando rm:
-d permite remover directórios
-f elimina os ficheiros protegidos contra escrita
-r
ou
-R
elimina directórios e o respectivo conteúdo sem qualquer
aviso
-i o sistema pede confirmação ao utilizador antes de eliminar o
ficheiro
54. Executa os seguintes comandos
$ Cat
olá
Bom dia
Hoje está sol^d
^d
$ cat > newfile
o linux é fixe
^d
$ Cat newfile
$ Cat >> newfile
mais uma linha^d
^d
$ Cat newfile
$ cat > anotherfile
outro texto^d
^d
$ Cat newfile anotherfile>
thirdfile
$ Cat thirdfile
$ mkdir newdir
$ Ls
$ Mv anotherfile movedfile
$ Ls
$ Cp thirdfile xyz
$ Ls
$ Mv newfile newdir/newfile
$ Cd newdir
$ Copy ../xyz .
$ Cp * /tmp
55. Executa os seguintes comandos
$ Mv newdir /tmp
$ Cd /tmp
$ Ls
$ Mkdir dead_duck
$ Mkdir guiduck
$ Cp dead_duck
tmp/dd
$ Rm –i *duck
$ Rm /tmp/dd
$ Mkdir zippy
$ Ls –a zippy
$ Rm zippy/.*
$ Rmdir zippy
$ Ls
$ Ls –l thirdfile