comandos do linux
DESCRIPTION
Curso sobre comandos no terminal do linux.TRANSCRIPT
Programa deEnsino deSoftwareLivre
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
Roteiro
TerminalComandos do ArquivoInformações do SistemaPermissõesNavegaçãoFerramentasProgramação de Scripts
Terminal
Caminho: -Aplicativos -Acessórios -Terminal(Consola)
Atalho:Pode ser adicionado em atalhos do teclado. -Sistema -Preferências -Atalhos do teclado
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
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.
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.
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
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
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 ../
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 -
Comandos do Arquivo
PWD
O pwd mostra o diretório que você está usando:
$ pwd
Comandos do Arquivo
MKDIR
O mkdir cria diretórios:
$ mkdir qualquer
Comandos do Arquivo
RMDIR
O rmdir apaga diretórios:
$ rmdir qualquer
Comandos do Arquivo
RM
O rm apaga arquivos:
$ rm *.jpg (Para apagar todos os arquivos do formato jpg do diretório)
Comandos do Arquivo
CP
Copia arquivo ou diretório:
$ cp origem destino
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
Comandos do Arquivo
KILL
Finaliza processos sendo executados pelo seu PID, lhes enviando um sinal.
$ kill processo
Comandos do Arquivo
KILLALL
Finaliza processos pelo nome ao invés do PID como faz o comando kill.
$ killall gnome-terminal
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".
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.
Informações do Sistema
CAT
Mostra o conteúdo de um arquivo:
$ cat arquivo
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
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
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
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
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"
Informações do Sistema
WHO
O who mostra os usuários logados no sistema:
$ who
Informações do Sistema
HOSTNAME
O hostname retorna o nome do computador (na rede, ou não) que se está usando:
$ hostname
Informações do Sistema
CAL
Calendário:
$ cal
DATE
Data:
$ date
Informações do Sistema
PS
Relata os processos em execução:
$ ps
Informações do Sistema
UNAME
Mostra informações do sistema operacional e do computador.
$ uname
$ uname -a (para mais detalhes)
Informações do Sistema
W
Mostra quem está logado no sistema, detalha o que eles estão fazendo:
$ w
Informações do Sistema
FINGER
Mostra informações do sistema sobre um usuário:
$ finger nome_do_usuario
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
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
Informações do Sistema
WHICHExibe o caminho completo na hierarquia de diretórios para os comandos do sistema.
Exemplo:
$ which amsn
Informações do Sistema
REDEIFCONFIG
Mostra informações da rede:
$ ifconfig
IWCONFIG
Mostra informações da rede wireless:
$ iwconfig
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
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
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)
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.
Permissões
SU
O su muda para o root ou para outro usuário:
$ suSenha:
ou
$ su alunoSenha:$
Permissões
CHMOD
O chmod atribui permissões e poderes a um determinado arquivo:
Ex: tornando um arquivo executável
$ chmod +x arquivo
$./arquivo
Navegação
[TAB]
auto-completa os comandos digitados no terminal.
Exemplo:
$ whe [TAB]
Completará para:
$ whereis
Navegação
(SHIFT)PGUP/PGDN: barra de rolagem do bash.
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.
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
Ferramentas
HEAD
Mostra as 10 primeiras linhas de um arquivo texto(longo):
$ head arquivo
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.
Ferramentas
VI
Editor de texto.
Exemplo:
$ vi arquivo
$ :q sair
$ :qw! salvar
Ferramentas
NANO
Editor de texto - mais intuitivo.
Exemplo:
$ nano arquivo
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
Ferramentas
ECHO
O echo escreve um conjunto de caracteres na tela:
$ echo "Obrigado pela presença!"
Obrigado pela presença!
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
Ferramentas
SHUTDOWN
Desliga ou reinicia o computador:
$ shutdown -r now (reinicia o computador)
$ shutdown -h now (desliga o computador)
Ferramentas
MORE
O more imprime arquivos a tela, porém para esperando um retorno do teclado a cada tela cheia:
$ more README
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
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
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
Ferramentas
PASTE
Combina arquivos em um.
$ cat p1.txt Bem $ cat p2.txt Vindos$ paste p1.txt p2.txt Bem Vindos
Ferramentas
UNIQ
Apaga linhas repetidas:
$ uniq arquivo
Ferramentas
DIFF
Mostra as diferenças entre dois arquivos:
$ diff p1.txt p2.txt
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]
Ferramentas
TAR
Descompactando:
$ tar -xvfz arquivo.tar.gz
Para arquivos tar.bz2, utilize o seguinte comando para descompactar:
$ tar -xvfj arquivo.tar.bz2
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
Ferramentas
TOP
O top mostra todos os processos que estão rodando com várias outras informações do sistema:
$ top
Ferramentas
CLEAR
O clear "limpa" a tela do terminal:
$clear
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
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
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]*
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}
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
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
Shell Script
Variáveis
variavel="valor"
$ variavel="Eu estou logado como usuário $user"$ echo $variavel
Eu estou logado como usuário cla
Shell Script
IF
if [ -e $linux ]then
echo 'A variável $linux existe.'else
echo 'A variável $linux não existe.'fi
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
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
More...
http://pt.kioskea.net/contents/linux/linvi.php3