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
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
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
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
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
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
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
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
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
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
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
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
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
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
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