Você está na página 1de 38

Curso de Linux

Aula 4
Repositório, Metacaracteres e Programação
Lucas Ricardo e Enrico Manfron
petcocelinux@gmail.com
REVISÃO
Alias
➔ “Nome falso” ou “apelido”
◆ alias <nome> = “<comando>”

➔ unalias
◆ Desfaz o vínculo.
● unalias <nome>
● unalias -a

➔ Entretanto, quando utilizado no terminal, não dura para


sempre.

➔ Para utilizá-lo sempre, basta editar o seu BASH.


◆ gedit ~/.bashrc
Redirecionamento
➔ >
◆ Redireciona a saída de comandos para arquivos
➔ <
◆ Redireciona arquivos para entrada de comandos
➔ >>
◆ Redireciona a saída de comandos para arquivos e INSERE no mesmo arquivo
➔ <<
◆ É usado para determinar o fim de um comando
➔ |
◆ Redireciona a saída de comandos para outros comandos
➔ tee
◆ Obtém da entrada padrão e mostra na saída padrão
◆ Utilizado com o | (ex: ls | tee arquivo.txt)
Árvore de diretórios
➔ /
➔ /sbin ➔ /mnt
➔ /usr ➔ /proc
➔ /bin ➔ /home
➔ /tmp ➔ /dev
➔ /lib ➔ /var
➔ /etc ➔ /lost+found

o primeiro que disser a senha ganha um


twix
dica : ______
links
super usuário
sUPER USUÁRIO
➔ SU <usuário>
◆ Serve para você se logar com algum usuário, se o usuário não for
especificado, por padrão o "su" vai se logar com o usuário "root" ou
administrador.

➔ SUdo <comando>
◆ Serve para você dar privilégios temporários de administrador para o seu ou
outro usuário, todo usuário que estiver contido no grupo "sudoers" poderá
utilizar o "sudo".
repositórios
repositórios
➔ Locais que armazenam o software para sua distribuição possa
baixar e instalar programas de um local seguro, evitando
arquivos corrompidos ou indevidos.

➔ É importante manter seu sistema atualizado.

➔ Por se tratar de um software aberto, o trabalho para a melhora


dele é extremo, a cada dia surgem novas atualizações que
podem ajudar o desempenho do seu computador.
repositórios
➔ Isso é seguro?
◆ A própria distribuição cuida do seu repositório
◆ É muito difícil existir um vírus/malware
◆ Os programas passam por uma sequência ABSURDA de rigorosos testes,
justamente para evitar “lixo”.
Ferramentas de repositórios
➔ apt -> Advanced package tool
◆ Gerenciador de pacotes padrão das distribuições Debian
◆ Lembre-se que a Distribuição Debian tem inúmeros “filhos”
https://wiki.debian.org/Derivatives/Census
comandos de repositórios
➔ $ sudo apt-get install <programa>
◆ Instala um programa a partir de um repositório

➔ $ sudo apt-get update


◆ Verificar quais programas tem atualização

➔ $ sudo apt-get upgrade


◆ Atualiza programas que tem atualização
Ferramentas de repositórios
➔ PPA -> personal packages archives
◆ Algumas empresas tem seus próprios repositórios
◆ Muitas delas usam o sistema PPA.
https://www.diolinux.com.br/2013/07/omo-instalar-o-sublime-text-3-no
-via-ppa.html
comandos de repositórios
➔ $ sudo add-apt-repository ppa: <Link para o
repositório>
◆ Permite acesso à repositórios PPA.
mETACARACTERES
metacaracteres
➔ Facilita o uso do terminal. Existem dois tipos de
metacaracteres:
◆ *
◆ ?
◆ []
◆ {}
Interrogação (?)
➔ Refere-se à um caractere específico no nome dos arquivos

➔ Quando se usa ?, o SHELL substitui por todas as combinações


possíveis de letras no diretório em questão.

➔ Basicamente, ele completa com uma letra.

➔ Imagine um diretório com os seguintes arquivos: Mailbox,


projeto e trabalho.
◆ ~$: ls
◆ ~$: Mailbox projeto trabalho
◆ ~$: ls ?r*
◆ ~$: projeto trabalho
aSTERiSCO (*)
➔ Refere-se à um conjunto de caracteres quaisquer contido no
nome de um arquivo ou diretório

➔ Quando se usa *, o SHELL substitui por todas as combinações


possíveis de nomes no diretório em questão.

➔ Basicamente, ele completa com o restante da palavra.

➔ Imagine um diretório com os seguintes arquivos: Mailbox,


projeto e trabalho.
◆ ~$: ls
◆ ~$: Mailbox projeto trabalho
◆ ~$: ls *o
◆ ~$: projeto trabalho
Interrogação (?)
➔ Refere-se à um caractere específico no nome dos arquivos

➔ Quando se usa ?, o SHELL substitui por todas as combinações


possíveis de letras no diretório em questão.

➔ Basicamente, ele completa com uma letra.

➔ Imagine um diretório com os seguintes arquivos: Mailbox,


projeto e trabalho.
◆ ~$: ls
◆ ~$: Mailbox projeto trabalho
◆ ~$: ls ?r*
◆ ~$: projeto trabalho
colchetes []
➔ Substitui caracteres especificados dentro dos colchetes

➔ existem três modos de uso simples:


◆ [az]
◆ [a-z]

➔ Com isso é possível requisitar nos comandos listas específicas


de caracteres, por exemplo :
◆ ~$: ls [ac] - lista somente arquivos que se chamam a ou c
◆ ~$: ls [a-c] - lista somente arquivos que se chamam a ou c
◆ ~$: ls [^ac] - lista somente arquivos que não se chamam a ou c
chaves {}
➔ Substitui a sequência de caracteres especificados dentro das
chaves

➔ com um modo de uso simples:


◆ {eae,bro}

➔ Com isso é possível requisitar nos comandos, listas específicas


de caracteres, por exemplo :
◆ ~$: ls {jam,elao} - lista somente arquivos que se chamam jam
Metacaracteres
➔ A melhor parte é que podemos combinar os curingas e fazer
expressões muito úteis

➔ Imagine um diretório com 1000 arquivos de texto e 500 PDFs,


como fazer para selecionar todos os PDFs?
◆ ls *.pdf

➔ Imagine uma lista de nomes e você só quer selecionar os que


começam com a letra k e ainda são arquivos pdf e mp3.
◆ ls k*{pdf,mp3}

➔ Neste mesmo diretório, você só quer os nomes que possuem a


letra “o” ou “a” no meio da palavra.
◆ ls *[oa]*
cOMANDOS
AVANÇADOS
cOMANDOS AVANÇADOS
➔ $ clear
◆ Limpa a tela e posiciona o cursor no início da linha de comando
➔ $ grep <padrão> <arquivo>
◆ Mostra linhas do arquivo que possuem o padrão identificado
➔ $ echo <Mensagem>
◆ Mostra mensagens na tela
◆ Útil quando se implementa um script.
➔ $ time <comando>
◆ Mostra o tempo gasto para executar um processo (programa).
◆ Útil para testar o tempo de execução de um programa
cOMANDOS AVANÇADOS
➔ $ nl <arquivo>
◆ Mostra o número de linhas de um arquivo, mostrando a linha em questão
➔ $ wc <arquivo>
◆ Conta quantas palavras, bytes e linhas um arquivo possui
◆ LINHAS - PALAVRAS - BYTES
➔ $ seq <1ª elemento> <Incremento> <último elem.>
◆ Imprime uma sequência numérica na tela.
➔ $ Du
◆ Mostra o espaço ocupado por DIRETÓRIOS, em bytes.
➔ $ Xkill
◆ Seu cursor é responsável por encerrar o processo.
cOMANDOS de busca
➔ $ updatedb <COMANDO>
◆ atualiza banco de dados
➔ $ find <partida> -name <arquivo>
◆ Procura pelo nome de um arquivo a partir da partida.
➔ $ locate <expressão>
◆ Procura em todo o banco de dados a expressão fornecida.
➔ $ which <comando>
◆ Usando para encontrar qual diretório está o comando.
execução de
programas
o que é execução de
programa?
execução de programas
tipo de execução

◆ Duas formas:

○ Primeiro Plano - foreground

○ Segundo Plano - background


execução de programas
comandos iniciais:

➔ $ ps <opções>
◆ Apresenta processos em execução no terminal que foram iniciados.

➔ $ top <opções>
◆ Apresenta todos os processos.
execução de programas
controle de execução:

➔ $ CTRL + C
◆ Cancela a execução de um processo em primeiro plano.
➔ $ CTRL + z
◆ Para a execução de um processo em primeiro plano.
➔ $ jobs
◆ Apresenta processos parados ou em segundo plano.
➔ $ fg <numero>
◆ Passa um processo para o primeiro plano.
➔ $ bg <numero>
◆ Passa um processo para o segundo plano.
execução de programas
comandos iniciais:

➔ $ kill <opções> <sinal> <PID>


◆ Permite que você envie um sinal a um programa.
(e você aí pensando que o kill só matava processos em...)

● Sinal 20
● Sinal 1
● Sinal 9
Programação
o que é um programa?
programação
➔ $ gedit <arquivo>
◆ Cria ou abre um arquivo de texto.
◆ OBS: Editor de texto opcional
➔ $ gcc -o <nomedoprograma> <arquivosdoprograma>
◆ Compila o programa
◆ -wall: Ativa vários avisos que não são ativados normalmente. Pode dar
alguns conselhos úteis
◆ -01; -02;-03: Faz otimizações no programa.
➔ $ ./nomedoprograma
◆ Executa o programa
Desafio
o quão longe você consegue chegar?

➔ https://itsfoss.com/bash-challenge-5/
➔ https://cmdchallenge.com/#/current_working_directory
AGORA SIM !!!
Exercícios:

1. Vá no / e redirecione o “ls” de um diretório qualquer para um arquivo


de texto. Use os comandos de leitura nesse arquivo de texto.

2. Inverta as linhas do arquivo anterior e mande o resultado para outro


arquivo. Use os comandos de leitura nesse arquivo de texto

3. Usando apenas uma linha de comando, inverta as linhas da saída de


um comando “ls” e redirecione para um arquivo de texto.
AGORA SIM !!!
Exercícios:

4. entre na pasta de arquivos fornecida pelo e-mail e usando somente


um ls e curingas:
a. imprima somente arquivos pd.
b. imprima na tela somente arquivos com números no meio do nome.
c. imprima na tela somente arquivos que não tem números no meio do nome.
d. imprima todos os arquivos que comecem com a letra a
e. imprima todos os arquivos que terminem com a letra a ou d
f. imprima todos os arquivos que não sejam .pd e .mp
Esta foi a aula 4!
Aula 5 nesta mesma batsala, no
mesmo bathorário.
Dúvidas? Perguntas?
Comentários? Presentes?

Você também pode gostar