1-Introdução
A Historia do Linux
O Linux é um clone UNIX de distribuição livre para PCs. Não contem nenhum código original ou proprietário do
Unix , é totalmente independente.O Linux foi escrito inteiramente do nada, não há código proprietário em seu
interior.
O Kernel do Linux foi, originalmente, escrito por Linus Torvalds, um estudante da Universidades de Helsinki,
Finlândia. Linus Torvalds iniciou cortando (hacking) o kernel como um projeto particular, inspirado em seu
interesse no Minix, um pequeno sistema UNIX. Ele se limitou a criar, em suas próprias palavras, "um Minix melhor
que o Minix". E depois de algum tempo de trabalho em seu projeto,em outubro de 1991 ele distribuiu os fontes na
internet para com a ajuda de vários programadores voluntários se tornar o Sistema Operacional que é hoje.
Características do Linux
• Freeware (gratuito) - Todo o código fonte esta disponível, inclusive o kernel completo e todos os drivers, alem
de sw adicionais como servidor web, sw administração de rede, BD, Firewalls, ...
• Multitarefa real - várias tarefas sendo executadas ao mesmo tempo.
• Memória virtual - Como na memória RAM, o kernel divide o espaço em disco reservado para memória virtual
em páginas e sabe exatamente o que deve mandar para esta e o que manter na memória principal, evitando
acessos desnecessário a memória virtual(/SWAP), que torna a execução mais lenta.
• Multiusuário: diversos usuários utilizando a mesma máquina ao mesmo tempo sem necessidade de adquirir
licenças de uso.
• Biblioteca compartilhada - usar bibliotecas compartilhadas economiza espaco em disco, economiza espaco em
memoria, e por isso melhora o desempenho da paginação.
• "Demand loading" - o Linux só lê do disco aquelas partes do programa que são realmente usadas.
• Gerenciamento de memória próprio – possui uma proteção de memória entre os processos onde um programa
mau comportado não pode derrubar todo o sistema. Possui memória unificada para programas de usuários e
cache de disco, fazendo com que toda a memória livre seja usada para cache, sendo este reduzido conforme os
programas necessitem de memória.
• Executáveis "copy-on-write" compartilhados - Isto significa que múltiplos processos podem usar a mesma parte
da memória para executar, compartilhando páginas comuns, isto é, quando um processo tenta gravar naquela
página, ela é copiada para outro lugar.
• Multiprocessamento – mais de um processador trabalhando em conjunto;
• X Windows – as varias interfaces gráficas
• Segurança – Todo o sistema de arquivos baseados em permissões de 3 niveis de acesso oriundos do Unix com
mais de 3decadas de aperfeiçoamento, alem de diversas ferramentas básicas de segurança , encriptaçao,
firewalls, IDS ...
• Suporte na Internet: nenhum outro SO possui tantas páginas, Newgroups, lista de discussões, how to, que podem
facilmente encontrar soluções de problemas e conselhos.
• Portabilidade: compatibilidade com diversas plataformas: PC’s Intel, Dec Alpha, Sun-Os, Solaris, etc...também
roda em praticamente qualquer computador.
Outras características interessantes do Linux: estabilidade, ótima performance e uma multiplicidade de recursos.
Distribuição
O linux, em si, é apenas o Kernel (núcleo) do SO, ou seja, a parte que controla o HW, gerencia arquivos,
processos, memória, etc... Existem combinações de linux com vários utilitários e aplicativos de modo a formar
um SO completo comercializados por empresas. Cada uma dessas combinações é chamada de distribuição.
Estas empresas que pegam o Linux ,adicionam algumas facilidades ou recursos (e com seu grupo de
desenvolvedores), juntam com aplicativos/utilitários desenvolvidos também por outras empresas e colocaram
seus CDs à disposição dos interessados, juntamente com suporte, manuais, etc.
As principais distribuições são: Red Hat (a mais popular), projeto Fedora Core da Red Hat, Slackware, Corel,
SuSE, Debian, Open Linux Caldera, Conectiva do Brasil e muitas outras.
Os arquivos /proc/version e /etc/issue informam respectivamente a versão do kernel e a distribuição que esta
sendo usada.
Requisitos de HardWare
1
É importante entender que o Linux é formado pelo núcleo do sistema, chamado de Kernel e de alguns
comandos básicos. Interfaces gráficas, jogos, editores de texto, serviços de rede, bancos de dados, linguagens
de programação e todas os demais programas não são LINUX, são utilitários que complementam o Sistema
Operacional.
O Linux pode rodar em PCs baseados em 386/486/Pentium, com pelo menos 2Mb de RAM e um disco de 10MB
para experimentá-lo. Para fazer qualquer coisa útil, mais RAM (4Mb para instalar a maioria das distribuições, e
32Mb é altamente recomendado para rodar X) e um disco rígido de preferência superior a 400MB .
Instalação
A instalação e atualização do Linux podem ser feitas de varios métodos, como:
- Via CD-ROM: os pacotes são lidos do CD e instalados no seu disco rígido. A inicialização do programa de
instalação é feita direta do CD, se permitir o boot pelo CD, senão deve ser criado um disquete de inicialização;
-Via rede: através de sites de FTP e http que fazem o espelhamento do linux, os pacotes são carregados através da
rede até seu computador e instalados ou atualizados no disco rígido;
- Via disco rígido: pode-se copiar os arquivos diretamente para o HD, fazendo a instalação apartir do sistema local.
Caso você pretende instalar o Linux no mesmo HD do windows, deve-se particionar o HD em no mínimo 2
partições, instalar o windows na primeira partição e depois o linux na outra.
Aviso
Se você escolher não particionar manualmente, uma instalação de servidor removerá todas as partições existentes
em todos os discos rígidos instalados. Não escolha este tipo de instalação a não ser que você esteja certo de não ter
dados que queira salvar.
Para o Linux, é recomendado que você crie pelo menos 3 partições (no momento da instalação):
- Partição de Troca ( /swap) – destinada ao suporte á memória virtual, obrigatório para micros com menos de 16 MB
de ram. O tamanho desta partição pode ser igual (se tiver bastante memória) ou o dobro ( se tiver pouca) da Ram do
seu equipamento;
-Partição de boot ( /boot)) *não obrigatoria* – contem o kernel do SO, juntamente com outros arquivos necessários
ao processo de inicialização. Obrigatório para micros com Bios desatualizada que possuem HDs de grande
capacidade, isto faz com que o gerenciador de inicialização localize o /boot abaixo do cilindro 1024 do disco. O
tamanho dessa partição deve ter entre 5 a 20 MB;
-Partição Raiz ( /) – é onde irão ser instalados todos os arquivos restantes do linux. Deve ter o tamanho restante
disponível do disco.
Recomendações antes de instalar o Linux (Fedora core):
Como Computador Pessoal
Uma instalção de computador pessoal, incluindo um ambiente gráfico da área de trabalho, requer pelo menos 1.7GB
de espaço livre. Caso voce escolha ambos ambientes de trabalho, GNOME e KDE, precisar· de pelo menos 1.8GB
de espaço livre em disco.
Como Estação de Trabalho
Uma instalação de estação de trabalho, incluindo um ambiente gráfico da área de trabalho e ferramentas de
desenvolvimento de software, requer pelo menos 2.1GB de espaço livre. Ao escolher ambos ambientes de trabalho,
GNOME e KDE, voce precisara de pelo menos 2.2GB de espaço livre em disco.
Como Servidor
Uma instalação de servidor requer 850MB para uma instalação minima sem X (o ambiente gráfico), pelo menos
1.5GB de espaço livre se todos os grupos de pacotes alem do X estiverem instalados, e pelo menos 5.0GB para
instalar todos os pacotes incluindo os ambientes de trabalho gráfico GNOME e KDE.
Como Personalizada
Uma Instalação Personalizada requer 475MB para uma instalação minima e pelo menos 5.0GB de espaço livre se
todos os pacotes forem selecionados.
OBS: Estas recomendações não consideram espaço adicional para dados do usuário. Você deve ter espaço adicional
disponível se planeja salvar quaisquer dados do usuário (arquivos pessoais) em seu sistema.
2
2- Sistema de Arquivos ( File System )
O usuário root deve ser o administrador do sistema, aquele que tem poder de alterar ou apagar quase
tudo, portanto deve-se utilizar o sistema com esse usuário ou com os poderes dele apenas para manutenção do
sistema. Utilize o sistema como usuário comum sempre, a menos que precise executar tarefas de administração
do sistema. Este procedimento torna o sistema mais estável, embora no começo seja mais trabalhoso, pois força
um maior aprendizado do sistema, pois muitas coisas não serão permitidas ao usuário comum.
Para criar um usuário você deve se logar como root e utilizar o comando adduser nome_usuario, e em
seguida passwd nome_usuario para definir sua senha.
Permissões de arquivos (e diretórios) diz respeito ao que é permitido ao usuário fazer em relação aos
arquivos/diretórios. Como o Linux é um SO multiusuário, ele divide os usuários em três classes que podem ter
acesso aos arquivos: o dono (a pessoa que criou o arquivo), o grupo (usuários que são agrupados pelo
administrador do sistema) e os outros (todos os usuários conectados a rede). Os 10 primeiros caracteres das
linhas listadas pelo "ls -l" definem precisamente o que os usuários de cada classe podem fazer com seus
arquivos. Esses caracteres são chamados de modos de permissão dos arquivos.
O primeiro caractere define o tipo de arquivo: se for um "-" então é um arquivo normal. Se for um "d", é
o nome de um diretório. Se for um "l" entao é um 'link' simbólico (é um ponteiro para outros arquivos)
Os outros 9 caracteres devem ser separados em 3 grupos de 3 caracteres: o primeiro grupo define as
permissões do dono do arquivo, o segundo grupo as permissões do grupo de usuários e o terceiro define as
permissões de todos os outros usuários.
Em cada grupo, as permissões sempre aparecem na ordem leitura-escrita-execução (r,w,x). A permissão
de leitura é sempre indicada com um "r", a permissão de escrita com um "w" é a permissão de execução com
um "x". Permissão negada é indicada com um "-". Por ex:
-rwxr--r-- 1 ana ftp-adm 53104 May 16 11:26 teste
O primeiro "-" significa que teste é um arquivo comum. As permissões do dono de teste são "rwx", o que
significa que o dono pode ler e escrever e executar o arquivo. As permissões do grupo ou dos outros usuários é
"r--" o que significa que eles podem apenas ler (ou copiar) o arquivo.
É possível alterar as permissões dos arquivos e diretórios através dos comandos chown, chgrp, chmod
que vermos mais adiante.
Só quem pode mudar as permissões do arquivo é o dono dele ou então o root.
As permissoes tambem protegem os arquivos de programas não autorizados (virus) ou tambem de
instalação de programas por usuarios comuns.
3
3 – Gerenciamento de Partições (drives e partições)
Partições de disco são divisões lógicas feitas no seu HD de forma que ele opere com vários sistemas de arquivos
iguais ou diferentes armazenados na mesma mídia.
Uma partição é um conjunto de blocos contíguos em um drive que são tratados como discos independentes.
Aos drives e partições do Linux são dados nomes diferentes aos no windows, os drives de disquetes não são
referidos como A: e B: e as partições do disco rigido não são denominadas C: e D:, etc. (são representados na forma
de arquivos de dispositivos ou drives de dispositivo).
Os drives do dispositivo, encontramos no diretório /dev, são usados para a comunicação com os dispositivos em seu
sistema (como: drives de disquete, CD-Rom, disco rígidos, mouses, pen drive, etc.). Por exemplo: se você tiver um
disquete em seu sistema, irá acessa-lo através do drive /dev/fd0, um cd em /dev/cdrom, um mouse em /dev/mouse.
O Linux refere-se às diversas partições dos discos de uma forma muito mais completa e complexa que no DOS e
seus descendentes. Eis um resumo:
• Duas primeiras letras: indicam o tipo de dispositivo onde a partição reside. Normalmente vão ser hd (para
partições em drives IDE) ou sd (para partições em drives SCSI).
• Terceira letra: indica em qual dispositivo a partição se encontra. Por exemplo, /dev/sdb é o segundo drive
scsi, e /dev/hda é o primeiro interface IDE.
• O número: denota a partição. Por exemplo, /dev/hda3 é a terceira partição primária no primeiro drive IDE,
/dev/hda5 é a primeira partição lógica no primeiro drive IDE.
fdisk –l - comando usado para enxergar discos, dispositivos (partições) e tipo de filesystem. O comando fdisk
é usado para criar partições, por exemplo fdisk /dev/hda2
df - comando usado para verificar os discos que estão montados no sistema. Ex: df –H
mount – visualizar todos os dispositivos montados e tipo de filesystem para cada dispositivo montado.
O arquivo que contem as informações das partições é o /proc/partitions
4
3- Montagem de Dispositivo
No Linux, os arquivos em qualquer dispositivo de armazenamento (disquete, CDROM ou HD), devem fazer parte
do sistema de arquivos para poderem ser acessados. Ou seja, é diferente do DOS / Windows, que trata cada unidade
(a:, c:, etc) como um sistema de arquivos isolado.
Para que os arquivos armazenados em um disquete, CDROM ou HD possam fazer parte do sistema de arquivos, é
preciso realizar uma operação chamada "montagem". Basicamente a montagem consiste em informar ao sistema os
parâmetros necessários para o acesso aos dados, como o ponto de montagem, o dispositivo utilizado, o tipo do
sistema de arquivo, entre outros.
A operação de montagem pode ser realizada manualmente ou pode ser automatizada para que seja realizada em
determinadas circunstâncias, especialmente na inicialização do sistema.
Da mesma forma, quando um sistema de arquivos em um dispositivo não é mais necessário, ele deve ser
"desmontado" antes de ser fisicamente removido, de modo a não fazer mais parte do sistema de arquivos raiz (/).
O arquivo /etc/fstab contém informações que permitem sintetizar os comandos de montagem de dispositivos, já que
as informações contidas nele não precisarão ser informadas ao sistema durante a operação de montagem dos
dispositivos nele relacionados. Mais adiante veremos como isto funciona.
Desta forma, se quisermos acessar o conteúdo de um disquete, devemos montá-lo e teremos acesso a seus dados
através o diretório /mnt/floppy. Da mesma forma com os dados de um CDROM, porém neste caso o diretório que
nos dará o acesso aos dados é /mnt/cdrom.
Para montar um drive ou uma partição na inicialização do seu Linux, você precisa editar o arquivo fstab, que se
localiza no diretorio /etc. ( vi /etc/fstab ). Este arquivo permite configurar o sistema para montar partições, cdroms.
Disquetes, outras mídias e compartilhamentos de rede durante o boot
O conteudo do arquivo é o seguinte:
/dev/hdb2 swap swap defaults 1 1 ( em muitos casos é /dev/shm )
/dev/hdb1 / ext2 defaults 1 1
none /proc proc defaults 1 1
Por ex:
Para montar o seu drive A: (disco flexível) é so adicionar a seguinte linha:
/dev/fd0 /mnt/a: msdos defaults 1 1
OBS: Nao esqueça de que o diretório /mnt/a: tem que ser criado previamente
- Para mountar uma partição do Windows (fat) no Linux, adicione a seguinte linha:
/dev/hda1 /mnt/win vfat defaults 1 1
OBS: Criar antes o diretório /win dentro do /mnt ou no fedora em /media
5
4 - CONFIGURAÇÃO DO LINUX
Alguns comandos úteis e utilitários de distro baseada no RED HAT:
Setup – menu com varias configurações
sndconfig - detecção e configuração de placas de som
ntsysv – comando para habilitar os pacotes na inicialização
mouseconfig - configuração do mouse
kbdconfig - configuração do teclado
timeconfig - configuração das timezones (fuso horário)
printtool – instalar impressora
modemtool – instalar modem
netconfig – configurar rede
fsck - verifica e repara a integridade de um sistema de arquivos do Linux. Ex fsck /dev/hda1
e2fsck - verifica e repara mais profundamente a integridade de um sistema de arquivos ext2 ou ext3,
recomendável rodar com a partição de disco desmontada.
badblocks – comando para verificar ocorrência de blocos ruins do disco
dmesg - Lista todos os dispositivos detectados no boot (similar ao lspci)
system-config - e pressione a tecla tab duas vezes – é para rodar os aplicativos de configuração.
chkconfig - configura serviços para inicar junto com o boot, seleciona por nível de inicialização, é aplicado
nos scripts de inicialização
6
5 -Principais comandos do Linux
ATALHOS ESSENCIAIS:
<Ctrl><Alt><F1>
Muda a tela para o primeiro terminal texto. Sob Linux você pode ter vários (6 na definição padrão) terminais abertos ao mesmo
tempo;
<Ctrl><Alt><Fn> (n=1..6)
Muda a tela para o terminal texto numero n. O comando tty mostra o nome do terminal no qual você está digitando este
comando;
<Ctrl><Alt><Fn> (n=7..12)
Muda a tela para o terminal gráfico n (se um terminal gráfico estiver sendo executado na tela n - 1). Por default, o primeiro
servidor X roda no terminal 7;
<Tab>
(Em um terminal texto) Completa automaticamente o comando se há somente uma opção ou, em caso contrário, mostra todas as
opções disponíveis;
<Seta para cima>
(Em um terminal texto) Varre, mostra e edita o histórico de comandos. Pressione <Enter> para executar.
~
(til) Meu diretório padrão (diretório padrão, normalmente o diretório /home/meu_nome_de_login);
<Ctrl>c
Fecha o processo corrente(funciona na maioria das vezes em aplicações em modo texto).
CRIAÇÃO DE USUÁRIOS
Uma conta é a maneira como o usuário é identificado no sistema (através do login). Criar uma conta para cada
usuário no sistema operacional não serve apenas para restringir ou permitir o acesso aos recursos oferecidos, mas
também para respeitar o espaço que cada pessoa tem. Com uma conta, uma pessoa poderá ter os seus próprios
diretórios, personalizar o seu desktop, ter atalhos e configurações para os seus programas preferidos, entre outros.
Por padrão o linux cria seus usuários no diretório /home
Comandos Relacionados:
chage – estabelece que a senha expire em x dias para um usuário
userdel - deleta o usuário Ex userdel meu_user
userdel -r meu_user - deleta o usuário meu_user junto com o diretório
usermod – comando para modificar contas de usuários já criados.
chfn: comando para mudar as informações adicionais do usuário (nome completo, telefone, etc).
Também podemos editar o arquivo /etc/passwd, para modificar uma conta, veja:
meu_user:x:591:502:user:/home/meu_user:/bin/bash, Onde:
meu_user- nome da conta, login
x- indica que está sendo utilizado o método shadow de encriptação de senhas
591- ID do usuário (UID = user identification)
502- ID do grupo (GID = group identification)
user- nome completo
/home/meu_user -diretório home do usuário meu_user
/bin/bash- shell padrão do usuário meu_user
7
Então:
Original : joao:x:591:502:Joao silva:/home/joao:/bin/bash
Modificar para: Manuel:x:591:502:Manuel silva:/home/manuel:/bin/bash
5 - mkdir : usado para a criação de novos diretórios, o diretório deve ter a permissão “W”.
Sintaxe : mkdir (diretório 1) (diretório 2) ...(diretório n)
onde (diretório 1) até (diretório n) são os diretórios a serem criados.
Ex:
mkdir teste
mkdir /home/novodir - para criar um diretório nesse local específico
mkdir -p /dir1/sub1/sub2 (criar toda a hierarquia de diretórios).
8
6 - cat : Oficialmente usado para concatenar arquivos. Também usado para exibir todo o conteúdo de um
arquivo de uma só vez, sem pausa.(somente para arq texto ou binário)
Sintaxe: cat < arquivo1 > < arquivo2 >... < arquivo n >,
onde (arquivo1) até (arquivo n) são os arquivos a serem mostrados. "cat" lê cada arquivo em sequencia e exibe-
o na saída padrão. Deste modo , a linha de comando:
cat < arquivo > - exibirá o arquivo em seu terminal;
cat < arquivo1 > < arquivo2 > > < arquivo3 > - concatenará "arquivo1" e "arquivo2", e escreverá o
resultado em “arquivo 3” .
O símbolo ">", usado para redirecionar a saída para um arquivo ou dispositivo, tem caráter destrutivo; em
outras palavras, o comando acima escreverá por cima do conteúdo de < arquivo3 >. Se, ao invés disto, você
redirecionar com o símbolo ">>", a saída será adicionada a <arquivo3 >, ao invés de escrever por cima de seu
conteúdo.
7 - more : Exibe o conteúdo de arquivos nomeados, fazendo pausas a cada tela cheia.
O caracter "b" faz com que "more" exiba a tela anterior. O caracter "q" provoca a parada de execução do
comando more.
Sintaxe: more (arquivo 1) (arquivo 2) ... (arquivo n)
onde (arquivo 1) até (arquivo n) são os arquivos a serem exibidos.
Pode-se procurar por uma palavra (ou uma cadeia de caracteres) em um arquivo. Para isso, pressione o
caracter "/", digite a palavra (ou a cadeia de caracteres),e tecle (Enter).
Comando relacionado:
less – permite vizualizar arquivos fazendo paginação, usado para arquivos grandes, permite usar as setas do
teclado para rolar. Para sair pressione “q”
9 - cp : Copia arquivos para um outro arquivo ou diretório.O arquivo deve ter a permissão “r”
Sintaxe: cp (arquivo1) (arquivo2) ... (arquivo n) (destino)
onde (arquivo1) até (arquivo n) são os arquivos a serem copiados, e (destino) é o arquivo ou o diretório
para onde os arquivos serão copiados. Se o arquivo-destino não existe, "cp" criará um arquivo com o nome
especificado em . Se o arquivo-destino já existia antes e nào for um diretório, "cp" escreverá o novo conteúdo
por cima do antigo. Cuidado: se errar o caminho, ele cria um novo.
Ex :
cp teste /home – copia arquivo teste para o diretório home
cp -r temp temp1 - Este comando copia todos os arquivos e subdiretórios dentro do diretório temp para um
novo diretório temp1. Esta é uma cópia recursiva, como designado pela opcão -r. Se você tentar copiar um
diretório sem utilizar esta opcão, você verá uma mensagem de erro.
Para ver todos os arquivos copiados utilize a opção “-v”.
Comando relacionado:
touch <nome> - cria um arquivo vazio ou muda data/hora de um já existente.
10 - du : Exibe o espaço ocupado de um diretório e de todos os seus subdiretórios, em blocos de 1kbytes; isto
é, unidades de 1 kbytes ou caracteres..
"du" mostra a utilização do disco em cada subdiretório, ex, du –a
Comando relacionado:
df <diretório> - mostra quantos KBytes estão livres na unidade de disco onde se encontra o diretório. Se o
diretório for omitido, será mostrado o epaço disponível em todas as unidades que estão montadas.
11 – man : exibe páginas do manual sobre comandos e programas em geral, aperte a letra "Q" que ele volta
ao console. Ex : man ls
Comando relacionado:
“comando” –help|more – exibe o help do comando
Comando relacionado:
Info <tópico>
Mostra o conteúdo de informações sobre um comando em particular, info é uma substituição das paginas man
porisso ela contem as atualizações mais recentes da documentação do sistema.
13 - rm : Este comando é utilizado para apagar arquivos. É importante lembrar que quando os arquivos são
apagados, no sistema Unix, é impossível recuperá-los. Tem que ter a permissão “w”
Sintaxe: rm (arquivo 1) (arquivo 2) ... (arquivo n)
onde (arquivo 1) até (arquivo n) são os arquivos a serem apagados.
*Opções:
-f - remove todos os arquivos (mesmo se estiverem com proteção de escrita) em um diretório sem pedir
confirmação do usuário.
-r - opção recursiva para remover um diretório e todo o seu conteúdo, incluindo quaisquer subdiretórios e seus
arquivos.
Ex: rm –rf /teste/* - apaga todos os arq e subdir do diretorio teste.
-> CUIDADO : diretórios e seus conteúdos removidos com o comando "rm -r" não podem ser recuperados.
14 - rmdir : é utilizado para apaga diretórios vazios. Deve ter permissão “W”
Sintaxe: rmdir (diretório 1) (diretório 2) ... (diretório n)
onde (diretório 1) até (diretório n) são os diretórios a serem apagados.
O comando "rmdir" se recusa a apagar um diretório inexistente, exibindo a mensagem: rmdir : (nome-
do-diretório) : No such file or directory
Quando usar "rmdir", lembre-se que o seu diretório de trabalho corrente não pode estar contido no(s)
diretório(s) a ser(em) apagado(s). Se você tentar remover seu próprio diretório corrente, será exibida a seguinte
mensagem: rmdir : . : Operation not permited
-> CUIDADO : diretórios removidos com o comando "rmdir" não podem ser recuperados!
16 - grep : Exibe todas as linhas, dos arquivos especificados, que contém um certo padrão.
Sintaxe:
grep [padrão] <arquivo_1> <arquivo_2> ... <arquivo_n>
onde [padrão] é uma expressão regular, e "arquivo_1" até "arquivo_n" são os arquivos nos quais a procura
será feita.
Por exemplo, o comando
grep trabalho /trabalho/unix/grep.html
mostrará todas as linhas no arquivo /trabalho/unix/grep.html que contém o padrão "trabalho".
11
Quando você cria um novo arquivo ou diretório, o sistema associa permissões automaticamente.
Geralmente, a configuração "default" (assumida) para os novos arquivos é: - r w - r - - r - - e para novos
diretórios é: d r w x r - x r – x
Mais informações:
Modo de permissão octal: utilização de números nas permissões de acesso aos arquivos
Número binario equiv. permissões Outro modo de lembrar:
0 000 --- Cada letra significa um numero
r=4
1 001 --x w=2
2 010 -w- x=1
Por exemplo: chmod 764 nomearq
3 011 -wx
rwxrw-r--
4 100 r-- Seus respectivos valores são:
5 101 r-x -rwx = 7(4+2+1(na ordem)) = acesso total
rw- = 6(4+2) = acesso de leitura(4) e gravação(2)
6 110 rw- r-- = 4 = acesso de leitura
7 111 Rwx
Exemplo: chmod 625 teste.txt
Observando a tabela, o 6 corresponde a "rw-", o 2 corresponde a "-w-" e o 5 corresponde ao "r-x". Portanto, se
texte.txt for um arquivo (tipo "-") as permissões após o chmod serão -rw--w-r-x. Exemplos diversos:
OBSERVAÇÕES:
• *************O usuário root não tem nenhuma restrição de acesso ao sistema. ********************
• Se você tem permissões de gravação no diretório e tentar apagar um arquivo que você não tem permissão de
gravação, o sistema perguntará se você confirma a exclusão do arquivo apesar do modo leitura. Caso você tenha
permissões de gravação no arquivo, o arquivo será apagado por padrão sem mostrar nenhuma mensagem de erro
(a não ser que seja especificada a opção -i com o comando rm).
• Por outro lado, mesmo que você tenha permissões de gravação em um arquivo mas não tenha permissões de
gravação em um diretório, a exclusão do arquivo será negada.
Isto mostra que é levado mais em consideração a permissão de acesso do diretório do que as permissões dos
arquivos e sub-diretórios que ele contém.
12
Permite que todos os usuários que pertençam ao grupo dos arquivos (g) tenham (+) permissões de leitura (r) em todos
os arquivos do diretório atual.
chmod o-r teste.txt
Retira (-) a permissão de leitura (r) do arquivo teste.txt para os outros usuários (usuários que não são donos e não
pertencem ao grupo do arquivo teste.txt).
chmod uo+x teste.txt
Inclui (+) a permissão de execução do arquivo teste.txt para o dono e outros usuários do arquivo.
chmod a+x teste.txt
Inclui (+) a permissão de execução do arquivo teste.txt para o dono, grupo e outros usuários.
chmod a=rw teste.txt
Define a permissão de todos os usuários exatamente (=) para leitura e gravação do arquivo teste.txt.
21 - su : sair de uma sessão e entrar em outra , até como superusuário (sem sair do console), usado para
tarefas de administração.
Ex.: su antonio, su root ou apenas su
su – neste caso o usuário adquire os privilégios do superusuário porém com todas as variáveis de ambiente do
usuário original, ou seja, os arquivos .cshrc, login, .profile, etc. do root não são lidos. Para torna-lo root com
toda a configuração do ambiente do usuário root use su -
24 - shutdown : Reboota a maquina, encerra todas as atividades do Linux e prepara para o micro ser
desligado.
Sintaxe: shutdown –opçao [hora] [msg]
shutdown -r now (reseta), shutdown -h now (desliga), shutdown –r 20 (reinicio apos 20 min)
shutdown –r 15:00 O sistema será reiniciado as 15:00 (envia esta msg a todos os usuários)
Comandos relacionado:
uptime - Tempo que passou desde o último reboot.
25 – who, w : usado para determinar a quantidade e identidade dos usuários que estão utilizando o sistema no
momento.
Alem do nome dos usuários, o comando who pode também informar a hora de abertura da sessão e
outras infos
Who am i - mostra quem voce é, útil quando você esquece com que login entrou.
Comandos relacionado:
users – mostra o nome de usuários atualmente usando o sistema.
last – exibe os ultimos usuarios que se logaram
lastb - ("=last bad") Mostra a ultima tentativa de login não bem sucedida no sistema.
hostname - mostra o nome do host local(a maquina na qual estou trabalhando).
GERENCIANDO PROCESSOS
Processo é um programa ou comando em execução, carregado na memória. Cada processo ocupa um certo
tempo do processador, uma certa quantidade da Ram e tem uma certa prioridade de execução.
Processos foreground são aqueles criados por linha de comando, ou seja precisam da interação do usuário.
Processos background são rodados, independentemente da criação, pela linha de comando, sem a interação
com o usuario.
A criação de processos obedece a hierarquia pai-filho, assim todo processo pai pode ter mais de um processo
filho ( pstree).
Daemons são processos criados no momento do boot (serviços de sistema).
BACKUP E COMPRESSÃO
28 – tar : compacta vários arquivos mantendo-se as permissões originais, transformando em apenas um.
Ex: tar -czvf backup.tar *
"Backup.tar" é o nome do arquivo criado e * são os arquivos a serem compactados.
c Cria um novo arquivo tar.
v modo verboso (ou falante, mostra tudo o que faz)
z faz a compactação do arquivo, comprime o arquivo tar no formato gzip (.tar.gz)
j faz a compactação do arquivo, comprime o arquivo tar no formato bzip2 (.tar.bz2)
f indica compactar para um arquivo (ao contrário de uma fita que é o default)
-X exclui um sub-diretório do arquivo compactado.
-p Preserva as permissões de acesso originais dos arquivos.
-r Acrescenta arquivos a um arquivo tar.
14
-t Lista o conteúdo de um arquivo tar.
-w Solicita confirmação antes de cada ação.
-x Extrai arquivos de um arquivo tar.
-C dir Especifica o diretório dos arquivos a serem armazenados.
Obs.: Em alguns parâmetros o - (hífem) não é necessário.
Nota: Para descompactar arquivos "tagged"(.tar.gz, .tgz, etc) - tar xpvf (nome_do_arquivo)
tar –xjvf (nome arq) para arq .bz2
29 – mount : este comando anexa o sistema de arquivos especificado por special file no diretório especificado
como parâmetro.
Somente o superusuário pode montar arquivos. Muito usado para disquete e CD-ROM.
mount -t iso9660 -r /dev/cdrom /mnt/cdrom
mount /mnt/a:
mount –t vfat /mnt/a: ( se for um disquete formato windows )
Para trocar o dispositivo devemos desmontar com o comando: umount
INSTALAÇÃO DE PROGRAMAS
30 - rpm - instala e desinstala programas em pacotes rpm (RedHat Package Manager)
Um pacote é um arquivo que, além de conter os arquivos necessários para a instalação de um determinado
aplicativo, contém também as informações necessárias para que o gerenciador de pacotes possa instalar, manter e
remover programas. Site : www.rpmfind.com
Sintaxe: rpm -opção <nome do pacote>
Opções:
-i (instala pacotes)
-v (verifica os arquivos durante a instalação)
-h (mostra uma série de "#" durante a instalação. Funciona como uma barra de progresso)
-U (utilizado para atualizar programas que já estão instalados)
--force (força a instalação de um determinado programa)
-q (verifica se o pacote esta instalado) –qi (mostra todas as informações do pacote instalado)
-e (desinstala pacotes)
Ex: rpm -ivh - Instalação de pacotes;
rpm -Uvh - Atualização de pacotes;
rpm -qi - Informações sobre o pacote;
rpm -ql - Lista os arquivos do pacote;
rpm -e - Desinstala o pacote;
rpm -qa - Lista os pacotes instalados;
rpm –qa | grep samba – mostra todos os pacotes do samba
Observação: alguns programas necessitam de outros para poder funcionar. Assim é possível que em alguns casos,
quando usamos o comando rpm -i, para instalar um pacote, recebamos a mensagem de "falha de dependência" e a
relação de pacotes que são exigidos por esse determinado programa. Para resolver o problema basta instalar os
pacotes relacionados na mensagem e depois voltar a instalar o pacote desejado.
Comando Relacionado:
15
No comando acima, 1440 é o número em k-bytes de blocos que serão formatados no disquete.
16