Linux Prof. Fabio Santos, D.Sc Email: [email protected].

34
Linux Prof. Fabio Santos, D.Sc Email: [email protected]

Transcript of Linux Prof. Fabio Santos, D.Sc Email: [email protected].

Page 1: Linux Prof. Fabio Santos, D.Sc Email: fsantos.mail@gmail.com.

Linux

Prof. Fabio Santos, D.Sc

Email: [email protected]

Page 2: Linux Prof. Fabio Santos, D.Sc Email: fsantos.mail@gmail.com.

wc

• wc – é usado para contar linhas, palavras e bytes de um arquivo

ou do que for escrito no terminal.

• Sintaxe básica– $ wc [opções] [arquivo]

• Opções– -c: Imprimir a contagem de bytes.– -l: Imprimir o número de linhas.– -w: Imprimir o número de palavras.

Page 3: Linux Prof. Fabio Santos, D.Sc Email: fsantos.mail@gmail.com.

wc Exemplos

• Vamos usar, para estes exemplos, o conteúdo dos arquivos “arquivo1” e “arquivo2”, mostrados na explicação do comando cat.

• Para exibir o número de linhas do arquivo “arquivo1”, usaríamos:

$ wc -l arquivo1 3 arquivo1

• Para exibir o número de palavras e de bytes do arquivo “arquivo2”:

$ wc -wc arquivo22 22 arquivo2

Page 4: Linux Prof. Fabio Santos, D.Sc Email: fsantos.mail@gmail.com.

wc Exemplos

• Se usássemos o comando wc sem nenhuma opção para “arquivo1”, obteríamos:

$ wc arquivo13 3 19 arquivo1

onde o primeiro número é a contagem de linhas, o segundo, de palavras, e o terceiro, o de bytes

Page 5: Linux Prof. Fabio Santos, D.Sc Email: fsantos.mail@gmail.com.

Pipe e redirecionamento de entrada e saída.

Page 6: Linux Prof. Fabio Santos, D.Sc Email: fsantos.mail@gmail.com.

| (Pipe)

• | (Pipe)É usado para fazer encadeamento de processos, ou seja, faz com que a saída de um comando seja enviada como entrada para o próximo comando. Observe o exemplo a seguir para entender melhor:

$ cat arquivo1 arquivo2 | wc –l5

• Após a execução deste comando, a saída foi redirecionada para o próximo comando, isto é, o resultado da execução de “cat arquivo1 arquivo2” não foi impressa, mas sim serviu como entrada para o próximo comando, “wc -l” que contou o número de linhas e imprimiu este resultado no terminal.

Page 7: Linux Prof. Fabio Santos, D.Sc Email: fsantos.mail@gmail.com.

| (Pipe)

• Vamos mostrar agora um exemplo mais interessante:curso@curso-desktop:~$ ls -1 | wc –l13

• O comando antes do pipe lista o conteúdo do diretório atual, exibindo um item por linha.

Page 8: Linux Prof. Fabio Santos, D.Sc Email: fsantos.mail@gmail.com.

| (Pipe)

• Se executássemos apenas este comando, obteríamos o seguinte resultado:

• Mas em vez desta saída ser impressa, ela foi direcionada ao comando “wc -l”, que contou o número de linhas = 13.

Page 9: Linux Prof. Fabio Santos, D.Sc Email: fsantos.mail@gmail.com.

>

• >– Esta é uma outra forma de direcionar a saída de

um comando: diferente do |(pipe), que direcionava a saída de um comando para um outro programa ou comando.

– O > direciona a saída de um comando para um arquivo ou dispositivo.

Page 10: Linux Prof. Fabio Santos, D.Sc Email: fsantos.mail@gmail.com.

> Exemplos

• O comando a seguir redireciona a saída de “cat arquivo1” para um arquivo chamado “arquivo3”:

• Observe que o arquivo “arquivo3” não existia, foi criado quando da execução do comando “cat arquivo1 > arquivo3”. Se o arquivo “arquivo3” já existisse, seu conteúdo seria sobrescrito.

Page 11: Linux Prof. Fabio Santos, D.Sc Email: fsantos.mail@gmail.com.

>>

• O >>, assim como o >, também direciona a saída de um comando para um arquivo, a diferença ´e que ele não substitui o conteúdo do arquivo, mas acrescenta ao final.

Page 12: Linux Prof. Fabio Santos, D.Sc Email: fsantos.mail@gmail.com.

Exercícios

• Treine os redirecionamentos |, > e >>

Page 13: Linux Prof. Fabio Santos, D.Sc Email: fsantos.mail@gmail.com.

Links

• Links, em inglês significa ligação, no nosso caso são atalhos, servem principalmente para criar alternativas de paths para arquivos e programas

• Imagine por exemplo um arquivo de texto localizado no diretório, /home/aluno/Documentos/ com o nome de texto.txt, para editarmos este arquivo usamos o editor Vi, então sempre que formos abrir este texto deveremos digitar no console:

• Vi /home/aluno/Documentos/texto.txt

Page 14: Linux Prof. Fabio Santos, D.Sc Email: fsantos.mail@gmail.com.

Links

• É um caminho grande e de difícil memorização concorda? Agora se criarmos um link ficaria muito mais fácil pois sempre que formos abrir este texto pelo atalho basta digitar:

• Vi ~/texto.txt

Page 15: Linux Prof. Fabio Santos, D.Sc Email: fsantos.mail@gmail.com.

Links

• Os links mais comuns são chamados de symbolic links, (links simbólicos).

• São tipos de links que se referem a arquivos pelo seu nome.

• A criação de links simbólicos é feita utilizando o comando ln com a opção –s

ln –s /home/aluno/texto.txt ~/• Agora o arquivo de texto texto.txt tem um link na sua

home, experimente agora utilizar o comando vi texto

Page 16: Linux Prof. Fabio Santos, D.Sc Email: fsantos.mail@gmail.com.

Instalando programas pela linha de comando

Page 17: Linux Prof. Fabio Santos, D.Sc Email: fsantos.mail@gmail.com.

apt-get

• Já estudamos como instalar programas usando o Synaptic, agora veremos como fazer isso através da linha de comando.

• Para isso, utilizaremos uma ferramenta chamada apt-get

Page 18: Linux Prof. Fabio Santos, D.Sc Email: fsantos.mail@gmail.com.

apt-get

• Tanto o Synaptic quanto o apt-get são baseados no APT (Advanced Packaging Tool), que é um gerenciador de pacotes que permite instalar e atualizar programas de forma prática, resolvendo dependências automaticamente

• Com o apt-get é possível, portanto, instalar, remover e atualizar programas

Page 19: Linux Prof. Fabio Santos, D.Sc Email: fsantos.mail@gmail.com.

apt-get

• Para usar o apt-get, o primeiro passo é rodar o comando “apt-get update”, que faz com que o apt-get baixe a lista com os pacotes disponíveis

• Este comando deve ser executado periodicamente. O ideal é que seja usado uma vez por semana, ou sempre que for fazer alguma instalação importante:

$ sudo apt-get update• Depois disso, podemos instalar os programas desejados,

usando a seguinte sintaxe:$ sudo apt-get install [nome do programa]

• Exemplo– $ sudo apt-get install emacs

Page 20: Linux Prof. Fabio Santos, D.Sc Email: fsantos.mail@gmail.com.

apt-get

• Para desinstalar um programa, também é muito simples:$ sudo apt-get remove [nome do programa]

• Existe a opção de atualizar todo o sistema, o que é feito usando os comandos:

$ sudo apt-get update$ sudo apt-get upgrade

• $sudo apt-get update: atualiza as listas dos pacotes/softwares que estão nos repositórios.

• $sudo apt-get upgrade: atualiza todos os pacotes/softwares instalados na máquina com as versões mais recentes dos repositórios

Page 21: Linux Prof. Fabio Santos, D.Sc Email: fsantos.mail@gmail.com.

apt-get

• Repositórios de Pacotes do Ubuntu– http://packages.ubuntu.com/

Page 22: Linux Prof. Fabio Santos, D.Sc Email: fsantos.mail@gmail.com.

Exercício

• Acesse o site do repositório de pacotes do Ubuntu e busque algum programa para instalar por meio do apt-get

Page 23: Linux Prof. Fabio Santos, D.Sc Email: fsantos.mail@gmail.com.

Comandos de Compactação/Descompactação

Page 24: Linux Prof. Fabio Santos, D.Sc Email: fsantos.mail@gmail.com.

tar

• tar– É usado para se compactar/descompactar arquivos no

formato tar.gz ou tar.bz2• Sintax Básica– tar [opção] [arquivo]

• Opções– -c cria um arquivo do tipo tar– -x extrai um arquivo do tipo tar – -t lista um arquivo do tipo tar – -f especifica que o próximo parâmetro é o nome o do arquivo – -z compacta ou extrai um arquivo do tipo GunZip – -j compacta ou extrai um arquivo do tipo Bzip – -v exibi informações sobre os arquivos extraídos ou compactados

Page 25: Linux Prof. Fabio Santos, D.Sc Email: fsantos.mail@gmail.com.

tar Exemplos

• tar -zcvf exemplo.tar.gz exemplo/ • tar -zxvf exemplo.tar.gz

Page 26: Linux Prof. Fabio Santos, D.Sc Email: fsantos.mail@gmail.com.

Exercícios

• Crie um arquivo no /home/aluno• Em seguida compacte o diretório criado com o

comando tar.• Pesquise sobre o gzip outra ferramenta que

pode ser usada para compactação/descompactação no Linux

Page 27: Linux Prof. Fabio Santos, D.Sc Email: fsantos.mail@gmail.com.

Gerenciamento de Processos

Page 28: Linux Prof. Fabio Santos, D.Sc Email: fsantos.mail@gmail.com.

top

• Por ter muita experiência com travamentos, o Windows desenvolveu um sistema muito eficiente de gerenciamento manual de processos para usuários

• No Ubuntu, quando queremos matar um processo de maneira mais efetiva recorremos ao comando top

Page 29: Linux Prof. Fabio Santos, D.Sc Email: fsantos.mail@gmail.com.

top

Page 30: Linux Prof. Fabio Santos, D.Sc Email: fsantos.mail@gmail.com.

top

• top – É um gerenciador de tarefas que funciona no

terminal.– Existem várias opções para uso deste programa,

mas a ideia aqui será apenas apresentar sua funcionalidade em matar processos

– Depois de entrar no top, o usuário deve digitar a letra “k” referente ao comando “kill” e digitar o PID do processo que deseja matar.

Page 31: Linux Prof. Fabio Santos, D.Sc Email: fsantos.mail@gmail.com.

top

• PID é uma sigla para Process Identification, é o número único que o processo recebe quando é iniciado, um PID não é exclusivo de um programa.

• Na imagem mostrada, caso quiséssemos matar o processo “rhythmbox” deveríamos digitar k e em seguida 3551 já que este é o PID do rhythmbox

Page 32: Linux Prof. Fabio Santos, D.Sc Email: fsantos.mail@gmail.com.

ps

• ps – Lista os processos sendo executados no bash atual

Page 33: Linux Prof. Fabio Santos, D.Sc Email: fsantos.mail@gmail.com.

ps

• Para obtermos uma listagem mais completa utilizamos a opção “ps u” veja abaixo

Page 34: Linux Prof. Fabio Santos, D.Sc Email: fsantos.mail@gmail.com.

ps

• para listarmos todos os processos que estão sendo executados, (não os processos exclusivos do shell atual) utilizamos a opção “ps aux”.