Este documento fornece uma referência sobre comandos básicos do Linux, incluindo comandos para navegação de arquivos e diretórios, visualização de informações do sistema, configuração de permissões e ferramentas de linha de comando. O documento lista vários comandos úteis e fornece exemplos de uso.
4. Terminal
Caminho:
-Aplicativos
-Acessórios
-Terminal(Consola)
Atalho:
Pode ser adicionado em atalhos do teclado.
-Sistema
-Preferências
-Atalhos do teclado
6. 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.
7. 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.
8. 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
9. 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
10. 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 ../
11. 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 -
17. 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
20. 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".
21. 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.
23. 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
24. 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
25. 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
26. 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
27. 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"
35. 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
36. 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
39. 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
40. 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
41. 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)
42. 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 -l
drwxr-xr-x 6 aluno aluno 4096 2010-04-05 12:42 Área de Trabalho
drwxr-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.
43. Permissões
SU
O su muda para o root ou para outro usuário:
$ su
Senha:
ou
$ su aluno
Senha:
$
44. Permissões
CHMOD
O chmod atribui permissões e poderes a um determinado arquivo:
Ex: tornando um arquivo executável
$ chmod +x arquivo
$./arquivo
47. 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.
48. 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
50. 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.
53. 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
55. 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
57. Ferramentas
MORE
O more imprime arquivos a tela, porém para esperando um retorno do teclado a
cada tela cheia:
$ more README
58. Ferramentas
SETAS
> - 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.txt
teste
$cat p2.txt
isso é um
$cat p2.txt >> p1.txt
$cat p2.txt
isso é um
teste
59. 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
60. Ferramentas
SED
O sed é usado pra substituir uma string por outra por exemplo.
Exemplo:
sed s/jazz/rock/1
O 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
64. 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]
66. 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
67. Ferramentas
TOP
O top mostra todos os processos que estão rodando com várias outras
informações do sistema:
$ top
69. 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
70. 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
71. 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]*
72. 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}
73. Variáveis de Ambiente
LANG = Codificação do terminal e linguagem padrão
HOME = O diretório home do usuário logado
USER = O nome do usuário logado
PWD = diretório corrente
EDITOR = editor de textos padrão
PATH = Caminhos pelos quais o shell procurará os comandos que você tentar
executar
? = Valor de retorno do ultimo comando executado
74. 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
75. Shell Script
Variáveis
variavel="valor"
$ variavel="Eu estou logado como usuário $user"
$ echo $variavel
Eu estou logado como usuário cla
76. Shell Script
IF
if [ -e $linux ]
then
echo 'A variável $linux existe.'
else
echo 'A variável $linux não existe.'
fi
77. 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
78. 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