Você está na página 1de 21

Sistema Operacional

Linux

Comandos Básicos

Prof. Alberto Viegas


alviegas@gmail.com
Visualizadores de texto
cat - Exibe na saída padrão (tela) o conteúdo de um arquivo.
cat [arquivo]
Ex.: cat /etc/passwd
more - Exibe na saída padrão (tela) o conteúdo de um arquivo, exibindo
uma tela de cada vez (ideal para arquivos extensos).
more [arquivo]
Ex.: more /etc/services

OBS.1: No canto inferior esquerdo podemos visualizar o percentual do


arquivo já exibido.
OBS.2: Para sair da visualização temos 3 opções:

Visualizar o arquivo por completo;


Atalho [CTRL +C] que envia um “sinal de controle de interrupção”;
Pressionando a tecla [q];
Visualizadores de texto
less - Exibe na saída padrão (tela) o conteúdo de um arquivo, permitindo a
paginação através de comandos.
less [arquivo]
Ex.: less/etc/services

OBS.1: No canto inferior esquerdo podemos visualizar as linhas exibidas, a


quantidade total de linhas e o percentual do arquivo já exibido.
OBS.2: Podemos “navegar” pelo arquivo através das setas ou pelas teclas [Page
Up] / [Page Down];
OBS.3: Para sair da visualização temos as mesmas opções que o “more”:
Visualizadores de texto
head - Exibe na saída padrão (tela) as dez primeiras linhas de um arquivo
(por padrão, porém, a quantidade pode ser especificada).
head[arquivo]
Ex.: head/etc/services

tail - Exibe na saída padrão (tela) as dez últimas linhas de um arquivo


(por padrão, porém, a quantidade pode ser especificada).
tail[arquivo]
Ex.: tail/etc/services
OBS.: Este comando é muito utilizado para a visualização de Logs em
tempo real, através do parâmetro “-f”. (Logs de sistema, acesso a
internet, monitoramento, suspeita de invasões ou ataques de força bruta,
etc...)
Ex.: tail-f /var/log/messages
Rediecionadores “>” e “>>”
Estes redirecionadores enviam a saída de um programa/comando para um arquivo
ou dispositivo, ao invés de exibir na saída padrão (tela), porém com uma
diferença:

Redirecionador “>”: Envia a saída para um arquivo ou dispositivo, porém, se o


arquivo já existir, o seu conteúdo é sobrescrito.
Ex.: ls -l /dev/ >/root/dispositivos.txt

Redirecionador “>>”: Envia a saída para um arquivo ou dispositivo, porém, se o


arquivo já existir, a saída do comando é ADICIONADAno final do arquivo
especificado.
Ex.: ls -l /dev/ >> /root/dispositivos.txt
Rediecionadores “<” e “<<”
Estes redirecionadores ao invés de “enviar” dados como o anterior, possuem a
função de “receber”.
Redirecionador “<”: Faz com que determinado comando receba algo como
entrada.
Ex.: more </etc/services(Ou seja, o mesmo que “more /etc/services”).
Ex.2: </etc/servicesless(Ou seja, uma forma bem diferente de visualizar o
arquivo, mas possui o mesmo retorno que “less/etc/services”).

Bom, na prática ele realmente é usado?SIM. Geralmente é utilizado quando


alguém deseja adicionar um “patch” (com alguma correção) antes da instalação
de algum software através do código fonte. (Linux Avançado).
Ex.: patch -p0 </software/patches/patch01(Exemplo da resposta acima).
Ex.: script-migra.sh </home/lista.txt(Exemplo da resposta acima).
Rediecionadores “<” e “<<”
Redirecionador - “<<”: Utilizado para determinar o final de um “bloco” de dados.
Ex.: cat>>arq.txt <<EOF(Um conteúdo será adicionado no arquivo
“arq.txt”, caso o mesmo exista, até a StringEOFser digitada).

$ cat >> lists.txt << EOF $ cat lists.txt


> abacate abacate
> laranja laranja
> abacaxi
abacaxi
> morango
> banana morango
> melancia banana
> EOF melancia
Redirecionadores de Erro“2>” e “2>>”
Estes redirecionadores enviam apenas os sinais de erro(stderr)da
saída de um programa/comando para um arquivo ou dispositivo,
ao invés de exibir na saída padrão (tela):

Redirecionador “2>”: Envia apenas os sinais de erro para um


arquivo ou dispositivo, porém, se o arquivo já existir, o seu
conteúdo é sobrescrito.
Ex.: ls -l /nao_existe 2> /root/log_erro.txt

Redirecionador “2>>”: Envia apenas os sinais de erropara um


arquivo ou dispositivo, porém, se o arquivo já existir, a saída
(apenas os erros) será ADICIONADAno final do arquivo.
Ex.: ls-l /nao_tem 2>> /root/log_erro.txt
Concatenação com o PIPE
QUEM É “/dev/null”??
O caminho “/dev/null” é um “bit bucket”(dispositivo nulo),
ou seja, lugar nenhum
O local é chamado por muitos de “buraco negro”.

O “/dev/null” é um arquivo especial que descarta toda


informação enviada para ele, além de não retornar
nenhuma informação caso seja acessado.

Ex: find / -name group 2> /dev/null


Concatenação com o PIPE
Concatenação de comandos nada mais é do que “pegar” a saída de
um comando e utilizá-la como “entrada” para o comando seguinte.

Para realizar a concatenação,


devemos utilizar dutos (duto = PIPE = | ).

Exemplo: vamos supor que desejamos listar um diretório com muitos


arquivos e gostaríamos de analisar calmamente a saída do comando.
Ex.: ls-l /etc| less
(Neste exemplo estamos listando o diretório “/etc” e seus atributos,
posteriormente, o uso do PIPE “|” possibilita utilizar a saída deste
comando como entrada do comando seguinte, no caso o “less”, de
forma a controlar a saída com as setas do teclado).
Conectores de Comandos
Para executar comandos em sequência, temos os seguintes conectores:

Ponto e vírgula “;” para execução de comandos em sequência:


Ex.: clear; cd/etc; cp-a services/root

Operador “&&” (AND), caso o primeiro comando execute com sucesso


(código de retorno = 0), o segundo comando também será executado:
Ex.: cd/Teste && rm-rf*

Operador “||” (OR), caso o primeiro comando não execute com sucesso
(código de retorno ≠0), o segundo comando será executado.
RESUMINDO, quando um dos comandos for executado com sucesso, os
comandos seguintes não são verificados:
Ex.: cd /home/Teste || mkdir/home/Teste
Filtros – Comando “grep”
grep - Pesquisa em arquivos ou em sua entrada padrão por uma
sequência de caracteres informada.
grep<opções> [string_ou_regex_desejada] [arquivo ou caminho]
Ex.: grep“root” /etc/passwd
Ex.: cat/etc/passwd| grep“root”

Os dois comandos acima apresentam o mesmo resultado (procura pela


string“root” dentro do arquivo “/etc/passwd”), porém, no primeiro exemplo
especificamos o arquivo e no segundo exemplo filtramos a sua entrada
padrão.

Com o comando “grep” (ou “egrep”), também podemos utilizar expressões


regulares, caracteres curinga e “meta caracteres” (expressões regulares),
criando inúmeras possibilidades.
Filtros – Comando “grep”
Uma opção muito utilizada é o “-r”, que nos permite realizar a busca de
uma determinada string de forma recursiva:
Ex.: grep -r root /etc

Lembre-se que podemos concatenar comandos, caso a saída seja


extensa.
Ex.: grep -r root /etc| more
Ex.: grep -r root /etc| less

Podemos verificar apenas os arquivos e diretórios que foram


criados/modificados em 2010:
Ex.: ls -l /etc| grep2010
Agora desejamos visualizar apenas os arquivoscriados/modificados em
2010:
Ex.: ls -l /etc| grep-v ^d | grep2010
Filtros – Comando “wc”
O comando “wc” (acrônimo de “wordcount”) realiza a contagem da
quantidade de linhas, palavras ou caracteres de um determinado arquivo
ou entrada padrão:
Ex.: ls-l /etc| wc-l

No exemplo acima, o “wc” tem como entrada padrão a listagem do diretório


“/etc”. O parâmetro “-l” realiza a contagem de linhas.
Ex.: cat/etc/passwd| wc-l
Ex.: wc -l /etc/passwd

Ambos acima realizam a contagem de linhas do arquivo “/etc/passwd”.


Vamos supor que desejamos saber a quantidade de subdiretórios contidos
em “/etc”
Ex.: ls -l /etc| grep^d | wc-l
Filtros – Comando “tr”
O comando “tr” traduz e/ou deleta caracteres da entrada padrão e
exibe o resultado como saída:
Ex.: cat/etc/passwd| tr: ;
No exemplo acima, o “tr” irá “traduzir” (converter) todos os
caracteres “:” para “;”.

Ex.: ls -l /etc| tr-s “ ”


O “tr” também “comprime” (squeeze) caracteres repetidos. No
exemplo acima, todos os locais que houver mais de um espaço são
removidos (execute em sua VM para testar).
Filtros – Comando “sort”
O comando “sort” ordena alfabeticamente um determinado arquivo
ou entrada padrão:
Ex.: cat /etc/passwd| sort
Ex.: sort /etc/passwd
Ambos acima enviam para a saída padrão (tela) o conteúdo do
arquivo “/etc/passwd” em ordem alfabética.

Caso seja feita uma auditoria no setor de TI, solicitando uma lista
com todos os usuários que possuem “shellválido” no Linux...
Ex.: cat /etc/passwd| grep“/bin/bash” | cut-d ‘:’ -f 1 | sort
Ex.: sort /etc/passwd| grep“/bin/bash” | cut-d ‘:’ -f 1
Filtros – Comando “cut”

O comando “cut” exibe partes/seções de cada linha de um


determinado arquivo ou entrada padrão:
Ex.: cut -d: -f 1 /etc/passwd

O comando acima separa os dados contidos no arquivo


“/etc/passwd”, utilizando como delimitador de cada campo de
informação, o caractere ‘:’.
Compactadores
zip - Permite compactar arquivos no formato “zip” (Padrão PKZIP e Winziputilizado
no Windows).
zip <opções> [caminho_do_arquivo.zip] [arquivos_a_ser_compactados]
Ex.: zip -r dados.zip /etc/
O comando acima realiza a compactação do diretório “/etc” e todo o seu conteúdo,
dentro do novo arquivo de nome “dados.zip”.
O parâmetro “-r” permite compactar de forma recursiva.

unzip - Permite descompactar arquivos no formato “zip” ou apenas listar o


conteúdo contido no arquivo compactado (parâmetro “-l”).
unzip<opções> [caminho_do_arquivo.zip] <opções> <destino>
Ex.: unzipdados.zip
Descompacta o conteúdo de “dados.zip” no diretório corrente.
Ex.: unzipdados.zip -d /root/bkp-etc/
Descompacta o conteúdo de “dados.zip” no diretório “/root/bkp-etc”.
Compactadores
tar - Permite dois tipos de tarefas:
Empacotar dados em um arquivo sem realizar compactação
“efetivamente”;
Compactar/Descompactar arquivos utilizando o padrão “gzip”.

O objetivo de empacotar é viabilizar a distribuição de pacotes de


instalação de Softwares, publicando apenas um arquivo ao invés dos
diversos arquivos necessários para a instalação do Software.
Ao compactar/descompactar através do comando “tar”, podemos utilizar
três tipos de compactadores:
“gzip” - extensão “tar.gz” (mais utilizado e eficiente na compressão);
“bzip2” - extensão “tar.bz2”
“compress” - extensão “tar.Z”
Compactadores
tar - Sintaxe:
tar<opções> [arquivo] <opções || caminho_a_ser_compactado>
No próximo slide teremos exemplos de sintaxe. Portanto, vamos conhecer
as principais opções e possibilidades de uso:

c Compacta ou empacota dados em um novo arquivo;

x Extrai o conteúdo de um arquivo compactado;

t Lista o conteúdo de um arquivo compactado;

v Exibe na tela o que está sendo compactado ou descompactado;

p Preserva as permissões do arquivo de origem;

r Acrescenta arquivos dentro do pacote “tar”;

z Modo de operação com o comando compactador “gzip”;

Z Modo de operação com o comando compactador “compress”;

j Modo de operação com o comando compactador “bzip2”.

f Modo de operação com arquivos (o padrão é dispositivo de fita);

Você também pode gostar