Adaptado do manual do DCC/UFMG e do livro ASO-M
GRC - Gerência de Recursos Computacionais
Ambiente Unix/Linux
• Características do UNIX:
capacidade multitarefa;
capacidade multi-usuário;
portabilidade;
comunicação e correio eletrônico;
bibliotecas para construção de software.
Adaptado do manual do DCC/UFMG e do livro ASO-M
GRC - Gerência de Recursos Computacionais
Tradutores e Interpretadores
• Os Programas são ‘traduzidos’ através de outros programas “especiais”:
– Tradutor lê o programa inteiro e o converte para um código-objeto (Turbo C++, C++ Builder, GNU gcc/g++, Pascal, Delphi, etc.).
– Interpretador lê e executa um linha ou comando de cada vez, não gerando código-objeto (Unix/Linux Shell, Lisp, Prolog, etc.).
Adaptado do manual do DCC/UFMG e do livro ASO-M
GRC - Gerência de Recursos Computacionais
Tradutor: montador e compilador
p ro g ram a fo n te p ro g ram a o b jetoTra d u to r
C o m pila do r
Adaptado do manual do DCC/UFMG e do livro ASO-M
GRC - Gerência de Recursos Computacionais
Interpretador de Comandos: shell
• Interpretador de comandos ou shell permite ao usuário interagir com o sistema.
• Linguagem de controle são os comandos disponíveis pelo interpretador, permitindo desenvolver programas (scripts).
• Tipos de Shell no Unix/Linux:– sh: shell Bourne (1o. Shell)
– csh: C shell
– bash: Bourne Again Shell (FSF – Projeto GNU)
– ksh : Korn shell (David Korn – AT&T)
– Perl: Practical na Report Language
– Tcl/Tk : Tool Comand Language/Toolkit
– Python: script + I/F gráfica
Adaptado do manual do DCC/UFMG e do livro ASO-M
GRC - Gerência de Recursos Computacionais
Interpretador de Comandos: shell
• Shell é um programa utilitário que faz chamadas ao sistema.
• De um modo geral o shell não faz parte do S.O.
• Para cada sessão, o shell disponibiliza um “prompt” para o usuário.
• Quando o usuário chama uma função, o shell cria um processo-filho.
Adaptado do manual do DCC/UFMG e do livro ASO-M
GRC - Gerência de Recursos Computacionais
Unix shell : exemplos de comandos
• date (shell cria um processo-filho e executa o comando date).
• pwd (mostra na tela o diretório de trabalho corrente).
• cd /mnt/dos (muda do diretório atual para o diretório /mnt/dos)
Adaptado do manual do DCC/UFMG e do livro ASO-M
GRC - Gerência de Recursos Computacionais
Arquivos no Unix
• Os nomes dos arquivos e diretórios podem ter até 256 caracteres significativos.
• ( OBS: Do mesmo modo que em C/C++ MAIÚSCULO != MINÚSCULO).
• Arquivos ocultos são os arquivos que não aparecem na listagem simples do diretório. O UNIX considera ocultos todos os arquivos que começam por um ponto.
Adaptado do manual do DCC/UFMG e do livro ASO-M
GRC - Gerência de Recursos Computacionais
FORMA GERAL DOS COMANDOS
comando [-opções] [argumentos]
– opções : letra e/ou números
– argumentos : letra nome de arquivos e/ou parâmetros
– OBS: MAIÚSCULO != MINÚSCULO .
Adaptado do manual do DCC/UFMG e do livro ASO-M
GRC - Gerência de Recursos Computacionais
ls: listar arquivos
ls [-opções] [nomes_arquivos_/diretórios] -a mostra todos os arquivos, inclusive os ocultos (começados por .)
-l mostra os arquivos com vários atributos (permissões, usuário, grupo,
tamanho em bytes, data de última modificação, nome)
-R mostra recursivamente o conteúdo dos diretórios encontrados.
Exemplo:
ls –laR / : listar todos os arquivos do sistema, inclusive os ocultos.
Adaptado do manual do DCC/UFMG e do livro ASO-M
GRC - Gerência de Recursos Computacionais
more: listar arquivo
• Lista o conteúdo de um arquivo na tela, parando a cada vez que uma tela é preenchida.
more -opções arquivo(s)
– Alguns dos vários comandos disponíveis são :
– q ou Q sai do more..
– h mostra todos os comandos disponíveis.
• EXEMPLO: more calcs.sh
Adaptado do manual do DCC/UFMG e do livro ASO-M
GRC - Gerência de Recursos Computacionais
Criar e remover diretórios• Comando mkdir
Cria um novo diretório, cujo nome deve ser especificado.
mkdir [nome_do_diretório]
Exemplo: mkdir doc
• Comando rmdirRemove o diretório especificado, que deve estar vazio.
rmdir [nome_do_diretório]
• Exemplo: rmdir temp
Adaptado do manual do DCC/UFMG e do livro ASO-M
GRC - Gerência de Recursos Computacionais
cp : copiar arquivoCopia o conteúdo de um arquivo origem para um arquivo destino.
SINTAXE :
cp [-ipr] origem destino
• -i pede confirmação para sobrescrever um arquivo já existente.
• -p copia não só o conteúdo do arquivo origem, mas também a data de modificação e as permissões.
• -r caso o arquivo origem seja um diretório e o destino também, copia o conteúdo de todo o diretório e sub-diretórios recursivamente para o diretório destino
• EXEMPLO: cp –i arqfonte arqdestino
Adaptado do manual do DCC/UFMG e do livro ASO-M
GRC - Gerência de Recursos Computacionais
mv: mover arquivo
Move um arquivo de um lugar para outro (sendo também usado para renomear arquivos, dependendo dos argumentos).
mv [-fi] nome_velho nome_novo
-i pede confirmação para sobrescrever um arquivo já existente com o mesmo nome.
• EXEMPLO: mv –i velho novo
Adaptado do manual do DCC/UFMG e do livro ASO-M
GRC - Gerência de Recursos Computacionais
rm : remover arquivo
• Comando rm• Apaga arquivo(s) de um diretório.
rm [-fir] arquivo
• -f não pede confirmação.
• -i pede confirmação para cada arquivo.
• -r remove o conteúdo de um diretório e seus sub-diretórios recursivamente.
• EXEMPLO: rm –i *.bak
Adaptado do manual do DCC/UFMG e do livro ASO-M
GRC - Gerência de Recursos Computacionais
man: ajuda on-lineO comando man mostra partes do manual de referência.
SINTAXE:
man -k keyword ou
man keyword
EXEMPLOS:
man ls, man 2 syscalls, man fork, man mtools
OUTRAS OPÇÕES:
info ls ou ls –help e info mtools ou mtools --help
Adaptado do manual do DCC/UFMG e do livro ASO-M
GRC - Gerência de Recursos Computacionais
grep: comando para pesquisar
grep [opções] expressão [arquivos]procura por uma expressão regular dentro de um ou mais arquivos.
• -c mostra o número de ocorrências da expressão;
• -i ignora a diferença entre maiúsculas e minúsculas;
• -n precede cada linha com seu número no arquivo;
• -l lista apenas os nomes dos arquivos.
• EXEMPLO: grep rw listaarq
Adaptado do manual do DCC/UFMG e do livro ASO-M
GRC - Gerência de Recursos Computacionais
find : procurar arquivo
SINTAXE:
find path [expressão]
path é o ponto de partida da procura;
• -name nome_arq procura os arquivos com nome igual a nome_arq;
• EXEMPLO: find / ls
Adaptado do manual do DCC/UFMG e do livro ASO-M
GRC - Gerência de Recursos Computacionais
tar: empacotar ou extrair arquivos
• tar• Empacota arquivos• tar cvf [ nome-do-pacote ] arquivos
• Extrai arquivos• tar xvf [ nome-do-pacote ]
EXEMPLO: tar –tvf arq1.tar
Adaptado do manual do DCC/UFMG e do livro ASO-M
GRC - Gerência de Recursos Computacionais
Variáveis de ambiente do shell
• Algumas variáveis de ambiente:
• PATH utilizada para configurar o caminho de procura dos programas executáveis;
• MANPATH utilizada para indicar a localização dos arquivos de ajuda utilizados pelo man;
• TERM descreve o tipo do terminal corrente;• USER usuário corrente;• HOME define o diretório local (/home/grad/98/pedro);• SHELL define o shell padrão
Adaptado do manual do DCC/UFMG e do livro ASO-M
GRC - Gerência de Recursos Computacionais
Redirecionamento
“<” redireciona a entrada do programa
“>” redireciona a saída do programa
SINTAXE:
• programa > saída (tudo que for gerado será colocado em saída);
• programa < entrada (tudo que for necessário estará em entrada);
• programa < entrada > saída (o programa lê de entrada e escreve em saída).
EXEMPLOS:
ls –la > listarq (redireciona a lista do diretório para o arquivo listarq)
sort < file1 > file2 (redireciona entrada padrão para file1 e saída para file2);
Adaptado do manual do DCC/UFMG e do livro ASO-M
GRC - Gerência de Recursos Computacionais
cat : criar ou listar arquivos
• Realiza a concatenação de ou cópia de arquivos ou simplesmente mostra o conteúdo do(s) arquivo(s) na tela.
• Sintaxe:
cat [lista_de_arquivos] ou
cat [lista_de_arquivos] > [arquivo]
EXEMPLOS: cat calc.sh ( lista o arquivo na tela)
cat file1 file2 file3 | sort >/dev/lp &
(concatena os arquivos e os ordena através de um pipe, com saída redirecionada para impressora).
Adaptado do manual do DCC/UFMG e do livro ASO-M
GRC - Gerência de Recursos Computacionais
telnet (Unix e Windows), putty (Windows) e rlogin
• telnet e putty: usado para acessar serviços disponíveis em uma máquina remota, como se seu terminal estivesse conectado diretamente a ela. Sintaxe:
• telnet nome-do-computador-remoto
Exemplo: telnet alunos.bh2.pucminas.br
• rlogin: utilizado para servidores em sistemas UNIX, onde o parâmetro usuário é a identificação da máquina remota, sendo desnecessário para se conectar na mesma conta em máquinas de um mesmo domínio. Sintaxe:
• rlogin [-l usuário] máquina.subdomínios.domínio
• Exemplo: rlogin al02.bh2.pucminas.br
Adaptado do manual do DCC/UFMG e do livro ASO-M
GRC - Gerência de Recursos Computacionais
Compilação de programas em ‘C’• O sistema UNIX possui o compilador C como parte de seu sistema.
• gcc[-oarq_saida][opção][-LDiretório]arq_origem
• -o gera o arquivo executável com nome arq_saida. Se a opção ‘-o’ for suprimida será criado um arquivo executável a.out.
• -g para permitir a utilização posterior do depurador ( “debugger“);
• -I adiciona caminho na lista de diretórios onde deve buscar os arquivos #include.
Adaptado do manual do DCC/UFMG e do livro ASO-M
GRC - Gerência de Recursos Computacionais
Editor de texto vi(vim)• Modo edição/inserção:
• i insere texto antes do cursor
• a insere texto depois do cursor
• ESC passa para o modo comando :• ^ h apaga último caracter
• ^ x deleta o caracter que esta sobre o cursor
• :wq ou :x salvar as mudanças feitas no arquivo e sai do editor.
• :w <nome-arq> salva o arquivo corrente com o nome especificado
• :q! sai do editor sem salvar as mudanças realizadas.
Adaptado do manual do DCC/UFMG e do livro ASO-M
GRC - Gerência de Recursos Computacionais
Editor vi
• Outros subcomandos :
– A insere texto no fim da linha onde se encontra o cursor
– o adiciona linha abaixo da linha corrente
– O adiciona linha acima da linha corrente
– ^ w apaga última palavra minúscula
Adaptado do manual do DCC/UFMG e do livro ASO-M
GRC - Gerência de Recursos Computacionais
Editor vi
• Subcomandos para movimentação pelo texto: – ^f passa para a tela seguinte.
– ^b passa para a tela anterior.
– H move o cursor para a primeira linha da tela.
– M move o cursor para o meio da tela.
– L move o cursor para a última linha da tela.
– h move cursor para caracter a esquerda.
– j move cursor para linha abaixo.
– k move o cursor para linha acima.
– l move cursor para caracter a direita.
– w move cursor para início da próxima palavra (ignora pontuação).
– b move cursor para início da palavra anterior (ignora pontuação).
– $ move cursor para o fim da linha corrente.
– nG move para a linha n.
Adaptado do manual do DCC/UFMG e do livro ASO-M
GRC - Gerência de Recursos Computacionais
Editor vi
• Subcomandos para localização de texto: – /palavra procura pela palavra ou caracter acima ou abaixo do texto.
– ?palavra move para a ocorrência anterior da palavra(para repetir a busca usar n).
– n repete o ultimo / ou ? comando..
– ^g mostra o nome do arquivo, o número da linha corrente e o total de linhas.
• Subcomandos para alteração de texto: – x deleta um caracter que esta sobre o cursor.
– dd deleta a linha inteira onde o cursor estiver.
– rx substitui o caracter sob o cursor pelo especificado x (é opcional indicar o caracter).
– cw substitui a palavra corrente. Pode-se inserir o novo conteúdo da palavra automaticamente.
Adaptado do manual do DCC/UFMG e do livro ASO-M
GRC - Gerência de Recursos Computacionais
Editor vi• Subcomandos para salvar o texto:
– :wq salvar as mudanças feitas no arquivo e sai do editor.
– :w <nome-arq> salva o arquivo corrente com o nome especificado. Continua edição normalmente.
– :w! <nome-arq> salva (de modo forçado) o arquivo corrente no arquivo especificado.
– :q sai do editor. Se mudanças não foram salvas é apresentada mensagem de advertência.
– :q! sai do editor sem salvar as mudanças realizadas.
Adaptado do manual do DCC/UFMG e do livro ASO-M
GRC - Gerência de Recursos Computacionais
Segurança
d r w x r w x r w x
| | | | | | | | | |
| | | | | | | | | +- outros podem executar o arquivo
| | | | | | | | +--- outros podem modificar o arquivo
| | | | | | | +----- outros podem ler o arquivo
| | | | | | |
| | | | | | +-------- o grupo pode executar o arquivo
| | | | | +---------- o grupo pode modificar o arquivo
| | | | +------------ o grupo pode ler o arquivo
| | | |
| | | +--------------- o dono pode executar o arquivo
| | +----------------- o dono pode modificar o arquivo
| +------------------- o dono pode ler o arquivo
+--------------------- indica que o arquivo e' um diretório
Adaptado do manual do DCC/UFMG e do livro ASO-M
GRC - Gerência de Recursos Computacionais
Comando chmodMuda o modo de proteção de um arquivo/diretório.
chmod modo arquivo
sintaxe do modo:
[quem] operador permissão [operador permissão]
quem: especifica-se para quem se está alterando a permissão, podendo ser o usuário (u), o grupo (g) ou outros (o).
operador: pode ser ‘+’ (para acrescentar a permissão) ou ‘-’ (para retirar a permissão):
permissão pode ser para leitura (r), escrita (w) ou execução (x).
• EXEMPLO: chmod o+x calcs.sh
Adaptado do manual do DCC/UFMG e do livro ASO-M
GRC - Gerência de Recursos Computacionais
Processos• Comando ps
– Exibe o ‘status’ dos processos correntes.
– ps [opções]
• -a informações sobre processos pertencentes a outros.
• -u exibe os campos: USER, %CPU, MEM, SZ, RSS e START.
• -x processos não associados com o terminal.
• EXEMPLO: ps –aux
Adaptado do manual do DCC/UFMG e do livro ASO-M
GRC - Gerência de Recursos Computacionais
Processos
• Comando kill
• Elimina um processo ativo pertencente ao usuário.
– Quando eliminar processos?
Quando o mesmo está provocando queda do desempenho do sistema;
Quando um processo está sem resposta;
Quando o terminal está travado.
• Sintaxe: kill PID
• onde PID é o número inteiro identificador do processo (veja comando ps).