Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

Linux - Linha de Comando
Laboratório de Fundamentos em 
Tecnologia da Informação – LFTTecnologia da Informação – LFT
Prof. Victor Thomaz
Linha de Comando
• Entrada de comandos e visualização em modo 
texto. 
• Utilize os programas: 
– terminal, console ou xterm– terminal, console ou xterm
2
man pages
• Manual que apresenta descrição das 
funcionalidades dos comandos e arquivos
• Entre as diversas distribuições Linux, os 
parâmetros e opções de comandos podem parâmetros e opções de comandos podem 
variar, assim o comando “man” é muito útil.
3Parte 01
man pages
• Uso:
– man 
– Digite man seguido de um comando para 
visualizar o “manual” de utilização do comando. visualizar o “manual” de utilização do comando. 
– Pressione a tecla q para fechar o manual. Algumas 
“man pages” contém exemplos (no final do texto).
• fulano@pc01:~$ man whois
– Reformatting whois(1), please wait...
4
man pages
• A maioria dos arquivos de configuração 
também possuem seu próprio manual.
• man 
• fulano@pc01:~$ man syslog.conf• fulano@pc01:~$ man syslog.conf
– Reformatting syslog.conf(5), please wait...
5
man pages
• Alguns processos “daemons” (programas que 
executam em background) também possuem 
“man pages”. 
• man • man 
– fulano@pc01 :~$ man syslogd
6
man pages
• man -k (apropos): man -k (or apropos) Apresenta várias 
descrições curtas onde a palavra especificada ( no 
exemplo a seguir “syslog”) foi encontrada no manual.
– fulano@pc01 :~$ man -k syslog
– fulano@pc01 :~$ apropos syslog
– lm-syslog-setup (8) - configure laptop mode to switch 
syslog.conf ...
– logger (1) - a shell command interface to the syslog(3) ...
– syslog-facility (8) - Setup and remove LOCALx facility for 
sysklogd
– syslog.conf (5) - syslogd(8) configuration file
– syslogd (8) - Linux system logging utilities.
– syslogd-listfiles (8) - list system logfiles
7
man pages
• whatis
– Apresenta somente uma breve descrição da 
página do manual. 
• fulano@pc01:~$ whatis route
– route (8) - show / manipulate the IP routing table
8
man pages
• whereis
– Apresenta a localização do arquivo que contém 
uma página do manual. Opção –m procura 
somente por seções do manual.somente por seções do manual.
• fulano@pc01:~$ whereis -m whois
– whois: /usr/share/man/man1/whois.1.gz
• Este arquivo pode ser chamado diretamente 
pelo comando man.
– fulano@pc01:~$ man /usr/share/man/man1/whois.1.gz
9
Diretórios
• Serão descritos os comandos mais comuns 
quando trabalhamos com diretórios. 
10Parte 02
Árvore de 
Diretórios
11
Descrição Principais Diretórios
12
Diretórios
• Diretório é uma pasta;
• Diretórios no Linux são organizados de acordo com o 
padrão FHS – Filesystem Hierarchy Standard 
(www.pathname.com/fhs);
• Diretórios:
• – /bin: Comandos (binários) essenciais acessíveis a qualquer
• usuário;
• – /sbin: Comandos (binários) essenciais administrativos;
• – /boot: Arquivos estáticos do gerenciador de inicialização e
• imagem do Kernel;
13
Diretórios
• /dev: Arquivos dispositivos (Hds, placa de som,
• placa de vídeo, mouse, etc, exceto placa de rede);
• /etc: Arquivos de configuração de sistema e de
• programas em geral;• programas em geral;
• /lib: Bibliotecas essenciais do sistema;
• /media: Ponto de montagem para dispositivos
• removíveis;
• /mnt: Ponto de montagem para sistemas de
• arquivos temporários;
14
Diretórios
• /opt: Pacotes de software adicionais (proprietários);
• /srv: Dados providos por serviços de rede do sistema;
• /var: Dados variáveis (por exemplo: arquivos de log, cache, spool de
• impressão etc);
• /home: Diretórios pessoais dos usuários;
• /root: Diretório pessoal do root;
• /usr: Hierarquia secundária do sistema:
– /usr/sbin: Binários administrativos não essenciais;
– /usr/bin: Binários não essenciais;
– /usr/lib: Bibliotecas não essenciais ao sistema;
– /usr/share/man: Documentação (manuais);
– /usr/src: Códigos-fonte, por exemplo: do Kernel
15
Diretórios
• /proc: 
– Armazena informações dinâmicas sobre o sistema operacional, como, 
processos, informações sobre entrada e saída, interrupções, modelo do 
processador, versão do kernel, quanto tempo a máquina está ligada, quais 
sistemas de arquivos suportados etc. Este diretório não existe no disco rígido e 
sim na memória RAM;
• /sys: 
– Sistema de arquivos virtual como o /proc mas que armazena e permite – Sistema de arquivos virtual como o /proc mas que armazena e permite 
modificações nos dispositivos conectados ao sistema;
• /lost+found: 
– Armazena arquivos recuperados pelo sistema;
• /run: 
– Informações sobre o sistema em execução desde o último boot , usuários logados e 
processos servidores em execução;
• /tmp: 
– Arquivos temporários que são limpos durante a inicialização;
16
Diretórios
• Caminhos de diretórios:
. diretório corrente
.. diretório pai.. diretório pai
/ diretório raiz
- diretório anterior
~ diretório home do usuário
17
Diretórios
18
Diretórios
• Comando pwd (Print Working Directory)
– Apresenta o diretório corrente.
– fulano@pc01:~$ pwd
/home/fulano/home/fulano
19
Diretórios
• Comando cd (Change Directory)
– Muda o diretório corrente.
– fulano@pc01:~$ cd /etc
fulano@pc01:~$ pwd
/etc
––
fulano@pc01:~$ cd /bin
fulano@pc01:~$ pwd
/bin
–
fulano@pc01:~$ cd /home/fulano/
fulano@pc01:~$ pwd
/home/fulano
20
Diretórios
• Comando cd sem especificar um diretório 
destino (ou cd ~) retorna para o diretório 
home do usuário.
– fulano@pc01:~$ cd /etc
fulano@pc01:~$ pwd
/etc/etc
– fulano@pc01:~$ cd
fulano@pc01:~$ pwd
/home/fulano
– fulano@pc01:~$ cd ~
fulano@pc01:~$ pwd
/home/fulano
21
Diretórios
• Comando cd .. move para o diretório do nível 
acima (diretório pai) na árvore de diretórios.
– fulano@pc01:~$ pwd
/usr/share/games
– fulano@pc01:~$ cd ..
– fulano@pc01:~$ pwd
/usr/share
22
Diretórios
• Comando cd - move para o diretório visitado 
por último.
– fulano@pc01:~$ pwd
/home/fulano
– fulano@pc01:~$ cd /etc– fulano@pc01:~$ cd /etc
fulano@pc01:~$ pwd
/etc
– fulano@pc01:~$ cd -
/home/fulano
– fulano@pc01:~$ cd -
/etc 23
Diretórios
• Caminho absoluto e relativo na árvore de 
diretórios.
• Caminho (path): indica uma localização única 
de arquivo ou diretório no sistema de 
arquivos.arquivos.
• Caminho absoluto: Localização específica a 
partir do diretório root ou raiz (/). É um 
caminho completo iniciando do diretório “/”.
• Caminho relativo: É um caminho a partir do 
diretório corrente (pwd - present working 
directory). 24
Diretórios
• Exemplo caminho absoluto:
– fulano@pc01:~$ pwd
/home/fulano
– fulano@pc01:~$ cd /var/log
– fulano@pc01:~$ pwd
/var/log/var/log
• Exemplo caminho relativo:
– fulano@pc01:~$ pwd
/var/log
– fulano@pc01:~$ cd apt
– fulano@pc01:~$ pwd
/var/log/apt 25
Diretórios
• Outro exemplo:
– Considere o diretório corrente “/etc/samba” e o 
usuário deseja ir para o diretório “/etc”.
– Usando caminho relativo:– Usando caminho relativo:
• fulano@pc01:~$ cd .. 
– Usando caminho absoluto:
• fulano@pc01:~$ cd /etc 
26
Diretórios
• Mais um exemplo:
– Considere o diretório corrente “/var/log” e o 
usuário deseja ir para o diretório “/var/opt”.
– Usando caminho relativo:– Usando caminho relativo:
• fulano@pc01:~$ cd ../opt 
– Usando caminho absoluto:
• fulano@pc01:~$ cd /var/opt 
27
Diretórios
• Tecla TAB
• É utilizada para ajudar a completar um 
caminho sem que o usuário digite todas as 
letras.
• Exemplo: Se o usuário está em “/var” e digita • Exemplo: Se o usuário está em “/var” e digita 
cd ba seguido da tecla TAB, o caminho é 
completado para cd backups.
• Obs.: cd Ba seguido da tecla TAB não 
completa o caminho devido a letra “B” 
maiúscula.
28
Diretórios
• Comando ls
• Lista o conteúdo de diretório
– fulano@pc01:~$ ls
allfiles.txt dmesg.txt services stuff summer.txt
fulano@pc01:~$fulano@pc01:~$
• Opção ls –a 
– Apresenta todos os arquivos inclusives os ocultos (estes 
possuemo nome iniciado com ponto “.”).
– fulano@pc01:~$ ls –a
. allfiles.txt .bash_profile dmesg.txt .lesshst stuf
.. .bash_history .bashrc services .ssh summer.txt
29
Diretórios
• Opção ls –l 
– fulano@pc01:~$ ls -l
total 17296
-rw-r--r-- 1 fulano alunos 17584442 Sep 17 00:03 allfiles.txt
-rw-r--r-- 1 fulano alunos 96650 Sep 17 00:03 dmesg.txt-rw-r--r-- 1 fulano alunos 96650 Sep 17 00:03 dmesg.txt
-rw-r--r-- 1 fulano alunos 19558 Sep 17 00:04 services
drwxr-xr-x 2 fulano alunos 4096 Sep 17 00:04 stuff
-rw-r--r-- 1 fulano alunos 0 Sep 17 00:04 summer.txt
30
Diretórios
• Opção ls –lh 
– Apresenta um formato mais amigável para os tamanhos de 
arquivos e diretórios.
– fulano@pc01:~$ ls –lh
total 17M
-rw-r--r-- 1 fulano alunos 17M Sep 17 00:03 allfiles.txt
-rw-r--r-- 1 fulano alunos 95K Sep 17 00:03 dmesg.txt
-rw-r--r-- 1 fulano alunos 20K Sep 17 00:04 services
drwxr-xr-x 2 fulano alunos 4.0K Sep 17 00:04 stuff
-rw-r--r-- 1 fulano alunos 0 Sep 17 00:04 summer.txt
31
Diretórios
• Significado de cada parte:
• `-rwxr-xr--' � São as permissões de acesso ao arquivo teste. A primeira letra 
(da esquerda) identifica o tipo do arquivo, se tiver um `d' é um diretório, se tiver 
um "-" é um arquivo normal. 
• `1' � Se for um diretório, mostra a quantidade de sub-diretórios existentes dentro • `1' � Se for um diretório, mostra a quantidade de sub-diretórios existentes dentro 
dele. Caso for um arquivo, será 1. 
• `fulano' � Nome do dono do arquivo ` allfiles.txt '. 
• `alunos' � Nome do grupo que o arquivo ` allfiles.txt ' pertence. 
• `17M' � Tamanho do arquivo (em bytes). 
• `Sep' � Mês da criação/ última modificação do arquivo. 
• `4' � Dia que o arquivo foi criado. 
• ` 00:03 ' � Hora em que o arquivo foi criado/modificado. Se o arquivo foi 
criado há mais de um ano, em seu lugar é mostrado o ano da criação do arquivo. 
• ` allfiles.txt ' � Nome do arquivo.
32
Diretórios
• Comando mkdir
– Cria um novo diretório.
– É preciso especificar pelo menos um 
parâmetro, o “nome do diretório” que o usuário 
deseja ☺.
• fulano@pc01:~$ mkdir meudir• fulano@pc01:~$ mkdir meudir
fulano@pc01:~$ cd meudir
fulano@pc01:~/meudir$ ls -al
total 8
drwxr-xr-x 2 fulano alunos 4096 Sep 17 00:07 .
drwxr-xr-x 48 fulano alunos 4096 Sep 17 00:07 ..
33
Diretórios
• Comando mkdir -p
– Cria um novo diretório e subdiretórios.
• fulano@pc01:~$ mkdir –p meudir/meudir2/meudir3
fulano@pc01:~$ cd meudir
fulano@pc01:~$ ls -l 
total 4
drwxr-xr-x 2 fulano alunos 4096 Fev 23 16:04 meudir2drwxr-xr-x 2 fulano alunos 4096 Fev 23 16:04 meudir2
• OBS.: Na resposta do comando “ls -l” o número “2” após as 
permissões indica que o diretório corrente “meudir” possui 
dois subdiretórios (“meudir2” e “meudir3”), que foram 
criados com o comando “mkdir -p” anterior.
34
Diretórios
• Comando rmdir
– Remove um diretório vazio. O usuário deve ter 
permissão de gravação e ainda é necessário que esteja 
um nível acima do diretório que será removido.
– fulano@pc01:~/meudir/meudir2$ rmdir meudir3
fulano@pc01:~/meudir/meudir2$ cd ..
fulano@pc01:~/meudir$ rmdir meudir2fulano@pc01:~/meudir$ rmdir meudir2
rmdir: failed to remove ‘meudir2’: Directory not empty
35
Diretórios
• Comando rmdir -p
– Remove diretórios e subdiretórios vazios
recursivamente. O usuário deve ter permissão de 
gravação e ainda é necessário que esteja um nível acima 
dos diretórios que serão removidos.
– fulano@pc01:~$ rmdir -p /meudir/meudir2/meudir3– fulano@pc01:~$ rmdir -p /meudir/meudir2/meudir3
• OBS.: Para remover diretórios que contenham 
arquivos, use o comando `rm' com a opção `-r'
36
Exercícios
• 1. Indique seu diretório atual.
• 2. Mude para o diretório /etc/apt.
• 3. Agora mude para o diretório home digitando apenas um comando.
• 4. Vá para o diretório / boot / grub digitando apenas um comando.
• 5. Vá para o diretório pai do diretório atual.
• 6. Vá para o diretório raiz digitando apenas um comando.
• 7. Liste o conteúdo do diretório raiz.
• 8. Liste o conteúdo detalhado do diretório raiz.
• 9. Liste o conteúdo de /etc a partir de outro diretório.• 9. Liste o conteúdo de /etc a partir de outro diretório.
• 10. Liste o conteúdo de ~ a partir de outro diretório.
• 11. Liste todos os arquivos (incluindo arquivos ocultos) em seu diretório pessoal.
• 12. Liste os arquivos em / boot em um formato legível humano ☺ .
• 13. Criar um diretório chamado testedir em seu diretório pessoal.
• 14. Mude para o diretório / etc, permaneça nele e crie um diretório chamado novodir em seu diretório 
pessoal.
• 15. Crie em com um só comando os diretórios ~/dir1/dir2/dir3 (dir3 é um subdiretório de dir2,
• e dir2 é um subdiretório de dir1).
• 16. Remova o diretório testedir.
• 17. Utilize o terminal para encontrar informações sobre os comandos pushd e popd. Use man page 
para o comando bash. 37
Arquivos
• A seguir serão apresentados comandos úteis 
para reconhecer, criar, remover, copiar e 
mover arquivos.
38
Arquivos
• Case Sensitive
– Os arquivos no Linux (ou qualquer Unix) diferem 
as letras maiúsculas de minúsculas nos nomes dos 
arquivos (e diretórios). Isto significa que arquivos (e diretórios). Isto significa que 
ARQUIVO1 é diferente de arquivo1 e que 
/etc/hosts é diferente de /etc/Hosts.
39
Arquivos
• Tudo é um arquivo no Linux
– Um diretório é um tipo especial de arquivo (case 
sensitive). 
– Cada janela de terminal (por exemplo /dev/pts/4), – Cada janela de terminal (por exemplo /dev/pts/4), 
qualquer disco rígido ou partição (por exemplo 
/dev/sdb1). 
– Qualquer processo são todos representados em 
algum lugar do Sistema de Arquivos como um 
arquivo.
40
Arquivos
• Extensões
– O Linux não usa extensões “.txt”, “.pdf” entre outras para 
determinar o tipo de arquivo.
• Comando file
– É possível usar o comando file para descobrir o tipo de – É possível usar o comando file para descobrir o tipo de 
arquivo.
– fulano@pc01:~$ file foto01.png
foto01.png: PNG image data, 3840 x 1200, 8-bit/color RGBA, non-interlaced
– fulano@pc01:~$ file /etc/hosts
/etc/passwd: ASCII text
– fulano@pc01 :~$ file HelloWorld.c
HelloWorld.c: ASCII C program text 41
Arquivos
• O comando file utiliza um arquivo que contém 
vários padrões que são utilizados para o 
reconhecimento dos diversos tipo de arquivo.
• O arquivo está localizado em “/usr/share/file” • O arquivo está localizado em “/usr/share/file” 
com o nome de “magic.mgc”
• fulano@pc01:~$ file –s /proc/cpuinfo
/proc/cpuinfo: ASCII text, with very long lines
• A opção “-s” é utilizada quando para arquivos especiais, que 
são geralmente arquivos de sistema.
42
Arquivos
• Comando touch
– Cria um arquivo novo e vazio quando o nome 
especificado não existe.
– fulano@pc01:~$ touch arq01fulano@pc01:~$ touch arq01
• Comando touch –t
– Altera da data e hora do arquivo para 01/10 e 12:30.
– fulano@pc01:~$ touch -t 10011230 arq01
– Altera da data, hora ano, e segundos do arquivo para 01/12/1999 e 
12:30:30.
– fulano@pc01:~$ touch -t 199912011220.30 arq01
– Formato [AAAAMMhhmm.ss]
43
Arquivos
• Comando rm
– O comando rm apaga um arquivo. Diferente da interface 
gráfica, na linha de comando não existe lixeira para 
recuperar o arquivo. O comando rm remove 
permanentemente o arquivo especificado.permanentemente o arquivo especificado.
– Também pode ser usado para apagar diretórios e sub-
diretórios vazios ou que contenham arquivos.
– fulano@pc01:~$ ls
texto.txt arq1 arq2 foto.jpg
fulano@pc01:~$ rm texto.txt
fulano@pc01:~$ ls
arq1 arq2 foto.jpg 
fulano@pc01:~$ 44
Arquivos
• Comando rm –i
– Previne a remoção acidental com pergunta de 
confirmação.
– fulano@pc01:~$ rm –i texto.txt
– rm: remover arquivo “texto.txt”? n
– rm: remover arquivo “texto.txt”? y 
45
Arquivos
• Comando rm –rf
– Remove diretórios, subdiretórios e arquivos neles 
contidos, se o usuário possuir as permissões para tal.
– Opções: 
• -r, --recursive: Usado para remover arquivos em sub-
diretórios. Esta opção tambémpode ser usada para 
46
diretórios. Esta opção também pode ser usada para 
remover sub-diretórios. 
• -f, --force: Remove os arquivos sem perguntar.
– fulano@pc01:~$ rm –rf dir01
Arquivos
• Comando cp
– Copia arquivo especificado.
fulano@pc01:~$ ls
arq01 texto.txt
fulano@pc01:~$ cp arq01 arq01.copia
fulano@pc01:~$ ls
arq01 arq01.copia texto.txt 
• Copiando para outro diretório• Copiando para outro diretório
– fulano@pc01:~$ ls
arq01 texto.txt
fulano@pc01:~$ mkdir dir02
fulano@pc01:~$ cp texto.txt dir02
fulano@pc01:~$ ls dir02/
texto.txt
– fulano@pc01:~$ cp * /tmp Copia todos os arquivos do diretório atual para 
/tmp. 
47
Arquivos
• Comando cp -r
– Copia arquivos dos diretórios e subdiretórios da 
origem para o destino.
– fulano@pc01:~$ cp –r /bin /temp
– Copia todos os arquivos e o diretório `/bin' para `/tmp'.
• Copiando vários arquivos ao mesmo tempo• Copiando vários arquivos ao mesmo tempo
– fulano@pc01:~$ cp arq1 arq1.copia texto.txt dir02
fulano@pc01:~$ ls dir02
arq1 arq1.copia texto.txt 
– Último parâmetro precisar ser um diretório
• Comando cp –i previne contra sobrescrita de 
arquivos.
48
Arquivos
• Comando mv
– Move ou renomeia arquivo ou diretório.
• Renomeando arquivo
– fulano@pc01:~$ ls
dir03 dir02 arq02 arq02.copy texto.txtdir03 dir02 arq02 arq02.copy texto.txt
fulano@pc01:~$ mv arq02 arq03
fulano@pc01:~$ ls
dir03 dir02 arq03 arq02.copy texto.txt 
fulano@pc01:~$ 
49
Arquivos
• Comando mv
– Move ou renomeia arquivo ou diretório.
• Renomeando diretórios
fulano@pc01:~$ ls –l
drwxr-xr-x 2 fulano alunos 4096 Oct 15 09:36 dir33drwxr-xr-x 2 fulano alunos 4096 Oct 15 09:36 dir33
fulano@pc01:~$ mv dir33 backup
fulano@pc01:~$ ls –l
drwxr-xr-x 2 fulano alunos 4096 Oct 15 09:36 backup
50
Arquivos
• Comando rename
– Renomeia arquivos. Este comando pode apresentar diferenças 
entre as distribuições Linux.
• Exemplos
fulano@pc01:~$ ls
abc.txt arq33.txt arq42.txt
fulano@pc01:~$ rename 's/\.txt/\.png/' *.txt
fulano@pc01:~$ ls
abc.png arq33.png arq42.png
• Parâmetro –n: Usado somente para testar sem realmente renomear os arquivos
fulano@pc01:~$ ls
abc.txt arq33.txt arq42.txt foto.jpg
fulano@pc01:~$ rename -n 's/\.txt/\.png/' *.txt
abc.txt remaned as abc.png
arq33.txt remaned as arq33.png
arq42.txt remaned as arq42.png
51
Arquivos
• Comando rename
– Renomeia arquivos. Este comando pode apresentar diferenças 
entre as distribuições Linux.
• Outro Exemplo
fulano@pc01:~$ ls
abc.txt arq77.txt arq22.txt
fulano@pc01:~$ rename 's/arq/file/' *.txt
fulano@pc01:~$ ls
abc.txt file77.txt file22.txt
• Mais um exemplo
– fulano@pc01:~$ rename 'y/a-z/A-Z/' *.html
– Converte as letras minúsculas em maiúsculas em todos os arquivos com 
a extensão .html.
• OBS.: Este comando utiliza expressões regulares (regex) para definir como 
renomear. Pesquise por Pearl expression e expressões regulares para 
aprender mais. 52
Exercícios
• 1. Liste o conteúdo do diretório /bin.
• 2. Mostre com apenas um comando os tipos de arquivos nos diretórios /bin/cat, /etc/passwd e 
/usr/bin/passwd.
• 3.1. Use o comando find para encontrar dois arquivos de tipos diferentes. Exemplo: find 
/usr/share/backgrounds –name “*.png” para encontrar arquivos .PNG ou find /boot/grub –name 
“*.txt” para encontrar arquivos com extensão .TXT.
• 3.2. Verifique os tipos dos dois arquivos encontrados com o comando anterior.
• 4. Crie um diretório chamado teste dentro do diretório home do usuário e entre no diretório teste.
• 5. Use o comando que cria arquivos vazios para criar os seguintes: hoje.txt e ontem.txt.
• 6. Altere a data do arquivo ontem.txt para a data de ontem.• 6. Altere a data do arquivo ontem.txt para a data de ontem.
• 7. Faça uma cópia do arquivo ontem.txt com o seguinte nome: copiaOntem.txt.
• 8. Renomeie o arquivo hoje.txt para hoje.doc usando o comando mv. 
• 9. Crie o diretório ~/testeBackup e copie todos os arquivos em ~/teste para dentro dele.
• 10. Use apenas um comando para remover o diretório ~/testeBackup e todos os arquivos contidos nele.
• 11. Crie o diretório ~/etcBackup e copie todos os arquivos com a extensão .conf (*.conf) do diretório 
/etc para o diretório recém criado.
• 12. Entre no diretório ~/etcBackup e renomeie todos os arquivos .conf para .backup.
53
Conteúdo de Arquivo
• Serão apresentados comandos para criação de 
arquivos, visualização de conteúdo e partes 
relevantes.
54
Conteúdo de Arquivo
• Comando head
– Mostra as linhas iniciais de um arquivo texto.
– Apresenta as quatro primeiras linhas
• fulano@pc01:~$ head –n 4 /etc/passwd• fulano@pc01:~$ head –n 4 /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
55
Conteúdo de Arquivo
• Comando head
– Mostra os primeiros bytes do arquivo texto.
– Apresenta os 14 primeiros bytes
• fulano@pc01:~$ head -c14 /etc/passwd• fulano@pc01:~$ head -c14 /etc/passwd
root:x:0:0:roo fulano@pc01:~$
56
Conteúdo de Arquivo
• Comando tail
– Semelhante ao comando head, mas apresenta o 
conteúdo do final do arquivo especificado.
– Apresenta as últimas quatro linhas– Apresenta as últimas quatro linhas
• fulano@pc01:~$ tail -4 /etc/services
tfido 60177/tcp # fidonet EMSI over telnet
fido 60179/tcp # fidonet EMSI over TCP
# Local services
57
Quatro 
linhas. 
Terceira em 
branco 
Conteúdo de Arquivo
• Comando cat
– Possibilita a visualização de conteúdos de 
arquivos. Trabalha copiando dados da standard 
input para standard output que combinado com o input para standard output que combinado com o 
shell apresenta diversas possibilidades de uso.
– Mostrando conteúdo de arquivo
• fulano@pc01:~$ cat /etc/ts.conf
58
Conteúdo de Arquivo
• Comando cat
– Pode ser utilizado para concatenar conteúdos de vários 
arquivos em apenas um.
– Concatenando conteúdo de arquivo: Usando o 
comando echo para direcionar texto para os arquivos.
• fulano@pc01:~$ echo one >part1• fulano@pc01:~$ echo one >part1
fulano@pc01:~$ echo two >part2
fulano@pc01:~$ echo three >part3
fulano@pc01:~$ cat part1
texto um
fulano@pc01:~$ cat part2
texto dois
fulano@pc01:~$ cat part3
texto três 
59
Conteúdo de Arquivo
• Comando cat
– Pode ser utilizado para concatenar conteúdos de vários 
arquivos em apenas um.
– Concatenando conteúdo de arquivo: Comando cat 
reúne o conteúdo de cada arquivo no arquivo tudoJunto.
• fulano@pc01:~$ cat parte1 parte2 parte3• fulano@pc01:~$ cat parte1 parte2 parte3
texto um
texto dois
texto três
fulano@pc01:~$ cat parte1 parte2 parte3 > tudoJunto
fulano@pc01:~$ cat tudoJunto 
texto um
texto dois
texto três 
60
Conteúdo de Arquivo
• Comando cat
– Também é possível criar um arquivo e adicionar texto 
ao mesmo através do comando cat.
– Exemplo
• fulano@pc01:~$ cat > texto.txt
Linhaum.
Linha dois.Linha dois.
Última linha.
– Após o comando cat o usuário pode digitar quantas 
linhas desejar teclando ENTER ao final de cada linha. 
Pressionando CTRL+D, após a última linha, finaliza a 
entrada de texto no arquivo. CTRL+D envia um sinal de 
End of File, que faz com que o comando cat finalize.
61
Conteúdo de Arquivo
• Comando cat
– Utilizando os sinais texto.txt texto.txt arq02.txt
• fulano@pc01:~$ cat arq02.txt
• Texto contido no arquivo 01 para ser copiado.
– Neste exemplo a palavra “termina” substitui “CTRL+D” 
para finalizar a entrada de texto no arquivo.
63
Conteúdo de Arquivo
• Comandotac
– Semelhante ao cat, mas mostra o conteúdo dos 
arquivos de trás para frente.
– Exemplo
• fulano@pc01:~$ tac texto.txt
Última linha
Linha dois.
Linha um.
64
Conteúdo de Arquivo
• Comando more ou less
– Permite a visualização quando o texto ocupa mais de 
uma tela no terminal. Teclando ESPAÇO o conteúdo é 
apresentado página por página e ainda com a tecla 
ENTER linha a linha. A tecla q é utilizada para sair. 
– Exemplo– Exemplo
• fulano@pc01:~$ more /etc/sysctl.conf
• fulano@pc01:~$ less /etc/kerneloops.conf
• fulano@pc01:~$ man find | more 
65
Conteúdo de Arquivo
• Comando strings
– Apresenta texto ASCII legível encontrado em arquivos 
binários. 
– Exemplo
• fulano@pc01:~$ strings /bin/ls
• /lib/ld-linux.so.2• /lib/ld-linux.so.2
librt.so.1
__gmon_start__
_Jv_RegisterClasses
clock_gettime
libacl.so.1
...
– Mostra os textos ASCII encontrados no arquivo binário 
do comando ls. 
66
Exercícios
• 1. Visualize as quatro primeiras linhas do arquivo /etc/services.
• 2. Mostre a última linha do arquivo /etc/passwd
• 3. Use o comando cat para criar um arquivo contendo 5 linhas chamado linhas.txt.
• 4. Use o comando cp para fazer uma cópia do arquivo linhas.txt do exercício anterior com o nome 
linhasCopia.txt.
• 5. Use o comando cat para fazer uma cópia do arquivo linhas.txt com o nome linhasCat.txt.
• 6. Visualize o conteúdo do arquivo linhasCat.txt em ordem inversa (da última para primeira linha).
• 7. Utilize o comando more para apresentar o conteúdo do arquivo /etc/services.
• 8. Mostre os caracteres legíveis do comando (arquivo executável) /usr/bin/passwd. 
• 9. Abra duas janelas do terminal (ou abas) e certifique-se que você está no mesmo diretório em
ambas. Digite “echo esta é a primeira linha > arq.txt” no primeiro terminal (sem as aspas), em seguida,” 
em seguida digite “tail –f arq.txt” no segundo terminal. Agora volte para o primeiro terminal e 
digite “echo Esta é outra linha >> arq.txt” (observe os símbolos >>), verifique se o tail -f no 
segundo terminal mostra ambas as linhas. Pare o tail -f com Ctrl+C. 10. Use o comando cat para criar um 
arquivo chamado arq.txt que contém o conteúdo de arq.txt seguido pelo conteúdo do arquivo 
/etc/passwd.
• 11. Use o comando cat para criar um arquivo chamado arq.txt que contém o conteúdo de /etc/passwd 
seguido do conteúdo arq.txt.
67
Redirecionamento
• Uma das vantagens da linha de comando 
Linux é o redirecionamento de entrada e 
saída. 
• Este recurso redireciona a saída padrão de um • Este recurso redireciona a saída padrão de um 
programa/comando/script para algum 
dispositivo ou arquivo ao invés do dispositivo 
de saída padrão (tela). Quando é usado com 
arquivos, este redirecionamento cria ou 
substitui o conteúdo do arquivo.
68
Redirecionamento
• Por padrão, a entrada do Shell é o teclado, a 
saída, a tela, e os erros são exibidos na tela 
também.
• Entrada de dados: representada por stdin (0);• Entrada de dados: representada por stdin (0);
• Saída de dados: representada por stdout (1);
• Saída de erros: representada por stderr (2);
69
Redirecionamento
• Shell bash
• Streams: stdin, stdout, and stderr
– Stream é uma abstração para controle do fluxo de 
dados de entrada e saída.dados de entrada e saída.
– stdin (stream 0) recebe dados de entrada, dados 
de saída são enviados para stdout (stream 1) e 
mensagens de erro vão para stderr (stream 2)
70
Redirecionamento
• stdin
– Geralmente associado ao teclado.
• stdout
– Envia dados para o vídeo.
• stderr• stderr
– Envia dados para o vídeo.
71
Redirecionamento
72
Redirecionamento
• Redirecionando dados para saída 1>
– Use o sinal “maior que” >. A notação > é a mesma 
que 1> (stdout referenciado como stream 1).
– fulano@pc01:~$ echo Hoje está chovendo.
Hoje está chovendo. 
fulano@pc01:~$ echo Hoje está chovendo. > tempo.txtfulano@pc01:~$ echo Hoje está chovendo. > tempo.txt
fulano@pc01:~$ cat tempo.txt
Hoje está chovendo. 
Quando Shell encontra o sinal de > o conteúdo de file é apagado.
73
Redirecionamento
• Redirecionando dados para saída 1>
– O arquivo (file) é sempre apagado quando o Shell encontra o >. 
Porém isto acontece antes da execução do comando (argumento 0), 
que abaixo é “zcho”. Ou seja, o arquivo “tempo.txt” é apagado antes 
de verificar se “zecho” é um comando válido.
– fulano@pc01:~$ cat tempo.txt
Hoje está chovendo. Hoje está chovendo. 
fulano@pc01:~$ zcho Hoje está chovendo. > tempo.txt
bash: zcho: command not found
fulano@pc01:~$ cat tempo.txt
74
Redirecionamento
• Redirecionando dados para saída 1>
– A ação de apagar o conteúdo anterior do arquivo (file) pode ser 
prevenida. Use a opção noclobber.
– fulano@pc01:~$ cat tempo.txt
Hoje está chovendo.
fulano@pc01:~$ set -o noclobber
fulano@pc01:~$ echo Hoje está chovendo. > tempo.txtfulano@pc01:~$ echo Hoje está chovendo. > tempo.txt
-bash: tempo.txt: cannot overwrite existing file
fulano@pc01:~$ set +o noclobber
– Neste caso o arquivo tempo não foi modificado.
75
Redirecionamento
• Acrescentando dados ao final de arquivo
– O sinal >> redireciona os dados para o final do arquivo especificado.
– fulano@pc01:~$ cat tempo.txt
fulano@pc01:~$ echo Hoje está chovendo. > tempo.txt
fulano@pc01:~$ cat tempo.txt
Hoje está chovendo.
fulano@pc01:~$ echo Mas ontem não choveu. >> tempo.txtfulano@pc01:~$ echo Mas ontem não choveu. >> tempo.txt
fulano@pc01:~$ cat tempo.txt
Hoje está chovendo. 
Mas ontem não choveu. 
– Os dados foram acrescentados ao final do arquivo e o conteúdo 
anterior foi mantido.
76
Redirecionamento
• Redirecionando erros 2>
– Útil para que os erros não apareçam na tela.
– Jogando fora os erros:
– fulano@pc01:~$ find / > allfiles.txt 2> /dev/null
– fulano@pc01:~$ cat tempo.txt
Hoje está chovendo.Hoje está chovendo.
fulano@pc01:~$ set -o noclobber
fulano@pc01:~$ echo Hoje está chovendo. > tempo.txt
-bash: tempo.txt: cannot overwrite existing file
fulano@pc01:~$ set +o noclobber
– Neste caso o arquivo tempo.txt não foi modificado.
77
Redirecionamento
• Redirecionando stdout e stderr para um mesmo 
arquivo 2>&1 
– fulano@pc01:~$ find / > todosArquivos_e_erros.txt 2>&1
• Ordem dos redirecionamentos é importante• Ordem dos redirecionamentos é importante
– fulano@pc01:~$ ls > listadir 2>&1
– fulano@pc01:~$ ls > 2>&1 > listadir
– OBS.: No segundo comando o stderr não será 
direcionado para o arquivo listadir.
78
Redirecionamento
• Enviando dados para um comando: > texto.txt
Terceira linha.
Quarta linha.
acabou
fulano@pc01:~$ cat texto.txt
Uma linha, 
outra linha. 
Terceira linha.
Quarta linha.
80
Marcador 
indicando o final 
do bloco
Pipe |
• Envia a saída de um comando para a entrada 
do próximo comando para continuidade do 
processamento. 
• Os dados enviados são processados pelo • Os dados enviados são processados pelo 
próximo comando que mostrará o resultado 
do processamento.
81
Pipe
• Este comando faz a listagem longa de 
arquivos que é enviado ao comando `more' 
(que tem a função de efetuar uma pausa a 
cada 25 linhas do arquivo).
– fulano@pc01:~$ ls -la | more
– fulano@pc01:~$ echo Victor | base64
VmljdG9yCg== 
• OBS.: Comando base64 codifica um texto conforme 
descrito na RFC 3548
82
Pipe
• Diferença entre o "|" e o ">“
• A principal diferença entre o "|" e o ">",é que 
o Pipe envolve processamento entre 
comandos, ou seja, a saída de um comando é comandos, ou seja, a saída de um comando é 
enviado a entrada do próximo e o ">“ 
redireciona a saída de um comando para um 
arquivo/dispositivo.
83
Filtros
• Comando grep: Um uso muito comum é utilizar 
este comando para filtrar linhas em arquivos.
– fulano@pc01:~$ cat tennis.txt
Justine Henin, BEL
Serena Williams, usa Serena Williams, usa 
Venus Williams, USA
– fulano@pc01:~$ cat tennis.txt | grep Williams
Serena Williams, usa 
Venus Williams, USA
– fulano@pc01:~$ grep Williams tennis.txt
Serena Williams, usa 
Venus Williams, USA
84
Filtros
• Comando grep: Filtro com “case sensitive”, opção -i.
– fulano@pc01:~$ cat tennis.txt
Justine Henin, BEL
Serena Williams, usa 
Venus Williams, USAVenus Williams, USA
– fulano@pc01:~$ grep -i usa tennis.txt
Serena Williams, usa 
– fulano@pc01:~$ ps aux | grep -i network
OBS.: O comando ”ps aux” exibe todos os processos em execução. O 
operador | redireciona os resultados do comando ”os” para comando ”grep”, 
que filtra as ocorrências de “network” do resultado. O parâmetro-i, faz com 
que o comando que ignore se as letras estão em maiúsculas/minúsculas.
85
Filtros
• Comando grep: Filtro com opção –v para ignorar o 
termo especificado.
– fulano@pc01:~$ cat tennis.txt
Justine Henin, BEL
Serena Williams, usa Serena Williams, usa 
Venus Williams, USA
– fulano@pc01:~$ grep -v BEL tennis.txt
Serena Williams, usa 
Venus Williams, USA
• Combinando opções “v” e “i”
– fulano@pc01:~$ grep –vi usa tennis.txt
Justine Henin, BEL
86
Filtros
• Comando cut: Extrai uma parte do texto 
selecionando por colunas.
– fulano@pc01:~$ cut –c3 tennis.txt
s
r 
n
– fulano@pc01:~$ cut –c1-3 tennis.txt – fulano@pc01:~$ cut –c1-3 tennis.txt 
Jus
Ser 
Ven
• Opções: 
– “c3” Seleciona o terceiro caractere de cada linha do arquivo. 
– “c1-3” Seleciona o intervalo entre o primeiro e terceiro caractere de cada linha 
do arquivo. 
87
Filtros
• Comando cut: Parâmetros “d” e “f”. “f” indica qual 
campo deve ser extraído enquanto que “d” 
especifica qual é o delimitador entre os campos. 
por colunas.
– fulano@pc01:~$ cut –d” ” –f2 tennis.txt
Henin,
Williams,Williams,
Williams,
– fulano@pc01:~$ grep “/bin/bash” | cut –d”:” -f1-3,5,7
root:x:0:root:bin/bash
fulano:x:1000:alunos,,,:/bin/bash 
• Opções: 
– “ d’ ‘ e f2 ” Divide cada linha do arquivo em várias colunas sepadas por e 
seleciona o campo da segunda coluna em cada linha. 
– “d’:’ e f1-3,5,7” Divide as colunas por “:” e seleciona os campos de 1 até 3 e ainda o 
quinto e sétimo campo de cada linha. grep retorna as linhas com “/bin/bash”. 
88
Filtros
• Comando wc: Conta linhas, palavras e caracteres 
em um arquivo.
• fulano@pc01 :~$ wc tennis.txt
3 9 62 tennis.txt
• fulano@pc01 :~$ wc -l tennis.txt• fulano@pc01 :~$ wc -l tennis.txt
3 tennis.txt
• fulano@pc01 :~$ wc -w tennis.txt
9 tennis.txt
• fulano@pc01 :~$ wc -c tennis.txt
62 tennis.txt
89
Filtros
• Comando sort: Apresenta conteúdo do arquivo em 
ordem específica.
• fulano@pc01 :~$ cat ordem.txt
carro 
zebra
automovelautomovel
• fulano@pc01 :~$ sort ordem.txt
automovel 
carro 
zebra
90
Filtros
• Comando sort: Opção de ordenação por coluna “-k” 
específica.
• fulano@pc01 :~$ cat tennis.txt
Justine Henin, BEL 
Serena Williams, usa
Venus Williams, USAVenus Williams, USA
Andre Agassi, EUA
• fulano@pc01 :~$ sort –k3 tennis.txt
Justine Henin, BEL 
Andre Agassi, EUA
Serena Williams, usa
Venus Williams, USA
91
Filtros
• Comando uniq: Remove informações duplicadas em 
um arquivo.
• Opções: 
– c : exibe o número de ocorrências de cada linha do arquivo.
– d : exibe apenas as linhas com mais de uma ocorrência onde cada 
linha é mostrada apenas uma vez.linha é mostrada apenas uma vez.
– D : exibe todas as linhas com mais de uma ocorrência. Se uma 
determinada linha possui duas ocorrências, ela é exibida duas 
vezes.
– i : ignora a diferença entre letras maiúsculas e letras minúsculas.
– u : exibe apenas as linhas que possuem uma única ocorrência.
Fonte: http://www.uniriotec.br/~morganna/guia/uniq.html 92
Filtros
• Comando uniq.
• fulano@pc01 :~$ cat teste.txt
aaaa
aaaa
AAAA
bbb
bbbbbbbbbb
cccc
CCCC 
• fulano@pc01 :~$ uniq teste .txt
aaaa
AAAA
bbb
bbbbb
cccc
CCCC 93
Filtros
• Comando comm: Compara conteúdo de streams ou arquivos 
separando em colunas. Coluna 1: Somente linhas do arquivo 1, Coluna 2: 
Somente linhas no arquivo 2 e Coluna 3: Linhas em ambos os arquivos.
• fulano@pc01 :~$ cat lista01.txt
automovel 
carro 
zebra
• fulano@pc01 :~$ cat lista02.txt• fulano@pc01 :~$ cat lista02.txt
automovel 
casa 
bicicleta
• fulano@pc01 :~$ comm lista01.txt lista02.txt
automovel
carro
zebra
casa
bicicleta
94
Filtros
• Comando od: Apresenta o conteúdo do arquivo em 
hexadecimal ou octal.
• fulano@pc01 :~$ cat > texto.txt
abcdefg
1234567
• Octal
fulano@pc01 :~$ od -b texto.txt
0000000 61 62 63 64 65 66 67 0a 31 32 33 34 35 36 37 0a0000000 61 62 63 64 65 66 67 0a 31 32 33 34 35 36 37 0a
0000020
• Hexadecimal
fulano@pc01 :~$ od -t x1 texto.txt
0000000 141 142 143 144 145 146 147 012 061 062 063 064 065 066 067 012
0000020 
• ascii
fulano@pc01 :~$ od -c texto.txt
0000000 a b c d e f g \n 1 2 3 4 5 6 7 \n
0000020 
95
Filtros
• Comando sed: stream editor, dado um stream de 
entrada, o comando sed modificar o stream por 
meio de expressões regulares.
• Exemplo 1: Substituindo os números do stream originado 
no comando echo.
– fulano@pc01 :~$ echo dir7 | sed 's/7/45/'– fulano@pc01 :~$ echo dir7 | sed 's/7/45/'
dir45
fulano@pc01 :~$ echo dir7 | sed 's/dir/diretorio/'
diretorio7
• OBS.: Pesquise sobre expressões regulares (regex) caso 
necessite de substituições mais complexas.
96
Filtros
• Comando sed: stream editor
• Exemplo 2: Adicione g (global) para substituir todas 
as ocorrências da string na linha. No exemplo 
seguinte substitui ocorrências de ‘dir’ por ‘diretorio’.seguinte substitui ocorrências de ‘dir’ por ‘diretorio’.
– fulano@pc01 :~$ echo dir5 dir7 | sed 's/dir/diretorio/'
diretorio5 dir7
– fulano@pc01 :~$ echo dir5 dir7 | sed 's/dir/diretorio/g'
diretorio5 diretorio7
97
Exemplos de Redirecionamento 
PIPE
• who | wc
– Quantos usuários estão logados no sistema ?
• fulano@pc01 :~$ who | wc –l
• who | cut | sort
– Lista ordenada de usuários logados.– Lista ordenada de usuários logados.
• fulano@pc01 :~$ who | cut -d' ' -f1 | sort
– Lista ordenada de usuários logados, mas sem repetir nomes.
• fulano@pc01 :~$ who | cut -d' ' -f1 | sort | uniq
• grep | cut
– Lista de contas de usuários “bash” no computador.
• fulano@pc01 :~$ grep bash /etc/passwd | cut -d: -f1
98
Exercícios
• 1. Salvar uma lista ORDENADA de usuários bash em usuarioBash.txt.
• 2. Salvar uma lista ORDENADA de usuários logados no sistema no arquivo 
usuariosLogados.txt.
• 3. Crie uma lista de todos os arquivos em /etc que contenham a string "conf" no nome do 
arquivo.
• 4. Crie uma lista ORDENADA de todos os arquivos em /etc que contenham a string "conf" no • 4. Crie uma lista ORDENADA de todos os arquivos em /etc que contenham a string "conf" no 
nome do arquivo e que não faça distinção entre letras maiúsculas e minúsculas.
• 5. Remova todos os carateres de pontuação, símbolos e etc de um texto.
99
Ferramentas Básicas
• Comando find: Localiza arquivos em um sistema 
Unix ou Linux. Procura por qualquer arquivo 
correspondente aos critérios de pesquisa 
fornecidos. Você pode procurar os arquivos por fornecidos. Você pode procurar os arquivos por 
nome, proprietário, grupo, tipo, permissões, 
data e outros critérios. A busca é recursiva em 
que ele irá procurar todos os subdiretórios 
também. Mostra a localização do arquivo. 
• OBS.: Pode demorar muito enquanto pesquisa.
100
Ferramentas Básicas
• Comando find
• Exemplos:
• Pesquisa os arquivos de nome “texto01.txt” a partir da raiz 
do sistema.
– fulano@pc01 :~$ find / -nametexto01.txt– fulano@pc01 :~$ find / -name texto01.txt
• Pesquisa por tipo: Diretório opção “-type d”
– fulano@pc01 :~$ find ~/Downloads -type d -name “p*”
• Com redirecionamento: Envia saída para arquivo e descarta 
os erros em /dev/null 
– fulano@pc01 :~$ find / -name “*.pdf” > lista.txt 2> /dev/null 
101
Ferramentas Básicas
• Comando find
• Exemplos:
• Pesquisa os arquivos criados mais recentemente que 
“texto01.txt” no diretório atual.
– fulano@pc01 :~$ find . -newer texto01.txt– fulano@pc01 :~$ find . -newer texto01.txt
• Faz uma cópia de todo arquivo “.doc” encontrado para o 
diretório “~/backup” por meio do comando “cp”.
– fulano@pc01 :~$ find ~/Downloads -name “*.doc” –exec cp {} 
~/backup/ \;
102
Ferramentas Básicas
• Comando locate: Também localiza arquivos, 
mas baseado em um índice (uma lista). Não 
faz uma pesquisa real no sistema de arquivos. 
• É mais rápido que o find, por causa do índice • É mais rápido que o find, por causa do índice 
mas o mesmo pode estar desatualizado. 
• Utilize o comando updatedb para atualizar o 
índice. 
103
Ferramentas Básicas
• Comando locate
• Exemplo:
• fulano@pc01 :~$ locate texto01.txt• fulano@pc01 :~$ locate texto01.txt
• OBS.: A maioria das distribuições executa o 
updatedb automaticamente um vez ao dia.
104
Ferramentas Básicas
• Comando date: Pode exibir a data, hora, fuso 
horário e etc.
• fulano@pc01 :~$ date
– Qua Mar 25 14:01:23 BRT 2015– Qua Mar 25 14:01:23 BRT 2015
• O formato de exibição da data pode ser personalizado. Veja manual 
(man) para mais opções.
– fulano@pc01 :~$ date +'%A %d-%m-%Y'
quarta 25-03-2015
• Quantidade de segundos desde 01/01/1970.
– fulano@pc01 :~$ date +%s
142730018
105
Ferramentas Básicas
• Comando cal: Apresenta um calendário.
• Exemplos:
– fulano@pc01 :~$ cal
• É possível visualizar datas do passado e futuro.• É possível visualizar datas do passado e futuro.
– fulano@pc01 :~$ cal 7 2015
106
Ferramentas Básicas
• Comando sleep: Aplica uma pausa durante um 
tempo especificado. Mais útil quando 
utilizado em scripts.
• Opções: • Opções: 
– s segundos (the default)
– m minutos.
– h horas.
– d dias.
• Exemplos:
– fulano@pc01 :~$ sleep 5
– fulano@pc01 :~$ sleep 1m
107
Ferramentas Básicas
• Comando time: Verifica o tempo de execução de um 
comando(programa) passado como argumento. Quando o 
comando finaliza, o comando time escreve uma mensagem 
dando estatísticas sobre a execução. Estas estatísticas 
consistem em:
– Tempo real decorrido entre a chamada e finalização;– Tempo real decorrido entre a chamada e finalização;
– Tempo de CPU do usuário;
– Tempo de CPU do sistema;
• Verifica o tempo de execução do comando “df”
• fulano@pc01 :~$ time df
real 0m2.368s
user 0m0.847s
sys 0m0.539s
108
Ferramentas Básicas
• Comandos gzip e gunzip: Os comandos gzip e gunzip 
comprimem e descomprimem arquivos especificados.
• Exemplo: Compactando
– fulano@pc01 :~$ ls -lh texto.txt
-rw-rw-r-- 1 fulano alunos 6.4M Apr 17 13:11 texto.txt-rw-rw-r-- 1 fulano alunos 6.4M Apr 17 13:11 texto.txt
fulano@pc01 :~$ gzip texto.txt
fulano@pc01 :~$ ls -lh texto.txt.gz
-rw-rw-r-- 1 fulano alunos 760K Apr 17 13:11 texto.txt.gz
• Exemplo: Descompactando
– fulano@pc01 :~$ gunzip texto.txt.gz
fulano@pc01 :~$ ls -lh texto.txt
-rw-rw-r-- 1 fulano alunos 6.4M Apr 17 13:11 texto.txt
109
Ferramentas Básicas
• Comandos zcat e zmore: Os arquivos de texto 
que são compactados com gzip podem ser 
vistos com zcat e zmore.
• fulano@pc01 :~$ zcat texto.txt
• fulano@pc01 :~$ zmore texto.txt
110

Mais conteúdos dessa disciplina