0% acharam este documento útil (0 voto)
31 visualizações47 páginas

Manual - Linux

Enviado por

David Simões
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato DOCX, PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
31 visualizações47 páginas

Manual - Linux

Enviado por

David Simões
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato DOCX, PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 47

LINUX - KERNEL E

COMPONENTES DO SISTEMA
Manual de formação

2024
CRIADO POR NUNO SIMÕES
Índice
Benefícios e condições de utilização......................................................................................................5
Apresentação...........................................................................................................................................6
Sistema de pastas Linux..........................................................................................................................7
Árvore de diretorias Linux - diretorias importantes e seus conteúdos...................................................7
/ .......................................................................................................................................... 7
/bin......................................................................................................................................................7
/dev......................................................................................................................................................7
/etc.......................................................................................................................................................7
/home...................................................................................................................................................8
/mnt.....................................................................................................................................................8
/opt......................................................................................................................................................8
/proc....................................................................................................................................................8
/tmp.....................................................................................................................................................9
/usr.......................................................................................................................................................9
/var......................................................................................................................................................9
Utilizadores e grupos............................................................................................................................10
Principais comandos do Linux..............................................................................................................12
Visualização dos utilizadores ligados...................................................................................................13
Visualização das secções de login........................................................................................................13
Criação de utilizadores..........................................................................................................................14
Criação de password do utilizador........................................................................................................15
Criação de grupos.................................................................................................................................18
Identificação de UID e GID..................................................................................................................20
Alteração de nomes de..........................................................................................................................20
Desativação temporária um utilizador..................................................................................................22
Diretivas de utilizador...........................................................................................................................24
Diretivas de passwords, alteração, tempo.........................................................................................24
Exceções às diretivas.........................................................................................................................25
Pastas de diretivas.............................................................................................................................26
Personalização do diretório do utilizador.............................................................................................26
Remoção de um utilizador....................................................................................................................28
Bloqueamento de um utilizador............................................................................................................28
Definição de parâmetros de uma conta - dias e datas de expiração......................................................29
Definição de privilégios especiais a utilizadores..................................................................................29
Definição de políticas de segurança......................................................................................................30

Formador: Nuno Simões MD_028.17.Vs.H Página 2 de 56


Pastas /etc/passwd................................................................................................................................30
Pastas e diretórios.................................................................................................................................31
Listagem do conteúdo do diretório.......................................................................................................31
Mudança de diretório...........................................................................................................................31
Criação, cópia e remoção diretório vazio.............................................................................................31
Remoção de um diretório com conteúdo..............................................................................................31
Visualização do caminho completo do diretório atual para o diretório do utilizador ligado...............31
Tamanho de diretorias..........................................................................................................................31
Criação de pastas ou diretorias ocultas.................................................................................................32
Onde o “ponto” antes do nome da pasta, o fará ficar oculto na pasta onde o cria...............................32
Criação de link simbólico e hard link...................................................................................................32
TIPO SIMBÓLICO..............................................................................................................................32
TIPO HARDLINK...............................................................................................................................32
CRIANDO LINKS...............................................................................................................................32
Permissões de pastas e diretórios.........................................................................................................33
Alteração da propriedade de pastas e diretorias...................................................................................33
MC (Midnight Commander)................................................................................................................33
Conteúdo das pastas.............................................................................................................................33
Localização de pastas por nome, data, tipo e proprietário...................................................................33
Caracteres específicos numa listagem de pastas - more, less, cat, head, tail, tac,wc, grep, sort, uniq,
cut, expand, awk, nl, split, csplit, tee, xargs, tr, sed, od, pr..................................................................34
Backup e agendamento de tarefas........................................................................................................41
Comandos de backup...........................................................................................................................41
Compactação e descompactação de pastas...........................................................................................43
Formatos .zip, .Z, .gz, .bz2...................................................................................................................43
Tar e Gzip.............................................................................................................................................45
Webgrafia utilizada...............................................................................................................................56

Formador: Nuno Simões MD_028.17.Vs.H Página 3 de 56


Objetivos
Proporcionar ao formando uma visão geral do tema Linux - kernel e componentes do sistema,
entendendo os principais componentes e os seus conceitos. Este entendimento é base para qualquer
estudo futuro no campo da informática. Este módulo de estudos não pretende abordar todos os
assuntos relacionados com esta temática. Esta é uma disciplina abrangente e seria impossível resumi-
la num único módulo.

Benefícios e condições de utilização


O manual é todo ele prático e permite um fácil acompanhamento das tarefas que podem ser realizadas
e o modo como podem ser executadas. Existem, contudo, diversas formas de se atingir o mesmo
objetivo, mas por uma questão de reduzir a extensão do Manual ao essencial, torna-se necessária
sugerir a mais comum.

Formador: Nuno Simões MD_028.17.Vs.H Página 4 de 56


Apresentação
Falar sobre Linux - kernel e componentes do sistema é, no mínimo, uma tarefa desafiante.
Por um lado, existem muitas versões dos sistemas baseados em Linux, depois as inúmeras
distribuições associadas e depois a especificação concreta para a vertente server. Por outro lado, a
rápida evolução em todos os aspetos da tecnologia de computadores mostra-se praticamente sem
fronteiras, a cada dia surgem novidades.
Apesar da grande variedade e da rapidez da evolução da área de computadores, alguns temas são
transversais, independentemente da versão. Umas vezes ter-se-á que abordar a temática de um ponto
de vista mais genérico, mas outras em cingir a temática a uma distribuição específica para melhor
exemplificar o que se pretende demonstrar. Pretende-se com este manual promover uma discussão
sobre os seus conceitos fundamentais e a sua evolução, não se esgotando o tema por si só, mas antes
como forma de suscitar a curiosidade para uma pesquisa mais aprofundada.

Formador: Nuno Simões MD_028.17.Vs.H Página 5 de 56


Sistema de pastas Linux
Árvore de diretorias Linux - diretorias importantes e seus conteúdos
Uma das maiores dificuldades que os iniciantes podem ter quando migram para o Linux é adaptar-se
às pastas do Linux. O Linux não é igual ao Windows, ele não tnuma pasta: Arquivos de Programas e
outra só para o Sistema chamada LINUX.
O Windows e o Linux são sistemas COMPLETAMENTE distintos! Não possuem o mesmo estilo de
núcleo, nem são mesmo compatíveis entre si! O Linux organiza de forma diferente as suas pastas e
faz exatamente o inverso do Windows: ao invés de dedicar uma pasta apenas para o Sistema, ele
dedica uma pasta para o utilizador.
A primeira diferença que se deve notar é que o caminho das pastas já é diferente! No Windows, o
diretório do disco principal seria algo como: C:\
No Linux, o diretório do HD principal é: / (a barra até muda de direção)
/
É a pasta raiz do sistema. A pasta que tem a maior hierarquia. Todas as restantes pastas estão no seu
interior.
Agora, quando se entra no / vêem-se as seguintes pastas:

/bin
É aqui se encontram os programas mais importantes. Armazena comandos do terminal em forma de
executáveis.
/dev
Aqui estão armazenados os arquivos de inicialização ou “boot”. Esta pasta trata da comunicação
entre o sistema e o hardware. Por exemplo, quando se liga um rato USB ao computador, é desta pasta
a responsabilidade de fazê-lo funcionar! O mesmo acontecer com outros dispositivos.
/etc
Aqui é possível encontrar os arquivos de configuração dos mais diversos aplicativos, também a
configuração básica. Funciona quase como um Editor de Registos do Windows.

Formador: Nuno Simões MD_028.17.Vs.H Página 6 de 56


/home
Diretório dos utilizadores; como sistemas Unix são multiutilizador por natureza, cada utilizador tnum
login/senha e uma conta que consiste num diretório aqui guardado, exceto o "root", que tnum
diretório à parte, exclusivo. O diretório de cada utilizador (/home/login-do- utilizador) é conhecido
como o "home" do utilizador. O equivalente à pasta users do Windows.
/mnt
Diretório onde se encontram pontos de montagem para temporários. Serve quase para o mesmo
motivo da pasta /media, mas é para a montagem de CD Roms e outros tipos de dispositivos.
/opt
Pasta que guarda arquivos de aplicativos. Cada aplicativo tnuma subpasta com seu respetivo nome.
/proc
O diretório /proc é um sistema de ficheiros, muitas das vezes também designado como diretório
virtual por ser mantido pelo Kernel do sistema operativo e que disponibiliza, em tempo real, diversas
informações do nosso sistema.
Exemplos disso são os comandos ps ou lspci que adquirem informações dentro do sistema virtual
/proc. Além disso, é possível também habilitar e desabilitar algumas configurações do Kernel.
Se por exemplo necessitamos de saber informações sobre o nosso CPU executamos o comando:
[root@formador ~]# cat /proc/cpuinfo processor
Outros exemplos de utilização:
/proc/devices
Dispositivos encontrados no seu sistema (ex. placa de som, placa de vídeo, etc.)
proc/interrupts
Informações sobre IRQs (Interrupt Requests) dos dispositivos
/proc/ioports
Informações sobre os endereços das portas I/O (Input/Output).
/proc/filesystems
Sistemas de ficheiros suportados pelo kernel.
/proc/devices Dispositivos
instalados
/proc/modules
Dispositivos carregados no Kernel. O comando equivalente é o “lsmod”
/proc/mounts
Partições que se encontram montadas. Comando equivalente é “mount”
/proc/partitions
Partições existentes no sistema

Formador: Nuno Simões MD_028.17.Vs.H Página 7 de 56


/proc/version
Versão do Kernel. Semelhante a usar o comando “uname”
/tmp
Depósito de arquivos temporários. É como se fosse uma memória temporária. A pasta é sempre
esvaziada quando o sistema é reiniciado.
/usr
É uma das pastas mais complexas do sistema. Aqui encontram-se instalados os programas em geral,
não só programas de terceiros. Aqui ficam arquivos de jogos, e dentro da pasta
/usr/local temos os programas que foram manualmente instalados. É quase um Arquivo de
Programas, mas mais complexo.
Boa parte dos programas ficam salvos na própria pasta do utilizador, e algumas pastas “mais
importantes” ficam na pasta /usr. Mas os programas ficam com pastas ocultas, para não atrapalhar o
utilizador ao navegar pelas pastas ou para não o deixar apagá-la sem permissão.
Aqui aparecem diretórios como bin e lib, mas com arquivos e diretórios diferentes dentro; os
programas que usam ambiente gráfico, por exemplo, estão em /usr/bin ou /usr/X11R6/bin, nunca
em /bin;
Contém ainda documentação, aplicativos, bibliotecas...

Para ver as pastas ocultas, pressione Ctrl + H na pasta do utilizador, e diversas pastas com um “.” à
frente do nome vão aparecer, como na imagem acima. São quase todos os programas que tem
instalados no seu computador.
/var
Contém arquivos que foram modificados de acordo com a utilização do sistema.
https://pt.wikipedia.org/wiki/Diret%C3%B3rio_(computa%C3%A7%C3%A3o)

Formador: Nuno Simões MD_028.17.Vs.H Página 8 de 56


Utilizadores e grupos
A gestão de utilizadores no Linux é um tema bem conhecido, mas, ao mesmo tempo, fonte de várias
dúvidas. O Linux é um sistema multiutilizador, cujas raízes remetem aos sistemas Unix. O sistema
pode ser usado por inúmeros utilizadores simultaneamente, sem que um atrapalhe as atividades do
outro, nem que possa alterar os seus arquivos.
Dois exemplos extremos seriam um servidor LTSP (Linux Terminal Server Project), onde dezenas de
utilizadores podem executar aplicativos em simultâneo, via rede, através de terminais burros
conectados ao servidor principal, e um servidor web de shared hosting, que pode hospedar milhares
de sites diferentes, cada um administrado por um utilizador diferente.
Tipos de utilizadores
Durante muitos anos a comunidade Linux foi identificando os vários tipos de utilizador. E entre os
diversos tipos existem os que mais se destacam. Confira:
Preguiçoso
Este perfil é referente ao
que desiste mais rápido do
Linux. Quer sempre tudo
na mão, não gosta de
pensar, se algo não
funciona quer a solução
rápida e prática e não gosta
de pesquisar ou perguntar.
Nem pensa em abrir o
terminal muito menos
digitar um comando. Às
vezes passa num fórum e
deixa o email para que as
pessoas lhe enviem a solução. Em 100% dos casos não agradece se a solução é postada no fórum.
Alguns casos mudam para o perfil Troll.
Troll
Este até usa o Linux mas reclama de tudo. Normalmente entra no fórum ou em alguma discussão só
para incitar ainda mais os ânimos porque já sabem de tudo o que se passa.
São bem informados e
utilizam a informação
para o mal ao invés de
dar soluções. Gostam de
falar de temas como
performance, tempo de
boot, tempo de resposta e
tudo o que envolve
milissegundos só para ter
do que reclamar.
Quernuma
distribuição leve quando estão com uma mais pesada e trocam para uma mais pesada quando estão
com uma leve.

Formador: Nuno Simões MD_028.17.Vs.H Página 9 de 56


Evangelista
Possuem blogs e falam sobre linux tentando convencer os
outros a usá-lo. Mas existem os extremistas. Se algo não é
completamente software livre, ele são contra e incentivam
a uma guerra de argumentos para defender que tudo tem
que ser software livre. Pretendem alcançar ou impor a sua
maneira de pensar falando da tal “liberdade”. Mas eles não
conseguem entender que nem todo mundo usa o linux para
ser “livre” ou para a filosofia mas porque ele funciona
melhor do que outras alternativas.

Fanboy

Estes são os mais engraçados. É todo aquele


utilizador Linux que não vê as mais diversas
formas de se utilizar esse complexo sistema
operacional. Ele acredita que aquilo que ele
usa é Linux e o mundo acaba ali. Tudo gira à
volta do seu universo, seja ele Ubuntu, Fedora,
ou qualquer outra distro um pouco mais
popular. Fecha-se como uma tartaruga dentro
do casco e não quer saber de outras opções.
Normalmente entram nos blogs dos
evangelistas para falar mal de outras distros e
nunca mal da sua.

Anti Windows
Esse é o tipo mais comum. Dentro do universo de
utilizadores Linux, a grande maioria veio do Windows.
E por isso muitos guardam rancor do Tio Bill por ele
não ter satisfeito as suas necessidades. Não aceitam o
facto de que o Windows existe e vai existir por muitos
anos. Levam as críticas como algo pessoal e ameaçam
os que usam Windows. Dizem que Bill Gates é o
anticristo, que a Microsoft usa mão de obra escrava e
assistem documentários sobre teorias da conspiração
que falem sobre a Microsoft e Bill Gates.

Formador: Nuno Simões MD_028.17.Vs.H Página 10 de 56


Principais comandos do Linux
Abaixo você confere uma lista com os principais comandos do Ubuntu:
1. Atualizar a lista de pacotes: sudo apt-get update
2. Efetua a atualização: sudo apt-get upgrade
3. Instalar pacotes: sudo apt-get install nome do pacote
4. Procurar pacotes: apt-cache search palavras chave
5. Procurar por dependências inválidas: sudo apt-get check
6. Corrigir problemas de dependências, concluir instalação de pacotes pendentes e outros erros:
sudo apt-get -f install
7. Se o comando sudo apt-get -f install não resolver use: sudo dpkg -i –force-all para forçar a
instalação ou sudo dpkg -r nome do pacote para desistir da instalação
8. Remover arquivos inúteis do cache, onde são registadas as cópias das atualizações que são
instaladas pelo gestor de pacotes: sudo apt-get clean
9. Remover pacotes instalados automaticamente e que não tem mais nenhuma utilidade para o
sistema: sudo apt-get autoremove
10. Remover pacotes antigos ou duplicados: sudo apt-get autoclean
11. Remover pacotes com problemas: sudo apt-get -f remove
12. Remover pacotes instalados: sudo apt-get remove nome do pacote
13. halt, reboot, shutdown: respetivamente encerra, reinicializa e encerra ou reinicializa o sistema.
“sudo halt” para encerrar o sistema.
”sudo reboot” para reiniciar imediatamente o sistema. Este comando equivale aos comandos:
”sudo init 6” e ”sudo shutdown -r now”.
”sudo shutdown -h now” para encerrar o sistema imediatamente. ”sudo
shutdown -h +15” para encerrar o sistema daqui a 15 minutos.

Formador: Nuno Simões MD_028.17.Vs.H Página 11 de 56


Visualização dos utilizadores ligados
https://pplware.sapo.pt/linux/como-criar-modificar-e-apagar-utilizadores-no-linux/
Quando diversas pessoas têm acesso a um sistema, é necessário que o administrador sistema faça a
gestão dos utilizadores. Para isto, os comandos habituais e os ficheiros a configurar devem ser
conhecidos.
-l –list
Mostra os detalhes de todos os utilizadores ligados no momento. Entre os detalhes, estão incluídos o
nome do interpretador de comandos (shell) do utilizador, diretório home, nome do utilizador,
endereço, etc.
Os ficheiros a conhecer são:
*O FICHEIRO /ETC/PASSWD

O ficheiro /etc/passwd contém todas as informações relativas aos utilizadores (registo, senha, …).
Só o superutilizador “Sudo su “(root) deve poder alterá-las. É necessário, então, alterar os direitos
deste ficheiro de modo a que seja só de leitura para os outros utilizadores.
Este ficheiro possui um formato especial que permite localizar cada utilizador, e cada uma das suas
linhas possui o formato seguinte:
“nome da conta; senha; número de utilizador; número de grupo; comentário; reportório; programa de
arranque”
*O FICHEIRO/ETC/GROUP

O ficheiro /etc/group contém a lista dos utilizadores que pertencem aos diferentes grupos. Com
efeito, quando numerosos utilizadores podem ter acesso ao sistema, estes são frequentemente
reunidos em diferentes grupos que têm cada um os seus próprios direitos de acesso aos ficheiros e
diretórios.
Compõe-se de diferentes campos separados por “:”:
Nome do grupo: campo especial: número de grupo: membro 1, membro 2

Visualização das secções de login


O sistema operativo Linux oferece-lhe a possibilidade de obter alguma informação sobre os
utilizadores que estejam a trabalhar no sistema em simultâneo consigo. Para isso, dispõe de três
comandos:
 who
Exibe os utilizadores ligados.
 Finger
Pesquisa a informação dos utilizadores.
 w
Exibe quem está no sistema ou que comando cada job está a executar.

Formador: Nuno Simões MD_028.17.Vs.H Página 12 de 56


Criação de utilizadores
O processo de criação de utilizadores pode ser realizado via consola ou ambiente gráfico. Para quem
não está habituado à consola, o ambiente gráfico é mais flexível e simples. Para isso vamos a Sistema
—>Admistração—>Users and Groups
Adicionar um utilizador normal
Se chamado com um argumento não-opção e sem as opções --system ou --group, o
adduser irá adicionar um utilizador normal.
adduser irá escolher o primeiro UID disponível dentro do alcance para utilizadores normais
especificado no ficheiro de configuração. O UID pode ser sobreposto com a opção --uid.
O alcance especificado no ficheiro de configuração pode ser sobreposto com as opções -- firstuid e
--lastuid.
Por predefinição, cada utilizador em Debian GNU/Linux recebe um grupo correspondente com o
mesmo nome. Grupos-de-utilizadores permitem que diretórios com acesso de escrita para grupos
sejam mantidos facilmente ao colocar os utilizadores apropriados no novo grupo, definindo o bit set-
group-ID no diretório, e assegurando que todos os utilizadores usam uma umask de 002. Se esta
opção for desligada ao definir USERGROUPS para no, todos os GIDs de utilizadores são definidos
para USERS_GID. Os grupos principais de utilizadores também podem ser sobrepostos a partir da
linha de comandos com as opções --gid ou --ingroup para definir o grupo por id ou nome,
respectivamente. Também, utilizadores podem ser adicionados a um ou mais grupos definidos em
adduser.conf seja ao definir ADD_EXTRA_GROUPS para 1 em adduser.conf,ou passando --
add_extra_groups na linha de comandos.
adduser irá criar um título de diretório home para DHOME, GROUPHOMES, e
LETTERHOMES. O diretório home pode ser sobreposto a partir da linha de comandos com a opção
--home, e a shell com a opção --shell. O bit set-group-ID do diretório home é definido se
USERGROUPS for yes, para que quaisquer ficheiros criados no diretório home do utilizador
tenham o grupo correcto.
Se o ficheiro /usr/local/sbin/adduser.local existir, será executado após a conta do utilizador ser
definida de modo a fazer quaisquer configurações locais. Os argumentos passados a adduser.local
são:
nome-de-utilizador uid gid diretório-home
A variável de ambiente VERBOSE é definida de acordo com a seguinte regra: 0 se --
quiet for especificado
1 se --quiet e --debug não forem especificados 2 se
--debug for especificado

Formador: Nuno Simões MD_028.17.Vs.H Página 13 de 56


Adicionar um utilizador de sistema
Se chamado com um argumento não-opção e a opção --system, o adduser irá adicionar um
utilizador de sistema. Se já existir um utilizador com o mesmo nome dentro do alcance uid do sistema
(ou, se o uid for especificado e já existir um utilizador com esse uid), o adduser irá terminar com um
aviso. Este aviso pode ser suprimido ao adicionar "--quiet".
adduser irá escolher o primeiro UID disponível do alcance para utilizadores de sistema
especificado no ficheiro de configuração (FIRST_SYSTEM_UID e LAST_SYSTEM_UID). Se
deseja ter um UID especificado, você pode especificá-lo usando a opção --uid.
Por predefinição, os utilizadores do sistema são colocados no grupo nogroup. Para colocar o novo
utilizador de sistema num grupo já existente, use as opções --gid ou --ingroup. Para colocar o novo
utilizador de sistema num novo grupo com o mesmo ID. use a opção --group.
É criado um diretório home pelas mesmas regras como para utilizadores normais. O novo utilizador
de sistema irá ter a shell /bin/false (a menos que seja sobreposto pela opção -- shell), e irá ter os
logins desativados. Os ficheiros de configuração esqueleto não são copiados.

Criação de password do utilizador


Para redefinir a sua senha e conseguir aceder ao sistema novamente, faça o seguinte: Passo 1.
Ligue o computador e aguarde;
Passo 2. Se não visualizar o menu do Grub, pressione e segure a tecla Shift depois de apertar o botão
“Power” para inicializar o computador;
Passo 3. Quando aparecer o menu do GRUB, use as teclas de direção e vá para a opção “Advanced Options
for Ubuntu” ou “Opções avançadas para Ubuntu”. Pressione “Enter”;

Formador: Nuno Simões MD_028.17.Vs.H Página 14 de 56


Passo 4. No ecrã que aparece, selecione a entrada de boot que possui “recovery mode” no fim do
nome. Novamente, pressione “Enter” e aguarde;

Passo 5. No “Menu de recuperação”, selecione a opção “root Drop to root shell prompt” ou “root
Desistir e ir para terminal em modo root” e pressione Enter. Depois disso, deverá ver o prompt de
comando no final o ecrã:

Formador: Nuno Simões MD_028.17.Vs.H Página 15 de 56


Passo 6. Remontar o sistema de arquivos com permissão de leitura e escrita com o seguinte comando:
Passo 7. Se não se lembra do nome de utilizador, use um comando para descobrir:
mount -o rw,remount /
ls /home
Passo 8. Para alterar a senha do utilizador, use o comando a seguir, substituindo NOME_UTILIZADOR
pelo seu nome de utilizador:
passwd NOME_UTILIZADOR
Passo 9. Quando for pedido, digite uma nova senha e depois confirme, digitando-a novamente.No
final, será exibida a mensagem “passwd: password updated successfully” ou “passwd: senha
atualizada com sucesso”, confirmando que a senha de utilizador foi redefinida com êxito.

Passo 10. Por fim executar o comando abaixo para voltar ao “Menu de recuperação” e aí, selecione a
opção “resume Resume normal boot” ou “resume Continuar inicialização normal”, para sair do modo
de recuperação.
exit
Pronto! Quando o sistema iniciar novamente, já pode usar a nova senha. Fácil, não? Por isso,
cuidado e não deixe ninguém aceder o menu do Grub do seu PC.

Formador: Nuno Simões MD_028.17.Vs.H Página 16 de 56


Criação de grupos
Adicionar um grupo de utilizadores
Se o adduser for chamado com a opção --group e sem a opção --system, ou se addgroup for
chamado respetivamente, será adicionado um grupo de utilizadores. Será escolhido um GID do
alcance especificado para GIDS de sistema no ficheiro de configuração (FIRST_GID, LAST_GID).
Para sobrepor esse mecanismo você pode fornecer o GID usando a opção --gid. O grupo
é criado sem nenhum utilizador.
Adicionar um grupo de sistema
Se addgroup for chamado com a opção --system, será adicionado um grupo de sistema.
Será escolhido um GID do alcance especificado para GIDS de sistema no ficheiro de configuração
(FIRST_SYSTEM_GID, LAST_SYSTEM_GID). Para sobrepor esse mecanismo você pode fornecer
o GID usando a opção --gid.
O grupo é criado sem nenhum utilizador.
Adicionar um utilizador existente a um grupo existente
Se chamado com dois argumentos não-opção, adduser irá adicionar um utilizador existente a um
grupo existente.
OPÇÕES
--conf FICHEIRO
Usa FICHEIRO em vez de /etc/adduser.conf.
--disabled-login
Não executa o passwd para definir a palavra-passe. O utilizador não poderá usar a sua conta até que a
palavra-passe seja definida.
--disabled-password
Tal como --disabled-login, mas os logins continuam a ser possíveis (por exemplo usando chaves SSH
RSA) mas não usando autenticação por palavra-passe.
--force-badname
Por defeito, os nomes dos utilizadores e grupos são verificados em relação à expressão regular de
configuração NAME_REGEX (ou NAME_REGEX_SYSTEM se --system for especificado)
especificado no ficheiro de configuração.
Esta opção força o adduser e addgroup a aplicar apenas uma curta validação para o nome.
--gecos GECOS
Define o campo gecos para a entrada nova gerada. O adduser não irá pedir informação finger se
esta opção for fornecida.
--gid ID
Ao criar um grupo, esta opção força o novo groupid ao número fornecido. Ao criar um utilizador,
esta opção irá colocar o utilizador nesse grupo.

Formador: Nuno Simões MD_028.17.Vs.H Página 17 de 56


--group
Quando combinado com --system, é criado um grupo com o mesmo nome e ID que o utilizador de
sistema. Se não for combinado com --system, é criado um grupo com o nome fornecido. Esta é a
ação predefinida se o programa for invocado como addgroup.
--help
Mostra instruções breves.
--home DIR
Usa DIR como o diretório home do utilizador, em vez da predefinição especificada pelo ficheiro de
configuração. Se o diretório não existir, ele é criado e são copiados os ficheiros de esqueleto.
--shell SHELL
Usa SHELL como a shell de login do utilizador, em vez da predefinição especificada pelo ficheiro de
configuração.
--ingroup GROUP
Adiciona o novo utilizador ao GRUPO em vez de a um grupo-de-utilizador ou ao grupo predefinido
por USERS_GID no ficheiro de configuração. Isto afeta o grupo principal dos utilizadores. Para
adicionar grupos adicionais, veja a opção add_extra_groups
--no-create-home
Não cria o diretório home, mesmo que este não exista.
--quiet
Suprime mensagens informativas, apenas mostra avisos e erros.
--debug
É detalhado, muito útil de deseja descobrir um problema com o adduser.
--system
Cria um utilizador ou grupo de sistema.
--uid ID
Força o novo id de utilizador a ser o número fornecido. O adduser irá falhar se o id de utilizador já
estiver atribuído.
--firstuid ID
Sobrepõe o primeiro uid no alcance de onde o uid é escolhido (sobrepõe FIRST_UID
especificado no ficheiro de configuração).
--lastuid ID
Sobrepõe o último uid no alcance de onde o uid é escolhido a partir de (LAST_UID)
--add_extra_groups
Adiciona o novo utilizador aos grupos extra definidos no ficheiro de configuração.
--version
Mostra informação de versão e copyright.

Formador: Nuno Simões MD_028.17.Vs.H Página 18 de 56


VALORES DE SAÍDA
0 O utilizador existe como especificado. Isto pode ter 2 causas: O utilizador foi criado pelo adduser
ou o utilizador já estava presente no sistema antes do adduser ser invocado. Se o adduser retornava 0,
invocar o adduser uma segunda vez com os mesmos parâmetros irá retornar 0 como antes.
1 A criação do utilizador ou grupo falhou porque já estava presente com outro UID/GID diferente do
especificado. O nome de utilizador ou nome de grupo foi rejeitado devido a um desencontro com as
expressões regulares configuradas, veja adduser.conf(5). Adduser foi abortado por um sinal. Ou por
muitas razões ainda não documentadas que são então escritas na consola. Você deve considerar
remover a opção --quiet para tornar o adduser mais detalhado.
FICHEIROS
/etc/adduser.conf
Ficheiro de configuração predefinida para o adduser e addgroup

Identificação de UID e GID


Como ver informações sobre UID, GID e Grupos no Linux
Caso ainda não saiba, veja os significados destas siglas:
 UID — User ID ou identificação de utilizador.
 GID — Group ID ou identificação do grupo.
Pode usar o comando id para obter informações sobre os atributos de grupo, GID e UID:
id justincase
uid=1000(justincase)
gid=1000(justincase)groups=1000(justincase),4(adm),24(cdrom),27(sudo),30(dip),46(plugd
ev),113(lpadmin),126(sambashare)
É possível filtrar esta informação
Para saber apenas os nomes dos grupos a que o utilizador pertence, use o comando id da seguinte forma:
justincase adm cdrom sudo dip plugdev lpadmin sambashare
id --groups --name justincase

Alteração de nomes de login


Se não está satisfeito com o atual nome de utilizador, é possível alterá-lo de diversas maneiras.
No Linux, o login de utilizador está associado a um número de identificação UID (como uma
interface), de forma que é possível alterá-lo sempre que queira.
Mudar apenas o nome de utilizador é bastante simples. Mas a tarefa vai ganhar complexidade à
medida que lhe adiciona problemas, tais como alterar também o nome do diretório (ou pasta) do
utilizador, onde se encontram todos os seus arquivos de configuração e de relacionamento com o
sistema.
Alguns resultados imprevistos podem surgir, decorrentes desta mudança — e serão explicados ao
final do texto.

Formador: Nuno Simões MD_028.17.Vs.H Página 19 de 56


Nome de utilizador vs Nome de exibição
Nas imagens que seguem, no decorrer do texto, irá notar que há referências às duas “entidades”.
 O nome de exibição é como, ao registar o seu utilizador, escolheu que deveria ser exibido
no ecrã de login e noutros aplicativos
 O nome de utilizador ou username ou login é o que usa para se autenticar no sistema
 O UID é uma identificação (interna) que o sistema dá a cada utilizador registado
Portanto, pode ter um nome de exibição Hugo Pinto e o username h_pinto – e é com este último
que se autentica (se identifica) no sistema.
Como alterar o nome de exibição do utilizador
No Ubuntu, procure as configurações de contas e utilizadores.
No painel, de configurações de informações do utilizador, altere o seu nome, clicando em cima
dele.
Note que é necessário desbloquear o painel, antes de alterar as suas informações – para isso, clique
no ícone do cadeado, no canto superior direito do painel.
Veja a imagem ilustrativa, abaixo, para entender como realizar a operação.

Desbloqueie o painel, antes de fazer as alterações, clicando no ícone do cadeado no topo, à direita.
Em seguida, clique sobre o nome, para alterá-lo.
Se o que quer mudar é o username e não o nome de exibição, a maneira mais segura é criar um novo
utilizador, com o username desejado e, posteriormente, após ter transferido todos os arquivos do
diretório antigo para o novo, remover o velho.
Problemas que pode ter ao alterar o nome de utilizador
Vários imprevistos podem ocorrer, ao mudar o login de um utilizador.
As tarefas no crontab, que estiverem associadas ao username e/ou ao seu diretório /home antigo,
precisarão ser alteradas uma a uma.
Fique atento a outros aplicativos e links no sistema que façam referências às nomenclaturas passadas e
atualize-os.

Formador: Nuno Simões MD_028.17.Vs.H Página 20 de 56


Outro cuidado necessário: é que precisa estar logado com outro utilizador (com privilégios
administrativos). Não dá para trocar as informações de sistema de um utilizador em uso.
Verifique, também se o utilizador a ser alterado não tem processos em andamento – o que poderá
impedir que a tarefa se realize.
Por fim, entenda que o propósito deste tutorial foi apenas responder a uma pergunta comum. A minha
recomendação é de que você não altere logins ou os nomes de seus diretórios home.
A maneira mais segura de fazer esta mudança é criar um novo utilizador e começar a usá- lo. Quando
sentir que não precisa mais manter qualquer referência ao utilizador antigo, remova-o
definitivamente.

Desativação temporária um utilizador


O Ubuntu, por padrão, traz uma funcionalidade particularmente interessante: a Sessão Convidado.
Para quem tem amigos que costumam pedir o computador para acederem ao email, esta
funcionalidade é ótima pois permite dar um ambiente completamente limpo e seguro a alguém, sem
perdermos a nossa sessão.
Apesar de ser algo muito interessante, muitos utilizadores não querem esta funcionalidade ativa para
evitar que outras pessoas consigam mexer no nosso computador sem digitar a senha. Assim, neste
artigo mostramos-lhe como pode facilmente desativar (e ativar) a Sessão Convidado do Ubuntu.
O procedimento explicado neste artigo é extremamente simples, mas não é óbvio, uma vez que não
existe nenhuma opção que, através de janelas, se possa desligar naturalmente a Sessão Convidado.
(ver vídeo)
O facto de desligar a Sessão Convidado tem algumas consequências estéticas. A primeira, mais
óbvia, é o facto de no login deixar de aparecer essa opção. A segunda consequência é relativa à barra
superior do Ubuntu em que, caso tenha apenas um utilizador registado no seu Ubuntu, será removido
o indicador que permitia trocar de utilizador. Esta consequência é natural, visto que não fazia sentido
esse indicador continuar ali presente visto que já não há contas para trocar. Basicamente o que
acontece está representado nas duas imagens abaixo, em que por padrão a barra é semelhante à da
imagem abaixo à esquerda e depois ficará com o aspeto da imagem abaixo à direita.
Como é óbvio se tiver mais que um utilizador definido (sem contar com a Sessão Convidado) este

indicador não irá desaparecer, pois faz falta. Por exemplo, o aspeto de quando se tem dois
utilizadores definidos é equivalente ao da imagem abaixo à esquerda; quando se remover a sessão
convidado, o indicador irá continuar, mas sem essa “conta” de utilizador:

Formador: Nuno Simões MD_028.17.Vs.H Página 21 de 56


Tal como referido e demonstrado no vídeo, desligar a “Sessão Convidado” é tão simples como editar
um ficheiro. Para simplificar todo esse trabalho de adicionar uma linha a um ficheiro, tomamos a
iniciativa de fazer um comando do terminal que adiciona automaticamente essa linha ao ficheiro.
Assim, para desligar a Sessão Convidado é tão simples quanto executar o comando seguinte no
terminal:
sudo sh -c 'echo "\nallow-guest=false" >> /etc/lightdm/lightdm.conf'
Depois de executar o comando (que não deverá devolver qualquer informação), reinicie o Ubuntu
para que esta execução tenha efeito.
Desligar a “Sessão Convidado” de forma alternativa
Caso tenha algum receio do comando anterior (não precisa de ter pois foi várias vezes testado), pode
fazer a edição manualmente. Esta edição é igualmente simples, portanto escolha a que preferir.
Assim, comece por abrir o terminal (Ctrl+Alt+T) e escreva o comando seguinte que irá abrir o editor
de texto com o ficheiro a editar:
sudo gedit /etc/lightdm/lightdm.conf
Será então aberta uma nova janela para editar um ficheiro de texto. Deverá acrescentar no final desse
ficheiro a linha seguinte e, por fim, guardar o ficheiro:
allow-guest=false
Depois disso, apenas reinicie o seu Ubuntu e desfrute sem a sessão convidado!

Formador: Nuno Simões MD_028.17.Vs.H Página 22 de 56


Como voltar a ter a sessão convidado?
Para voltar a ter a sessão convidado apenas precisa de editar o mesmo ficheiro, removendo a linha
que tinha adicionado anteriormente. Assim, comece por abrir o terminal e escrever o comando
seguinte para abrir o editor de texto:
sudo gedit /etc/lightdm/lightdm.conf
Quando a janela estiver aberta, simplesmente remova a linha que tinha adicionado antes, ou seja,
remova a linha seguinte:
allow-guest=false
Pode ainda utilizar a ferramenta Ubuntu Tweak.

Diretivas de utilizador
Diretivas de passwords, alteração, tempo
Segurança é importante, e claro, senhas complicadas e enormes, realmente dificultam alguma coisa.
Mas essa regra nem sempre vale para todo tipo de situação. Por exemplo, para usar um sistema numa
máquina virtual de testes não relacionados com segurança, isso é praticamente desnecessário.
Por padrão, o Ubuntu requer um comprimento mínimo de senha de 8 caracteres, e o sistema também
verifica a sua complexidade, ainda que possa definir uma senha curta durante a instalação do Ubuntu.
Isso é necessário para melhorar a segurança do sistema.
Para mudar esse comportamento é preciso mexer no arquivo /etc/pam.d/common-password, que
guarda as configurações relacionadas com senhas. Se quiser definir uma senha curta, mais longa ou
até desativar a verificação de complexidade, edite o arquivo do modo abaixo:
Nota: Antes de fazer a mudança, tenha certeza de que isso é realmente necessário e que você está
preparado para mexer no arquivo de configuração. Lembre-se: a configuração padrão do sistema
existe para garantir um nível aceitável de segurança.
Para mudar o comprimento mínimo da senha no Ubuntu, você deve fazer o seguinte: Passo 1.
Abra um terminal (CTRL+ALT+T);
Passo 2. Execute o comando abaixo para editar o arquivo de configuração:
sudo nano /etc/pam.d/common-password
Passo 3. Com o arquivo é aberto na tela do terminal, vá ate a linha que possui o seguinte conteúdo:
password [success=1 default=ignore] pam_unix.so obscure sha512
Passo 4. Para definir o comprimento mínimo da senha, adicionar minlen=N (N é um número) no fim
da linha;
Passo 5. Para desativar a verificação
de complexidade, remova a palavra
“obscure” dessa linha;
Passo 6. Depois disso, pressione as
teclas Ctrl+X, digite Y para guardar
as alterações, e

Formador: Nuno Simões MD_028.17.Vs.H Página 23 de 56


finalmente, pressione “Enter” para sair da edição;
Pronto! Agora, já pode alterar a sua senha usando o comando passwd USERNAME, claro,
substituindo USERNAME pelo nome de utilizador.
Exceções às diretivas
Nome
dacsconf – exibe a configuração das diretivas
Sinopse
dacsconf [dacsoptions[1]] [-vars] [directive-name...]
dacsconf [-item_types]
Descrição
Este programa é parte integral do DACS suite.
O utilitário dacsconf processa arquivos de configuração DACS e saída para stdout.
Embora a ordem em que as cláusulas aparecem nos arquivos de configuração possa ser importante, a
ordem das diretrizes de configuração é para o máximo parte não significativa. A exceção é a diretiva
EVAL [3]. Estas diretrizes estão listadas na ordem em que serão avaliadas, e os seus valores não
avaliados aparecem na saída.
Security
Como a configuração pode revelar informações que podem ser aproveitado por um atacante, apenas o
administrador do DACS deve ser capaz de executar este comando.
Opções
-item_types
Liste os nomes de todos os tipos de itens predefinidos. A presença de um nome não implica que
DACS tenha sido configurado para usar o tipo de item.
-vars
Por padrão, as diretivas que aparecem dentro de uma cláusula (por exemplo, <Auth> ou
<Roles>) são emitidos no contexto dessa cláusula. Esta opção "aplana" a saída, emitindo-a sob a
forma de variáveis DACS.
Por exemplo, a diretiva STYLE numa seção Auth com um id de foo aparecerá como
AUTH.FOO.STYLE na saída.
Todas as variáveis no Conf são exibidas, incluindo aquelas definidas pela EVAL.

Formador: Nuno Simões MD_028.17.Vs.H Página 24 de 56


Pastas de diretivas
Personalização do diretório do utilizador
1) Instalar o Unity Tweak Tool
O Unity Tweak Tool é uma ferramenta que visa a personalização do Ubuntu, disponibilizando um
conjunto de Tweaks para o Unity, System, Windows Management e Appearance.

Como instalar?
sudo apt install unity-tweak-tool

2) Mover o Unity Launcher


Uma das novidades do Ubuntu 16.04 (apesar de já ser possível em versões anteriores) é a
possibilidade de mover o Unity Launcher da esquerda para o fundo. Para proceder a tal alteração há
várias opções: ou via terminal, ou via ferramentas Unity Tweak Tool ou Dconf.

Formador: Nuno Simões MD_028.17.Vs.H Página 25 de 56


Caso pretendam usar o terminal basta que usem o comando
gsettings set com.canonical.Unity.Launcher launcher-position Bottom

Nota: Se pretenderem voltar a ter o Unity Launcher na esquerda, basta substituir o Bottom por Left.
3) Minimizar uma app com “um só click”
Carregando no ícone de uma app que esteja no launcher esta abre. No entanto, voltando a carregar no
ícone é aberta uma segunda instância. Porque não usar esta acção para minimizar a app?
Esta alteração pode ser feita via terminal ou também através da ferramenta Unity Tweak Tool

Caso pretendam usar o terminal basta que usem o comando


gsettings set org.compiz.unityshell:/org/compiz/profiles/unity/plugins/unityshell/ launcher- minimize-wind

4) Weather indicator
Para estar sempre atento ao estado do tempo que faz na nossa cidade/vila/aldeia,
podemos instalar o indicator-weather que disponibiliza na barra superior um conjunto
de informações sobre o tempo.
Para instalar, basta executar o seguinte comando.
sudo add-apt-repository ppa:atareao/atareao
sudo apt-get update
sudo apt-get install my-weather-indicator

5) Instalar o Telegram
Os serviços de comunicação ocupam hoje em dia um espaço muito importante
na Internet. Se há uns anos o IRC era um dos principais serviços de Chat, hoje em dia, os utilizadores
procuram serviços com mais funcionalidades (ex. Facebook messenger, Viber, skype, etc) e
essencialmente onde estejam os amigos.

Formador: Nuno Simões MD_028.17.Vs.H Página 26 de 56


Para quem procura um serviço de mensagens seguro, o Telegram é sem dúvida o serviço de
referência. O Telegram é uma serviço de mensagens focada na segurança, versatilidade e na
rapidez.

Como instalar?
sudo add-apt-repository ppa:atareao/telegram
sudo apt-get update
sudo apt-get install telegram

Remoção de um utilizador
Para desativar contas de utilizador pode usar o comando passwd. Isso é muito útil para os casos em
que temos muitos utilizadores temporários como em laboratórios de universidades. O utilizador foi
criado e talvez não volte a ser utilizado. Logo pode desabilitar essa conta.
Para isso, devemos executar o comando abaixo como root para desabilitar o utilizador:
# passwd -l utilizador
Para retomar a ativação da conta do utilizador devemos simplesmente executar:
# passwd -u utilizador
Bloqueamento de um utilizador
Efetuar o bloqueio via Usermod
Bom, para efetuar o bloqueio da maneira correta, pode executar o seguinte comando (-L quer dizer
"Lock" ou "bloquear"):
# usermod -L utilizador
Caso queira efetuar o Desbloqueio do mesmo, você pode utilizar o seguinte comando (-U para
"Unlock" ou "desbloquear"):
# usermod -U utilizador

Formador: Nuno Simões MD_028.17.Vs.H Página 27 de 56


Definição de parâmetros de uma conta - dias e datas de expiração
Um visitante não pode visualizar as pastas domésticas de outros utilizadores e, por padrão, todos os
dados guardados ou configurações alteradas serão removidos / reiniciados no fim de sessão. Isso
significa que cada sessão começa com um ambiente fresco, não afetado pelo que os convidados
anteriores fizeram.
Por padrão, quando entra numa sessão de convidado, a área de trabalho parece ser quando um
utilizador normal faz logon pela primeira vez. Este tutorial mostra como um proprietário do sistema
pode personalizar o recurso da sessão de convidado para alterar a aparência e o comportamento.
Quando inicia uma sessão de convidado, uma conta de utilizador temporária, cujo diretório inicial
está localizado em /tmp, é criada nos bastidores. Para personalizar o recurso, precisamos controlar o
conteúdo desse diretório pessoal, e o código-fonte inclui alguns "ganchos" para o efeito:
1. Se o diretório / etc / guest-session / skel existe e não está vazio, o seu conteúdo é copiado para o
diretório inicial da conta de utilizador temporário. Caso contrário, os arquivos em
/etc/skel são copiados.
2. Se o arquivo /etc/guest-session/prefs.sh existe, é obtido por /usr/sbin/guest-account.
/etc/guest-session/prefs.sh destina-se a comandos que modificam o conteúdo do diretório inicial.
Enquanto $ USER se refere a "guest-XXXXXX" e $ HOME ao diretório inicial da conta temporária,
o processo que é executado /usr/sbin/guest-account é privilegiada. Daí o último comando em
/etc/guest-session/prefs.sh deve ser:
chown -R $USER: $HOME
então o utilizador convidado, e não a raiz, torna-se o proprietário dos arquivos e diretórios que cria
via /etc/guest-session/prefs.sh. (O comando não é necessário no Ubuntu 14.04 e versão posterior).
3. A partir do Ubuntu 14.04, se o arquivo /etc/guest-session/auto.sh existe, ele é fornecido pelo
autostarted /usr/lib/lightdm/guest-session-auto.sh script. /etc/guest-session/auto.sh pode ser usado
para e. lança programas automaticamente na inicialização.
Definição de privilégios especiais a utilizadores
Usar uma conta de utilizador especial para configurar as preferências de convidados é a maneira mais
conveniente de personalizar o recurso de sessão de convidado. Siga estes passos:
1. Adicione uma nova conta de utilizador com o nome de utilizador guest-prefs.
2. Faça login no guest-prefs e altere as coisas para o que deseja que seus convidados encontrem
no arranque.
3. Abra uma janela do terminal e crie um link simbólico para o diretório inicial do guest-prefs:
sudo mkdir /etc/guest-session
sudo ln -s /home/guest-prefs /etc/guest-session/skel
Agora, quando inicia uma sessão convidado, terá as mesmas preferências que definiu para as pré-
requisições dos convidados.

Formador: Nuno Simões MD_028.17.Vs.H Página 28 de 56


Definição de políticas de segurança
Os privilégios administrativos são uma maneira de decidir quem pode fazer mudanças em partes
importantes do sistema. Pode alterar quais utilizadores possuem privilégios de administrador e quais
não. São uma boa maneira de manter seu sistema seguro e prevenir alterações potencialmente
prejudiciais e não autorizadas.
1. Clique no ícone no canto direito da Barra de menu e selecione Configurações do Sistema.
2. Abra Contas de Utilizador.
3. Clique em Desbloquear e digite a sua palavra-passe para desbloquear as Definições de Conta.
(Para poder conceder privilégios administrativos tem também que os possuir)
4. Escolha o utilizador cujos previlégio pretende alterar.
5. Clique na etiqueta Stantard junto ao Tipo de Conta e selecione Administrador.
6. Feche a janela Contas de Utilizador. Os privilégios serão aplicados quando o mesmo fizer novo
acesso ao sistema.

Pastas /etc/passwd
Este arquivo é responsável por concentrar as informações dos utilizadores numa máquina linux. Cada
linha deste arquivo, representa um registo exclusivo de um utilizador. Como podemos ver no
exemplo abaixo, cada registo é separado por dois pontos.
1 [pinto:2bT1Mw8zeSdw:500:100:Hugo Pinto:/home/pinto:/bin/bash]
Vamos analisar o que significa cada registo:
pinto  Nome do utilizador, não podendo haver outro com o mesmo nome;
2bT1Mw8zeSdw  Senha criptografada do utilizador;
500  Número de identificação (ID) do utilizador, este número é único para cada maquina Linux. O
sistema utiliza este ID para manter o registo dos arquivos que o utilizador é proprietário e os arquivos
que o utilizador pode aceder;
100  Este é o número de identificação (ID) do grupo que o utilizador pertence. Através do grupo é
possível ser dado permissões para arquivos dos quais o utilizador não é proprietário, ou para um
grupo de utilizadores;
Hugo Pinto  Registo de comentário, podendo ser usada qualquer string, mas, por norma, é
colocado o nome do utilizador;
/home/pinto  “HOME” do utilizador. Este é o diretório padrão do utilizador. O sistema utiliza
este diretório para guardar os arquivos do utilizador. Ao realizar o acesso no sistema, o utilizador será
direcionado para este diretorio;
/bin/bash  O shell padrão. Este é o programa responsável por executar os comandos executados
pelo utilizador no sistema.
Exemplos de shell:
/bin/sh  Shell Bourne criado por Steven Bourne;
/bin/ksh  Shell Korn criado por David Korn. Este possui recursos que faltavam no sh;
/bin/bash  Shell Bourne, criado por Steven Bourne. Este possui recursos e melhorias que
faltavam no shell ksh e no sh. Este é o shell utilizado como padrão nas distribuições linux.

Formador: Nuno Simões MD_028.17.Vs.H Página 29 de 56


Pastas e diretórios
Listagem do conteúdo do diretório
Texto
Mudança de diretório
Texto
Criação, cópia e remoção diretório vazio
Texto
Remoção de um diretório com conteúdo
Texto
Visualização do caminho completo do diretório atual para o diretório do utilizador
ligado
Texto
Tamanho de diretorias
Texto

Formador: Nuno Simões MD_028.17.Vs.H Página 30 de 56


Criação de pastas ou diretorias ocultas
Criar pastas ou diretórios ocultos no Ubuntu, é mais fácil do que aparenta. Sem
complicações, é necessário usar o terminal e ir a pastas em que tenha permissão, para então executar
o comando:
~$ mkdir .teste
Onde o “ponto” antes do nome da pasta, o fará ficar oculto na pasta onde o cria.

Criação de link simbólico e hard link


O link é um mecanismo que faz referência a outro arquivo ou diretório em outra localização. Os links
são arquivos especiais e podem ser identificados com um "l" quando executado o comando: "ls -la".
Exemplo:
$ ls –la
lrwxr-xr-- 1 roberto roberto 5 2006-10-12 22:40 link -> teste.txt
Veja abaixo a descrição dos dois tipos de links existentes no Linux.

TIPO SIMBÓLICO
No link tipo simbólico, o link é um arquivo especial de disco do tipo link, que tem como conteúdo o
caminho para chegar até o arquivo alvo.
Características:
 Pode-se fazer links simbólicos em arquivos e diretórios;
 O link simbólico e o arquivo alvo não precisam estar na mesma partição de disco;
 Se o link simbólico for apagado/movido. Somente o link será apagado/movido;
 Qualquer utilizador pode criar/desfazer um link simbólico (respeitando as
permissões).
TIPO HARDLINK
No link tipo hardlink, o link é apontado para o mesmo inode do arquivo alvo, sendo assim, os dois
arquivos serão o mesmo.
Características:
 Não é possível fazer um hardlink para um diretório;
 Somente é possível fazer hardlink em arquivos que estejam numa mesma partição de disco;
 Se o hardlink for apagado/movido, você estará apagando/movendo o arquivo alvo;
 Somente o utilizador root pode criar/desfazer hardlinks.

CRIANDO LINKS
O comando ln é utilizado para criar links entre dois arquivos ou para um diretório. Sintaxe:
ln [OPÇÕES]... [-T] ALVO NOME_LINK (1ª forma)
ln [OPÇÕES]... ALVO (2ª forma)

Formador: Nuno Simões MD_028.17.Vs.H Página 31 de 56


ln [OPÇÕES]... ALVO... DIRETÓRIO (3ª forma)
ln [OPÇÕES]... -t DIRETÓRIO ALVO (4ª forma)
Explicação:
 ALVO: Diretório ou arquivo de onde será feito o link;
 NOME_LINK: Nome do link que será criado;
 OPÇÕES:
-s
Cria um link simbólico.
-v
Modo verbose.
Exemplos:
1 - Criar um link simbólico chamado "emulador" para o diretório
/home/roberto/download/emulador_n64/:
$ ln -s /home/roberto/download/emulador_n64/ emulador
Note que o link simbólico é identificado com o "l" no início.
$ ls -lah | grep emulador lrwxrwx—x 1 roberto roberto 36 2006-10-12 22:42 emulador
-> /home/roberto/download/emulador_n64/
2 - Criar um hardlink chamado "texto.txt" apontando para o arquivo "alvo_hardlink.txt":
$ ln alvo_hardlink.txt texto.txt
Note que o arquivo "alvo_hardlink.txt" e o arquivo texto.txt possuem o mesmo Inode e o mesmo
Device.
stat alvo_hardlink.txt | grep Inode
Device: 304h/772d Inode: 3057948 Links: 2
$ stat texto.txt | grep Inode
Device: 304h/772d Inode: 3057948 Links: 2

Permissões de pastas e diretórios


Texto
Alteração da propriedade de pastas e diretorias
Texto
MC (Midnight Commander)
Texto
Conteúdo das pastas
Localização de pastas por nome, data, tipo e proprietário
Texto

Formador: Nuno Simões MD_028.17.Vs.H Página 32 de 56


Caracteres específicos numa listagem de pastas - more, less, cat, head,
tail, tac,wc, grep, sort, uniq, cut, expand, awk, nl, split, csplit, tee, xargs,
tr, sed, od, pr
COMANDOS DE PAGINAÇÃO (WIKIPEDIA)
cat - concatena e exibe arquivos.
Sintaxe: cat [opções] arquivo~
Opção:
 -A :: exibe todos os caracteres especiais.
 -b :: numera apenas as linhas não vazias.
 -n :: numera todas as linhas na saída.
 -v :: exibe caracteres não passíveis de impressão (caracteres de controle).
 -e :: exibe final de linha, como $.
 -t :: exibe caracteres de tabulação como ^L.
Exemplo:
1. Visualiza vários arquivos de uma só vez:
cat -n test*
2. Visualiza o arquivo "/etc/mtools.conf" e permite paginação deste com o comando less. Para
sair do less, pressione Q:
cat /etc/mtools.conf | less

tac - concatena e exibe arquivos do final para o início.


Sintaxe: tac [opções] arquivo
Exemplo:
Visualiza dois arquivos ao mesmo tempo:
tac -n teste1.txt teste2.txt

more - exibe arquivos texto.


Sintaxe: more [opções] arquivo
Opção:
 +n :: exibe o arquivo começando na linha especificada.
 -s :: reduz múltiplas linhas em branco a uma única.
Exemplo:
Para visualizar os comandos do more, pressione H. Para sair, Q: more
/etc/mtools.conf

less - exibe arquivos texto.


Sintaxe: less [opções] arquivo
Opção:
 -? :: exibe uma lista das opções do comando.

Formador: Nuno Simões MD_028.17.Vs.H Página 33 de 56


 -p texto :: exibe a primeira linha onde texto é encontrado.
 -s :: reduz múltiplas linhas em branco a uma única linha.
Exemplo:
less /etc/mtools.conf
COMANDOS GREP, FGREP E EGREP
Procuram num ou mais arquivos por linhas que contém um padrão de busca (expressão regular
simples ou estendida).
Sintaxe:
grep [opções] padrão arquivos
fgrep [opções] padrão arquivos
egrep [opções] padrão arquivos
Opções:
 -F : O mesmo que fgrep. Interpreta padrão como uma expressão regular sem
metacaracteres.
 -E : Similar a egrep. Interpreta padrão como uma expressão regular estendida.
 -r : Faz procura recursiva.
 -e expr : Procura pela expressão regular expr.
 -n : Exibe o número de linhas que contém o padrão.
 -c : Exibe apenas o número de linhas que contém o padrão de busca.
 -f arquivo : Lê o padrão a partir do arquivo especificado.
 -i : Não diferencia maiúsculas de minúsculas na procura.
 -l : Exibe os nomes de arquivos que contém o padrão.
 -v : Exibe as linhas que não contém o padrão.
 -w : Procura apenas palavras inteiras.
Observação: recomenda-se que o padrão esteja entre apóstrofos ('), pois alguns caracteres tem
significado especial para o shell e podem ser interpretados erroneamente.
Exemplos:
Procura a palavra "tee" dentro do arquivo /etc/info-dir e exibe o número da linha onde ela ocorre:
grep -n tee /etc/info-dir
70:* tee: (sh-utils) tee invocation. Redirect to multiple files
Procura todos os arquivos abaixo de /etc que possuem a palavra mouse:
grep -r mouse /etc/*
Outros exemplos:
grep -n root /etc/passwd
$ grep -v bash /etc/passwd | grep -v nologin
$ grep -c false /etc/passwd

Formador: Nuno Simões MD_028.17.Vs.H Página 34 de 56


COMANDOS DE FILTRAGEM
head → exibe na saída padrão uma quantidade de linhas de texto a partir do início do arquivo.
Sintaxe: head [opções] arquivo
Opções:
 -n :: Exibe as n primeiras linhas do arquivo.
 -b n :: Exibe os n primeiros blocos do arquivo.
 -c n :: Exibe os n primeiros caracteres (bytes) do arquivo. Exemplo
(exibe as cinco últimas linhas do arquivo "/etc/mtools.conf"):
tail -5 /etc/mtools.conf

wc → conta palavras da entrada padrão, ou de um arquivo, e apresenta o resultado na saída


padrão.
Sintaxe: wc [opções] arquivo
Opções:
 -l :: Conta as linhas
 -w :: Conta as palavras
 -c :: Conta os caracteres
Exemplo (conta o número de linhas do arquivo "/etc/mtools.conf"):
wc -l /etc/mtools.conf

nl → enumera linhas de um arquivo.


Sintaxe: nl [opções] [arquivo]
Exemplo (enumerar as linhas do arquivo "/etc/passwd"):
nl /etc/passwd

join → une linhas de dois arquivos que contenham um campo comum.


Sintaxe: join [opções] [arquivo]
Exemplo:
join spc1.txt spc2.txt

tr → substitui caracteres da entrada padrão presentes em str1 por seus correspondentes em str2.
Sintaxe: tr [opções] [str1 [str2] ]

Opções:
 -c : efetua a troca de todos os caracteres que não estejam especificados em str1
 -d : elimina ocorrências de caracteres de str1 na entrada
 -s : elimina repetições de caracteres de str2 na saída

Formador: Nuno Simões MD_028.17.Vs.H Página 35 de 56


Exemplo (exibe o nome de todos os arquivos do diretório corrente em letras maiúsculas):
ls | tr 'a-z' 'A-Z'

sort → ordena os dados recebidos da entrada padrão ou de um arquivo, escrevendo-os na saída


padrão.
Sintaxe: sort [opções] arquivo
Opções:
 -m : intercala dois arquivos já ordenados, escrevendo a intercalação na saída padrão
 -r : inverte a ordem da classificação, de ascendente para descendente
 -t separador: utiliza separador como caractere de separação de campos
Exemplo (digamos que o conteúdo desse arquivo são os nomes de todos os operadores, ele ordena
o arquivo "operadores.txt"):
sort operadores.txt

cut → seleciona trechos de cada linha de texto recebido da entrada padrão ou de um arquivo,
apresentando o resultado na saída padrão.
Sintaxe: cut [opções] arquivo
Opções:
 -b bytes : seleciona bytes
 -c caracteres : seleciona caracteres
 -f campos : seleciona listas de campos
 -d c:: delimitador de campos como sendo o caractere c em vez do caractere de
tabulação
Exemplo (exibe as colunas 1 e 5 do arquivo "/etc/passwd"):
cut -f 1,5 -d : /etc/passwd

paste → exibe, lado a lado, o conteúdo de arquivos.


Sintaxe: paste [opções] arquivo
Opções:
 -s : exibe as linhas de um arquivo em série em vez de uma linha abaixo da outra
 -d c : especifica o delimitador de campos como sendo o caractere c em vez do
caractere de tabulação
Exemplo (exibe numa coluna o "spc1.txt" e na outra, o "spc2.txt", separados por uma
vírgula):
paste -d, spc1.txt spc2.txt

tee → exibe a saída de um programa e a escreve num arquivo, simultaneamente.


Sintaxe: tee [opções] arquivo
Opções:

Formador: Nuno Simões MD_028.17.Vs.H Página 36 de 56


 -a : concatena o arquivo em vez de sobrescreve-lo
 -i : ignora interrupções
Exemplos:
1. Guarda uma cópia da listagem do comando ls em "ls.out":
ls -l /bin | tee ls.out

2. Guarda uma cópia de sua sessão ftp em "ftp.out":


ftp ftp1.printconnection.com.br | tee ftp.out

diff → exibe, na tela, as diferenças entre dois arquivos texto ou todos os arquivos com o mesmo
nome, em dois diretórios.
Sintaxe: diff [opções] arquivo1 arquivo2
Opções:
 -a : considera todos os arquivos do tipo texto
 -b : ignora sequências de espaços e caracteres de tabulação
 -d : tenta localizar um conjunto menor de modificações (isso torna o diff mais lento)
 -i : não distingue maiúsculas de minúsculas
 -r : processa também os subdiretórios, quando diretórios são comparados
 -s : informa quando dois arquivos são na verdade o mesmo arquivo
 -N : trata arquivos ausentes como vazios
Exemplo (exibe as diferenças entre os arquivos "spc1.txt" e "spc2.txt"):
diff -f /operftp/tmp1/spc1.txt /operftp/tmp2/spc2.txt

uniq → remove linhas duplicadas num arquivo depois de passar pelo comando sort.
Sintaxe: uniq [opções] [entrada [saída] ]
Opções:
 -c :: conta o número de ocorrências
 -d :: só exibe as linhas duplicadas
 -i :: não distingue maiúsculas de minúsculas
Exemplo:
uniq operadores.txt | sort -c

xargs → constrói e executa comandos a partir da entrada padrão. Sintaxe:


xargs [opções] comando [argumentos]
Opções:
 -p :: modo interativo, pede confirmação antes de executar cada linha de comando
 -t :: modo detalhado, exibe a linha de comando na tela antes de executá-la

Formador: Nuno Simões MD_028.17.Vs.H Página 37 de 56


Exemplo:
find / -empty | xargs ls -l | less
split → divide um arquivo em partes. Para reuni-las, utilize o comando cat. Sintaxe: split
[opções] arquivo [prefixo]
Opções:
 -b n [k|m] :: número de bytes de cada parte. Os modificadores k (kilobytes e m
(megabytes) podem ser utilizados)
 [prefixo] :: prefixo a ser usado no nome de cada parte do arquivo original (default=x)
Exemplo:
O comando cat é utilizado para reunir as partes do arquivo fracionado:
split -b1400k procedimento.zip procedimento
O shell ordena/lista os arquivos em ordem alfabética e, por essa razão, o arquivo original será
reconstruído com as partes recolocadas na ordem correta: cat
procedimento.?? > procedimento.zip
tail → O comando pode ser utilizado para examinar as últimas linhas de um arquivo. O comando:
$ tail /etc/passwd
irá exibir as dez últimas linhas do arquivo /etc/passwd.
É possível também especificar o número de linhas a serem exibidas, ao invés das dez linhas que o
comando adota como padrão:
$ tail -n 20 /etc/passwd
Uma diretiva muito útil é "-f", que permite a visualização dinâmica de um arquivo, ou seja, as linhas
são exibidas na tela na medida em que são geradas.
Expand, unexpand e tr
Quando criamos os nossos arquivos text1 e text2, criamos o text2 com tabulações. Às vezes, você
desejará trocar as tabulações por espaços, e vice-versa. Isso é feito com os comandos expand e
unexpand. Em ambos os comandos, a opção -t permite que você defina as tabulações. Um valor único
define tabulações repetidas neste intervalo. A Listagem 10 exibe como expandir as tabulações no
arquivo text2 para espaços simples, assim como outra cuidadosa sequência de expand e unexpand,
que desalinha o texto em text2.
Listagem 10. Usando expand e unexpand
1 [ian@echidna lpi103-2]$ expand -t 1 text2 9
2 plum
3 3 banana
4 10 apple
5 [ian@echidna lpi103-2]$ expand -t8 text2|unexpand -a -t2|expand -t3
6 9 plum
7 3 banana
8 10 apple

Formador: Nuno Simões MD_028.17.Vs.H Página 38 de 56


Infelizmente, não é possível usar unexpand para substituir os espaços em text1 por tabulações,
pois unexpand necessita de pelo menos dois espaços para converter em tabulações.
Quadro resumo dos comandos Linux por tipo:
- cat - chattr - chmod - chown - chflags - chgrp - cksum - cp - cmp - curl
Arquivos - dd - du - df - file - fsck - less - ln - ls - lsof - mkdir - more - mount - mv
- pax - pwd* - rm - rmdir - split - size - tee - touch - tree - type - umask

Processos e - anacron - at - bg - chroot - crontab - kill* - killall* - nice - fg - pgrep


tarefas - pidof - pkill - ps - pstree - sleep - time - top

- clear - env - exit - finger - history - id - locale - logname - mesg


Ambiente e
- passwd - su - sudo - talk - tput - uname - uptime - w - wall - who
utilizadores
- whoami - write
- awk - banner - basename - comm - csplit - cut - diff - dirname
Processamento - ed - ex - fmt - fold - head - iconv - join - less - more - nl - paste - sed
de texto - sort - spell - strings - tail - tr - uniq - vi - wc - xargs

- echo* - expr* - printf* - read* - sh - sleep - test* - true - false - unset


Shell
- wait - yes

Redes e - dig - host - ifconfig - inetd - netcat - netstat - nslookup - ping


comunicação - rdate - rlogin - route - ssh - traceroute

Busca - find - grep - strings - locate - whatis - whereis

Documentação - apropos - man

Miscellaneous - bc - dc - cal - date - lp - lpr - od

*Comandos geralmente implementados, tanto como executáveis, como no interpretador.

Formador: Nuno Simões MD_028.17.Vs.H Página 39 de 56


Backup e agendamento de tarefas
Comandos de backup
O comando tar está ligado às tarefas de gestão de backups desde a sua origem.
O nome do utilitário refere-se ao dispositivo de
gravação/leitura em fitas (tape drives), muito usado,
ainda hoje, por sua confiabilidade e capacidade de
armazenamento.
Tar é abreviatura para tape archiver.
Apesar do nome, nunca foi restrito a qualquer tipo de
media de gravação.
Backups feitos com o tar podem ser armazenados aonde você achar melhor.
Os desafios de fazer backups eficientes
Fazer cópias de segurança de um grande volume de dados, pode tomar muito tempo.
Consome tanto tempo, que muita gente deixa de ter este cuidado – e pode-se arrepender amargamente
por isso.
O ideal é automatizar o processo de backup. O processo de cópia e compressão de uma grande
quantidade de arquivos também consome tempo de processamento – todo o sistema pode ficar
significativamente mais lento durante a realização da tarefa.
Para não ser uma “coisa chata” na sua vida, contudo, o backup eficiente precisa ser automático e
rodar em background, ou seja, ser executado nos bastidores – de preferência, num horário em que não
esteja a usar (muito) o computador.
O backup incremental é demorado na primeira vez em que é executado, mas é rápido nas outras
execuções.
Isto ocorre por que consiste em apenas adicionar arquivos novos ou que foram alterados, desde a
última vez em que foi feito. O resto é ignorado.
Como fazer o backup incremental com o comando tar
Para realizar um backup simples de um diretório no sistema rode o tar, seguido do nome desejado
para o arquivo de backup e do nome do diretório a ser copiado:
tar cvf justincase-backup-2afeira.tar /home/justincase
No comando acima:
 a opção ‘c’ indica que deseja comprimir/copiar os arquivos do diretório para dentro de um só
arquivo de backup.
 a opção ‘v’ indica que você deseja ter feedback sobre a execução da tarefa. Você pode
usar ‘vv’ ou ‘vvv’ e tornar o comando ainda mais verboso.
 a opção ‘f’ deve preceder o nome do arquivo que vai abrigar o backup.
Nota: Lembre-se que arquivos MP3, MPEG, JPEG – entre outros tipos de arquivos de mídia – já
estão compactados e, com eles, não é possível obter uma taxa de compressão significativa.
Arquivos comprimidos são transferidos mais rápido pela rede ou para dentro da mídia de
backup.Por outro lado, o processo de compressão/descompressão pode sobrecarregar
temporariamente o sistema.

Formador: Nuno Simões MD_028.17.Vs.H Página 40 de 56


Como criar um script de backup
O script, que segue, reúne basicamente o que foi visto até aqui, neste artigo.
Entendo que possa necessitar de algo mais complexo, para atender às suas necessidades particulares
ou profissionais. Neste caso, ele pode servir como um ponto de partida para chegar aonde quer.
Não esqueça de alterar as variáveis de ambiente e os nomes de diretórios e arquivos, para refletir a
sua realidade.
#!/bin/bash
# Descrição = Realiza cópia de segurança de arquivos
importantes # Criado em 20 de Abril de 2017
# Autor: Hugo
Pinto # Version 1.0
#
## cria as variáveis para compor o nome arquivo de
backup # atribui à variável DATA os valores de
# data e hora atuais, para usar
# na composição do nome do arquivo
DATA=$(date +'%d-%m-%Y')
# Define o nome do arquivo de backup
ARQUIVO=backup-$DATA.tar.gz
# cria a variável contendo o local de origem dos arquivos
ORGDIR=scripts
# cria a variável contendo o local de destino
DESDIR=backup
# comando de criação do backup
tar -cvvjf $DESDIR/$ARQUIVO $ORGDIR

Antes de poder ser executado, o script precisa obter permissão de execução. Veja como fazer isto:
gora, que ele já está pronto para rodar, teste-o:
chmod +x ./nome-do-script-de-backup.sh
./nome-do-script-de-backup.sh
Utilizando o Systemback
Systemback é um aplicativo simples de
backup e restauração para Ubuntu Linux, que
torna fácil criar backups de arquivos de
configuração de sistema e utilizadores. Com
ele, em caso de problemas, você pode
facilmente restaurar o estado anterior do
sistema.
Ferramenta de backup: Instale Systemback
no Ubuntu
Além disso, existem recursos extras, como a
cópia do sistema de uma partição para outra,
instalação do sistema, criação

Formador: Nuno Simões MD_028.17.Vs.H Página 41 de 56


de sistema Live em CD/DVD/USB do sistema atual com ou sem os dados do utilizador, criação de
novo utilizador, definição da senha de root, mudança do nome do computador (hostname), conserto
do sistema de arquivos e até a reparação do Grub.
Para instalar o Systemback no Ubuntu e poder receber automaticamente as futuras atualizações dele,
deve fazer o seguinte:
Passo 1. Abra um terminal (teclas CTRL+ALT+T);
Passo 2. Se ainda não tiver, adicione o repositório do programa com este comando ou use esse
tutorial;
sudo add-apt-repository ppa:nemh/systemback
Passo 3. Atualize o APT com o comando:
sudo apt-get update
Passo 4. Agora use o comando abaixo para instalar o programa;
sudo apt-get install systemback

Para desinstalar o Systemback no Ubuntu e derivados, faça o seguinte: Passo 1.


Abra um terminal;
Passo 2. Desinstale o programa, usando os comandos abaixo:
sudo add-apt-repository ppa:nemh/systemback --remove sudo
apt-get remove systemback
sudo apt-get autoremove

Compactação e descompactação de pastas


Quando temos uma interface gráfica à disposição, compactar/descompactar arquivos pode ser
algo bastante simples, mas não se engane e imagine que fazer isso naquele ecrã de um
servidor Linux sem interface gráfica seja mais complicado. Na verdade, fazer a compactação e
descompactação de arquivos por linha de comando pode ser bem mais simples e eficiente.
Vamos então usar vários comandos para compactar/descompactar arquivos no Linux utilizando um
terminal ou o acesso direto ao shell do sistema. Vamos trabalhar com a maioria dos formatos mais
utilizados, como tar, tar.gz, tar.bz2, zip e rar, além disso, vou passar as partes mais utilizadas, como:
compactar/descompactar pastas e arquivos separadamente, listar/testar, compactar/descompactar
utilizando uma senha e assim por diante.
Formatos .zip, .Z, .gz, .bz2
Compactar/Descompactar arquivos no Linux usando o terminal
Juntar/separar arquivos .tar
Este é um dos métodos mais rápidos para juntar vários arquivos dentro dum único container, porém,
sem compressão. Portanto, se você quer apenas guardar todos os arquivos dentro de um único
arquivo e salvar tempo, siga os passos abaixo:
1 Juntar tar -cvf unico.tar pasta/
2 Separar tar -xvf unico.tar
3 Listar tar -tvf unico.tar
4 Juntar separadamente tar -cvf unico.tar arquivo1 arquivo2 arquivo3
5 Separar p/ pasta tar -xvf unico.tar -C caminho/da/pasta/

Formador: Nuno Simões MD_028.17.Vs.H Página 42 de 56


Lembre-se do seguinte, o “-c” significa “criar”, porque está a pegar numa pasta ou vários arquivos e a
enviar para um único pacote. Quando for separar tais arquivos ou pastas, irá utilizar “-x” (essa é a
única diferença entre juntar e separar arquivos).
Por exemplo, se eu quiser separar (descompactar) vários arquivos, simplesmente digito:
tar -xvf arquivos.tar
A estrutura dos arquivos separados será a mesma de quando você os juntou, ou seja, se for uma pasta,
a saída também será uma pasta; se forem vários arquivos separados, a saída serão vários arquivos
separados.
Nos próximos exemplos vamos adicionar dois métodos de compressão, ou gzip (.gz) ou bzip2
(.bz2). Cada qual com seus pontos fortes e fracos.
Compactar e descompactar arquivos .tar.gz
Este é o método de compactação gzip (.gz), não consome tanto processamento e tnum fator de
compressão muito bom. Para compactar/descompactar arquivos .tar.gz siga as instruções abaixo:
1 compactar tar -zcvf compactada.tar.gz pasta/
2 descompactar tar -zxvf compactada.tar.gz
3 listar tar -ztvf compactada.tar.gz
4 comp. Separadamente tar -zcvf compactada.tar.gz pasta/arquivos-{1,2}.txt outro/
5 Desc. p/ pasta tar -zxvf compactada.tar.gz -C caminho/da/pasta/
Apenas adicione um “-z” no comando e a extensão .gz, já estará a comprimir os arquivos.
Compactar e descompactar arquivos .tar.bz2
Este é o bzip2, apesar de utilizar mais recursos do computador, tnum fator de compressão excelente.
Para compactar/descompactar arquivos .tar.bz2 siga as instruções abaixo:
1 compactar tar -jcvf compactada.tar.bz2 pasta/
2 descompactar tar -jxvf compactada.tar.bz2
3 listar tar -jtvf compactada.tar.bz2
4 comp. Separadamente tar -jcvf compactada.tar.bz2 pasta/arquivo-{1,2}.txt
5 Desc. p/ pasta tar -jxvf compactada.tar.bz2 -C caminho/
Troque o “z” por um “j” e já estará utilizando bzip2. Não se esqueça de adicionar a extensão
.bz2.
Compactar e descompactar arquivos .zip
ZIP é um formato bastante conhecido por utilizadores Windows, tanto que pode compactar e
descompactar pastas no sistema da Microsoft sem instalar nada caso tal arquivo esteja no formato
.zip.
Muitas versões do Linux já trazem o zip e unzip instalados, mas caso precise instalar manualmente,
utilize o gestor de pacotes da seguinte maneira:
sudo apt-get install zip unzip
O comando acima serve para Debian, Ubuntu, Linux Mint e outras versões baseadas em Debian,
utilize o gestor de pacotes da sua distro não esteja utilizando Debian.

Formador: Nuno Simões MD_028.17.Vs.H Página 43 de 56


Para compactar e descompa ctar arquivos .zip, siga as instruções abaixo:
1 compactar zip -r compactada.zip pasta/
2 descompactar unzip compactada.zip
3 listar unzip -l compactada.zip
4 comp. Separadamente zip compactada.zip pasta/arquivo-{1,2,3}.txt
5 Desc. p/ pasta unzip compactada.zip -d caminho/
6 Compactar com senha zip -P senha -r compactada.zip pasta/
Compactar e descompactar arquivos .rar
Se você estiver lidando com o formato “RAR”, é praticamente certeza de que este pacote veio de um
Windão da vida. De qualquer maneira, existe a possibilidade de utilizar “rar” e “unrar” no Linux
também. Mas será necessário instalar esses pacotes.
Para realizar a instalação no Debian, digite o seguinte:
sudo apt-get install rar unrar

Utilize o gerenciador de pacotes de sua distro, caso não utilize Debian. Para
utilizar rar e unrar, siga os passos abaixo:
1 compactar rar a compactada.rar pasta/
2 descompactar unrar x compactada.rar
3 listar unrar l compactada.rar
4 comp. Separadamente rar a compactada.rar pasta/arquivo-{1,2,3}.txt
5 Desc. p/ pasta unrar x compactada.rar caminho/
6 Compactar com senha rar a compactada.rar pasta/ -p
Tutorial em vídeo em https://youtu.be/vIQrGhW3Ee0

Tar e Gzip
O Tar e o gzip são duas ferramentas utilizadas em sistemas operacionais baseados no Unix, como o
GNU/Linux, para o "empacotamento" e para a compressão de arquivos, respetivamente. Embora seja
perfeitamente possível usar qualquer um desses programas de forma individual, a utilização de ambos
ao mesmo tempo é muito comum e útil. Sendo assim, que tal aprender a compactar e a descompactar
arquivos utilizando Tar e gzip e, consequentemente, entender o funcionamento dos famosos arquivos
de extensão tar.gz?
Comando Tar
Backup (cópia de segurança) de arquivos é uma necessidade antiga. Há várias formas de se fazer isso,
mas nos sistemas operacionais baseados no Unix, uma das maneiras mais tradicionais corresponde à
utilização da ferramenta Tar, sigla de Tape Archive. O que o Tar faz é muito simples de entender:
ele "empacota" vários arquivos num só, isto é, faz com que um único arquivo contenha vários outros.
Assim, é possível, por exemplo, armazenar em único arquivo as cópias de documentos existentes na
pasta de um utilizador.
O arquivo resultante de um empacotamento feito com Tar tem, como é de se esperar, a extensão .tar
(por exemplo, mediatica.tar), embora a sua utilização não seja obrigatória (mas é recomendada para
fins de organização). Quando for necessário extrair o conteúdo existente dentro de um arquivo .tar,
naturalmente, basta acionar o programa Tar. Os procedimentos para empacotamento e extração de
arquivos são executados através de comandos e parâmetros inseridos em terminais (shell). Quando
um utilizador domina essas instruções, consegue executar tais tarefas de forma ágil. Isso se deve
principalmente ao fato

Formador: Hugo Pinto MD_028.17.Vs.H Página 44 de 56


do Tar manter as propriedades dos arquivos e a estruturas de diretórios originais, facilitando a
localização e a utilização de cada item após a extração.
A sintaxe do Tar é a seguinte:
tar [parâmetros] [nome_do_arquivo_tar] [arquivos_de_origem]
Na linha acima, tar é o comando. Em parâmetros, é possível utilizar várias opções. Eis as
principais:
-c - cria um novo arquivo tar;
-t - exibe o conteúdo de um arquivo tar;
-p - mantém as permissões originais do(s) arquivo(s);
-r - adiciona arquivos a um arquivo tar existente;
-f - permite especificar o arquivo tar a ser utilizado;
-v - exibe detalhes da operação;
-w - pede confirmação antes de cada ação no comando;
-x - extrai arquivos de um arquivo tar existente;
-z - comprime o arquivo tar resultante com o gzip (visto mais à frente);
-C - especifica o diretório dos arquivos a serem armazenados (note que, neste caso, a letra é
maiúscula).
O campo nome_do_arquivo_tar especifica qual o nome que o arquivo .tar terá, e o campo
arquivos_de_origem define o diretório ou os arquivos que se tornarão um .tar. Vamos ver alguns
exemplos para facilitar a compreensão:
tar -cf lendas.tar saci.txt curupira.txt
O comando acima cria o arquivo lendas.tar, que contém os arquivos saci.txt e curupira.txt.
Aqui, você deve ter reparado que é possível combinar parâmetros. Neste exemplo, isso ocorreu com -
c e -f. No exemplo abaixo, o diretório hardware tem todo o seu conteúdo compactado no arquivo
nome.tar, só que os detalhes são exibidos graças à opção -v:
tar -cvf nome.tar hardware

O exemplo a seguir lista o conteúdo do arquivo nome.tar:


tar -tf nome.tar
Por sua vez, o comando abaixo faz com que todos os arquivos de nome.tar sejam extraídos (neste
ponto, você certamente já sabe as funções dos parâmetros x, v e f no comando):

Formador: Hugo Pinto MD_028.17.Vs.H Página 45 de 56


tar -xvf nome.tar

Já no comando a seguir, apenas o arquivo saci.txt é extraído:


tar -xvf lendas.tar saci.txt
Uma coisa interessante é que, se a opção -v for usada duas vezes, detalhes como permissões e data
do(s) arquivo(s) aparecerão:
tar -xvvf lendas.tar saci.txt
Comando gzip
A ferramenta Tar, por si somente, serve apenas para juntar vários arquivos num só. No entanto, o
programa não é capaz de diminuir o tamanho do arquivo resultante, isto é, de compactá-lo. É neste
ponto que entra em cena o gzip (GNU zip) ou outro compactador de sua preferência. Se utilizado
isoladamente, o gzip faz uso da seguinte sintaxe:
gzip [parâmetros] [nome_do_arquivo]
Entre os parâmetros disponíveis, tem-se:
-c - extrai um arquivo para a saída padrão;
-d - descompacta um arquivo comprimido;
-l - lista o conteúdo de um arquivo compactado;
-v - exibe detalhes sobre o procedimento;
-r - compacta pastas;
-t testa a integridade de um arquivo compactado.
Ainda no que se refere às opções de parâmetros, é possível utilizar uma numeração de 1 a 9 para
indicar o nível de compactação. Quanto maior o número, maior será a compactação do arquivo.
Eis alguns exemplos para facilitar a compreensão do comando gzip:
gzip nome.odt
O comando acima compacta o arquivo nome.odt. Note que os arquivos compactados com gzip
recebem a extensão .gz.
gzip -d nome.odt.gz
O comando acima descompacta o arquivo nome.odt.gz.
gzip -1 colorado.ods
O procedimento acima faz com que o arquivo colorado.ods seja compactado considerando o nível
mais baixo de compreensão.

Formador: Hugo Pinto MD_028.17.Vs.H Página 46 de 56


Webgrafia utilizada
https://pt.wikipedia.org

Formador: Hugo Pinto MD_028.17.Vs.H Página 47 de 56

Você também pode gostar

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy