SlideShare uma empresa Scribd logo
1 de 148
Baixar para ler offline
Introdução ao Linux
Marcelo Gomes de Paula
marcelogomesp@gmail.com
Tux
2
Definição: Linux
Linux é um sistema operacional de código aberto distribuído
gratuitamente pela internet, criado em 1991 por Linus Torvalds na
universidade de Helsinki na Finlândia.
Mas, o que é um sistema operacional ?
3
Definição S.O.
É um conjunto de programas que fazem a
interface do usuário e seus programas com o
hardware.
4
Exemplos de S.O.
5
Definição: Distribuição Linux
Atualmente, o que é chamamos de “Linux” é o kernel + um conjuntos enorme
de software. Essa combinação resulta no que chamamos de Distribuições
Linux.
6
Exemplos de distribuições Linux
7
Aprender Linux?
Motivação ?
8
Motivação para usar o linux
● É livre;
● É gratuito;
● Não é vulnerável a vírus;
● Recebe apoio de grandes empresas como IBM, HP, Sun etc;
● Multitarefa e Multiusuário;
● Compatível várias plataformas Applet, Sparc, Alpha etc;
● Proteção entre processos executados na RAM;
● Modularização, somente é carrega para memória o que usado durante o
processamento;
● Não há necessidade de reiniciar o sistemas após cada modificação;
● Muitos programas de bioinformática foram construídos para rodar sobre
o Linux.
9
Interface gráfica
10
Console
11
SSH
SSH Secure Shell (shell segura) é um protocolo, que
permite a conexão com outro computador, de forma
a permitir a execução de comandos em uma máquina remota.
O SSH tem as mesmas funcionalidades que o telnet, mas apresenta a
vantagem de ter seu tráfego criptografado.
12
OpenSSH -Servidor
O OpenSSH é uma implementação do protocolo ssh.
Instalação do servidor
13
#apt-get install openssh-server
#service ssh start
OpenSSH Cliente -Linux
É provável que o openssh client já esteja instalado em
sua distribuição Linux, caso não esteja, você pode
instalar com os seguintes comandos:
Ubuntu, Debian
14
$sudo apt-get install openssh-client -y
$sudo yum install openssh-client -y
OpenSSH Cliente -Linux-Conectando
Para conectar com o ssh digite o seguinte comando:
Exemplo:
15
ssh USUARIO@ENDEREÇO_IP -p PORTA
ssh cvbioinfoXX@143107.223.250 -p 223
OpenSSH Cliente -Linux-Conectando
Após conectar, sua senha será solicitada.
Caso seja a primeira conexão com o servidor a seguinte mensagem
pode ser exibida:
Digite “yes”.
Importante: não pode ser apenas o “y” tem que ser “yes”
16
The authenticity of host '[XXX.XXX.XXX.XX]:XX
([XX.XXX.XXX.XX]:XX)' can't be established.
RSA key fingerprint is
57:74:cb:cd:cd:cd:cd:cd:cd:cd:cd:cb:cd:cd:cd:cd.
Are you sure you want to continue connecting (yes/no)?
OpenSSH Cliente -Linux-Conectando
17
Putty-SSH Cliente do Windows
Download em http://www.putty.org/
Não é necessário instalar, basta clicar duas vezes sobre o arquivo do Putty
para executar.
18
Putty-SSH Cliente do Windows
19
Putty-SSH Cliente do Windows
Informe aqui o
endereço IP
20
Putty-SSH Cliente do Windows
Informe aqui a porta
21
Putty-SSH Cliente do Windows
Garanta que a
opção SSH esteja
marcada
22
Putty-SSH Cliente do Windows
Clique em
“Open” para
iniciar a
conexão 23
SSH -Finalizar a conexão
Pressionar as teclas
“CRTL” + “D”
Ou digitar
exit
24
Endereço IP e Porta
25
01 -Atividade Prática
Utilizando o usuário e senha fornecida, conecte ao
servidor
Máquina: hammer.fcav.unesp.br
Porta: 22
Em seguida desconecte do mesmo.
Pode ser utilizando o Linux ou o Windows
26
01 -Atividade Prática
Utilizando o usuário e senha fornecida, conecte ao
servidor
Máquina: 143.107.223.250
Porta: 22
Em seguida desconecte do mesmo.
Pode ser utilizando o Linux ou o Windows
27
Anote este procedimento, pois
será utilizado diversas vezes ao
longo de todo o curso!!!!
Não só nesta aula.
Estrutura de diretórios
Para armazenar os dados de forma permanente no
computador, salvamos os mesmos no HD.
Para organizar os arquivos no HD, criamos diretórios
(também chamados de pastas Windows). Eu sou um
diretório
28
Estrutura de diretórios -No Windows
Eu sou o HD, no
Windows, você me
enxerga como C:
29
Estrutura de diretórios -No Windows
Dentro do C: você pode
criar vários diretórios, e
alguns são criados
durante a instalação do
Windows.
Os diretórios criados durante a instalação do S.O. são
chamados de estrutura padrão de diretórios.
30
Estrutura de diretórios -No Windows
Eu sou o HD, no
Windows, você
me enxerga
como C:
Eu sou o HD
secundário, no
Windows, você podem
me enxerga como D:
Quando outro disco é adicionado, uma nova letra é
associada aquele disco, exemplo D: E: etc
Também é possível
associar um HD a
um diretório, ou
dividir um HD, para
ser visto como se
fosse dois ou mais
HDs, mas não
vamos pensar sobre
isso agora.
31
Estrutura de diretórios -No Linux
Eu sou o HD,
no Linux, você
me enxerga
como /
32
Caminho absoluto e relativo
33
34
Comando: pwd
Se tenho vários diretórios e dentro de cada
diretório pode ter vários outros diretórios, como
posso saber em qual diretório estou ?
35
Comando: pwd
Se tenho vários diretórios, e dentro
de cada diretório pode ter vários
outros diretórios, como posso saber
em qual diretório estou ?
Use o comando
pwd
36
Comando: ls
Certo o pwd me mostra onde estou, mas como posso ver
o que tem no diretório que estou ?
Como posso mudar de diretório ?
Criar os meus diretórios?
37
Comando: ls
Para ver o conteúdo use o comando “ls”, para mudar de
diretório use o comando “cd” e para criar um diretório
use o comando “mkdir”.
Exemplo: para criar um diretório chamado teste, digite
mkdir teste
Para entrar no diretório digite
cd teste 38
02 -Atividade Prática
Conectar no servidor.
a) Verificar em qual diretório você está.
b) Verificar o conteúdo do diretório atual.
c) Criar um diretório, cujo o nome seja o seu sobrenome.
d) Entrar neste novo diretório criado.
e) Com ajuda do comando pwd, descubra o que faz o comando cd
quando digitado com as seguintes opções:
cd cd .. cd - cd /etc cd ~
f) Qual a diferença de digitar pwd (minúsculo) e PWD (maiúsculo)
39
Comando: mv
Se quiser renomear o diretório ?
mv NOME_ANTIGO NOVO_NOME
40
Comando: mv
Se quiser renomear o diretório ?
mv NOME_ANTIGO NOVO_NOME
O mv também pode
ser usado, para
mover um diretório
de um lugar para
outro.
41
03 -Atividade Prática
a) Crie 5 diretórios no seu home com o nome:
diretorio1, diretorio2, diretorio3, diretorio4, diretorio5
b) Mova o diretorio2 para dentro do diretorio1
c) Mova o diretorio3 para dentro do diretorio2
d) Mova o diretorio4 para dentro do diretorio3
e) Mova o diretorio5 para dentro do diretorio4
42
A atividade foi feita corretamente ?
43
Comando: rmdir
Como posso apagar um diretório que não uso mais ?
Ele só apaga diretório vazio
44
$rmdir DIRETÓRIO
Comando: rmdir
Como posso apagar um diretório que não uso mais ?
Ele só apaga diretório vazio
45
$rmdir DIRETÓRIO
04 -Atividade Prática
a) usando o comando rmdir remova
o diretorio1 criado na atividade 03.
46
Comando cp
Aprendemos a renomear e remover diretórios,
mas isso pode trazer problemas se fizermos algo errado, o
ideal seria fazermos um backup (cópia), antes de realizar
esta operações “perigosas”.
O comando “cp” é o que nos permite duplicar arquivos
e/ou diretórios.
47
Comando cp
Para copiar arquivos
Para copiar diretórios, devemos adicionar a flag “-R”
48
cp /diretorio/arquivo_origem /diretororio_destino
cp -R /diretório_origem /diretório_destino
Comando: rm
Quando geramos muitas cópias, podemos encher o nosso disco com arquivos
duplicados, como podemos fazer para remover estes arquivos ?
49
rm ARQUIVO
Atividade Chuck Norris
50
Descreva o comandos utilizados
para recuperar um
arquivo/diretório removido com o
comando rm do Linux.
05 -Atividade Prática
Digite os comandos em sequência e diga o que cada
comando faz.
a) cd /tmp
b) mkdir ~/bau ~/tesouro
c) ls /cvbioinfo/home/SEU_USUARIO
d) ls ~/
51
05 -Atividade Prática -B
e) No seu home existem dois diretórios, bau e tesouro,
mova o diretório tesouro, para dentro do bau.
f) Faça uma cópia do diretório bau para o seu home
com o nome de cofre.
g) Confirme se em cofre existe o diretório tesouro.
h) Remova o diretório bau.
52
Comando: scp
Tenho um arquivo no meu computador, como posso copiar este arquivo para
o servidor?
Se estiver no linux, pode usar o scp.
Se estiver no windows, pode usar o winscp.
53
scp
Sintaxe:
scp Opções Origem Destino
exemplo:
scp -P 22 Arquivo XXX@hammer.fcav.unesp.br:/home/XXX
scp -r -P 22 dir XXX@hammer.fcav.unesp.br:/home/XXX
O primeiro exemplo, copia um arquivo e o segundo um Diretório.
54
winscp
Download
http://winscp.net/
55
Winscp
56
Winscp
57
06 -Atividade Prática
Com qualquer editor de texto da sua máquina (vim, gedit,
notepad), crie um arquivo, escreva o que acha do Linux e em
seguida usando o scp ou o winscp copie para o servidor no
seu home, no diretório “opiniao”.
Lembre-se de criar este diretório.
58
Ajuda
Ok, vimos várias maneiras (flags) que podem ser usadas junto com os
comandos.
Vou ter que decorar todas elas ?
Como posso saber quais flags mas existem ?
Help
man
59
07-Atividade prática
a) Utilizando o man ou o help, descubra como podemos
utilizando o comando ls, exibir o tamanho dos arquivos.
b) Verifique com o man ou o help o que faz a flag -h do
comando ls.
c) Utilize o comando ls com a flag, apreendida no
exercício “a” junto com a flag “h” do exercício b.
60
ssh gráfico
Legal, estamos gostando do Linux, mas as vezes
queremos rodar programas gráficos no Linux, é possível
fazer isso usando o SSH?
Sim, se estiver usando o Linux, basta adicionar a flag -X
quando for conectar, se estiver usando o Windows, você
vai precisar instalar algum programa para dar este
suporte.
61
ssh gráfico
Legal, estamos gostando do Linux, mas as vezes
queremos rodar programas gráficos no Linux, é possível
fazer isso usando o SSH?
Sim, se estiver usando o Linux, basta adicionar a flag -X
quando for conectar, se estiver usando o Windows, você
vai precisar instalar algum programa para dar este
suporte.
Importante com o man/help
você já poderia ter
descoberto esta opção.
62
ssh gráfico
ssh -X
xming
http://sourceforge.net/projects/xming/
63
xclock
64
08 -Atividade Prática
a) Conecte no servidor, com suporte a “X“ e execute o programa gedit.
b) No gedit abra o arquivo, que você enviou por scp, adicione seu nome no
final do arquivo e salve o arquivo.
65
Visualizando Arquivos
Sempre que for ver o conteúdo de um arquivo no Linux, devo abrir o gedit ?
Não, existem outras opções que podem ser melhor, dependendo do caso.
cat more less head tail
66
09 -Atividade Prática
a) copie o arquivo /etc/services para o seu
home.
b) Use o comando cat ~/services e descreva o
que ele faz.
67
09 -Atividade Prática
c) Use o comando more ~/services e
descreva o que ele faz.
c.1) Descreva o que faz o enter quando está usando o comando more.
c.2) Descreva o que faz a barra de espaço quando está usando o comando
more.
68
09 -Atividade Prática
d) Use o comando less ~/services e
descreva o que ele faz.
d.1) Use as setas para cima e para baixo e descreva o que acontece.
d.2) Experimente usar o enter a barra de espaço, com o less também.
69
09 -Atividade Prática
e) Use o comando head ~/services e
descreva o que ele faz.
e.1) Use a flag “-n 20” junto ao head e diga quando ela pode ser útil.
70
f) Use o comando tail ~/services e
descreva o que ele faz.
e.1) Use a flag “-n 20” junto ao tail e diga quando ela pode ser útil.
e.2) Descubra o que a flag “ -f “ faz com o tail.
09 -Atividade Prática
71
Editor de texto: vim
Legal, aprendemos várias formas de visualizar o arquivo sem depender do X,
mas e quando for editar o arquivo, também tem uma alternativa ?
Sim, existem vários editor de texto, não visual no linux, por exemplo vim,
nano, emacs, pico, etc.
72
Vim
Qual é o melhor editor de texto ?
O melhor é o Vim, segundo o pessoal que usa o Vim,
porém para os fãs do pico, não existe nada melhor que
ele.
Ou seja é uma questão de gosto, fique a vontade para
usar o que mais te agradar, nós vamos ver como usar o
Vim, mas você pode escolher outro.
73
VIM
Comando Ação
[esq]:i Modo de inserção
[esq]:v Modo de visualização
[esq]:o Modo de inserção, adicionado uma linha
[esq]dd Apaga uma linha
[esq]yy Copia uma linha
[esq]p Cola
[esq]2yy Copia duas linhas
[esq]5yy Copia cinco linhas
74
VIM
Comando Ação
[esq]:s/a/A/g Troca todos os “a”s por “A” da linha
[esq]:%s/a/A/g Troca todos os “a”s por “A” do texto
[esq]:%s/marcelo/Marcelo Gomes/g Troca todas as ocorrências de “marcelo”
por “Marcelo Gomes”
[esq]2dd Apaga duas linhas
[esq]:w Salva o arquivo
[esq]:wq Salva o arquivo e sai do vim
[esq]:q! Fecha o arquivo e sai do vim sem salvar as
modificações
75
10 -Atividade Prática
a) Utilizando vim, crie um arquivo com o nome de
bioinformática e escreva qualquer coisa nele, e
pratique as possibilidades apresentadas anteriormente.
b) Crie um arquivo chamado agenda, e adicione alguns
nomes, e-mail e telefone de amigos seus, e duplique
algumas linhas (use valores fictício), porém coloque uma
informação por linha e coloque o : como separador de
informação, exemplo 76
Script
As vezes temos vários comandos que precisam ser executados com
frequência em uma mesma ordem, e não é legal ter que ficar decorando e
digitando estes comandos todas as vezes.
Quando temos esta situação podemos digitar todos os comandos em um
arquivo e “rodar” esse arquivo com os comandos ?
Sim, este arquivo recebe o nome de script.
77
Criando nosso primeiro script
Crie um arquivo chamado meuscript.sh com o seguinte conteúdo.
#!/bin/bash
cd ~/
mkdir 1
cd 1
mkdir a
mkdir b
mkdir c
echo “fim”
78
Testando nosso script
Primeiro, vamos dar permissão de execução para o
script (não se preocupe com isso, vamos entender em
breve)
chmod +x meuscript.sh
Agora podemos executar o script digitando
79
Entendendo o script
Por que o nome do arquivo deve ter .sh no final ?
Ele não deve ter, isso é apenas uma convenção. Não vai alterar seu
funcionamento é apenas uma boa prática.
Meu script poderia chamar apenas script ?
Poderia, e isso não vai impedir o seu funcionamento, porém é indicado
sempre colocar o “.sh” quando o arquivo for um script.
80
Entendendo o script
A primeira linha do arquivo tem “#!/bin/bash”
o que é isso?
Este é o shebang, ele diz para o Linux, quem deve interpretar os comandos
que estão no arquivo. Neste caso é o bash.
Se você estiver conhecendo o Linux/Script hoje, não se preocupe em
entender, por enquanto apenas lembre se que a primeira linha do seu script
deve ter #!/bin/bash
81
Entendendo o script
As outras linhas você já conhece, a única novidade é a última linha, echo “fim”.
O comando echo serve para escrever mensagens na tela, não é obrigatório de
ter no script.
Você pode brincar com o echo no terminal, digite echo “teste” e veja o que
acontece.
82
11 -Atividade Prática
a) Crie um script que deve criar um diretório chamado
backup_nome.sh no /tmp e copiar todo o conteúdo do
seu home para este diretório.
Lembre-se que o script deve ter na primeira linha o
shebang #!/bin/bash e antes de executar você deve dar a
permissão com o comando chmod +x
/tmp/backup_nome.sh 83
Permissões de arquivos e diretórios
Legal, já sabemos usar o Linux e criar scripts, o único mistério é o “chmod +x”
que tenho que fazer sempre que criar um script. Para que ele serve ?
Para entender este comando vamos ter que entender as permissões de
arquivos e diretórios no Linux, você já parou para pensar como o Linux faz
para saber se um arquivo é um script ou um texto?
84
Permissões de arquivos e diretórios
No seu home da um ls com a opção -l
85
Permissões de arquivos e diretórios
d = diretório
r = leitura
w = gravação
x = execução
86
Permissões de arquivos e diretórios
r = leitura = 4
w = gravação = 2
x = execução = 1
Você pode usar o chmod com +x para adicionar a permissão de execução ou
-x para remover e isso pode ser feito com o r e o w também.
Ou você pode combinar seus valores octais para definir a permissão, por
exemplo chmod 444 vai dar apenas permissão de leitura, ou combinar os
valores chmod 666 vai dar permissão de leitura e gravação.
87
Permissões de arquivos e diretórios
Por que repetimos o valor 3 vezes ?
Porque estamos definindo a permissão, para o dono do arquivo, as
pessoas que pertencem ao mesmo grupo do dono do arquivo e todas
as outras pessoas.
Por exemplo, chmod 600 vai permitir que apenas o dono do arquivo
leia e grave o arquivo.
O chmod 640 vai permitir que apenas o dono do arquivo leia e grave o
arquivo, e que todos que pertencer ao grupo do dono do arquivo
também leia o arquivo. 88
Comando: chown
Posso dar o meu arquivo para alguém ?
Sim, quando quiser trocar o dono ou o grupo do dono do arquivo,
você usar o comando chown.
Exemplo
chown marcelo.marcelo arquivo
89
Posso chamar um script sem./ ?
Quando colocamos o ./ estamos indicando para o linux,
que o script que estamos chamando está no diretório
corrente.
Caso o seu script esteja em um diretório por exemplo
/home/marcelo/script/meuscript.sh e você estiver em
/home/marcelo/arquivos como posso executar o
meuscript.sh sem mudar de diretório?
90
Posso chamar um script sem./ ?
Para executar um script/programa que não está no
diretório corrente, devemos colocar o path (caminho)
completo, por exemplo para executar o meuscript.sh
que esta em /home/marcelo/script/, devemos fazer da
seguinte forma:
/home/marcelo/script/meuscript.sh
91
Posso chamar um script sem./ ?
Mas como, conseguimos rodar o vim por exemplo, sem passar o caminho
completo dele?
Dica para ver onde está um programa/script use o comando type, exemplo:
type vim
92
Posso chamar um script sem./ ?
O segredo está na variável PATH
Veja seu conteúdo:
echo $PATH
Sempre que tentamos executar um script/programa no Linux, sem passar o
caminho, ele procura no “PATH”.
93
Posso chamar um script sem./ ?
Podemos adicionar outros diretórios no path ?
Sim
export PATH=$PATH:/novo_diretorio
94
Variáveis de ambiente
Existem outras variáveis além do path ?
Digite “env” e veja a quantidade!
Posso criar uma variável minha ?
Digite export TESTE=”meu teste”
Em seguida use “env” ou “echo $TESTE” para checar.
95
Script parâmetros
Digite o script ola.sh abaixo, e execute ele da seguinte forma: ./ola.sh Marcelo
#!/bin/bash
NOME=$1;
echo "Olá $NOME";
Explique o que faz este script.
96
Script variável
Calculando o dobro de um valor.
#!/bin/bash
VALOR=$1;
DOBRO=$[$VALOR*2];
echo "O dobro de $VALOR é $DOBRO";
97
13 -Atividade Prática
1) Faça um script “soma.sh” que receba dois parâmetros e some os dois
valores.
98
comando time
Quanto tempo leva para rodar o meu comando ?
time comando
99
Comando sleep
Quer fazer uma pausa em seu script ?
sintaxe:
sleep SEGUNDOS
exemplo:
sleep 5
100
14 -Atividade Prática
a) Com ajuda do time, veja quanto tempo o comando sleep 5, precisa para
executar.
101
Comando top
Se tiver que rodar 1.000 análises, posso abrir 1.000 conexões e colocar para
rodar ao mesmo tempo e terminar o meu projeto 1.000 vezes mais rápido ?
Para saber use o programa top
102
comando ps
E se quiser ver todo os processo em execução?
ps aux
lembre-se que com man você pode ver o que faz o “aux” além de outras
opções.
103
Descobrindo o pipe“|“no Linux
O comando ps mostra muitas linhas, mas só queria ver as 10 primeiras linhas,
como fizemos com os arquivos usando o comando head.
Usando o pipe “|” podemos combinar comandos, por exemplo
ps aux | head
104
15 -Atividade Prática
Execute os comandos abaixo e entenda o que o pipe está fazendo.
a) ps aux | head
b) ls /etc | more
c) find / | cat -n
105
Operações em paralelo devo ter várias conexões ?
Podemos rodar o comando em background, basta adicionar um & no fim do
comando.
sleep 5 &
Para trazer o comando para primeiro plano novamente
fg 1
Se tiver mais de um programa rodando em background
jobs -l
106
Operações em paralelo devo ter várias conexões ?
O que acontece se fechar a minha conexão com programas rodando em
background ?
Independente de estar em background ou não, ao fechar a shell (conexão)
todos os programas vão ser abordados.
Para que o programa continue rodando mesmo após ter o shell fechado é
necessário usar o nohup
Exemplo: nohup sleep 5 &
107
Comando kill
Se estiver rodando um programa em background ou com ou sem o nohup
como posso fazer ele parar ?
kill -9 id_do_processo
Lembrando que você pode pegar o id
do processo com o ps -aux
108
Qual deles conhece o screen ?
109
Quem conhece o screen pode
➢ Bar do sapão
➢ Pinacoteca Municipal
➢ Museu Histórico "Aloísio de Almeida"
➢ Unesp – Universidade Estadual Paulista "Júlio de Mesquita
Filho" - Campus Jaboticabal
➢ Lago Municipal "Carlos Rodrigues Serra"
➢ Jaboticabal Shopping
➢ Casa do Artesão
➢ Mercado Municipal
➢ Escola de Arte "Professor Francisco Berlingieri Marino"
110
Comando screen
E se eu quiser rodar um programa, sem ser
em background, porém caso a minha conexão
cair o processo continuar rodando ?
use o screen
111
16 -Atividade Prática
Opcional… copie a configuração do screen antes de fazer a atividade
a) No terminal digite screen para entrar no screen.
b) Digite echo “estou no screen”
c) Em seguida, desconecte do screen “CRT+A CRTL +D”
d) Liste os screens disponíveis “screen -ls”
e) Reconectar ao seu screen “screen -r”
112
Direcionado a saída para arquivo
Algumas vezes podemos querer que a saída de um programa ou script, seja
jogada para um arquivo no lugar tela, podemos fazer isso com o sinal de
maior “>” e maior maior duas vezes.
Exemplo:
ls > conteudo.txt
pwd >> conteudo.txt
113
17-Atividade Prática
Execute no mínimo duas vez, os comandos abaixo em seguida descreva a
diferença entre usar apenas um sinal de maior de
usar dois sinais de maior.
w > /tmp/saida.txt
pwd >> /tmp/saida.txt
echo “O professor é legal” >> /tmp/opiniao.txt
114
comando grep
Alguns comandos podem gerar arquivos gigantes que tornam custoso, a
localização de algumas strings, quando quiser achar uma string no meio de
um texto, podemos usar o comando grep, exemplo:
grep marcelo /etc/passwd
find /tmp | grep opiniao
cat /tmp | grep -v legal
115
18 -Atividade Prática
a) Usando o sleep crie um processo para ficar rodando por 40 segundos em
background.
b) Com ajuda do ps aux e do grep localize o id deste processo.
c) Utilizando o comando kill -9 Id_do_processo mate o processo sleep criado.
116
Comando sed
Mas quando eu quiser trocar um string qualquer por outra como eu faço ?
Vamos copiar o arquivo para o home, para todos poderem fazer.
cp /tmp/opiniao.txt ~/opiniao.txt
Agora com a ajuda do sed, podemos trocar as ocorrências da palavra
professor, por Marcelo
sed -i 's/professor/Marcelo/g' ~/opiniao.txt
117
comando find e locate (updatedb)
Criamos muitos arquivos! Está perdido, não lembra mais de algum arquivo ?
find ~/ -name arquivo
ou
locate arquivo
O locate é mais rápido que o find, porém ele pesquisa em um base que deve
ser gerada antes com o comando updatedb (que só o root pode criar)
118
comandos du e df
Criamos muitos arquivos! qual o tamanho dos arquivos ?
du -h arquivo
du -sh ~/
du -sh ~/*
Como está o uso do disco ?
df -h
119
19 -Atividade Prática
1) Informe qual o nome e o tamanho do maior arquivo ou diretório de /dados.
2) Informe o tamanho do / e
do /dados assim
como o espaço disponível.
120
Compactar e descompactar
Programa Compactar Descompactar
zip zip arquivo.zip arquivo.txt unzip arquivo.zip
gzip gzip arquivo.txt gunzip arquivo.txt.gz
tar tar -cvzf arquivo.tar.gz arquivo.txt tar -xvzf arquivo.tar.gz
bz2 bzip2 arquivo.txt bunzip2 arquivo.txt.bz2
121
20 -Atividade Prática
Compactar e descompactar um arquivo, com cada um dos programa
apresentados.
122
Editor de texto: awk
De um cat no /etc/passwd,ele segue o seguinte formato:
root:x:0:0:root:/root:/bin/bash
Se quisermos fazer uma listagem com todos os usuários (primeiro campo) e o
id do usuário (terceiro campo)
cat /etc/passwd | awk -F':' '{ print $1"t"$3}'
se quiser a lista ordenada
cat /etc/passwd | awk -F':' '{ print $1"t"$3}' | sort
123
21 -Atividade Prática
a) Crie o arquivo com o nome hino.txt com o seguinte conteúdo:
124
Cantai, cantai, cantai
Jovens, crianças, velhinhos,
Cantai, cantai, cantai
Como cantam os passarinhos
Cantai, cantai, cantai
Melopéia sem igual
À cidade sinfônica
A nossa Jaboticabal
Mansão sonora
Alegre e litúrgica,
Cidade das rosas,
Campeã da música
Jovens formosos,
Povo varonil
Cidade das rosas,
Lirismo do Brasil
Vivemos em alegria,
Sem temor ao mal
É Jaboticabal
125
Comando wc
Este comando é utilizado para contar caracteres, palavras e/ou linhas dos
dados da entrada padrão e apresenta o resultado na saída padrão.
wc + parâmetros + arquivo
Parâmetros:
-l: conta as linhas;
-w: conta as palavras;
-c: conta os caracteres.
wc -l hino.txt
126
22 -Atividade Prática
a) Utilizando o comando wc informe quantas linhas contém o arquivo
hino.txt
b) Utilizando o comando wc informe quantas palavras contém o arquivo
hino.txt
c) Utilizando o comando wc informe quantos caracteres contém o arquivo
hino.txt
d) Quantos caracteres tem as duas primeiras linhas do arquivo hino.txt
127
22 -Resposta -Atividade Prática
d) Quantos caracteres tem as duas primeiras linhas do arquivo hino.txt
head -n 2 hino.txt | wc -c
128
23 -Atividade Prática
Qual a diferença entre os dois comandos
wc -l hino.txt
cat -n hino.txt | tail -n 1 | awk '{print $1}'
129
Contando a ocorrência de uma palavra
grep -c em hino.txt
todas as ocorrências de em
grep -wc em hino.txt
Apenas as palavras em
grep -vc em hino.txt
todas as linhas sem a ocorrência de em
grep -vwc em hino.txt
cat hino.txt | grep em
cat hino.txt | grep -v em
130
O comando tr
Substituir letras minúsculas por maiúsculas
tr [:lower:] [:upper:] < hino.txt
Substituir letras maiúsculas por minúsculas
tr [:upper:] [:lower:] < hino.txt
131
Repetindo um comando N vezes
for i in ls;
do echo $i;
done;
while read linha
do
echo $linha;
done < arquivo.txt;
132
Checar se um arquivo existe
#!/bin/bash
if [ -f arquivo_existe.sh ]; then
echo "Arquivo existe"
else
echo "Arquivo não existe"
fi
echo "Fim"
133
25 -Atividade Prática
#!/bin/bash
while :
do
read -p "Entre com 2 números ( - 1 to quit ) : " a b
if [ $a -eq -1 ]
then
break
fi
ans=$(( a + b ))
echo "A soma de $a + $b = $ans";
done
1) Explique o que faz este script.
2) Modifique o -eq para -gt e
descubra o que ele faz.
3) Visite o site
http://tldp.org/LDP/abs/html/com
parison-ops.html e veja outros
valores possíveis a ser inseridos
lugar de -eq
134
Python
O Python é uma linguagem de programação interpretada!
Interpretada vs Compilada
135
Python
Crie o arquivo ola.py, com o seguinte conteúdo:
#!/usr/bin/python
nome = raw_input("Informe o seu nome: ")
print("Ola " + nome)
136
Python
chmod + x ola.py
./ola.py
ou
python ola.py
137
Python
O pyenv é um gerenciador de versões do Python.
Ele permite que se instale e gerencie várias versões do Python usando a conta
de usuário normal e permite manter várias versões isoladas umas das outras.
pyenv activate qiime
138
C
139
C
140
O céu é o limite com shell
Veja um pequeno exemplo de um script que gerencia contatos.
141
Função para adicionar contato
add() {
clear;
echo "Adicionar contato";
read -p "Entre com o nome: " nome
read -p "Entre com o fone: " fone
echo "$nome:$fone" >> db.txt;
echo "$nome cadastrado com sucesso";
read -p "Pressione uma tecla para continuar";
}
142
Função para localizar contato
find() {
clear;
echo "Localizar contato";
read -p "Entre com o nome: " nome
resp=`cat db.txt | grep $nome`;
echo $resp | awk -F':' '{print $1"t - t" $2}';
read -p "Pressione uma tecla para continuar";
}
143
Função para listar todos os contatos
all(){
clear;
echo "Todos os contatos";
resp=`cat db.txt | sort`;
while read linha
do
echo $linha | awk -F':' '{print $1"t - t" $2}';
done < db.txt
read -p "Pressione uma tecla para continuar";
}
144
Menu
while :
do
clear;
echo "Agenda";
echo "0 - Sair";
echo "1 - Incluir";
echo "2 - Consultar";
echo "3 - Todos";
read -p "Entre com a opção desejada " op
if [ $op -eq 0 ]
then
break ;
elif [ $op -eq 1 ]
then
add;
elif [ $op -eq 2 ]
then
find;
elif [ $op -eq 3 ]
then
all;
145
Menu
else
echo "Opção invalida";
fi
echo $op;
done
echo "fim";
146
Quero aprender mais sobre linux
http://www.guiafoca.org/
https://www.youtube.com/playlist?list=PLN_FLtIvNW0mULYKba-nYQhZ80oDZK
2Iv
https://marcelogomesrp.blogspot.com/2019/07/unesp-2019.html
147
Obrigado!
148

Mais conteúdo relacionado

Mais procurados

Comandos, Permissões e Partições Linux
Comandos, Permissões e Partições LinuxComandos, Permissões e Partições Linux
Comandos, Permissões e Partições LinuxVirgínia
 
Introdução aos comandos Linux
Introdução aos comandos LinuxIntrodução aos comandos Linux
Introdução aos comandos LinuxCarlos Quadros
 
Debian 6: Instalação e Hardening
Debian 6: Instalação e HardeningDebian 6: Instalação e Hardening
Debian 6: Instalação e HardeningBruna Griebeler
 
Administração de servidores Linux
Administração de servidores LinuxAdministração de servidores Linux
Administração de servidores LinuxJoão Sá
 
Treinamento de comandos Unix e Linux
Treinamento de comandos Unix e LinuxTreinamento de comandos Unix e Linux
Treinamento de comandos Unix e LinuxCid de Andrade
 
Linux comandos gerais e servidores de rede
Linux   comandos gerais e servidores de redeLinux   comandos gerais e servidores de rede
Linux comandos gerais e servidores de redefernandao777
 
Comandos do linux
Comandos do linuxComandos do linux
Comandos do linuxPeslPinguim
 
Guia com mais de 500 comandos do linux explicados computeiro da depressão
Guia com mais de 500 comandos do linux explicados   computeiro da depressãoGuia com mais de 500 comandos do linux explicados   computeiro da depressão
Guia com mais de 500 comandos do linux explicados computeiro da depressãoJesser Martins Medeiros
 
Workshop Slackware 12.1 - Tiago Biazus
Workshop Slackware 12.1 - Tiago BiazusWorkshop Slackware 12.1 - Tiago Biazus
Workshop Slackware 12.1 - Tiago BiazusTchelinux
 
Ficha de trabalho so 6 m4 linux comandos
Ficha de trabalho so 6 m4   linux comandosFicha de trabalho so 6 m4   linux comandos
Ficha de trabalho so 6 m4 linux comandosAndreiaOliveira94
 

Mais procurados (18)

Comandos do linux
Comandos do linuxComandos do linux
Comandos do linux
 
Comandos, Permissões e Partições Linux
Comandos, Permissões e Partições LinuxComandos, Permissões e Partições Linux
Comandos, Permissões e Partições Linux
 
Introdução aos comandos Linux
Introdução aos comandos LinuxIntrodução aos comandos Linux
Introdução aos comandos Linux
 
Debian 6: Instalação e Hardening
Debian 6: Instalação e HardeningDebian 6: Instalação e Hardening
Debian 6: Instalação e Hardening
 
Administração de servidores Linux
Administração de servidores LinuxAdministração de servidores Linux
Administração de servidores Linux
 
Treinamento de comandos Unix e Linux
Treinamento de comandos Unix e LinuxTreinamento de comandos Unix e Linux
Treinamento de comandos Unix e Linux
 
Linux comandos gerais e servidores de rede
Linux   comandos gerais e servidores de redeLinux   comandos gerais e servidores de rede
Linux comandos gerais e servidores de rede
 
Comandos do linux
Comandos do linuxComandos do linux
Comandos do linux
 
Aula 06 comandos linux
Aula 06   comandos linuxAula 06   comandos linux
Aula 06 comandos linux
 
Msdos vol4
Msdos vol4Msdos vol4
Msdos vol4
 
Hacking Linux
Hacking LinuxHacking Linux
Hacking Linux
 
Msdos vol3
Msdos vol3Msdos vol3
Msdos vol3
 
Guia com mais de 500 comandos do linux explicados computeiro da depressão
Guia com mais de 500 comandos do linux explicados   computeiro da depressãoGuia com mais de 500 comandos do linux explicados   computeiro da depressão
Guia com mais de 500 comandos do linux explicados computeiro da depressão
 
Aula20 open vpn
Aula20 open vpnAula20 open vpn
Aula20 open vpn
 
Workshop Slackware 12.1 - Tiago Biazus
Workshop Slackware 12.1 - Tiago BiazusWorkshop Slackware 12.1 - Tiago Biazus
Workshop Slackware 12.1 - Tiago Biazus
 
Ficha de trabalho so 6 m4 linux comandos
Ficha de trabalho so 6 m4   linux comandosFicha de trabalho so 6 m4   linux comandos
Ficha de trabalho so 6 m4 linux comandos
 
Certificação LPI
Certificação LPICertificação LPI
Certificação LPI
 
Aula 10 semana
Aula 10 semanaAula 10 semana
Aula 10 semana
 

Semelhante a Introdução ao Linux: Comandos básicos e estrutura de diretórios

Como migrar seu ambiente de desenvolvimento para Linux
Como migrar seu ambiente de desenvolvimento para LinuxComo migrar seu ambiente de desenvolvimento para Linux
Como migrar seu ambiente de desenvolvimento para LinuxMarcelo Sabadini
 
Ficha de trabalho so 6 m4 linux comandos
Ficha de trabalho so 6 m4   linux comandosFicha de trabalho so 6 m4   linux comandos
Ficha de trabalho so 6 m4 linux comandosAndreiaOliveira94
 
Introdução ao Linux
Introdução ao LinuxIntrodução ao Linux
Introdução ao LinuxTzveDyor
 
Ficha de trabalho_so_6_m4_-_linux_comandos
Ficha de trabalho_so_6_m4_-_linux_comandosFicha de trabalho_so_6_m4_-_linux_comandos
Ficha de trabalho_so_6_m4_-_linux_comandosmilanvassaramo
 
Ficha de trabalho so 6 m4 linux comandos
Ficha de trabalho so 6 m4   linux comandosFicha de trabalho so 6 m4   linux comandos
Ficha de trabalho so 6 m4 linux comandoskamatozza
 
Aula - Comandos Linux - Parte 1
Aula - Comandos Linux - Parte 1Aula - Comandos Linux - Parte 1
Aula - Comandos Linux - Parte 1Leo Amorim
 
Complemento rodrigo f ormatado
Complemento rodrigo f ormatadoComplemento rodrigo f ormatado
Complemento rodrigo f ormatadoNeon Online
 
Ficha de trabalho 6 so
Ficha de trabalho 6 soFicha de trabalho 6 so
Ficha de trabalho 6 soshecklone
 
Apostila Treinamento AvançAdo Em Linux
Apostila Treinamento AvançAdo Em LinuxApostila Treinamento AvançAdo Em Linux
Apostila Treinamento AvançAdo Em Linuxeliezer
 
Apostila Treinamento AvançAdo Em Linux
Apostila Treinamento AvançAdo Em LinuxApostila Treinamento AvançAdo Em Linux
Apostila Treinamento AvançAdo Em Linuxguest7a481e8
 
Introdução ao Linux - aula 03 e 04
Introdução ao Linux - aula 03 e 04Introdução ao Linux - aula 03 e 04
Introdução ao Linux - aula 03 e 04Renan Aryel
 
Ficha de trabalho_so_6_m4_-_linux_comandos
Ficha de trabalho_so_6_m4_-_linux_comandosFicha de trabalho_so_6_m4_-_linux_comandos
Ficha de trabalho_so_6_m4_-_linux_comandosomaildoruifilipe
 
Ficha de trabalho so 6 m4 linux comandos
Ficha de trabalho so 6 m4   linux comandosFicha de trabalho so 6 m4   linux comandos
Ficha de trabalho so 6 m4 linux comandosfilipereira
 
Hacking Linux: Princípios Básicos de Segurança - Bruna Griebeler
Hacking Linux: Princípios Básicos de Segurança - Bruna GriebelerHacking Linux: Princípios Básicos de Segurança - Bruna Griebeler
Hacking Linux: Princípios Básicos de Segurança - Bruna GriebelerTchelinux
 
Linux - Bruno Oliveira 12ºL
Linux - Bruno Oliveira 12ºLLinux - Bruno Oliveira 12ºL
Linux - Bruno Oliveira 12ºLBrunoOliveira1070
 
Ficha de trabalho so 6 m4 linux comandos
Ficha de trabalho so 6 m4   linux comandosFicha de trabalho so 6 m4   linux comandos
Ficha de trabalho so 6 m4 linux comandosAndreiaOliveira94
 

Semelhante a Introdução ao Linux: Comandos básicos e estrutura de diretórios (20)

So-mod-4
So-mod-4So-mod-4
So-mod-4
 
Como migrar seu ambiente de desenvolvimento para Linux
Como migrar seu ambiente de desenvolvimento para LinuxComo migrar seu ambiente de desenvolvimento para Linux
Como migrar seu ambiente de desenvolvimento para Linux
 
Ficha de trabalho so 6 m4 linux comandos
Ficha de trabalho so 6 m4   linux comandosFicha de trabalho so 6 m4   linux comandos
Ficha de trabalho so 6 m4 linux comandos
 
Introdução ao Linux
Introdução ao LinuxIntrodução ao Linux
Introdução ao Linux
 
Ficha de trabalho_so_6_m4_-_linux_comandos
Ficha de trabalho_so_6_m4_-_linux_comandosFicha de trabalho_so_6_m4_-_linux_comandos
Ficha de trabalho_so_6_m4_-_linux_comandos
 
Ficha de trabalho so 6 m4 linux comandos
Ficha de trabalho so 6 m4   linux comandosFicha de trabalho so 6 m4   linux comandos
Ficha de trabalho so 6 m4 linux comandos
 
Aula - Comandos Linux - Parte 1
Aula - Comandos Linux - Parte 1Aula - Comandos Linux - Parte 1
Aula - Comandos Linux - Parte 1
 
Complemento rodrigo f ormatado
Complemento rodrigo f ormatadoComplemento rodrigo f ormatado
Complemento rodrigo f ormatado
 
Ficha de trabalho 6 so
Ficha de trabalho 6 soFicha de trabalho 6 so
Ficha de trabalho 6 so
 
Apostila Treinamento AvançAdo Em Linux
Apostila Treinamento AvançAdo Em LinuxApostila Treinamento AvançAdo Em Linux
Apostila Treinamento AvançAdo Em Linux
 
Apostila Treinamento AvançAdo Em Linux
Apostila Treinamento AvançAdo Em LinuxApostila Treinamento AvançAdo Em Linux
Apostila Treinamento AvançAdo Em Linux
 
Introdução ao Linux - aula 03 e 04
Introdução ao Linux - aula 03 e 04Introdução ao Linux - aula 03 e 04
Introdução ao Linux - aula 03 e 04
 
Comandos linux
Comandos linux Comandos linux
Comandos linux
 
Ficha de trabalho_so_6_m4_-_linux_comandos
Ficha de trabalho_so_6_m4_-_linux_comandosFicha de trabalho_so_6_m4_-_linux_comandos
Ficha de trabalho_so_6_m4_-_linux_comandos
 
Ficha de trabalho [6]
Ficha de trabalho [6]Ficha de trabalho [6]
Ficha de trabalho [6]
 
MigraçãO
MigraçãOMigraçãO
MigraçãO
 
Ficha de trabalho so 6 m4 linux comandos
Ficha de trabalho so 6 m4   linux comandosFicha de trabalho so 6 m4   linux comandos
Ficha de trabalho so 6 m4 linux comandos
 
Hacking Linux: Princípios Básicos de Segurança - Bruna Griebeler
Hacking Linux: Princípios Básicos de Segurança - Bruna GriebelerHacking Linux: Princípios Básicos de Segurança - Bruna Griebeler
Hacking Linux: Princípios Básicos de Segurança - Bruna Griebeler
 
Linux - Bruno Oliveira 12ºL
Linux - Bruno Oliveira 12ºLLinux - Bruno Oliveira 12ºL
Linux - Bruno Oliveira 12ºL
 
Ficha de trabalho so 6 m4 linux comandos
Ficha de trabalho so 6 m4   linux comandosFicha de trabalho so 6 m4   linux comandos
Ficha de trabalho so 6 m4 linux comandos
 

Introdução ao Linux: Comandos básicos e estrutura de diretórios

  • 1. Introdução ao Linux Marcelo Gomes de Paula marcelogomesp@gmail.com
  • 3. Definição: Linux Linux é um sistema operacional de código aberto distribuído gratuitamente pela internet, criado em 1991 por Linus Torvalds na universidade de Helsinki na Finlândia. Mas, o que é um sistema operacional ? 3
  • 4. Definição S.O. É um conjunto de programas que fazem a interface do usuário e seus programas com o hardware. 4
  • 6. Definição: Distribuição Linux Atualmente, o que é chamamos de “Linux” é o kernel + um conjuntos enorme de software. Essa combinação resulta no que chamamos de Distribuições Linux. 6
  • 9. Motivação para usar o linux ● É livre; ● É gratuito; ● Não é vulnerável a vírus; ● Recebe apoio de grandes empresas como IBM, HP, Sun etc; ● Multitarefa e Multiusuário; ● Compatível várias plataformas Applet, Sparc, Alpha etc; ● Proteção entre processos executados na RAM; ● Modularização, somente é carrega para memória o que usado durante o processamento; ● Não há necessidade de reiniciar o sistemas após cada modificação; ● Muitos programas de bioinformática foram construídos para rodar sobre o Linux. 9
  • 12. SSH SSH Secure Shell (shell segura) é um protocolo, que permite a conexão com outro computador, de forma a permitir a execução de comandos em uma máquina remota. O SSH tem as mesmas funcionalidades que o telnet, mas apresenta a vantagem de ter seu tráfego criptografado. 12
  • 13. OpenSSH -Servidor O OpenSSH é uma implementação do protocolo ssh. Instalação do servidor 13 #apt-get install openssh-server #service ssh start
  • 14. OpenSSH Cliente -Linux É provável que o openssh client já esteja instalado em sua distribuição Linux, caso não esteja, você pode instalar com os seguintes comandos: Ubuntu, Debian 14 $sudo apt-get install openssh-client -y $sudo yum install openssh-client -y
  • 15. OpenSSH Cliente -Linux-Conectando Para conectar com o ssh digite o seguinte comando: Exemplo: 15 ssh USUARIO@ENDEREÇO_IP -p PORTA ssh cvbioinfoXX@143107.223.250 -p 223
  • 16. OpenSSH Cliente -Linux-Conectando Após conectar, sua senha será solicitada. Caso seja a primeira conexão com o servidor a seguinte mensagem pode ser exibida: Digite “yes”. Importante: não pode ser apenas o “y” tem que ser “yes” 16 The authenticity of host '[XXX.XXX.XXX.XX]:XX ([XX.XXX.XXX.XX]:XX)' can't be established. RSA key fingerprint is 57:74:cb:cd:cd:cd:cd:cd:cd:cd:cd:cb:cd:cd:cd:cd. Are you sure you want to continue connecting (yes/no)?
  • 18. Putty-SSH Cliente do Windows Download em http://www.putty.org/ Não é necessário instalar, basta clicar duas vezes sobre o arquivo do Putty para executar. 18
  • 19. Putty-SSH Cliente do Windows 19
  • 20. Putty-SSH Cliente do Windows Informe aqui o endereço IP 20
  • 21. Putty-SSH Cliente do Windows Informe aqui a porta 21
  • 22. Putty-SSH Cliente do Windows Garanta que a opção SSH esteja marcada 22
  • 23. Putty-SSH Cliente do Windows Clique em “Open” para iniciar a conexão 23
  • 24. SSH -Finalizar a conexão Pressionar as teclas “CRTL” + “D” Ou digitar exit 24
  • 25. Endereço IP e Porta 25
  • 26. 01 -Atividade Prática Utilizando o usuário e senha fornecida, conecte ao servidor Máquina: hammer.fcav.unesp.br Porta: 22 Em seguida desconecte do mesmo. Pode ser utilizando o Linux ou o Windows 26
  • 27. 01 -Atividade Prática Utilizando o usuário e senha fornecida, conecte ao servidor Máquina: 143.107.223.250 Porta: 22 Em seguida desconecte do mesmo. Pode ser utilizando o Linux ou o Windows 27 Anote este procedimento, pois será utilizado diversas vezes ao longo de todo o curso!!!! Não só nesta aula.
  • 28. Estrutura de diretórios Para armazenar os dados de forma permanente no computador, salvamos os mesmos no HD. Para organizar os arquivos no HD, criamos diretórios (também chamados de pastas Windows). Eu sou um diretório 28
  • 29. Estrutura de diretórios -No Windows Eu sou o HD, no Windows, você me enxerga como C: 29
  • 30. Estrutura de diretórios -No Windows Dentro do C: você pode criar vários diretórios, e alguns são criados durante a instalação do Windows. Os diretórios criados durante a instalação do S.O. são chamados de estrutura padrão de diretórios. 30
  • 31. Estrutura de diretórios -No Windows Eu sou o HD, no Windows, você me enxerga como C: Eu sou o HD secundário, no Windows, você podem me enxerga como D: Quando outro disco é adicionado, uma nova letra é associada aquele disco, exemplo D: E: etc Também é possível associar um HD a um diretório, ou dividir um HD, para ser visto como se fosse dois ou mais HDs, mas não vamos pensar sobre isso agora. 31
  • 32. Estrutura de diretórios -No Linux Eu sou o HD, no Linux, você me enxerga como / 32
  • 33. Caminho absoluto e relativo 33
  • 34. 34
  • 35. Comando: pwd Se tenho vários diretórios e dentro de cada diretório pode ter vários outros diretórios, como posso saber em qual diretório estou ? 35
  • 36. Comando: pwd Se tenho vários diretórios, e dentro de cada diretório pode ter vários outros diretórios, como posso saber em qual diretório estou ? Use o comando pwd 36
  • 37. Comando: ls Certo o pwd me mostra onde estou, mas como posso ver o que tem no diretório que estou ? Como posso mudar de diretório ? Criar os meus diretórios? 37
  • 38. Comando: ls Para ver o conteúdo use o comando “ls”, para mudar de diretório use o comando “cd” e para criar um diretório use o comando “mkdir”. Exemplo: para criar um diretório chamado teste, digite mkdir teste Para entrar no diretório digite cd teste 38
  • 39. 02 -Atividade Prática Conectar no servidor. a) Verificar em qual diretório você está. b) Verificar o conteúdo do diretório atual. c) Criar um diretório, cujo o nome seja o seu sobrenome. d) Entrar neste novo diretório criado. e) Com ajuda do comando pwd, descubra o que faz o comando cd quando digitado com as seguintes opções: cd cd .. cd - cd /etc cd ~ f) Qual a diferença de digitar pwd (minúsculo) e PWD (maiúsculo) 39
  • 40. Comando: mv Se quiser renomear o diretório ? mv NOME_ANTIGO NOVO_NOME 40
  • 41. Comando: mv Se quiser renomear o diretório ? mv NOME_ANTIGO NOVO_NOME O mv também pode ser usado, para mover um diretório de um lugar para outro. 41
  • 42. 03 -Atividade Prática a) Crie 5 diretórios no seu home com o nome: diretorio1, diretorio2, diretorio3, diretorio4, diretorio5 b) Mova o diretorio2 para dentro do diretorio1 c) Mova o diretorio3 para dentro do diretorio2 d) Mova o diretorio4 para dentro do diretorio3 e) Mova o diretorio5 para dentro do diretorio4 42
  • 43. A atividade foi feita corretamente ? 43
  • 44. Comando: rmdir Como posso apagar um diretório que não uso mais ? Ele só apaga diretório vazio 44 $rmdir DIRETÓRIO
  • 45. Comando: rmdir Como posso apagar um diretório que não uso mais ? Ele só apaga diretório vazio 45 $rmdir DIRETÓRIO
  • 46. 04 -Atividade Prática a) usando o comando rmdir remova o diretorio1 criado na atividade 03. 46
  • 47. Comando cp Aprendemos a renomear e remover diretórios, mas isso pode trazer problemas se fizermos algo errado, o ideal seria fazermos um backup (cópia), antes de realizar esta operações “perigosas”. O comando “cp” é o que nos permite duplicar arquivos e/ou diretórios. 47
  • 48. Comando cp Para copiar arquivos Para copiar diretórios, devemos adicionar a flag “-R” 48 cp /diretorio/arquivo_origem /diretororio_destino cp -R /diretório_origem /diretório_destino
  • 49. Comando: rm Quando geramos muitas cópias, podemos encher o nosso disco com arquivos duplicados, como podemos fazer para remover estes arquivos ? 49 rm ARQUIVO
  • 50. Atividade Chuck Norris 50 Descreva o comandos utilizados para recuperar um arquivo/diretório removido com o comando rm do Linux.
  • 51. 05 -Atividade Prática Digite os comandos em sequência e diga o que cada comando faz. a) cd /tmp b) mkdir ~/bau ~/tesouro c) ls /cvbioinfo/home/SEU_USUARIO d) ls ~/ 51
  • 52. 05 -Atividade Prática -B e) No seu home existem dois diretórios, bau e tesouro, mova o diretório tesouro, para dentro do bau. f) Faça uma cópia do diretório bau para o seu home com o nome de cofre. g) Confirme se em cofre existe o diretório tesouro. h) Remova o diretório bau. 52
  • 53. Comando: scp Tenho um arquivo no meu computador, como posso copiar este arquivo para o servidor? Se estiver no linux, pode usar o scp. Se estiver no windows, pode usar o winscp. 53
  • 54. scp Sintaxe: scp Opções Origem Destino exemplo: scp -P 22 Arquivo XXX@hammer.fcav.unesp.br:/home/XXX scp -r -P 22 dir XXX@hammer.fcav.unesp.br:/home/XXX O primeiro exemplo, copia um arquivo e o segundo um Diretório. 54
  • 58. 06 -Atividade Prática Com qualquer editor de texto da sua máquina (vim, gedit, notepad), crie um arquivo, escreva o que acha do Linux e em seguida usando o scp ou o winscp copie para o servidor no seu home, no diretório “opiniao”. Lembre-se de criar este diretório. 58
  • 59. Ajuda Ok, vimos várias maneiras (flags) que podem ser usadas junto com os comandos. Vou ter que decorar todas elas ? Como posso saber quais flags mas existem ? Help man 59
  • 60. 07-Atividade prática a) Utilizando o man ou o help, descubra como podemos utilizando o comando ls, exibir o tamanho dos arquivos. b) Verifique com o man ou o help o que faz a flag -h do comando ls. c) Utilize o comando ls com a flag, apreendida no exercício “a” junto com a flag “h” do exercício b. 60
  • 61. ssh gráfico Legal, estamos gostando do Linux, mas as vezes queremos rodar programas gráficos no Linux, é possível fazer isso usando o SSH? Sim, se estiver usando o Linux, basta adicionar a flag -X quando for conectar, se estiver usando o Windows, você vai precisar instalar algum programa para dar este suporte. 61
  • 62. ssh gráfico Legal, estamos gostando do Linux, mas as vezes queremos rodar programas gráficos no Linux, é possível fazer isso usando o SSH? Sim, se estiver usando o Linux, basta adicionar a flag -X quando for conectar, se estiver usando o Windows, você vai precisar instalar algum programa para dar este suporte. Importante com o man/help você já poderia ter descoberto esta opção. 62
  • 65. 08 -Atividade Prática a) Conecte no servidor, com suporte a “X“ e execute o programa gedit. b) No gedit abra o arquivo, que você enviou por scp, adicione seu nome no final do arquivo e salve o arquivo. 65
  • 66. Visualizando Arquivos Sempre que for ver o conteúdo de um arquivo no Linux, devo abrir o gedit ? Não, existem outras opções que podem ser melhor, dependendo do caso. cat more less head tail 66
  • 67. 09 -Atividade Prática a) copie o arquivo /etc/services para o seu home. b) Use o comando cat ~/services e descreva o que ele faz. 67
  • 68. 09 -Atividade Prática c) Use o comando more ~/services e descreva o que ele faz. c.1) Descreva o que faz o enter quando está usando o comando more. c.2) Descreva o que faz a barra de espaço quando está usando o comando more. 68
  • 69. 09 -Atividade Prática d) Use o comando less ~/services e descreva o que ele faz. d.1) Use as setas para cima e para baixo e descreva o que acontece. d.2) Experimente usar o enter a barra de espaço, com o less também. 69
  • 70. 09 -Atividade Prática e) Use o comando head ~/services e descreva o que ele faz. e.1) Use a flag “-n 20” junto ao head e diga quando ela pode ser útil. 70
  • 71. f) Use o comando tail ~/services e descreva o que ele faz. e.1) Use a flag “-n 20” junto ao tail e diga quando ela pode ser útil. e.2) Descubra o que a flag “ -f “ faz com o tail. 09 -Atividade Prática 71
  • 72. Editor de texto: vim Legal, aprendemos várias formas de visualizar o arquivo sem depender do X, mas e quando for editar o arquivo, também tem uma alternativa ? Sim, existem vários editor de texto, não visual no linux, por exemplo vim, nano, emacs, pico, etc. 72
  • 73. Vim Qual é o melhor editor de texto ? O melhor é o Vim, segundo o pessoal que usa o Vim, porém para os fãs do pico, não existe nada melhor que ele. Ou seja é uma questão de gosto, fique a vontade para usar o que mais te agradar, nós vamos ver como usar o Vim, mas você pode escolher outro. 73
  • 74. VIM Comando Ação [esq]:i Modo de inserção [esq]:v Modo de visualização [esq]:o Modo de inserção, adicionado uma linha [esq]dd Apaga uma linha [esq]yy Copia uma linha [esq]p Cola [esq]2yy Copia duas linhas [esq]5yy Copia cinco linhas 74
  • 75. VIM Comando Ação [esq]:s/a/A/g Troca todos os “a”s por “A” da linha [esq]:%s/a/A/g Troca todos os “a”s por “A” do texto [esq]:%s/marcelo/Marcelo Gomes/g Troca todas as ocorrências de “marcelo” por “Marcelo Gomes” [esq]2dd Apaga duas linhas [esq]:w Salva o arquivo [esq]:wq Salva o arquivo e sai do vim [esq]:q! Fecha o arquivo e sai do vim sem salvar as modificações 75
  • 76. 10 -Atividade Prática a) Utilizando vim, crie um arquivo com o nome de bioinformática e escreva qualquer coisa nele, e pratique as possibilidades apresentadas anteriormente. b) Crie um arquivo chamado agenda, e adicione alguns nomes, e-mail e telefone de amigos seus, e duplique algumas linhas (use valores fictício), porém coloque uma informação por linha e coloque o : como separador de informação, exemplo 76
  • 77. Script As vezes temos vários comandos que precisam ser executados com frequência em uma mesma ordem, e não é legal ter que ficar decorando e digitando estes comandos todas as vezes. Quando temos esta situação podemos digitar todos os comandos em um arquivo e “rodar” esse arquivo com os comandos ? Sim, este arquivo recebe o nome de script. 77
  • 78. Criando nosso primeiro script Crie um arquivo chamado meuscript.sh com o seguinte conteúdo. #!/bin/bash cd ~/ mkdir 1 cd 1 mkdir a mkdir b mkdir c echo “fim” 78
  • 79. Testando nosso script Primeiro, vamos dar permissão de execução para o script (não se preocupe com isso, vamos entender em breve) chmod +x meuscript.sh Agora podemos executar o script digitando 79
  • 80. Entendendo o script Por que o nome do arquivo deve ter .sh no final ? Ele não deve ter, isso é apenas uma convenção. Não vai alterar seu funcionamento é apenas uma boa prática. Meu script poderia chamar apenas script ? Poderia, e isso não vai impedir o seu funcionamento, porém é indicado sempre colocar o “.sh” quando o arquivo for um script. 80
  • 81. Entendendo o script A primeira linha do arquivo tem “#!/bin/bash” o que é isso? Este é o shebang, ele diz para o Linux, quem deve interpretar os comandos que estão no arquivo. Neste caso é o bash. Se você estiver conhecendo o Linux/Script hoje, não se preocupe em entender, por enquanto apenas lembre se que a primeira linha do seu script deve ter #!/bin/bash 81
  • 82. Entendendo o script As outras linhas você já conhece, a única novidade é a última linha, echo “fim”. O comando echo serve para escrever mensagens na tela, não é obrigatório de ter no script. Você pode brincar com o echo no terminal, digite echo “teste” e veja o que acontece. 82
  • 83. 11 -Atividade Prática a) Crie um script que deve criar um diretório chamado backup_nome.sh no /tmp e copiar todo o conteúdo do seu home para este diretório. Lembre-se que o script deve ter na primeira linha o shebang #!/bin/bash e antes de executar você deve dar a permissão com o comando chmod +x /tmp/backup_nome.sh 83
  • 84. Permissões de arquivos e diretórios Legal, já sabemos usar o Linux e criar scripts, o único mistério é o “chmod +x” que tenho que fazer sempre que criar um script. Para que ele serve ? Para entender este comando vamos ter que entender as permissões de arquivos e diretórios no Linux, você já parou para pensar como o Linux faz para saber se um arquivo é um script ou um texto? 84
  • 85. Permissões de arquivos e diretórios No seu home da um ls com a opção -l 85
  • 86. Permissões de arquivos e diretórios d = diretório r = leitura w = gravação x = execução 86
  • 87. Permissões de arquivos e diretórios r = leitura = 4 w = gravação = 2 x = execução = 1 Você pode usar o chmod com +x para adicionar a permissão de execução ou -x para remover e isso pode ser feito com o r e o w também. Ou você pode combinar seus valores octais para definir a permissão, por exemplo chmod 444 vai dar apenas permissão de leitura, ou combinar os valores chmod 666 vai dar permissão de leitura e gravação. 87
  • 88. Permissões de arquivos e diretórios Por que repetimos o valor 3 vezes ? Porque estamos definindo a permissão, para o dono do arquivo, as pessoas que pertencem ao mesmo grupo do dono do arquivo e todas as outras pessoas. Por exemplo, chmod 600 vai permitir que apenas o dono do arquivo leia e grave o arquivo. O chmod 640 vai permitir que apenas o dono do arquivo leia e grave o arquivo, e que todos que pertencer ao grupo do dono do arquivo também leia o arquivo. 88
  • 89. Comando: chown Posso dar o meu arquivo para alguém ? Sim, quando quiser trocar o dono ou o grupo do dono do arquivo, você usar o comando chown. Exemplo chown marcelo.marcelo arquivo 89
  • 90. Posso chamar um script sem./ ? Quando colocamos o ./ estamos indicando para o linux, que o script que estamos chamando está no diretório corrente. Caso o seu script esteja em um diretório por exemplo /home/marcelo/script/meuscript.sh e você estiver em /home/marcelo/arquivos como posso executar o meuscript.sh sem mudar de diretório? 90
  • 91. Posso chamar um script sem./ ? Para executar um script/programa que não está no diretório corrente, devemos colocar o path (caminho) completo, por exemplo para executar o meuscript.sh que esta em /home/marcelo/script/, devemos fazer da seguinte forma: /home/marcelo/script/meuscript.sh 91
  • 92. Posso chamar um script sem./ ? Mas como, conseguimos rodar o vim por exemplo, sem passar o caminho completo dele? Dica para ver onde está um programa/script use o comando type, exemplo: type vim 92
  • 93. Posso chamar um script sem./ ? O segredo está na variável PATH Veja seu conteúdo: echo $PATH Sempre que tentamos executar um script/programa no Linux, sem passar o caminho, ele procura no “PATH”. 93
  • 94. Posso chamar um script sem./ ? Podemos adicionar outros diretórios no path ? Sim export PATH=$PATH:/novo_diretorio 94
  • 95. Variáveis de ambiente Existem outras variáveis além do path ? Digite “env” e veja a quantidade! Posso criar uma variável minha ? Digite export TESTE=”meu teste” Em seguida use “env” ou “echo $TESTE” para checar. 95
  • 96. Script parâmetros Digite o script ola.sh abaixo, e execute ele da seguinte forma: ./ola.sh Marcelo #!/bin/bash NOME=$1; echo "Olá $NOME"; Explique o que faz este script. 96
  • 97. Script variável Calculando o dobro de um valor. #!/bin/bash VALOR=$1; DOBRO=$[$VALOR*2]; echo "O dobro de $VALOR é $DOBRO"; 97
  • 98. 13 -Atividade Prática 1) Faça um script “soma.sh” que receba dois parâmetros e some os dois valores. 98
  • 99. comando time Quanto tempo leva para rodar o meu comando ? time comando 99
  • 100. Comando sleep Quer fazer uma pausa em seu script ? sintaxe: sleep SEGUNDOS exemplo: sleep 5 100
  • 101. 14 -Atividade Prática a) Com ajuda do time, veja quanto tempo o comando sleep 5, precisa para executar. 101
  • 102. Comando top Se tiver que rodar 1.000 análises, posso abrir 1.000 conexões e colocar para rodar ao mesmo tempo e terminar o meu projeto 1.000 vezes mais rápido ? Para saber use o programa top 102
  • 103. comando ps E se quiser ver todo os processo em execução? ps aux lembre-se que com man você pode ver o que faz o “aux” além de outras opções. 103
  • 104. Descobrindo o pipe“|“no Linux O comando ps mostra muitas linhas, mas só queria ver as 10 primeiras linhas, como fizemos com os arquivos usando o comando head. Usando o pipe “|” podemos combinar comandos, por exemplo ps aux | head 104
  • 105. 15 -Atividade Prática Execute os comandos abaixo e entenda o que o pipe está fazendo. a) ps aux | head b) ls /etc | more c) find / | cat -n 105
  • 106. Operações em paralelo devo ter várias conexões ? Podemos rodar o comando em background, basta adicionar um & no fim do comando. sleep 5 & Para trazer o comando para primeiro plano novamente fg 1 Se tiver mais de um programa rodando em background jobs -l 106
  • 107. Operações em paralelo devo ter várias conexões ? O que acontece se fechar a minha conexão com programas rodando em background ? Independente de estar em background ou não, ao fechar a shell (conexão) todos os programas vão ser abordados. Para que o programa continue rodando mesmo após ter o shell fechado é necessário usar o nohup Exemplo: nohup sleep 5 & 107
  • 108. Comando kill Se estiver rodando um programa em background ou com ou sem o nohup como posso fazer ele parar ? kill -9 id_do_processo Lembrando que você pode pegar o id do processo com o ps -aux 108
  • 109. Qual deles conhece o screen ? 109
  • 110. Quem conhece o screen pode ➢ Bar do sapão ➢ Pinacoteca Municipal ➢ Museu Histórico "Aloísio de Almeida" ➢ Unesp – Universidade Estadual Paulista "Júlio de Mesquita Filho" - Campus Jaboticabal ➢ Lago Municipal "Carlos Rodrigues Serra" ➢ Jaboticabal Shopping ➢ Casa do Artesão ➢ Mercado Municipal ➢ Escola de Arte "Professor Francisco Berlingieri Marino" 110
  • 111. Comando screen E se eu quiser rodar um programa, sem ser em background, porém caso a minha conexão cair o processo continuar rodando ? use o screen 111
  • 112. 16 -Atividade Prática Opcional… copie a configuração do screen antes de fazer a atividade a) No terminal digite screen para entrar no screen. b) Digite echo “estou no screen” c) Em seguida, desconecte do screen “CRT+A CRTL +D” d) Liste os screens disponíveis “screen -ls” e) Reconectar ao seu screen “screen -r” 112
  • 113. Direcionado a saída para arquivo Algumas vezes podemos querer que a saída de um programa ou script, seja jogada para um arquivo no lugar tela, podemos fazer isso com o sinal de maior “>” e maior maior duas vezes. Exemplo: ls > conteudo.txt pwd >> conteudo.txt 113
  • 114. 17-Atividade Prática Execute no mínimo duas vez, os comandos abaixo em seguida descreva a diferença entre usar apenas um sinal de maior de usar dois sinais de maior. w > /tmp/saida.txt pwd >> /tmp/saida.txt echo “O professor é legal” >> /tmp/opiniao.txt 114
  • 115. comando grep Alguns comandos podem gerar arquivos gigantes que tornam custoso, a localização de algumas strings, quando quiser achar uma string no meio de um texto, podemos usar o comando grep, exemplo: grep marcelo /etc/passwd find /tmp | grep opiniao cat /tmp | grep -v legal 115
  • 116. 18 -Atividade Prática a) Usando o sleep crie um processo para ficar rodando por 40 segundos em background. b) Com ajuda do ps aux e do grep localize o id deste processo. c) Utilizando o comando kill -9 Id_do_processo mate o processo sleep criado. 116
  • 117. Comando sed Mas quando eu quiser trocar um string qualquer por outra como eu faço ? Vamos copiar o arquivo para o home, para todos poderem fazer. cp /tmp/opiniao.txt ~/opiniao.txt Agora com a ajuda do sed, podemos trocar as ocorrências da palavra professor, por Marcelo sed -i 's/professor/Marcelo/g' ~/opiniao.txt 117
  • 118. comando find e locate (updatedb) Criamos muitos arquivos! Está perdido, não lembra mais de algum arquivo ? find ~/ -name arquivo ou locate arquivo O locate é mais rápido que o find, porém ele pesquisa em um base que deve ser gerada antes com o comando updatedb (que só o root pode criar) 118
  • 119. comandos du e df Criamos muitos arquivos! qual o tamanho dos arquivos ? du -h arquivo du -sh ~/ du -sh ~/* Como está o uso do disco ? df -h 119
  • 120. 19 -Atividade Prática 1) Informe qual o nome e o tamanho do maior arquivo ou diretório de /dados. 2) Informe o tamanho do / e do /dados assim como o espaço disponível. 120
  • 121. Compactar e descompactar Programa Compactar Descompactar zip zip arquivo.zip arquivo.txt unzip arquivo.zip gzip gzip arquivo.txt gunzip arquivo.txt.gz tar tar -cvzf arquivo.tar.gz arquivo.txt tar -xvzf arquivo.tar.gz bz2 bzip2 arquivo.txt bunzip2 arquivo.txt.bz2 121
  • 122. 20 -Atividade Prática Compactar e descompactar um arquivo, com cada um dos programa apresentados. 122
  • 123. Editor de texto: awk De um cat no /etc/passwd,ele segue o seguinte formato: root:x:0:0:root:/root:/bin/bash Se quisermos fazer uma listagem com todos os usuários (primeiro campo) e o id do usuário (terceiro campo) cat /etc/passwd | awk -F':' '{ print $1"t"$3}' se quiser a lista ordenada cat /etc/passwd | awk -F':' '{ print $1"t"$3}' | sort 123
  • 124. 21 -Atividade Prática a) Crie o arquivo com o nome hino.txt com o seguinte conteúdo: 124
  • 125. Cantai, cantai, cantai Jovens, crianças, velhinhos, Cantai, cantai, cantai Como cantam os passarinhos Cantai, cantai, cantai Melopéia sem igual À cidade sinfônica A nossa Jaboticabal Mansão sonora Alegre e litúrgica, Cidade das rosas, Campeã da música Jovens formosos, Povo varonil Cidade das rosas, Lirismo do Brasil Vivemos em alegria, Sem temor ao mal É Jaboticabal 125
  • 126. Comando wc Este comando é utilizado para contar caracteres, palavras e/ou linhas dos dados da entrada padrão e apresenta o resultado na saída padrão. wc + parâmetros + arquivo Parâmetros: -l: conta as linhas; -w: conta as palavras; -c: conta os caracteres. wc -l hino.txt 126
  • 127. 22 -Atividade Prática a) Utilizando o comando wc informe quantas linhas contém o arquivo hino.txt b) Utilizando o comando wc informe quantas palavras contém o arquivo hino.txt c) Utilizando o comando wc informe quantos caracteres contém o arquivo hino.txt d) Quantos caracteres tem as duas primeiras linhas do arquivo hino.txt 127
  • 128. 22 -Resposta -Atividade Prática d) Quantos caracteres tem as duas primeiras linhas do arquivo hino.txt head -n 2 hino.txt | wc -c 128
  • 129. 23 -Atividade Prática Qual a diferença entre os dois comandos wc -l hino.txt cat -n hino.txt | tail -n 1 | awk '{print $1}' 129
  • 130. Contando a ocorrência de uma palavra grep -c em hino.txt todas as ocorrências de em grep -wc em hino.txt Apenas as palavras em grep -vc em hino.txt todas as linhas sem a ocorrência de em grep -vwc em hino.txt cat hino.txt | grep em cat hino.txt | grep -v em 130
  • 131. O comando tr Substituir letras minúsculas por maiúsculas tr [:lower:] [:upper:] < hino.txt Substituir letras maiúsculas por minúsculas tr [:upper:] [:lower:] < hino.txt 131
  • 132. Repetindo um comando N vezes for i in ls; do echo $i; done; while read linha do echo $linha; done < arquivo.txt; 132
  • 133. Checar se um arquivo existe #!/bin/bash if [ -f arquivo_existe.sh ]; then echo "Arquivo existe" else echo "Arquivo não existe" fi echo "Fim" 133
  • 134. 25 -Atividade Prática #!/bin/bash while : do read -p "Entre com 2 números ( - 1 to quit ) : " a b if [ $a -eq -1 ] then break fi ans=$(( a + b )) echo "A soma de $a + $b = $ans"; done 1) Explique o que faz este script. 2) Modifique o -eq para -gt e descubra o que ele faz. 3) Visite o site http://tldp.org/LDP/abs/html/com parison-ops.html e veja outros valores possíveis a ser inseridos lugar de -eq 134
  • 135. Python O Python é uma linguagem de programação interpretada! Interpretada vs Compilada 135
  • 136. Python Crie o arquivo ola.py, com o seguinte conteúdo: #!/usr/bin/python nome = raw_input("Informe o seu nome: ") print("Ola " + nome) 136
  • 137. Python chmod + x ola.py ./ola.py ou python ola.py 137
  • 138. Python O pyenv é um gerenciador de versões do Python. Ele permite que se instale e gerencie várias versões do Python usando a conta de usuário normal e permite manter várias versões isoladas umas das outras. pyenv activate qiime 138
  • 139. C 139
  • 140. C 140
  • 141. O céu é o limite com shell Veja um pequeno exemplo de um script que gerencia contatos. 141
  • 142. Função para adicionar contato add() { clear; echo "Adicionar contato"; read -p "Entre com o nome: " nome read -p "Entre com o fone: " fone echo "$nome:$fone" >> db.txt; echo "$nome cadastrado com sucesso"; read -p "Pressione uma tecla para continuar"; } 142
  • 143. Função para localizar contato find() { clear; echo "Localizar contato"; read -p "Entre com o nome: " nome resp=`cat db.txt | grep $nome`; echo $resp | awk -F':' '{print $1"t - t" $2}'; read -p "Pressione uma tecla para continuar"; } 143
  • 144. Função para listar todos os contatos all(){ clear; echo "Todos os contatos"; resp=`cat db.txt | sort`; while read linha do echo $linha | awk -F':' '{print $1"t - t" $2}'; done < db.txt read -p "Pressione uma tecla para continuar"; } 144
  • 145. Menu while : do clear; echo "Agenda"; echo "0 - Sair"; echo "1 - Incluir"; echo "2 - Consultar"; echo "3 - Todos"; read -p "Entre com a opção desejada " op if [ $op -eq 0 ] then break ; elif [ $op -eq 1 ] then add; elif [ $op -eq 2 ] then find; elif [ $op -eq 3 ] then all; 145
  • 146. Menu else echo "Opção invalida"; fi echo $op; done echo "fim"; 146
  • 147. Quero aprender mais sobre linux http://www.guiafoca.org/ https://www.youtube.com/playlist?list=PLN_FLtIvNW0mULYKba-nYQhZ80oDZK 2Iv https://marcelogomesrp.blogspot.com/2019/07/unesp-2019.html 147