Escolar Documentos
Profissional Documentos
Cultura Documentos
ISOLADA DE INFORMÁTICA
PRINCIPAIS CONCURSOS DO PAÍS
AULA Nº 10
S.O. GNU Linux
Professor
Leonardo Martins
Youtube: @prof.leonardomartins
Red Hat Linux é uma distribuição de Linux líder do Mint Linux Linux Mint é uma distribuição Linux
mercado nos Estados Unidos, criada pela Red Hat. irlandesa. Possui duas versões: uma baseada em
Esta distribuição foi baseada no conceito de pacotes Ubuntu (com o qual é totalmente compatível e partilha
cada pacote fornece um pedaço diferente de software os mesmos repositórios) e outra versão baseada em
configurado. Debian. Suporta muitos idiomas, incluindo a língua
portuguesa, e utiliza o Cinnamon como seu principal
ATENÇÃO: Distribuição de fácil acesso e de ambiente de desktop.
interface simples para o usuário doméstico.
Link para baixar: https://www.redhat.com
ATENÇÃO: Distribuição de fácil acesso e de
interface simples para o usuário doméstico.
Link para baixar: https://linuxmint.com
uso “público” que acabam sendo muito compartilhados /srv Serviço de dados.
entre alunos de universidades, em lan houses, etc;
Existem ainda casos, por exemplo, um sistema Linux /sys
numa rede LAN junto a diversas máquinas Windows, o /tmp Arquivos temporários.
Linux aqui não será afetado caso se infecte, mas
/usr Comandos, bibliotecas e aplicativos.
poderá servir de ponte para vírus que vão infectar e
afetar outros sistemas, como os Windows que /var arquivos que sofrem modificações durante
estiverem na mesma rede. a sessão, tais como logfiles, arquivos de
spools, caches etc...
Estrutura de Diretórios do Linux /lost diretório para o qual são alocados os
+found arquivos “recuperados” pelo utilitário fsck
isto é, clusters.
Interativa - Os comandos são digitados no teclado pelo residentes nela. A grande vantagem dos comandos
usuário e passados ao interpretador de comandos um internos, é a velocidade, pois não precisam ser
a um. Neste modo o computador depende do usuário procurados no HD e nem criam processos. Exemplos:
para executar uma tarefa ou o próximo comando. cd, alias, kill e logout.
Não-interativa – São usados arquivos de comandos Comandos externos: são comandos que estão
(scripts) criados pelo usuário para o computador localizados em diretórios específicos no HD, como /bin
executar os comandos na ordem encontrada no e /sbin. O GNU/Linux precisa consultar o HD sempre
arquivo. Neste modo, o computador executa os que um desses comandos é solicitado. A maioria dos
comandos do arquivo um por um, e dependendo do comandos do GNU/Linux é externa. Exemplos: ls, cp,
término do comando, o script pode verificar qual será rm, mv, mkdir e rmdir.
próximo comando que será executado e dar
continuidade ou não ao processamento. Para execução
de muitos comandos é necessário ter privilégios de
administrador, então como no Ubuntu o usuário root por
questões de segurança se encontra desabilitado, será
necessário o uso do "sudo".
❖ INFO Sintaxe:
$ ls [opções] [arquivo]
ATENÇÃO: O comando “info” Exibe
Opções:
informações de um comando do
sistema. -a: Exibe arquivos ocultos;
--author: Mostra o autor (criador) de cada arquivo;
Sintaxe: info [opçoes] comando -b: Exibe caracteres de escape octais no lugar dos
Opções: caracteres que não podem ser vistos, como o espaço
em branco;
-d nome_dir: adiciona um diretório à lista de -c: Lista os arquivos por ordem da data da última
diretórios a serem procurados para arquivos. modificação;
-f arqinfo: especifica o arquivo a ser utilizado pelo -C: Exibe a listagem em colunas;
comando info. -d: Exibe o diretório especificado, e não o seu
-h: mensagem de ajuda. conteúdo;
Exemplo: -F: Acrescenta um caracter gráfico ao final de cada
$ info ls arquivo para identificar o seu tipo;
Obs.: para sair do info, pressione Q. -l: Listagem detalhada, com diversas informações
sobre os arquivos;
-L: Quando listar links simbólicos, lista o local para
❖ DATE onde o link aponta, e não o link propriamente dito;
-o: O mesmo que o parâmetro -l, mas não exibe as
ATENÇÃO: O comando “date” serve para informações sobre o grupo;
exibir ou alterar a data e a hora no Linux. -r: Organiza a lista na ordem inversa;
-R: Lista recursivamente o conteúdo dos diretórios e
subdiretórios do diretório atual;
Para exibir a data e a hora atual: -S: Organiza a lista de acordo com o tamanho do
$ date arquivo;
-t: Lista pela data de modificação;
Para alterar a data e a hora: -u: Organiza a listagem pela data do último acesso;
$ date 03121730 2018 -U: Não organiza a listagem, exibindo os arquivos na
$ date mmddhhmmyyyy seqüência em que estão gravadas no diretório;
-w: Ajusta o tamanho da tela para o número de
O significado de cada conjunto de caracteres é: colunas especificado;
mm: mês -X: Organiza a listagem em ordem alfabética;
dd: dia -1: Lista apenas um arquivo por linha;
hh: hora
mm: minuto Pode-se também utilizar curingas para filtrar os
yyyy: ano arquivos que serão listados. Por exemplo, podemos
usar ls *.sxw para listar somente os arquivos
❖ CAL terminados em .sxw.
❖ CD
ATENÇÃO: O comando “cal” é utilizado
para mostrar um calendário de um mês e/ou
ATENÇÃO: O comando cd, sigla de
ano em específico.
change directory (selecionar diretório), serve
para acessar um determinado diretório.
Onde mês é o número do mês (01 a 12) e ano, é o
ano aaaa (4 algarismos).
Sintaxe:
Exemplos:
$ cd [diretório]
$ cal
Lembrando a lista dos diretórios do sistema:
❖ LS
..: Diretório acima do atual. Se você estiver no
ATENÇÃO: Comando “ls” exibe arquivos diretório /home/aluno/ e quiser acessar o diretório
ou o conteúdo de um ou vários diretórios. /home/, digite cd ... Se quiser acessar o diretório
/home/davidson/, digite cd ../davidson/;
~: Diretório pessoal do usuário atual, ou seja,
/home/[usuário]/;
ATENÇÃO: Esse comando é utilizado Veja no exemplo abaixo, como unir as 2 partes do filme
para apagar um diretório vazio. Matrix em um único arquivo:
❖ PWD ❖ TOUCH
Se o arquivo não existir, ele é criado, por padrão. Isso $ cp file.gz /tmp
faz o touch ser muito utilizado para criar arquivos
vazios, através do comando touch [arquivo]. Para para fazer uma cópia do arquivo file.gz com o
nome file-copia.gz:
Opções:
-a: Modifica apenas a data do último acesso; $ cp file.gz file-copia.gz
-c: Não cria arquivos, caso eles não existam;
-m: Modifica apenas a data de modificação; Para copiar os arquivos file1, file2 e file3 para o diretório
-t: A data e hora a ser utilizada para o último acesso /home/davidson/doc/:
ou última modificação. O formato utilizado é
MMDDhhmm (mês, dia, hora e minuto); $ cp file1 file2 file3 /home/davidson/doc
$ mv file1 img /tmp/upload Se você quiser fazer a mesma coisa, mas preferir que
o link criado tenha o nome "documentos":
❖ RM
$ ln -s /home/davidson/doc documentos
ATENÇÃO: O rm é utilizado para excluir
arquivos.
Se você quiser criar um link absoluto (hardlink), oculte
o parâmetro -s:
$ ln /home/davidson/doc
Sintaxe:
❖ CMP
$ rm [opções] [arquivo]
ATENÇÃO: Esse comando é utilizado
Opções: para comparar dois arquivos e mostrar a
-f: Modo forçado, não pede confirmação para realizar primeira diferença entre eles. Use para
as operações; certificar-se de que dois arquivos possuem
-i: Pede confirmação antes de remover qualquer ou não o mesmo conteúdo.
arquivo;
-R, -r: Exclui recursivamente todo o conteúdo do Sintaxe:
diretório e o próprio diretório. Quando quiser excluir $ cmp [opções] [arquivo1] [arquivo2]
um diretório que não está vazio, utilize esse
parâmetro; Opções:
-v: Mostra os detalhes das exclusões. -b: Imprime os bytes que são diferentes entre si;
-i [n]: Não considera os primeiros [n] bytes de cada
❖ LN arquivo;
-l: Mostra os número dos bytes e os valores
ATENÇÃO: Esse é o comando utilizado diferentes;
para criar links, simbólicos ou absolutos. -s: Não mostra nenhum detalhe, apenas sai com
status 1 se alguma diferença for encontrada.
Exemplos de uso:
Sintaxe:
Vamos comparar os arquivos file1 e file2:
$ ln [opções] [alvo] [nome do link]
$ cmp file1 file2
Opções: file1 file2 differ: byte 10, line 2
-b: Se houver um arquivo com o mesmo nome do link
que está sendo criado no diretório de destino, cria um
❖ DIFF
backup do arquivo existente;
-d: Permite ao administrador do sistema (root) criar um
hardlink (link absoluto) para um diretório; ATENÇÃO: Esse comando compara dois
-f: Força a criação dos links; arquivos de texto e mostra as diferenças
-n: Trata um link simbólico pra um diretório como se entre eles.
fosse um arquivo normal;
-i: Pergunta antes de remover arquivos existentes; Sintaxe:
-s: Cria um link simbólico;
--target-directory=[diretório]: Especifica em qual $ diff [opções] [arquivo1] [arquivo2]
diretório o link deve ser criado;
-v: Exibe o nome de cada link antes de criá-lo. Opções:
-i: Ignora as diferenças de letras
Exemplos de uso: maiúsculas/minúsculas;
-E: Ignora as diferenças de tabulação;
Se você quiser criar um link simbólico para o arquivo -b: Ignora diferenças na quantidade de espaço em
branco;
Processos em segundo plano são iniciados usando o Envia um sinal de destruição ao processo ou
símbolo "&" no final da linha de comando (veja [#s- programa. Ele é terminado imediatamente sem
run-tipos Tipos de Execução de comandos/programas, chances de salvar os dados ou apagar os
Seção 7.3]) ou através do comando bg. jobs O número arquivos temporários criados por ele.
de identificação de cada processo parado ou em Você precisa ser o dono do processo ou o usuário root
segundo plano (job), é usado com os comandos [#s- para termina-lo ou destruí-lo. Você pode verificar se o
run-fg fg, Seção 7.7.4] e [#s-run-bg bg, Seção 7.7.5]. processo foi finalizado através do comando ps. Os tipos
Um processo interrompido pode ser finalizado usando- de sinais aceitos pelo GNU/Linux são explicados em
se o comando kill %[num], onde [num] é o número do detalhes em [#s-run-sinais Sinais do Sistema, Seção
processo obtido pelo comando jobs. 7.7.9]. Exemplo: kill 500, kill -9 500, kill %1.
❖ FG ❖ KILLALL
❖ PSTREE
ATENÇÃO: Permite enviar um sinal a um
comando/programa. Caso seja usado sem
parâmetros, o kill enviará um sinal de ATENÇÃO: Mostra a estrutura de
término ao processo sendo executado. processos em execução no sistema em
forma de árvore.
kill [opções] [sinal] [número] Onde:
número
É o número de identificação do processo obtido pstree [opções] [pid] Onde:
com o comando [#s-run-ps ps, Seção 7.5]. pid
Também pode ser o número após o sinal de % Número do processo que terá sua árvore
obtido pelo comando jobs para matar uma listada. Se omitido, lista todos os processos.
tarefa interrompida. opções
sinal -a
Sinal que será enviado ao processo. Se omitido Mostra opções passadas na linha de comando.
usa -15 como padrão. -c
opções Mostra toda a estrutura (inclusive sub-
-9 processos do processo pai).
-G ❖ DF
Usa caracteres gráficos no desenho da árvore
de processos.
ATENÇÃO: Mostra o espaço livre/ocupado
-h de cada partição.
Destaca o processo atual e seus antecessores.
-H [pid]
Destaca o processo especificado. df [opções]
-l onde:
Não faz quebra de linha opções
-n -a
Classifica pelo número PID ao invés do nome. Inclui sistemas de arquivos com 0 blocos.
-p -h, --human-readable
Mostra o número PID entre parênteses após o Mostra o espaço livre/ocupado em MB, KB,
nome do processo. GB ao invés de blocos.
-u -H
Mostra também o dono do processo. Idêntico a -h mas usa 1000 ao invés de 1024
-U como unidade de cálculo.
Usa o conjunto de caracteres Unicode para o -k
desenho da árvore. Lista em Kbytes.
-l
❖ NICE Somente lista sistema de arquivos locais.
-m
Lista em Mbytes (equivalente a --block-
ATENÇÃO: Configura a prioridade da
execução de um comando/programa. size=1048576).
--sync
Executa o sync antes de mostrar os dados.
-T
nice [opções] [comando/programa] Onde:
Lista o tipo de sistema de arquivos de cada
partição
nice comando/programa
-t tipo
Comando/programa que terá sua prioridade
Lista somente sistema de arquivos do tipo tipo.
ajustada.
-x tipo
Não lista sistemas de arquivos do tipo tipo.
Opções
Exemplos: df, df -h, df -t vfat.
-n [numero]
Configura a prioridade que o programa será ❖ DU
executado. Se um programa for executado com
maior prioridade, ele usará mais recursos do ATENÇÃO: Mostra o espaço ocupado por
sistema para seu processamento, caso tenha arquivos e sub-diretórios do diretório atual.
uma prioridade baixa, ele permitirá que outros
programas tenham preferência. A prioridade de
execução de um programa/comando pode ser
du [opções]
ajustada de -19 (a mais alta) até 19 (a mais
onde:
baixa).
opções
-a, --all
Exemplo: nice -n -19 find / -name apropos.
Mostra o espaço ocupado por todos os
arquivos.
❖ CLEAR -b, --bytes
Mostra o espaço ocupado em bytes.
ATENÇÃO: Limpa a tela e posiciona o -c, --total
cursor no canto superior esquerdo do vídeo. Faz uma totalização de todo espaço listado.
-D
Não conta links simbólicos.
-h, --human
clear
Mostra o espaço ocupado em formato legível
por humanos (Kb, Mb) ao invés de usar blocos.
mensagem
ATENÇÃO: Mostra as linhas iniciais de um
arquivo texto.
Mensagem que será mostrada a todos os
usuários alertando sobre o
reinicio/desligamento do sistema.
-t [num] ❖ WC
Faz com que o shutdown envie um sinal de
término aos processos e aguarde [num]
ATENÇÃO: Conta o número de palavras,
segundos antes de enviar o sinal KILL. bytes e linhas em um arquivo ou entrada
padrão. Se as opções forem omitidas, o
O shutdown envia uma mensagem a todos os usuários wc mostra a quantidade de linhas, palavras
do sistema alertando sobre o desligamento durante os e bytes.
15 minutos restantes e assim permite que finalizem
suas tarefas. Após isto, o shutdown muda o nível de wc [opções] [arquivo]
execução através do comando initpara 0 arquivo
(desligamento), 1 (modo monousuário), 6 Arquivo que será verificado pelo comando wc.
(reinicialização). É recomendado utilizar o símbolo
"&" no final da linha de comando para que opções
o shutdown seja executado em segundo plano. -c, (caracteres).
Mostra os caracteres do arquivo.
Quando restarem apenas 5 minutos para o
-w, words (palavras).
reinicio/desligamento do sistema, o
Mostra a quantidade de palavras do arquivo.
programa login será desativado, impedindo a entrada
de novos usuários no sistema. -l, lines (linhas).
Mostra a quantidade de linhas do arquivo.
O programa shutdown pode ser chamado A ordem da listagem dos parâmetros é única, e
pelo init através do pressionamento da combinação das modificando a posição das opções não modifica a
teclas de reinicialização CTRL ALT DEL alterando-se o ordem que os parâmetros são listados.
arquivo /etc/inittab. Isto permite que somente os Exemplo:
usuários autorizados (ou o root) possam reinicializar o
sistema. wc /etc/passwd
Mostra a quantidade de linhas, palavras e letras
Exemplos: (bytes) no arquivo /etc/passwd.
wc -w /etc/passwd
"shutdown -h now" - Desligar o computador Mostra a quantidade de palavras.
imediatamente.
wc -l /etc/passwd
"shutdown -r now" - Reinicia o computador Mostra a quantidade de linhas.
imediatamente.
wc -l -w /etc/passwd
"shutdown 19:00 A manutenção do servidor será Mostra a quantidade de linhas e palavras no arquivo
iniciada í s 19:00" - Faz o computador entrar em modo /etc/passwd.
monousuário (init 1) as 19:00 enviando a mensagem A
manutenção do servidor será iniciada í s 19:00 a todos ❖ WHICH
os usuários conectados ao sistema.
ATENÇÃO: Mostra a localização de um
"shutdown -r 15:00 O sistema será reiniciado as 15:00 arquivo executável no sistema. A pesquisa
horas" - Faz o computador ser reiniciado (init 6) as de arquivos executáveis é feita através do
15:00 horas enviando a mensagem O sistema será path do sistema.
reiniciado as 15:00 horas a todos os usuários
conectados ao sistema. which [comando]
Exemplos: which ls, which shutdown, which which.
shutdown -r 20 - Faz o sistema ser reiniciado após 20
minutos. ❖ WHEREIS
❖ TRACEROUTE ❖ WHOAMI
ATENÇÃO: Mostra o caminho percorrido ATENÇÃO: Mostra o nome que usou para
por um pacote para chegar ao seu destino. se conectar ao sistema. É útil quando você
Este comando mostra na tela o caminho usa várias contas e não sabe com qual
percorrido entre os Gateways da rede e o nome entrou no sistema :-)
tempo gasto de retransmissão.
Algumas distribuições Linux podem não reconhecer o ATENÇÃO: Mostra quem está atualmente
comando traceroute, caso isso aconteça use o seguinte conectado no computador. Este comando
código para que o shell reconheça o comando: lista os nomes de usuários que estão
conectados em seu computador, o terminal
sudo apt-get install traceroute e data da conexão.
Após executar esse comando o shell pede que você who [opções]
digite a senha de root, depois disso os pacotes onde:
necessários serão baixados. opções
usuário@host ❖ PING
Nome do usuário e endereço do computador
ATENÇÃO: Verifica se um computador
que deseja obter detalhes.
está disponível na rede. Este comando é
-l muito utilizado por alguns programas de
Mostra os detalhes de todos os usuários conexão e administradores para verificar se
conectados no momento. Entre os detalhes, uma determinada máquina está conectada
estão incluídos o nome do interpretador de na rede e também para verificar o tempo de
comandos (shell) do usuário, diretório resposta de cada máquina da rede.
home, nome do usuário, endereço, etc. Estes
dados são lidos de /etc/passwd. O ping envia pacotes ICMS ECHO_REQUEST para um
-p computador, este quando recebe o pacote envia uma
Não exibe o conteúdo dos resposta ao endereço de origem avisando que está
arquivos .plan e .project disponível na rede.
Se for usado sem parâmetros, mostra os dados de
todos os usuários conectados atualmente ao seu ping [opções][IP/DNS]
sistema. onde:
IP/dns
Exemplo: finger, finger root. Endereço IP ou nome DNS do endereço.
opções
❖ TELNET -c [num]
Envia num pacotes ao computador de destino.
-f
ATENÇÃO: Permite acesso a um
Flood ping. Envia novos pacotes antes de
computador remoto. É mostrada uma tela de
acesso correspondente ao computador local receber a resposta do pacote anterior. Para
onde deve ser feita a autenticação do cada requisição enviada, um "." é mostrado na
usuário para entrar no sistema. Muito útil, tela e para cada resposta recebida, um
mas deve ser tomado cuidados ao backspace é mostrado. Somente o usuário root
disponibilizar este serviço para evitar riscos pode utilizar esta opção e pode te auxiliar muito
de segurança. na detecção de erros de transmissão de
pacotes em interfaces das máquinas em sua
telnet [opções] [ip/dns] [porta] rede.
onde: -i [seg]
Aguarda [seg] segundos antes de enviar cada
ip/dns pacote.
Endereço IP do computador de destino ou -q
nome DNS. Não mostra as requisições enquanto são
porta enviadas, somente mostra as linhas de sumário
Porta onde será feita a conexão. Por padrão, a no inicio e término do programa.
conexão é feita na porta 23. -s [tamanho]
opções Especifica o tamanho do pacote que será
; -8 enviado.
Requisita uma operação binária de 8 bits. Isto -v, --verbose
força a operação em modo binário para envio e Saída detalhada, tanto os pacotes enviados
recebimento. Por padrão, telnet não usa 8 bits. como recebidos são listados.
-a Exemplo: ping 192.168.1.1, ping www.br.debian.org.
Tenta um login automático, enviando o nome
do usuário lido da variável de ambiente USER. ❖ NETSTAT
-d
Ativa o modo de debug.
-r ATENÇÃO: Mostra conexões de rede,
tabela de roteamento, estatísticas de
Ativa a emulação de rlogin.
interfaces, conexões masquerade, e
-l [usuário] mensagens.
Faz a conexão usando [usuário] como nome de
usuário. netstat [opções]
Onde:
Exemplo: telnet 192.168.1.1, telnet 192.168.1.1 23. opções
-i [interface]
Mostra estatísticas da interface [interface].
Opcionalmente o adduser também pode ser usado para Os dados do usuário são colocados no
adicionar um usuário a um grupo (veja [#s-cmdc-incluir arquivo /etc/passwd após sua criação e os dados do
grupo Adicionando o usuário a um grupo extra, Seção grupo são colocados no arquivo /etc/group.
12.10]). Será criado um diretório home com o nome do
usuário (a não ser que o novo usuário criado seja um OBSERVAÇÃO: Caso esteja usando senhas ocultas
usuário do sistema) e este receberá uma identificação. (shadow passwords), as senhas dos usuários serão
colocadas no arquivo /etc/shadow e as senhas dos
A identificação do usuário (UID) escolhida será a grupos no arquivo /etc/gshadow. Isto aumenta mais a
primeira disponível no sistema especificada de acordo segurança do sistema porque somente o usuário root
com a faixa de UIDS de usuários permitidas no arquivo pode ter acesso a estes arquivos, ao contrário do
de configuração /etc/adduser.conf. Este é o arquivo que arquivo /etc/passwd que possui os dados de usuários e
contém os padrões para a criação de novos usuários no devem ser lidos por todos.
sistema.
❖ ADDGROUP
adduser [opções] [usuário/grupo]
Onde:
usuário/grupo ATENÇÃO: Adiciona um novo grupo de
Nome do novo usuário que será adicionado ao usuários no sistema.
sistema.
opções
-disable-passwd addgroup [usuário/grupo] [opções]
Não executa o programa passwd para escolher
a senha e somente permite o uso da conta após
❖ PASSWD
o usuário escolher uma senha.
--force-badname
Desativa a checagem de senhas ruins durante ATENÇÃO: Muda a senha do usuário ou
a adição do novo usuário. Por padrão grupo. Um usuário somente pode alterar a
o adduser checa se a senha pode ser senha de sua conta, mas o superusuário
(root) pode alterar a senha de qualquer conta
facilmente adivinhada.
de usuário, inclusive a data de validade da
--group conta, etc. Os donos de grupos também
Cria um novo grupo ao invés de um novo podem alterar a senha do grupo com este
usuário. A criação de grupos também pode ser comando.
feita pelo comando addgroup.
-uid [num] Os dados da conta do usuário como nome, endereço,
Cria um novo usuário com a identificação [num] telefone, também podem ser alterados com este
ao invés de procurar o próximo UID disponível. comando.
-gid [num]
Faz com que o usuário seja parte do grupo [gid] passwd [usuário/grupo] [opções]
ao invés de pertencer a um novo grupo que Onde:
será criado com seu nome. Isto é útil caso usuário
-h [tel] users
Muda o telefone residencial do usuário. Os nomes de usuários atualmente conectados ao
-o [outros] sistema são obtidos do arquivo /var/log/wtmp.
Muda outros dados do usuário.
❖ GROUPS
Caso o nome que acompanha as opções (como o nome
completo) contenha espaços, use "" para identifica-lo.
ATENÇÃO: Mostra os grupos que o
Exemplo: chfn -f "Nome do Usuário root" root
usuário pertence.
❖ ID
groups [usuário]
ATENÇÃO: Mostra a identificação atual do
usuário, grupo primário e outros grupos que Exemplo: groups, groups root
pertence.
❖ CHGRP
id [opções] [usuário]
ATENÇÃO: Muda o grupo de um
arquivo/diretório.
usuário
É o usuário que desejamos ver a identificação,
grupos primários e complementares.
opções chgrp [opções] [grupo] [arquivo/diretório]
-g, --group
Mostra somente a identificação do grupo grupo
primário. Novo grupo do arquivo/diretório.
-G, --groups arquivo/diretório
Mostra a identificação de outros grupos que Arquivo/diretório que terá o grupo alterado.
pertence. opções
-n, --name -c, --changes
Mostra o nome do usuário e grupo ao invés da Somente mostra os arquivos/grupos que forem
identificação numérica. alterados.
-u, --user -f, --silent
Mostra somente a identificação do usuário Não mostra mensagens de erro para
(user ID). arquivos/diretórios que não puderam ser
-r, --real alterados.
Mostra a identificação real de usuário e grupo, -v, --verbose
ao invés da efetiva. Esta opção deve ser usada Mostra todas as mensagens e arquivos sendo
junto com uma das opções: -u, -g, ou -G. modificados.
-R, --recursive
Caso não sejam especificadas opções, id mostrará Altera os grupos de arquivos/sub-diretórios do
todos os dados do usuário. diretório atual.
Exemplo: id, id -user, id -r -u.
❖ CHOWN
❖ LOGNAME
ATENÇÃO: Muda dono de um
ATENÇÃO: Mostra seu login (username). arquivo/diretório. Opcionalmente pode
também ser usado para mudar o grupo.
Mostra os arquivos enquanto são alterados. A coluna Module indica o nome do módulo que está
-f, --supress carregado, a coluna Used mostra qual módulos está
Não mostra mensagens de erro durante a usando aquele recurso. O parâmetro (autoclean) no
execução do programa. final da coluna indica que o módulo foi carregado
-c, --changes manualmente (pelo insmod ou modprobe) ou através
Mostra somente arquivos que forem alterados. do kmod e será automaticamente removido da memória
-R, --recursive quando não for mais usado.
Altera dono e grupo de arquivos no diretório
atual e sub-diretórios. ❖ INSMOD
O dono.grupo pode ser especificado usando o nome de
ATENÇÃO: Carrega um módulo
grupo ou o código numérico correspondente ao grupo
manualmente. Para carregar módulos que
(GID). dependem de outros módulos para que
funcionem, você duas opções: Carregar os
Você deve ter permissões de gravação no módulos manualmente ou usar
diretório/arquivo para alterar seu dono/grupo. o modprobe que verifica e carrega as
dependências correspondentes.
sintaxe: modprobe [módulo] [opções_módulo] As modificações feitas por este programa são gravadas
no diretório /etc/modutils em arquivos separados
módulo como /etc/modutils/alias - alias de
É o nome do módulo que será carregado. módulos, /etc/modutils/modconf - opções usadas por
módulos, /etc/modutils/paths - Caminho onde os
opções_módulo módulos do sistema são encontrados. Dentro
Opções que serão usadas pelo módulo. Variam de /etc/modutils é ainda encontrado um sub-diretório
de módulo para módulo, alguns precisam de chamado arch que contém opções específicas por
opções outros não, tente primeiro carregar sem arquiteturas.
opções, caso seja mostrada uma mensagem
de erro verifique as opções usadas por ele. A sincronização dos arquivos gerados
pelo modconf com o /etc/modules.confé feita através
Nem todos os módulos são carregados corretamente do utilitário update-modules. Ele é normalmente
pelo modprobe, o plip, por exemplo, mostra uma executado após modificações nos módulos feitas
mensagem sobre porta I/O inválida, mas não caso seja pelo modconf.
carregado pelo insmod.
❖ GZIP
❖ DEPMOD
ATENÇÃO: É praticamente o compactador
ATENÇÃO: Verifica a dependência de padrão do GNU/Linux, possui uma ótima
módulos. As dependências dos módulos são taxa de compactação e velocidade. A
verificadas pelos scripts em /etc/init.d usando o extensão dos arquivos compactados
comando depmod -a e o resultado gravado no pelo gzip é a .gz, na versão
arquivo /lib/modules/versao_do_kernel/module para DOS, Windows NT é usada a
s.dep. extensão .z.
Esta checagem serve para que todas as dependências gzip [opções] [arquivos]
de módulos estejam corretamente disponíveis na
inicialização do sistema. O comportamento arquivos
do depmodpode ser modificado através do Especifica quais arquivos serão compactados
arquivo /etc/modules.conf. É possível criar a pelo gzip. Caso seja usado um -, será
dependência de módulos imediatamente após a assumido a entrada padrão. Curingas podem
compilação do kernel digitando depmod -a ser usados para especificar vários arquivos de
[versão_do_kernel]. uma só vez.
O uso da opção -[número] permite especificar uma acrescenta arquivos ao arquivo compactado.
compactação individualmente usando números entre 1 Deve ser executado no mesmo diretório onde o
(menor compactação) e 9 (melhor compactação). É útil programa zip foi executado anteriormente.
para buscar um bom equilibro entre taxa de -F
compactação/velocidade (especialmente em Repara um arquivo .zip danificado.
computadores muito lentos). -[NUM]
Ajusta a qualidade/velocidade da
Quando um arquivo é compactado pelo gzip, é compactação. Pode ser especificado um
automaticamente acrescentada a extensão .gz ao seu número de 1 a 9. O 1 permite mínima
nome. compactação e máxima velocidade, 9 permite
uma melhor compactação e menor velocidade.
O gzip também reconhece arquivos compactados pelos -i [arquivos]
programas zip, compress, compress -H e pack. As Compacta somente os [arquivos]
permissões de acesso dos arquivos são também especificados.
armazenadas no arquivo compactado. -j
Exemplos: Se especificado, não armazena caminhos de
diretórios.
• gzip -9 texto.txt - Compacta o -m
arquivo texto.txt usando a compactação Apaga os arquivos originais após a
máxima (compare o tamanho do arquivo compactação.
compactado usando o comando ls -la). -T [arquivo]
• gzip -d texto.txt.gz - Descompacta o Procura por erros em um arquivo .zip. Caso
arquivo texto.txt sejam detectados problemas, utilize a opção -F
• gzip -c texto.txt.gz - Descompacta o para corrigi-los.
arquivo texto.txt para a tela -y
• gzip -9 *.txt - Compacta todos os arquivos que Armazena links simbólicos no arquivo .zip. Por
terminam com .txt padrão, os links simbólicos são ignorados
• gzip -t texto.txt.gz - Verifica o durante a compactação.
arquivo texto.txt.gz. -k [arquivo]
Modifica o [arquivo] para ter compatibilidade
total com o pkzip do DOS.
❖ ZIP
-l
Converte saltos de linha UNIX (LF) para o
ATENÇÃO: Utilitário de compactação formato CR LF (usados pelo DOS). Use esta
compatível com pkzip (do DOS) e trabalha opção com arquivos Texto.
com arquivos de extensão .zip. Possui uma
-ll
ótima taxa de compactação e velocidade no
processamento dos arquivos compactados Converte saltos de linha DOS (CR LF) para o
(comparando-se ao gzip). formato UNIX (LF). Use esta opção com
arquivos texto.
zip [opções] [arquivo-destino] [arquivos-origem] -n [extensão]
Não compacta arquivos identificados por
arquivo-destino [extensão]. Ele é armazenado sem
Nome do arquivo compactado que será gerado. compactação no arquivo .zip, muito útil para
arquivos-origem uso com arquivos já compactados.
Arquivos/Diretórios que serão compactados.
Podem ser usados curingas para especificar Caso sejam especificados diversas extensões de
mais de um arquivo de uma só vez. arquivos, elas devem ser separadas por : - Por
exemplo, zip -n .zip:.tgz arquivo.zip *.txt.
opções
-r -q
Compacta arquivos e sub-diretórios. Não mostra mensagens durante a
-e compactação do arquivo.
Permite encriptar o conteúdo de um -u
arquivo .zip através de senha. A senha será Atualiza/adiciona arquivos ao arquivo .zip
pedida no momento da compactação. -X
-f Não armazena detalhes de permissões, UID,
Somente substitui um arquivo compactado GID e datas dos arquivos.
existente dentro do arquivo .zipsomente se a
versão é mais nova que a atual. Não
rar [ações] [opções] [arquivo-destino.rar] [arquivos- executar o arquivo e ele será automaticamente
origem] descompactado. Note que este processo
requer que o arquivo default.sfxesteja presente
arquivo-destino.rar no diretório home do usuário. Use o
É o nome do arquivo de destino comando find para localiza-lo em seu sistema.
y
arquivos-origem Assume sim para todas as perguntas
Arquivos que serão compactados. Podem ser r
usados curingas para especificar mais de um Inclui sub-diretórios no arquivo compactado
arquivo. x [ARQUIVO]
ações Processa tudo menos o [ARQUIVO]. Pode ser
a usados curingas
Compacta arquivos v[TAMANHO]
x Cria arquivos com um limite de tamanho. Por
Descompacta arquivos padrão, o tamanho é especificado em bytes,
d mas o número pode ser seguido de k (kilobytes)
Apaga arquivos especificados ou m(megabytes).
t Exemplo: rar a -v1440k ... ou rar a -v10m ...
Verifica o arquivo compactado em busca de p [SENHA]
erros. Inclui senha no arquivo. CUIDADO, pessoas
c conectadas em seu sistema podem capturar a
Inclui comentário no arquivo compactado linha de comando facilmente e descobrir sua
r senha.
Repara um arquivo .rar danificado m [0-5]
Ajusta a taxa de compactação/velocidade de
l compactação. 0 não faz compactação alguma
Lista arquivos armazenados no arquivo (mais rápido) somente armazena os arquivos,
compactado 5 é o nível que usa mais compactação (mais
u lento).
Atualiza arquivos existentes no arquivo ed
compactado. Não inclui diretórios vazios no arquivo
m isnd
Compacta e apaga os arquivos de origem Ativa emissão de sons de alerta pelo programa
(move). ierr
e Envia mensagens de erro para stderr
Descompacta arquivos para o diretório atual inul
p Desativa todas as mensagens
Mostra o conteúdo do arquivo na saída padrão ow
rr Salva o dono e grupo dos arquivos.
Adiciona um registro de verificação no arquivo ol
s Salva links simbólicos no arquivo ao invés do
Converte um arquivo .rar normal em arquivo arquivo físico que o link faz referência.
auto-extráctil. Arquivos auto-extrácteis são mm[f]
úteis para enviar arquivos a pessoas que não Usa um método especial de compactação para
tem o programa rar. Basta executar o arquivo e arquivos multimídia (sons, vídeos, etc). Caso
ele será automaticamente descompactado for usado mmf, força o uso do método multimí-
(usando o sistema operacional que foi criado). dia mesmo que o arquivo compactado não seja
Note que esta opção requer que o deste tipo.
arquivo default.sfx esteja presente no diretório
home do usuário. Use o comando find para Os arquivos gerados pelo rar do GNU/Linux podem ser
localiza-lo em seu sistema. usados em outros sistemas operacionais, basta ter
opções o rarinstalado. Quando é usada a opção -v para a
o criação de múltiplos volumes, a numeração dos
Substitui arquivos já existentes sem perguntar arquivos é feita na
o- forma: arquivo.rar, arquivo.r00, arquivo.r01, etc,
Não substitui arquivos existentes durante a descompactação os arquivos serão pedidos
sfx em ordem. Se você receber a mensagem cannot modify
Cria arquivos auto-extrácteis. Arquivos auto- volume durante a criação de um arquivo .rar,
extrácteis são úteis para enviar arquivos a
pessoas que não tem o programa rar. Basta
provavelmente o arquivo já existe. Apague o arquivo de pacotes poderosa por qualquer pessoa e tem
existente e tente novamente. dezenas de opções que podem ser usadas em sua
execução ou configuradas no arquivo /etc/apt/apt.conf.
Exemplos: Explicarei aqui como fazer as ações básicas com o apt,
portanto se desejar maiores detalhes sobre suas
rar a texto.rar texto.txt - Compacta o opções, veja a página de manual apt-get.
arquivo texto.txt em um arquivo com o nome texto.rar
❖ DPKG
rar x texto.rar - Descompacta o arquivo texto.rar
ATENÇÃO: O dpkg (Debian Package) é o
rar a -m5 -v1400k textos.rar * - Compacta todos os
programa responsável pelo gerenciamento
arquivos do diretório atual, usando a compactação de pacotes em sistemas Debian.
máxima no arquivo textos.rar. Note que o tamanho
máximo de cada arquivo é 1440 para ser possível
grava-lo em partes para disquetes. Sua operação é feita em modo texto e funciona através
de comandos, assim caso deseje uma ferramenta mais
rar x -v -y textos.rar - Restaura os arquivos em múltiplos amigável para a seleção e instalação de pacotes,
volumes criados com o processo anterior. Todos os prefira o dselect (que é um front-end para o dpkg)
arquivos devem ter sido copiados dos disquetes para o
diretório atual antes de prosseguir. A opção -y é útil para Um nome de pacote tem a forma nome-
não precisar-mos responder yes a toda pergunta que versão_revisão.deb
o rarfizer.
Instalar pacotes
rar t textos.rar - Verifica se o arquivo textos.rar possui Use o comando: dpkg -i [NomedoPacote] (ou --install)
erros. para instalar um pacote em seu sistema.
A expressão deve ser o nome de um arquivo diretório :* ugoa - Controla que nível de acesso será
ou ambos que serão procurados na estrutura de mudado. Especificam, em ordem, usuário (u),
diretórios do sistema. Como a consulta por um grupo (g), outros (o), todos (a).
programa costuma localizar também sua página de ▪ -= - coloca a permissão, - retira a permissão do
manual, é recomendável usar "pipes" para filtrar a saí- arquivo e = define a permissão exatamente
da do comando. como especificado.
▪ rwx - r permissão de leitura do
Por exemplo, para listar os diretórios que contém o arquivo. wpermissão de gravação. x permissão
nome "cp": locate cp. Agora mostrar somente arquivos de execução (ou acesso a diretórios).
binários, usamos: locate cp|grep bin/
chmod não muda permissões de links simbólicos, as
PERMISSÕES DE ACESSOS permissões devem ser mudadas no arquivo alvo do link.
Também podem ser usados códigos numéricos octais
O Linux é um sistema operacional muito seguro, pois o para a mudança das permissões de acesso a
sistema trabalha com um modo de permissão que arquivos/diretórios.
protege o sistema de arquivos (File System) do acesso
indevido de pessoas ou programas não autorizados. DICA: É possível copiar permissões de acesso do
arquivo/diretório, por exemplo, se o
Comandos utilizados para atribuir permissões de arquivo teste.txt tiver a permissão de acesso r-xr----- e
acesso aos arquivos/diretórios. você digitar chmod o=u, as permissões de acesso dos
outros usuários (o) serão idênticas ao do dono (u).
❖ chmod (modo literal) Então a nova permissão de acesso do
❖ chmod (modo octal) arquivo teste.txt será r-xr-r-x
❖ umask
Exemplos de permissões de acesso:
❖ CHMOD chmod g r *
Permite que todos os usuários que pertençam
ATENÇÃO: Muda a permissão de acesso ao grupo dos arquivos (g) tenham ( )
a um arquivo ou diretório. Com este permissões de leitura (r) em todos os arquivos
comando você pode escolher se usuário ou do diretório atual.
grupo terá permissões para ler, gravar,
executar um arquivo ou arquivos. Sempre chmod o-r teste.txt
que um arquivo é criado, seu dono é o Retira (-) a permissão de leitura (r) do
usuário que o criou e seu grupo é o grupo do
arquivo teste.txt para os outros usuários
usuário (exceto para diretórios configurados
com a permissão de grupo "s", será visto (usuários que não são donos e não pertencem
adiante). ao grupo do arquivo teste.txt).
Digite umask sem parâmetros para retornar o valor de ❖ x: Permissão para executar um arquivo, se for
sua umask atual. um arquivo binário ou um script; e se for um
diretório permitir acesso a ele através do
A umask tem efeitos diferentes caso o arquivo que comando cd <diretório>
estiver sendo criado for binário.
As permissões de Leitura, Escrita e Execução definem
o acesso a um arquivo ou diretório pelo usuário
--------------------------------------------- proprietário (dono), grupo e outros usuários do
| | ARQUIVO | DIRETÓRIO | sistema:
| UMASK |----------------------| |
| | Binário | Texto | | ❖ Usuário: É o (dono) ou usuário proprietário do
|------------------------------|------------| arquivo ou criador do arquivo.
| 0 | r-x | rw- | rwx | ❖ Grupo: Usuários que fazem parte do grupo do
| 1 | r-- | rw- | rw- | proprietário.
| 2 | r-x | r-- | r-x | ❖ Outros: Não são os proprietários e nem
| 3 | r-- | r-- | r-- | fazem parte do grupo.
| 4 | --x | -w- | -wx |
| 5 | --- | -w- | -w- | O próximo passo agora é aprender como definir
| 6 | --x | --- | --x | permissões de acesso a um arquivo ou diretório.
| 7 | --- | --- | --- |
--------------------------------------------- Usando o comando “chmod” (modo literal)
Um arquivo texto criado com o comando umask 012; Dar e negar acesso a um arquivo ao Dono, Grupo, e
touch texto.txt receberá as permissões -rw-rw-r--, pois a Outros usuários do sistema pelo modo literal é a
0 (dono) terá permissões rw-, 1 (grupo), terá maneira mais fácil de se entender, pois vamos usar
permissões rw- e 2 (outros usuários) terão permissões letras para identificar os tipos de permissões:
r--. Um arquivo binário copiado com o comando umask
012;cp /bin/ls /tmp/ls receberá as permissões -r-xr-r-x ❖ u: (User) Proprietário do arquivo;
(confira com a tabela acima). ❖ g: (Group) Usuários que fazem parte do
grupo do proprietário;
Por este motivo é preciso um pouco de atenção antes ❖ o: (Others) Outros usuário que não é o dono
de escolher a umask, um valor mal escolhido poderia e nem faz parte do grupo;
causar problemas de acesso a arquivos, diretórios ou ❖ a: (All) Todos, faz referência ao (User, group
programas não sendo executados. O valor padrão da e Others).
umask na maioria das distribuições atuais é 022. A
umask padrão no sistema Debian é a 022 . Vamos utilizar também os símbolos [+] , [-] e [=] para
atribuir uma permissão:
A umask é de grande utilidade para programas que
criam arquivos/diretórios temporários, desta forma ❖ +: Adicionar permissão
pode-se bloquear o acesso de outros usuários desde a ❖ -: Remover permissão
❖ =: Igualar permissão
criação do arquivo, evitando recorrer ao chmod .
Para atribuir a permissão ao arquivo vamos utilizar o
comando chmod:
Tipos de Permissões ❖ chmod [options] mode <arquivo>
No Linux existem três tipos de permissão para interagir Vamos pôr a mão na massa, abaixo vou descrever
os acessos a um arquivo/diretório com o usuário: alguns exemplos de como atribuir permissão pelo
modo literal, depois é só praticar.
ATENÇÃO: Essas permissões são
sempre muito cobradas em questões Linux
nas principais provas de concursos rwx ATENÇÃO: Os principais questionamentos
(read), (write) e (execute) Poder de leitura, sobre alterar as permissões de acesso estão
escrita e execução. em adicionar uma permissão como (u+w)
adicionando o poder de escrita ao usuário ou
❖ r: Permissão de leitura para um arquivo; e (g-r) removendo do grupo o poder de leitura.
permitir listar o conteúdo de um diretório
através do comando ls <diretório>. COMANDO DEFINIÇÃO
❖ w: Permissão de gravação e exclusão para um
arquivo/diretório.
que todos, usuário, grupo e outros, terão controle que os outros usuários têm permissão apenas de leitura
absoluto sobre o arquivo ou diretório. também.
u g o A forma de se trabalhar com os valores em octal
Seria o mesmo que escrever: -rwx rwx rwx correspondente as permissões de acesso aos arquivos
7 7 7 e diretórios no ambiente Linux nunca foi tão fácil.
Vamos entender na prática!!
Veja por exemplo: Vamos alterar as permissões de
Vamos iniciar criando um arquivo com o nome acesso utilizando o modo octal, utilizando o comando
“arquivo.txt” no ambiente Linux para que possamos “chmod 777 arquivo.txt” como mostra a imagem
atribuir as permissões de acesso para ele. Com o abaixo.
comando “touch arquivo.txt” será criado um arquivo
de texto sem formatação como mostra a imagem
abaixo.
Exemplo da tabela: “chmod 640 processsos.txt” Após entender a diferença entre diretório e arquivo,
vamos verificar qual a Umask está definida em nosso
OBS3: Neste caso observe que o usuário tem o valor sistema, veja um exemplo abaixo:
(6) logo, o controle de permissão será apenas de leitura
e escrita correspondente a soma de (4+2). O grupo tem
o valor (4) que seria apenas a permissão de leitura (4).
Os outros usuários têm o valor (0) mostrando que não
teriam permissão de acesso a nada.
u g o
Seria o mesmo que escrever: -rw- r-- ---
6 4 0
Observe que a máscara padrão definida no sistema é
Umask (Máscara Padrão de Usuários) 0022, sendo assim, vamos verificar quais as
permissões esta Umask atribuirá aos diretórios e
Umask pode ser definida como máscara de usuário. arquivos criados no sistema.
Esta função padroniza a criação de diretórios e
arquivos, ou seja, quando você criar um novo diretório Vamos criar um arquivo com o comando “touch
ou arquivo no Linux, ele herdará da Umask definida no arquivo.txt” para saber como ficará as permissões
sistema, suas devidas permissões. para este arquivo sabendo que a Umask padrão é 0022.
Observe, para o “diretorio1”, esta Umask definiu as O Linux vai subtrair a máscara da permissão total de
permissões: “-rwxr-xr-x” criação, veja:
❖ rwx: para o usuário proprietário do diretório ❖ 777 (111-111-111) : Permissão máxima para
(dono). criação de Diretório.
❖ r-x: para o grupo do diretório. ❖ 022 (000-010-010) : Umask Desejada.
❖ r-x: para os outros usuários. ❖ 755 (111-101-101) : Permissão para
diretórios.
❖ 644 (110-100-100) : Permissão para arquivos.