79
Programa de Ensino de Software Livre Comandos do Linux.

Comandos do linux

Embed Size (px)

DESCRIPTION

Curso sobre comandos no terminal do linux.

Citation preview

Page 1: Comandos do linux

Programa deEnsino deSoftwareLivre

Comandos do Linux.

Page 2: Comandos do linux

Referência

http://wiki.ubuntu-br.org/ComandosBasicohttp://www.inf.ufpr.br/afms03/shell.htmlhttp://www.devin.com.br/shell_script/http://www.vivaolinux.com.br/artigo/Linux-Basico-Parte-I?pagina=6http://tuxspectrum.wordpress.com/2007/05/12/comandos-para-a-shell-parte-1/http://www.gdhpress.com.br/linux/leia/index.php?p=cap1-16http://www.devin.com.br/comandos_linux/

http://www.vivaolinux.com.br/artigo/Shell-script-*-%5B%5D-%7B%7D-como-utilizalos/?pagina=2

http://www.vivaolinux.com.br/dica/O-comando-script

Page 3: Comandos do linux

Roteiro

TerminalComandos do ArquivoInformações do SistemaPermissõesNavegaçãoFerramentasProgramação de Scripts

Page 4: Comandos do linux

Terminal

Caminho: -Aplicativos -Acessórios -Terminal(Consola)

Atalho:Pode ser adicionado em atalhos do teclado. -Sistema -Preferências -Atalhos do teclado

Page 5: Comandos do linux

Terminal

Executar Aplicação (Alt+F2): gnome-terminal

Somente terminal: Ctrl+Alt+F1 Trocando de terminais: Alt+F(1-7) - onde o 7 é o ambiente gráfico

Page 6: Comandos do linux

Terminal

Shell, ou Console, é um programa que permite ao usuário interagir com o sistema operacional através de comandos digitados do teclado.

O Shell mais famoso de Linux é o Bash, pois o mesmo oferece vários recursos que facilitam a vida do usuário. O mais básico é o sh.

Em todos estes é possível criar scripts (mini-programas) que executam sequências de comandos, como se estivessem sendo digitados pelo usuário.

Page 7: Comandos do linux

Terminal

aluno@aluno-desktop:~$

-Antes do símbolo @ temos o nome do usuário.-Após o @ temos o computador acessado e o diretório.

O caractere que aparece no final indica qual o poder do usuário.

$ significa usuário comum.# para usuário com acesso irrestrito(chamado usuário root).

O usuário root pode, deletar arquivos do sistema, instalar programas, configurar o sistema, manipular usuários e grupos e alterar a prioridades de processos, entre outras tarefas.

Page 8: Comandos do linux

Comandos do Arquivo

LS

O ls é o comando mais básico de um shell. Ele serve para listar o conteúdo de um diretório, mostrando os arquivos que estão no mesmo.

Exemplos:

Listar o diretório atual:$ ls

Listar o diretório /qualquer:$ ls /qualquer

Page 9: Comandos do linux

Comandos do Arquivo

LS

Listar o diretório atual mostrando todos os detalhes dos arquivos:$ ls -l

Mostrar arquivos ocultos:$ ls -a

Combinando os dois últimos comandos acima:$ ls -la

Page 10: Comandos do linux

Comandos do Arquivo

CD

CD vem de Change Directory (mudar de diretório) e serve justamente para mudar o diretório atual.

É um comando para acessar diretórios, você deve inserir o comando e depois o nome do diretório:

$ cd [diretório]

Para voltar ao diretório acima:

$ cd ../

Page 11: Comandos do linux

Comandos do Arquivo

CD

Dois diretórios:

$ cd ../../

Ir para o diretório home do usuário:

$ cd ~

Voltar para o diretório home:

$ cd -

Page 12: Comandos do linux

Comandos do Arquivo

PWD

O pwd mostra o diretório que você está usando:

$ pwd

Page 13: Comandos do linux

Comandos do Arquivo

MKDIR

O mkdir cria diretórios:

$ mkdir qualquer

Page 14: Comandos do linux

Comandos do Arquivo

RMDIR

O rmdir apaga diretórios:

$ rmdir qualquer

Page 15: Comandos do linux

Comandos do Arquivo

RM

O rm apaga arquivos:

$ rm *.jpg (Para apagar todos os arquivos do formato jpg do diretório)

Page 16: Comandos do linux

Comandos do Arquivo

CP

Copia arquivo ou diretório:

$ cp origem destino

Page 17: Comandos do linux

Comandos do Arquivo

MV

Tem a mesma função do comando cp, só que ao invés de copiar, move o arquivo ou o diretório para o destino especificado:

$ mv origem destino

Page 18: Comandos do linux

Comandos do Arquivo

KILL

Finaliza processos sendo executados pelo seu PID, lhes enviando um sinal.

$ kill processo

Page 19: Comandos do linux

Comandos do Arquivo

KILLALL

Finaliza processos pelo nome ao invés do PID como faz o comando kill.

$ killall gnome-terminal

Page 20: Comandos do linux

Comandos do Arquivo

MOUNT

Monta um sistema de arquivos tornando-o disponível para as operações de E/S (Entrada/Saída) em arquivos, ou exibe uma lista dos sistemas de arquivos atualmente montados.

$ mount para listar os sistemas de arquivos atualmente montados.

$ sudo mount -t ext3 /dev/hda3 /media/hda3

para montar a terceira partição primária do disco hda (IDE1) formatado em EXT3 no diretório /media/hda3. É necessário que o diretório /media/hda3 tenha sido previamente criado para que o comando tenha sucesso. Obs.: A partição montada com este comando sem mais parametros, dará permissão de escrita e leitura para todos os usuários. Ver "man mount".

Page 21: Comandos do linux

Comandos do Arquivo

UMOUNT

Desmonta um sistema de arquivos previamente montado que não esteja em uso.

$ sudo umount /dev/hda3

para desmontar o dispositivo /dev/hda3. Para que o comando seja executado com sucesso é importante que o dispositivo não esteja em uso, como por exemplo com arquivos abertos ou mesmo estando dentro do diretório onde o mesmo se encontra montado.

Page 22: Comandos do linux

Informações do Sistema

CAT

Mostra o conteúdo de um arquivo:

$ cat arquivo

Page 23: Comandos do linux

Informações do Sistema

FREE

O free mostra quanto você tem de memória RAM e swap, gastos e livres:

$ free

HDPARM

O hdparm mostra informações detalhadas sobre HD

$hdparm

Page 24: Comandos do linux

Informações do Sistema

SWAPON

O swapon mostra informações sobre a memória virtual (swap)

$swapon

/PROC/CPUINFO

O arquivo guarda informações sobre o processador

$cat /proc/cpuinfo

Lista as interrupções de hardware em uso:

$ cat /proc/interrupts

Page 25: Comandos do linux

Informações do Sistema

CAT

Versão do linux e outras informações:

$ cat /proc/version

Mostra os tipos de sistemas de arquivos em uso:

$ cat /proc/filesystems

Mostra a configuração das impressoras:

$ cat /etc/printcap |more

Page 26: Comandos do linux

Informações do Sistema

DF

O df verifica o quanto você tem de espaço disponível nas suas partições e o quanto foi gasto:

$ df

Para visualizar melhor (em MegaBytes):

$ df -h

Page 27: Comandos do linux

Informações do Sistema

WHOAMI

O whoami retorna o usuário logado no momento (que executou este comando):

$ whoami Sinônimo com mais informações: "id"

Page 28: Comandos do linux

Informações do Sistema

WHO

O who mostra os usuários logados no sistema:

$ who

Page 29: Comandos do linux

Informações do Sistema

HOSTNAME

O hostname retorna o nome do computador (na rede, ou não) que se está usando:

$ hostname

Page 30: Comandos do linux

Informações do Sistema

CAL

Calendário:

$ cal

DATE

Data:

$ date

Page 31: Comandos do linux

Informações do Sistema

PS

Relata os processos em execução:

$ ps

Page 32: Comandos do linux

Informações do Sistema

UNAME

Mostra informações do sistema operacional e do computador.

$ uname

$ uname -a (para mais detalhes)

Page 33: Comandos do linux

Informações do Sistema

W

Mostra quem está logado no sistema, detalha o que eles estão fazendo:

$ w

Page 34: Comandos do linux

Informações do Sistema

FINGER

Mostra informações do sistema sobre um usuário:

$ finger nome_do_usuario

Page 35: Comandos do linux

Informações do Sistema

WHEREIS

Exibe os locais onde se encontram os arquivos executável, o fonte e paginas de manuais do comando "comando":

$ whereis comando

Page 36: Comandos do linux

Informações do Sistema

DU

Exibe o tamanho de arquivos e/ou diretórios. Se nenhum arquivo ou diretório for passado como argumento, será assumido o diretório atual.

$ du

Para verificar o tamanho dos subdiretórios ao invés dos arquivos:

$ du -k -h --max-depth=1

Page 37: Comandos do linux

Informações do Sistema

WHICHExibe o caminho completo na hierarquia de diretórios para os comandos do sistema.

Exemplo:

$ which amsn

Page 38: Comandos do linux

Informações do Sistema

REDEIFCONFIG

Mostra informações da rede:

$ ifconfig

IWCONFIG

Mostra informações da rede wireless:

$ iwconfig

Page 39: Comandos do linux

Informações do Sistema

SUDO

O comando sudo do sistema operacional Unix permite a usuários comuns obter privilégios de outro usuário, em geral o super usuário, para executar tarefas específicas dentro do sistema de maneira segura e controlável pelo administrador. O nome é uma forma abreviada de se referir a substitute user do (fazer substituindo usuário) ou super user do (fazer como super usuário).

Exemplo:

$ sudo [-u usuário] comando

Page 40: Comandos do linux

Informações do Sistema

INSTALAÇÃO

Se não encontrar o programa pelo Synaptic, poderá instalá-lo pelo terminal:

Exemplo:

$ sudo apt-get install progama

Ou

$ sudo aptitude install programa

Page 41: Comandos do linux

Permissões

As permissões são um dos aspectos mais importantes do Linux.

Elas são usadas para vários fins, mas servem principalmente para proteger o sistema e os arquivos dos usuários. Elas se resumem a: - leitura (r) - escrita (w) - execução (x)

Page 42: Comandos do linux

Permissões

O comando $ ls -l

Mostra uma listagem detalhada dos arquivos do diretório atual e isso inclui suas permissões. aluno@aluno-desktop:~$ ls -ldrwxr-xr-x 6 aluno aluno 4096 2010-04-05 12:42 Área de Trabalhodrwxr-xr-x 2 aluno aluno 4096 2010-03-19 22:30 Documentos...aluno@aluno-desktop:~$

O primeiro caracter indica quais bits de atributos estão setados, os próximos três são as permissões do usuário sobre o arquivo, depois do grupo, e por fim de todos os outros usuários.

Page 43: Comandos do linux

Permissões

SU

O su muda para o root ou para outro usuário:

$ suSenha:

ou

$ su alunoSenha:$

Page 44: Comandos do linux

Permissões

CHMOD

O chmod atribui permissões e poderes a um determinado arquivo:

Ex: tornando um arquivo executável

$ chmod +x arquivo

$./arquivo

Page 45: Comandos do linux

Navegação

[TAB]

auto-completa os comandos digitados no terminal.

Exemplo:

$ whe [TAB]

Completará para:

$ whereis

Page 46: Comandos do linux

Navegação

(SHIFT)PGUP/PGDN: barra de rolagem do bash.

Page 47: Comandos do linux

Navegação

“ | ” (pipe)

Ele permite fazer com que a saída de um comando seja enviada para outro ao invés de ser mostrada na tela.

Permite "combinar" diversos comandos que originalmente não teriam nenhuma relação entre si, de forma que eles façam alguma coisa específica.

Page 48: Comandos do linux

Navegação

HISTORY

O terminal mantém um histórico dos últimos 500 comandos digitados. Para repetir um comando recente, simplesmente pressione as setas para cima ou para baixo até encontrá-lo.Para fazer uma busca use o comando

Exemplo:

$ history | grep comando

Page 49: Comandos do linux

Ferramentas

HEAD

Mostra as 10 primeiras linhas de um arquivo texto(longo):

$ head arquivo

Page 50: Comandos do linux

Ferramentas

TAIL

Mostra as 10 primeiras 10 linhas de um arquivo texto longo ou em crescimento:

$ tail filename

Use tail -f nome_do_arquivo para que o comando tail mostre o arquivo a medida em que ele cresce - - realmente muito bom para inspeção continua de arquivos de log.

Page 51: Comandos do linux

Ferramentas

VI

Editor de texto.

Exemplo:

$ vi arquivo

$ :q sair

$ :qw! salvar

Page 52: Comandos do linux

Ferramentas

NANO

Editor de texto - mais intuitivo.

Exemplo:

$ nano arquivo

Page 53: Comandos do linux

Ferramentas

FIND

O find procura por arquivos em um diretório e seus subdiretórios.Exemplo, procuremos arquivos JPG a partir do diretório atual:

$ find . -name *jpg

Agora, procuremos arquivos MPG no diretório do CDROM:

$ find /cdrom -name *mpg

Page 54: Comandos do linux

Ferramentas

ECHO

O echo escreve um conjunto de caracteres na tela:

$ echo "Obrigado pela presença!"

Obrigado pela presença!

Page 55: Comandos do linux

Ferramentas

PS

O ps mostra todos os processos (programas) que estão rodando na memória.Vendo os processos do usuário:

$ ps

Vendo todos os processos do sistema (de todos os usuários):

$ ps aux

Page 56: Comandos do linux

Ferramentas

SHUTDOWN

Desliga ou reinicia o computador:

$ shutdown -r now (reinicia o computador)

$ shutdown -h now (desliga o computador)

Page 57: Comandos do linux

Ferramentas

MORE

O more imprime arquivos a tela, porém para esperando um retorno do teclado a cada tela cheia:

$ more README

Page 58: Comandos do linux

FerramentasSETAS

> - cria um arquivo e insere nele o que seria a saída do comando

$ grep autor README > whoautor.txt (não precisa de extensão) >> - concatena um arquivo em outro$cat p1.txtteste

$cat p2.txtisso é um

$cat p2.txt >> p1.txt $cat p2.txt isso é umteste

Page 59: Comandos do linux

Ferramentas

GREP

O grep é uma ferramenta muito poderosa, principalmente para programadores. GREP = Generalized Regular Expression Parser.

Facilitando para entender, ele procura por um texto dentro de uma arquivo. Neste exemplo procuro por "autor" dentro do "README":

$ grep autor README Teste: ps aux | grep whoami

Variacões: egrep

Page 60: Comandos do linux

Ferramentas

SEDO sed é usado pra substituir uma string por outra por exemplo. Exemplo:

sed s/jazz/rock/1O som do jazz é autêntico (digitado do teclado)O som do rock é autêntico (impresso pelo terminal)

No campo da linha pode ser usado a letra g (global) significando todas elas.

Comandos do Sed (alguns mais usados):

s substitui o que casar com o padrão por outra coisa y troca um caractere por outro p imprime a expressão d apaga a expressão

Page 61: Comandos do linux

Ferramentas

PASTE

Combina arquivos em um.

$ cat p1.txt Bem $ cat p2.txt Vindos$ paste p1.txt p2.txt Bem Vindos

Page 62: Comandos do linux

Ferramentas

UNIQ

Apaga linhas repetidas:

$ uniq arquivo

Page 63: Comandos do linux

Ferramentas

DIFF

Mostra as diferenças entre dois arquivos:

$ diff p1.txt p2.txt

Page 64: Comandos do linux

Ferramentas

TAR

O tar server para compactar e descompactar arquivos no formato .tar.gz (tar e gzip).Compactando:

$ tar -cvfz arquivo.tar.gz [arquivos|diretório]

Page 65: Comandos do linux

Ferramentas

TAR

Descompactando:

$ tar -xvfz arquivo.tar.gz

Para arquivos tar.bz2, utilize o seguinte comando para descompactar:

$ tar -xvfj arquivo.tar.bz2

Page 66: Comandos do linux

Ferramentas

MAN

Formata e exibe uma página man (man page).O comando man é usado para mostrar o manual de outros comandos.

$ man outro_comando Sinônimo: info

Page 67: Comandos do linux

Ferramentas

TOP

O top mostra todos os processos que estão rodando com várias outras informações do sistema:

$ top

Page 68: Comandos do linux

Ferramentas

CLEAR

O clear "limpa" a tela do terminal:

$clear

Page 69: Comandos do linux

Ferramentas

SCRIPT

Cria um arquivo com tudo o que for digitado e todas as saídas até que se entre exit:

$script teste.txt$lsÁrea de Trabalho Música Público Documentos$exit$cat teste.txt

Page 70: Comandos do linux

Wildcards

Wildcards são os coringas, as variáveis anônimas do shell, ou também chamados como os metacaracteres. Eles tem como função auxiliar no manipulação de expressões. *(asterisco) - e sua função é substituir qualquer caracter ou string que poderia estar no lugar. ?(interrogação) - substitui apenas um caracter, para representar mais de um caracter basta repetir o '?' pela quantidade de vezes necessária

Page 71: Comandos do linux

Wildcards

[ ] (Colchetes) - ele nos permite adicionar condições especiais para a saída da busca

Quero listar todos os arquivos iniciados de a até c no diretório /etc:

# ls /etc/[a-c]*

Porém não serão listados arquivos que iniciam com letra maiúscula, se eu quisesse listar as maiúsculas ficaria da seguinte maneira:

# ls /etc/[a-cA-C]*

E se eu quisesse listar todos os arquivos exceto os iniciados por vogais, ficaria assim:

# ls /etc/[^AEIOU]*

Page 72: Comandos do linux

Wildcards{ } (Chaves) – Ele nos permite especificar uma combinação de caracteres, números ou trechos para serem combinados com o que estiver fora dele.

Digamos que eu esteja no diretório corrente e queira listar todos arquivos que iniciem com a palavra text:

# ls -la . {text}*

O que mais chama a atenção neste wildcard é que o mesmo pode ser combinado com comandos de criação de arquivos e diretório, o que não podemos fazer usando o wildcard [], isso facilita e muito quando se tem um padrão no nome do arquivo e só mude algum caractere, muito bom para ministrar aulas ou dar de exemplos em artigos. :)

Veja: eu quero criar dez arquivos iniciados com o nome aula. Vejo e emito o seguinte comando:

# touch aula{1,2,3,4,5,6,7,8,9,10}

Page 73: Comandos do linux

Variáveis de Ambiente

LANG = Codificação do terminal e linguagem padrãoHOME = O diretório home do usuário logadoUSER = O nome do usuário logadoPWD = diretório correnteEDITOR = editor de textos padrãoPATH = Caminhos pelos quais o shell procurará os comandos que você tentar executar? = Valor de retorno do ultimo comando executado

Page 74: Comandos do linux

Shell Script

Programaçao de scripts

Criar arquivo com o cabeçalho (#!/bin/bash) para conceder os poderes de um shell script, em seguida, dá uma mudança de permissão tornando-o um executável.Agora podemos inserir comandos e instruções dentro desse arquivo executável.

Passagem de parametros

$@ Todos os argumentos$* Todos os argumentos (Veja diferença abaixo)$# Número de argumentos$0 Nome do script$1 Primeiro argumento$2 Segundo argumento${15} Décimo quinto argumento

Page 75: Comandos do linux

Shell Script

Variáveis

variavel="valor"

$ variavel="Eu estou logado como usuário $user"$ echo $variavel

Eu estou logado como usuário cla

Page 76: Comandos do linux

Shell Script

IF

if [ -e $linux ]then

echo 'A variável $linux existe.'else

echo 'A variável $linux não existe.'fi

Page 77: Comandos do linux

Shell Script

IF

-eq Igual-ne Diferente-gt Maior-lt Menor-o Ou-d Se for um diretório-e Se existir-z Se estiver vazio-f Se conter texto-o Se o usuário for o dono-r Se o arquivo pode ser lido-w Se o arquivo pode ser alterado-x Se o arquivo pode ser executado

Page 78: Comandos do linux

Shell Script

While

O while testa continuamente uma expressão, até que ela se torne falsa.Exemplo:

variavel="valor"while [ $variavel = "valor" ]; do

comando1 comando2

done

Page 79: Comandos do linux

More...

http://pt.kioskea.net/contents/linux/linvi.php3