Curso Básico de Unix
1
1 - Sistema Operacional
Um sistema operacional é um software especial que controla o
computador, ele realiza a comunicação entre o usuário e a máquina. No caso
do Unix, ele realiza a alocação de recursos entre vários usuários. Os
recursos podem ser: utilização de CPU, acesso a disco, acesso a memória
entre outros.
Exemplificando, quando um usuário solicita que um arquivo seja
gravado em disco, o sistema operacional intervém para gerenciar a alocação
de espaço no disco e a transferência da informação da memória para o
disco.
O sistema operacional também controla a utilização de CPU, dizendo
quando e como um programa poderá utilizar tal recurso.
Sistema Operacional
Hardware
Fig. 1
Um sistema operacional de rede, realiza o controle e gerenciamento
dos recursos da rede, como serviço de arquivos, serviço de impressão,
segurança, acesso a aplicativos entre outros.
O sistema operacional possui um núcleo ao qual são anexados outros
serviços. Estes serviços podem ser removidos e adicionados conforme a
necessidade.
Fig. 2
Recursos de um
Sistema Operacional
Os principais
de rede são:
recursos de um S.O.
Curso Básico de Unix
2
•
Sistema de Arquivos
É responsável pelo gerenciamento e organização de arquivos e
diretórios. Um arquivo é geralmente um container de dados,
enquanto um diretório é um container de arquivos e/ou outros
diretórios. O diretório contido em um outro diretório é chamado de
subdiretório.
O sistema de arquivos do sistema operacional UNIX é bastante
similar a um arquivo gabinete. O sistema completo de arquivos é
análogo ao gabinete, pois contém todas as gavetas, pastas e
arquivos. Uma gaveta é similar a um diretório, a qual pode conter
pastas ou relatórios. Uma pasta de arquivos também poderia
representar um subdiretório, a qual pode conter pastas ou
relatórios. O relatório representaria um arquivo, pois possui os
dados reais.
Fig. 3
•
Multitarefa
No sistema Unix, várias tarefas podem ser realizadas ao mesmo
tempo. A partir de um único terminal, um único usuário pode
executar vários programas que dão a impressão de estarem
rodando simultaneamente. Isso significa que um usuário pode
editar um arquivo de texto enquanto outro arquivo esta sendo
formatado, e um outro sendo impresso.
Curso Básico de Unix
3
•
Multiusuário
A capacidade de multiusuário permite que mais de um usuário
tenha acesso e use o sistema ao mesmo tempo. Múltiplos terminais
e teclados podem ser ligados ao mesmo computador. Essa é uma
extensão natural da capacidade de multitarefa. Se o sistema pode
rodar múltiplos programas simultaneamente, alguns desses
programas deverão ser capazes de suportar outras sessões de
usuários. Além, disso, um único usuário poderá entrar várias vezes
no mesmo sistema através de múltiplos terminais. Uma grande
vantagem dessa arquitetura é que os membros de um grupo de
trabalho podem ter acesso aos mesmos dados ao mesmo tempo.
•
Serviço de Impressão
O sistema operacional Unix fornece um utilitário denominado
spooler de impressão (ou simplesmente spooler) que é utilizado
para configurar e controlar a impressão em seu sistema. O spooler
é um mecanismo que aceita requisições de impressão provenientes
de todos os usuários do sistema e então configura adequadamente
a impressora e imprime as requisições uma de cada vez. Cada vez
que um usuário quisesse imprimir um arquivo, ele teria que
certificar- se de que ninguém mais estivesse correntemente
imprimindo um arquivo.
•
Segurança
Por permitir que vários usuários acessem simultaneamente o
ambiente, se faz necessário um controle de quem pode ou não
acessar o sistema e seus recursos. De tal forma que somente
usuários cadastrados tenham acesso ao ambiente. Somente
usuários ou grupos de usuários possam acessar determinados
arquivos. Bem como em determinados casos registrar o que foi
feito pelos usuários.
Curso Básico de Unix
4
2 - Conceitos Gerais
Para se comunicar com o Unix você precisa ter:
•
Login ID
•
Senha
O login ID é o nome do usuário. A esse ID pode ou não ser atribuída
uma senha de acesso, a qual será apenas de seu conhecimento, nem mesmo
o administrador saberá qual é a sua senha.
A senha deve satisfazer as seguintes condições:
1. Deve Ter pelo menos seis caracteres.
2. Pelo dois dos primeiros seis caracteres devem ser alfabéticos
3. Pelo um dos seis primeiros seis caracteres deve ser nãoalfabético.
Comandos de Usuário
Login
Função: Inicia a sessão do usuário.
Sintaxe:
login: [usuário]
password: <senha_do_usuário>
Exemplo:
login root
logout
Função: Encerra a sessão do usuário
Sintaxe: logout
Curso Básico de Unix
5
SHELL
Durante seu processo de login, um shell é iniciado. O shell é
responsável pela emissão do prompt e interpretação dos comandos
digitados.
Fig.
4
Formato da Linha de Comando
Sintaxe:
$ comandos
[- opções] [argumentos]
Exemplo:
$ ls - F
$ tar –cvf /dev/rmt / 0 m
/etc/
Curso Básico de Unix
6
Comandos de Usuário
clear
Limpa a tela
Sintaxe: clear
id
Mostra o identificador do usuário.
Sintaxe: id [- gu]
Parâmetros: - g Mostra apenas o identificador de grupo efetivo do usuário.
- u Mostra apenas o identificador efetivo do usuário.
who
Mostra quem esta usando qual terminal.
Sintaxe: who [am i]
Parâmetros: am i Mostra o nome real do usuário (real user name)
Exemplo:
$ who am i
date
Mostra a data e hora atuais do sistema, com possibilidade de formatação da
saída.
Sintaxe: date [- u] [+formato]
Parâmetros: - u
+formato
Universal time. Mostra a hora GMT
formato é uma string que contém informações
sobre a formatação da saída do comando date. Os
seguintes operandos especiais serão substituídos
por seus valores correspondentes quando
Curso Básico de Unix
7
encontrados dentro da string formato :
%n
%t
%m
%d
%y
Caractere newline (quebra de linha)
Caractere de tabulação (TAB)
Mês do ano (01 a 12)
Dia do mês (01 a 31)
Últimos dígitos do ano (00 a 99)
%D
%H
%M
%S
%T
%j
%w
%a
%h
%r
Data no formato MM/DD/AA
Hora (00 a 23)
Minuto (00 a 59)
Segundo (00 a 59)
Hora no formato HH:MM:SS
Dia do ano (001 a 366)
Dia da semana (Dom=0 a Sáb=6)
Dia da semana abreviado (Sun... Sat)
Mês abreviado (Jan...Dec)
Hora no formato am/pm
Exemplos:
date +”Agora são %H horas e %M minutos %n”
date +”Hoje é %d/%m/%y ”
passwd
Altera a senha do usuário
Sintaxe: passwd [usuário]
Obs: Apenas o usuário root pode alterar a senha de outro usuário.
echo
Escreve no terminal.
Sintaxe: echo [string]
Exemplo:
$ echo ‘Bom dia’
Curso Básico de Unix
8
banner
Escreve com letras grandes.
Sintaxe banner [string]
mesg
Controla o recebimento de mensagens pelo terminal. Sem argumentos mesg
mostra o estado atual.
Sintaxe: mesg [y|n]
Parâmetros: y
n
Liga o recebimento de mensagens
Desliga o recebimento de mensagens.
write
Envia uma mensagem a um terminal
Sintaxe: write usuário [terminal]
Parâmetro: terminal
mensagem.
Indica para qual terminal deve ser enviada a
Exemplo:
$ write bbb
Saudacoes
^D
Curso Básico de Unix
9
3 - Sistema de Arquivos
Estrutura da Árvore
Fig. 5
A organização do diretório poderá ser representada graficamente
utilizando uma estrutura de árvore hierárquica. Cada item da árvore será
um diretório ou um arquivo. Os diretórios estão representados por figuras
ovais e os arquivos estão representados por retângulos de modo a serem
facilmente distinguidos no diagrama.
Hierarquia do Sistema de Arquivos
Curso Básico de Unix
10
Fig. 6
Assim como o gabinete, a hierarquia do sistema de arquivos do
sistema operacional Unix oferece um mecanismo fácil e eficiente para
organizar seus arquivos. Como as várias versões do sistema operacional
Unix normalmente contém centenas de arquivos e programas, foi definida
uma convenção de hierarquias para que todos os sistemas operacionais Unix
suportem um layout similar de diretórios. O topo da hierarquia é identificado
como diretório raiz e é denotado com uma barra única diagonal.
O Unix também oferece comandos que permitem facilmente a criação
de novos diretórios, à medida em que se alterem as suas necessidades
organizacionais, bem como transferir ou copiar arquivos de um diretório
para outro. Isto é tão fácil quanto adicionar uma nova pasta a uma das
gavetas de seu gabinete e transferir um relatório de uma pasta antiga para
uma pasta nova.
No Unix HP- UX 10.0, o sistema de arquivos foi reorganizado em duas
partes principais:
Arquivos estáticos
(que são compartilhados). Existem três diretórios
importantes nesta parte: /opt. /usr e /sbin.
/opt
Este diretório conterá aplicações e produtos. As
pessoas que desenvolvem e administram o sistema
Unix o utilizarão para instalar novos produtos ou
aplicações locais.
/usr /bin
Este diretório contém os programas necessários
Curso Básico de Unix
11
para a manipulação de arquivos e operação do
sistema operacional. Eles podem normalmente ser
acessados por todos os usuários. (bin é a
abreviação de binário).
/usr /sbin
Este diretório contém os programas para todos os
comandos de administração do sistema. Somente o
super- usuário para utilizar a maioria deles.
/usr /lib
Este diretório contém bibliotecas compartilhadas e
arquivos utilizadas para as aplicações.
/usr /share
Este diretório contém arquivos de fornecedores
independentes (o mais importante é o manual).
/usr /share/man
Este diretório contém todos os arquivos associados
às páginas do manual online.
/usr /local /bin
Este diretório geralmente armazena programas e
utilitários desenvolvidos localmente.
/sbin
Este diretório contém os comandos essenciais
utilizados para inicialização e encerramento do
sistema.
Arquivos Dinâmicos
(que são privados). Existem sete diretórios
importantes nesta parte: /home, /etc, /stand,
/tmp, /dev, /mnt e /var.
/home
Todo usuário de um sistema operacional Unix deve
Ter sua própria conta. Juntamente com a
identificação do seu login e a senha, o
administrador também criará o seu próprio
diretório.
/etc
Este diretório mantém a maioria dos arquivos de
configuração do sistema.
/stand/vmunix
Este arquivo armazena o programa que é o núcleo
(kernel) do sistema operacional. Este programa é
carregado na memória quando seu sistema é ligado
e controla a todas as operações de seu sistema.
/tmp
Este diretório é comumente utilizado como área de
Curso Básico de Unix
12
rascunho do sistema operacional, que necessita
criar arquivos de trabalho ou intermediários. Este
diretório é limpado durante a reinicialização do
sistema.
/dev
Este diretório contém os arquivos que representam
periféricos de hardware que podem ser conectados
a seu sistema. Uma vez que esses arquivos atuam
como uma passagem para o periférico, os dados
nunca serão armazenados diretamente nos
arquivos especiais.
/mnt
Este diretório será utilizado para montar outros
periféricos .
/var /mail
Este diretório contém uma “caixa de correio” para
cada usuário que tenha mensagens a receber.
/var /tmp
Este diretório é utilizado comumente como área de
rascunho dos usuários.
Curso Básico de Unix
13
Percursos
Fig. 7
Percurso Absoluto
•
Sempre se inicia no topo da hierarquia (a raiz)
•
Sempre se inicia com uma /
•
Não depende de sua localização corrente dentro da hierarquia
•
Sempre fornece a designação completa da localização de um arquivo ou
diretório
É único dentro da hierarquia
•
Percurso Relativo
•
Sempre começa na sua posição corrente dentro da hierarquia
•
Nunca começa com uma /
•
É único relativo somente à sua localização corrente
•
É freqüentemente menor do que o percurso absoluto
Curso Básico de Unix
14
Comandos de Usuário
pwd
Mostra o diretório corrente.
Sintaxe: pwd
ls
Lista o conteúdo de diretórios.
Sintaxe: ls [- aAcCdfFiLqrstu1][arquivo]
Parâmetros: - a
-A
Inclui entradas do diretório cujos nomes comecem com “.”
normalmente omitidas.
Lista todas as entradas, exceto “.” e “..”, esta opção é
default para o superusuário root.
-c
Usa a data de modificação do arquivo para a ordenação
ou impressão.
-C
Formata a saída em múltiplas colunas; default quando a
saída é o terminal.
-f
Não ordena a saída.
-F
Diferencia os tipos de arquivos concatenando caracteres a
seus nomes:
/
*
@
=
|
-l
Diretório
Arquivos executáveis
Links simbólicos
Sockets
Pipes
Lista usando o formato longo.
Curso Básico de Unix
15
-r
Reverte a ordenação para obter uma ordem alfabética
inversa.
-R
Lista inclusive o conteúdo dos diretórios abaixo.
cd
Muda o diretório de trabalho. Se o diretório não for especificado, muda para
o diretório home do usuário.
Sintaxe: cd [diretório]
find
Percorre os diretórios (e seus subdiretórios) especificados mostrando os
arquivos com as características desejadas.
Sintaxe: find <diretório> [diretório...][expressão]
Parâmetros: expressão As seguintes primitivas podem ser combinadas para
definir expressão.
- atime n
dias.
Verdadeiro se o arquivo tiver sido acessado há n
- ctime n
dias.
Verdadeiro se o arquivo tiver sido mudado há n
- group x
Verdadeiro se o arquivo pertencer ao grupo x.
- mtime n
Verdadeiro se o arquivo tiver sido modificado há n
dias.
- name x
Verdadeiro se x coincidir com o nome do arquivo
corrente.
- print
Sempre verdadeiro, imprime o nome do arquivo
corrente.
- prune
Não entra em subdiretórios.
- user x
Verdadeiro se o arquivo pertencer ao usuário x.
Operadores: ! exp
- and
-a
Negação
Operador ‘E’ lógico
Algumas versões de find utilização –a no lugar de
Curso Básico de Unix
16
- or
-o
- and
Operador lógico ‘OU’
Algumas versões de find utilizam –o no lugar de –or
mkdir
Cria diretórios.
Sintaxe: mkdir [- p] <diretório> [diretórios...]
Parâmetro: - p
Cria os diretórios intermediários do path de necessário.
rmdir
Remove diretórios vazios.
Sintaxe: rm dir <diretório> [diretórios...]
Curso Básico de Unix
17
4 – Arquivos
Um arquivo é um container para dados ou uma conexão para
um periférico. Todo arquivo tem um nome e pode conter dados que residem
em um disco. Existem vários tipos de arquivos:
-
Arquivos comuns
• texto, dados, desenho
• programas executáveis
-
Diretórios
Arquivos especiais
Comandos de Usuário
cat
Concatena e mostra arquivos.
Sintaxe: cate [–etuv] [arquivo...]
Parâmetros: - e
Similar a –v mais imprime um cifrão ($) ao final de cada
linha. Ignorado em alguns sistemas se não usado com –v.
-t
Similar a –v, mas imprime caracteres de tabulação (tabs)
como ^|. Ignorado em alguns sistemas se não usado com –
v.
-u
Processa a saída caractere a caractere, em vez de utilizar o
buffer.
-v
Imprime caracteres especiais de forma visível (tabs e
newlines são processados)
more
Mostra arquivos texto página a página.
Curso Básico de Unix
18
Sintaxe: more [- csu] [arquivo]
Parâmetros: - c
Escreve a partir do topo da tela em vez de rolá- la.
-s
Substitui múltiplas linhas em branco consecutivas por
apenas uma.
-u
Trata caracteres de retrocesso (backspace) e seqüências
CR- LF de maneira especial.
lp
Envia arquivos para a fila de impressão. Caso nenhuma impressora seja
especificada, lpr usará a impressora padrão do sistema.
Sintaxe: lp [- ddest][- m][- nnumber ] [arquivo...]
Parâmetros: - d
Fila de destino.
-m
Determina que após a impressão seja enviada uma
mensagem para o usuário
-n
Número de cópias
cp
Copia um ou vários arquivos. Quando vários arquivos estão sendo copiados,
destino deve se referir a um diretório.
Sintaxe: cp [- ipr] <arquivo> [arquivo...] <destino>
Parâmetros: - i
Solicita confirmação antes de copiar cada arquivo.
-p
Mantém na cópia as datas de modificação e as permissões
do arquivo original.
-r
Copia todos os arquivos e subdiretórios abaixo do
diretório especificado. Neste caso, destino deve se referir
a um diretório.
Curso Básico de Unix
19
mv
Move ou renomeia arquivos e diretórios. Se múltiplos arquivos forem
especificados, destino deverá ser um diretório.
Sintaxe: mv [- f|i] <arquivo> [arquivo...] <destino>
Parâmetros: - f
-i
Não pede confirmação antes de sobrescrever um arquivo
já existente
Solicita confirmação antes de subescrever um arquivo
existente.
Ln
Cria links para arquivos ou diretórios. Ln cria tanto links simbólicos como
diretos. Default=links diretos.
Sintaxe: ln [- fs] <destino> <nome>
Parâmetros: - f
-s
Força a criação do link, ignorando acessibilidade ou
existência do arquivo.
Cria um link simbólico.
rm
Remove arquivos.
Sintaxe: rm [- firR] <arquivo> [arquivo...]
Parâmetros: - f
Efetua a eliminação sem solicitar confirmação.
-i
Solicita confirmação antes de remover.
- r ou –R Causa a remoção de todos os arquivos e
subdiretórios abaixo do diretório especificado. (Inclusivo
o próprio).
Curso Básico de Unix
20
tail
Mostra as linhas finais de um arquivo. Algumas versões de tail aceitam no
máximo um arquivo como entrada.
Sintaxe: tail [- f] [- n] <arquivo>
Parâmetros: - f
Faz com que o tail não pare de ler o arquivo mesmo
encontrando seu fim. Útil quando o arquivo está
aumentando constantemente.
-n
Mostra as últimas n linhas do arquivo.
Acesso a Arquivos
Cada arquivo pertence a um usuário do sistema. O proprietário de um
arquivo tem o controle absoluto sobre quem tem acesso a ele. O proprietário
tem o poder de permitir ou negar o acesso dos seus arquivos a outros
usuários. Ele também pode decidir dar o arquivo a outro usuário do sistema.
Uma vez transferida a propriedade, o proprietário anterior não terá mais o
controle sobre o arquivo. O sistema Unix tem uma estrutura de acesso de
três camadas para um arquivo:
•
usuário
representa o proprietário do arquivo
•
grupo
um grupo que pode Ter acesso ao arquivo
•
outro
Qualquer outra pessoa
Exemplo
- rw- r- - r- -
1
user1
11:00 arq1
- rwx r- x r- - 1
user1
11:05 arq2
- rw- r- x r- x 1
user1
11:00 arq3
user
37
Jul
24
user
37
Jul
24
user
37
Jul
24
Curso Básico de Unix
21
Tipos de Acesso
Há três tipos de acesso para cada arquivo e diretório.
- Read(leitura)
permite que o conteúdo de arquivos e diretórios
possa ser examinado.
- Write(gravação)
permite que o conteúdo de arquivos e diretórios
possa ser alterado.
- Execute(execução)
Permite que um arquivo seja usado como
comando e um diretório se torne o diretório
corrente de trabalho
Permissões
O seu acesso a um arquivo é definido através da sua identificação do
usuário, sua identificação de grupo e as permissões associadas ao arquivo.
As permissões de um arquivo são designadas no modo. O modo de um
arquivo é um campo de nove caracteres que define as permissões para o
proprietário do arquivo, o grupo a que o arquivo pertence, e todos os outros
usuários no sistema.
- rw - r - - rwx r - x
r - - 1 user1 user
r - x 1 user1 user
37 jul 24
37 jul 24
Acesso a outros
Acesso ao grupo
Acesso ao usuário (proprietário)
Comandos de Usuário
chmod
Altera permissões de acesso a arquivos.
11:00 arq1
11:00 arq1
Curso Básico de Unix
22
Sintaxe: chmod [- R] <modo> <arquivo> [arquivo...]
Parâmetros: - R
Muda o modo de acesso de todos os arquivos e
subdiretórios abaixo do diretório especificado.
modo Pode assumir modo simbólico ou absoluto.
Modo simbólico: é uma lista de expressões da forma [identificador..]
operando[valor] separada por vírgula.
Identificador____Descrição___________________________________
u
g
o
a
Permissões para o dono do arquivo
Permissões para o grupo do arquivo
Permissões para outros grupos.
Todos os anteriores (all). Default se o identificador for
omitido.
Operando______Descrição___________________________________
+
=
Adiciona permissões.
Retira permissões.
Assinala explicitamente uma permissão (zerando as
outras).
Valor_________Descrição___________________________________
r
w
x
Permissão para leitura.
Permissão para escrita.
Permissão para execução
Modo absoluto: as permissões neste modo são representadas por um
número octal.
Valor_________Significado__________________________________
0
1
2
3
4
5
Nenhuma permissão.
Permissão de execução.
Permissão de escrita
Permissão de execução e escrita.
Permissão de leitura.
Permissão de execução e leitura.
Curso Básico de Unix
23
6
7
Permissão de leitura e escrita.
Permissão de leitura, escrita e execução.
touch
Atualiza a data de acesso do arquivo. Caso o arquivo não exista, touch irá
criá- lo vazio por default.
Sintaxe: touch [- c] <arquivo> [arquivo...]
Parâmetros: - c
Não cria o arquivo caso ele não exista.
chown
Altera o proprietário de um arquivo(s) e, opcionalmente, o grupo ID.
Sintaxe: chown <proprietário>[:grupo] <arquivo> [arquivo...]
chgrp
Altera o acesso do grupo para um arquivo ou diretório.
Sintaxe: chgrp <grupo> <arquivo> [arquivo]
su
Troca a identificação do usuário.
Sintaxe: su [usuário]
nwgrp
Altera a identificação de grupo.
Sintaxe: newgrp [grupo]
Curso Básico de Unix
24
5 – Editor vi
O vi é o editor de texto padrão que é fornecido com a maioria dos
sistemas Unix. É dirigido por comandos, e seus comandos são classificados
em:
•
Administração geral
•
Movimentação do cursor
•
Inserção de texto
•
Transferência de texto
•
Modificação de texto
Iniciando o vi
Para iniciar o vi basta digitar no prompt:
vi [arquivo]
Terá então inicio uma sessão de edição. Se o arquivo requisitado já
existi, a primeira tela do texto será exibida. Do contrário, se você esta
editando um novo arquivo, verá uma tela em branco com sinal gráfico (~) na
coluna esquerda de toda a tela.
Finalizando o vi
Para finalizar o vi você pode gravar as alterações do texto ou
simplesmente abandoná- las.
Comando
ESC ZZ
ESC :wq
ESC :q!
Função
Salva e sai do vi sem nenhuma mensagem.
Salva e sai do vi.
Abandona as alterações
Curso Básico de Unix
25
Comandos de Controle do Cursor
Comando
h ou backspace
j
k
l ou espaço
#w
#b
#e
$
^ ou 0 (zero)
G
#G
:#
Ctrl + g
Return
Ctrl
Ctrl
Ctrl
Ctrl
L
M
H
Ctrl
+
+
+
+
b
f
u
d
+ l
Função
Move um caracter para a esquerda
Desce uma linha
Sobe uma linha
Move um caracter para a direita
Move palavra por palavra (W ignora pontuação)
Volta palavra por palavra (B ignora a pontuação)
Move para o fim da próxima palavra
Vai para o fim da linha corrente
Vai para o início da linha corrente
Vai para o fim do arquivo
Vai para a linha número #
Vai para a linha número #
Informa a linha que você esta
Vai para o primeiro caracter sem espaço em branco na
próxima linha
Retorna à janela anterior de texto
Avança para a próxima janela de texto
Avança metade da janela de texto
Retorna metade da janela de texto
Vai para a última linha na tela
Vai para o meio da linha na tela
Vai para o início da tela
Redesenha a tela.
Modo de Entrada
Comando
a
i
O
o
A
I
Função
append – (acrescenta) novo texto depois do cursor
insert – (insere) novo texto antes do cursor
Open – (abre) uma linha para o texto acima da linha
corrente
Open – (abre) uma linha para o texto abaixo da linha
corrente
Append – (acrescenta) novo texto no fim da linha
Insert – (insere) novo texto no início ou na linha
Trabalhando com o Texto
Comando
Função
Curso Básico de Unix
26
dw
pw
x
xp
pp
npp
yw
yy
n yy
r
R
/texto
?texto
n
N
:m,ns/ old_text /n
ew_text /[g]
Deleta uma palavra (delete word)
Cola palavra
Deleta caracter
Cola caracter
Deleta linha
Deleta n linhas
Copia uma palavra
Copia linha
Copia n linhas
Troca um caracter
Efetua a troca até a tecla ESC ser pressionada
Pesquisa um determinado texto para baixo
Pesquisa um determinado texto para cima
Procura a próxima ocorrência previamente pesquisada
Procura a próxima ocorrência previamente pesquisada,
mas no sentido inverso.
Realiza a troca global de textos.
m define a quantidade de palavras a serem pesquisadas
na linha, n define a linha inicial de pesquisa a partir do
cursor, g define se a pesquisa e global dentro da linha.
Comandos de Arquivo
Comando
:w
:w file
:e file
:e!
:! Cmd
:set nu
:set nonu
Função
Grava o buffer corrente para o disco
Grava o buffer corrente para o arquivo file
Traz o arquivo file para o buffer desconsiderando o
antigo
Desconsidera todas as alterações para o buffer e
recarrega o arquivo do disco
Executa o comando shell cmd
Ativa a opção de numeração de linha
Desativa a opção de numeração de linha
Curso Básico de Unix
27
6 - Shell
Um shell é um programa interativo que serve como um interpretador
de linha de comando. Ele é separado do sistema operacional, isso permite
que se possa selecionar a interface que mais se adapta às suas
necessidades. Resumidamente o shell possui as seguintes funcionalidades.
•
Pesquisa por um comando e executa o programa a ele associado.
•
Substitui os valores da variável do shell por variáveis associadas.
•
Manipula o redirecionamento de E/S e pipelines.
•
Contém uma interface de programação interpretada.
Fig. 8
Shells
Utilizados
/usr /bin /sh
/usr /bin / ksh
POSIX shell
Korn shell
Curso Básico de Unix
28
/usr /old /bin /sh
Bourne shell
/usr /bin /csh
C shell
/usr /bin / keysh
Uma softkey do shell, sensitiva ao contexto
/usr /bin / rksh
Korn shell restrito
/usr /bin / rsh
Bourne shell restrito
O Ambiente do Usuário
O ambiente do usuário descreve muitas coisas sobre a sua sessão ao
programa que você executa. Ele descreve sua sessão para o sistema. Seu
ambiente contém informações sobre o seguinte:
•
O caminho para o seu diretório home
•
Onde enviar o seu correio eletrônico
•
O fuso horário no qual você esta trabalhando
•
Com que nome você se logou
•
Onde o shell pesquisará por comandos
•
Seu tipo e tamanho de terminal
•
Outras informações que as aplicações possam precisar.
Configurando as variáveis do Shell
Uma variável do shell é similar a uma variável em álgebra. É um nome
que representa um valor. A designação de uma variável permite que um
valor seja associado a um nome de variável. O valor pode então ser acessado
através do nome da variável. Se o valor é modificado, o novo valor pode
ainda ser acessado através do mesmo nome de variável. Para se associar um
valor a uma variável basta digitar:
Nome_da_variável = valor
Os nomes de variáveis devem começar com um caracter alfa e podem
conter caracteres alfa- numéricos ou sublinhado. Não restrição quanto ao
número de caracteres que o nome da variável possa conter.
Duas variáveis importantes são a PATH e TERM, a primeira armazena
em quais diretórios o shell deve procurar por um comando ou arquivo. A
Segunda armazena qual o tipo de terminal que o usuário esta usando.
Processo de Login
Quando você senta para trabalhar, você vê o prompt do login: na tela.
Curso Básico de Unix
29
Quando você digita o seu nome de usuário, o sistema lê seu nome e solicita
uma senha. Depois de digitar a senha, o sistema checa o seu nome de
usuário e a senha no arquivo de senhas do sistema (*/etc/passwd), Se o
nome do usuário e a senha informados forem válidos, o sistema colocará
você no seu diretório home e inicia o shell para você. Observamos isso
acontecer cada vez que executamos login.
Quando o shell é iniciado, ele lerá os comandos de um arquivo de
comandos do sistema chamado / etc/profile . Sempre que alguém, se loga e
inicia um shell, este arquivo será lido. Existe também um arquivo chamado
.profile em seu diretório home. Depois que o /etc/profile for lido, o shell lê
o seu próprio .profile. Esses dois programas em shell são usados para
customizar um ambiente de usuário. O /etc /profile configura o ambiente
básico usado por todo mundo no sistema e o .profile personaliza o
ambiente para as suas necessidades específicas.
Não
Solicita o
nome do
usuário
Executa
o shell
Solicita a
senha do
usuário
Executa o
/etc/profile
Login
válido?
Executa o
.profile no
diretório home
Sim
Coloca o usuário
no diretório
home
Apresenta
o prompt
da console
Fig. 8
Curso Básico de Unix
30
7 – Redirecionamento de Entrada e Saída
O shell proporciona um outro recurso que é a capacidade de
redirecionar a entrada e a saída de um comando. A maior parte dos
comandos envia a saída deles para seu terminal; os exemplos incluem date,
banner, ls, who, etc. Outros comandos obtém entrada a partir de seu teclado;
os exemplos incluem mail, write, cat.
No sistema Unix, tudo é um arquivo, incluindo seu terminal e teclado.
Redirecionamento de saída permite que você envie a saída de um comando
para algum arquivo que não o seu terminal. De maneira semelhante,
redirecionamento de entrada permite que você obtenha a entrada para um
comando a partir de algum arquivo que não seja o teclado.
stdin
O arquivo stdin é o arquivo a partir do qual o shell lê a sua entrada. O
arquivo stdin é geralmente chamado de entrada padrão . Esse arquivo é
aberto com o descritor de arquivo 0 da linguagem C, e está geralmente
ligado a seu teclado. Portanto, quando o shel precisa de uma entrada, este
deve ser digitada através do teclado.
stdout
O arquivo stdout é o arquivo para o qual seu shel grava sua saída
normal. O arquivo stdout é geralmente chamado de saída padrão. Esse
arquivo é aberto com o descritor 1 da linguagem C, e está normalmente
ligado a seu terminal. Portanto, quando o shell produz saída, ela é mostrada
em sua tela.
stderr
O arquivo stderr é o arquivo no qual o shell grava suas mensagens de
erro. O arquivo stderr é geralmente chamado de saída padrão de erro. Esse
Curso Básico de Unix
31
arquivo é aberto com o descritor 2 da linguagem C. Como o arquivo stdout,
o arquivo stderr esta geralmente ligado ao monitor de seu terminal. O
arquivo stderr pode ser redirecionado independentemente do arquivo
stdout.
Redirecionamento de Entrada - <
Qualquer comando que leia sua entrada a partir de stdin pode Ter
essa entrada redirecionada para vir de outro arquivo.
Exemplo:
$ cat < arquivo
Redirecionamento de Saída - > e > >
>
>>
Criar/sobregravar
Criar/Acrescentar
Qualquer comando que produz saída para stdout pode ter sua saída
redirecionada para outro arquivo.
Exemplo:
$ date > date.out
$ ls >> ls.out
Redirecionamento de Erro - 2> e 2> >
2>
2>>
Criar/sobregravar
Criar/Acrescentar
Qualquer comando que produz saída para stderr pode ter sua saída
redirecionada para outro arquivo.
Exemplo:
$ cp 2> cp.log
$ lcp 2>> cp.log
Curso Básico de Unix
32
8 – Filtros
Alguns comandos aceitam entrada a partir da entrada padrão e geram
saída para a saída padrão. Esses comandos são conhecidos como filtros. Os
filtros nunca modificam o conteúdo do arquivo que está sendo processado.
Os resultados filtrados são geralmente transmitidos para o terminal.
Comandos do Usuário
grep
Pesquisa por padrões.
Sintaxe: grep [- cinv] [- e] padrão [arquivo]
grep [- cinv] –f arquivo_de_padrões [arquivo]
Parâmetros: - c
Apenas uma contagem de linhas correspondentes é
impressa
-i
Informa ao grep que ignore o padrão se as letras são maiúsculas
ou minúsculas.
-n
Coloca número de linha para cada linha exibida.
-v
Exibe as linhas que não contêm o padrão
-e
Permite a especificação de mais de um padrão
-f
Indica um arquivo de padrões
sort
Ordena linhas de um arquivo.
Sintaxe: sort [- ndutX] [- k Registro] [arquivo]
Parâmetros: none lexicográfica (ASCII)
Curso Básico de Unix
33
-d
-n
-u
dicionário(desconsidera todos os caracteres que não são
letras, números ou brancos
numérica
única (oculta todas as linhas duplicadas)
wc
Conta linhas, palavras e caracteres em um arquivo.
Sintaxe: wc [- lwc] [arquivo]
Parâmetros: - l
-w
-c
Mostra o número de linhas
Mostra o número de palavras
Mostra o número de caracteres.
9 – Pipes
Os pipelines permitem a transferência do resultado de um comando
diretamente como entrada de outro comando. Não é necessário a criação de
um arquivo intermediário, portanto não será necessária a sua eliminação
quando o processamento terminar.
O símbolo | (pipe) é utilizado para efetuar a ligação de dois comandos.
A saída padrão do comando à esquerda do símbolo | será utilizada como
entrada padrão para o comando à direita.
Requisitos para comandos em cada posição na pipeline:
•
•
•
Exemplo:
Qualquer comando à esquerda de um símbolo | deve produzir uma
saída para a saída padrão.
Qualquer comando |à direita de um símbolo | deve ler uma entrada
da entrada padrão.
Qualquer comando entre dois símbolos | deve aceitar entrada e
saída padrão.
Curso Básico de Unix
34
$ ps –ef | grep root
$ cat arquivo | short | more
10 – Jobs
Uma atividade muito comum no Unix é a inicialização, monitoração e
finalização de processos. Á cada processo iniciado no sistema é assinalado
um número único de identificação, conhecido como process id (PID) .
Comandos de Usuário
nohup
Faz com que um comando continue sua execução mesmo que o usuário que
o iniciou saia do sistema.
Sintaxe: nohup <comando> <argumentos>
nice
Executa um processo numa prioridade mais baixa. Sendo ela entre 1 e 19
Sintaxe nice [- N] comando
kill
Envia um sinal a um processo especificado.
Sintaxe: kill [- s nome_sinal] PID [PID...]
Parâmetros: HUP 1
Sinal de desligar
INT 2
Interrupção
QUIT 3
Abandono
ABRT 6
Sinal de processo abortado
KILL 9
Matar
ALRM 14
Alarme do relógio
TERM 15
Sinal de terminação por software por comando kill
Curso Básico de Unix
35
crontab
Instala, lista ou remove arquivo crontab de usuário.
Sintaxe: crontab [arquivo]
Crontab [- l | - r | - e]
Parâmetros: - l
-r
-e
Mostra o arquivo crontab atual dop usuário
remove o arquivo crontab atual do usuário
Edita o arquivo crontab atual do usuário
Download

Curso Básico de Unix