SlideShare uma empresa Scribd logo
1 de 136
Baixar para ler offline
1
2
Conceitos básicos do sistema operacional IBM-AIX
3
Conceitos básicos do sistema operacional IBM-AIX
Sistema operacional AIX - Conceitos Básicos
Módulo 1 - Introdução ao sistema Unix ___________________________________________ 7
Sistema Operacional _______________________________________________________________ 7
História do Sistema Operacional Unix_________________________________________________ 7
Recursos do Unix __________________________________________________________________ 9
O sistema operacional _____________________________________________________________________ 9
O ambiente operacional____________________________________________________________________ 9
Ferramentas e aplicativos ________________________________________________________________ 9
O shell ______________________________________________________________________________ 10
- Bourne shell (/usr/bin/sh ou /usr/oldbin/sh): _____________________________________ 10
- C shell (/usr/bin/csh):____________________________________________________________ 10
- Korn shell (/usr/bin/ksh): _________________________________________________________ 10
- POSIX shell (/usr/bin/posix/sh):__________________________________________________ 10
- Korn Shell 1993 (/usr/bin/ksh93): __________________________________________________ 10
Outros recursos de Unix __________________________________________________________________ 11
Sistema hierárquico de arquivos __________________________________________________________ 11
Multitarefa___________________________________________________________________________ 11
Multiusuário _________________________________________________________________________ 11
Módulo 2 - Login e execução de comandos _______________________________________ 12
Sessão de terminal ________________________________________________________________ 12
Login e Logout ___________________________________________________________________ 12
Interpretação de comandos pelo shell ________________________________________________ 14
Formato da linha de comando ______________________________________________________ 14
O prompt secundário______________________________________________________________ 15
O manual de referência on-line _____________________________________________________ 17
Alguns comandos iniciais __________________________________________________________ 19
Comando id ___________________________________________________________________________ 20
Comando who__________________________________________________________________________ 21
Comando date ________________________________________________________________________ 22
Comando passwd ______________________________________________________________________ 23
Comando echo ________________________________________________________________________ 24
Comando banner ______________________________________________________________________ 25
Comando write _______________________________________________________________________ 26
Comando mesg ________________________________________________________________________ 28
Módulo 2 - Exercícios de fixação ____________________________________________________ 29
Módulo 3 - Navegando pelo sistema de arquivos ___________________________________ 30
A hierarquia do sistema de arquivos _________________________________________________ 30
Percursos relativos e absolutos _____________________________________________________________ 31
Percurso absoluto _____________________________________________________________________ 32
Percurso relativo ______________________________________________________________________ 32
Exemplos de ponto (.) _________________________________________________________________ 33
Exemplos de ponto-ponto (..)___________________________________________________________ 33
Principais diretórios do sistema de Arquivos __________________________________________ 33
Diretório / (root) _______________________________________________________________________ 33
Diretório /bin _________________________________________________________________________ 33
Diretório /lib _________________________________________________________________________ 34
Diretório /usr _________________________________________________________________________ 34
Diretório /usr/bin ____________________________________________________________________ 34
Diretório /usr/lib ____________________________________________________________________ 34
4
Conceitos básicos do sistema operacional IBM-AIX
Diretório /var/spool/mail ____________________________________________________________ 34
Diretório /usr/man e /usr/share/man ________________________________________________ 34
Diretório /usr/local/bin _____________________________________________________________ 34
Diretório /etc _________________________________________________________________________ 34
Diretório /home________________________________________________________________________ 34
Diretório /dev _________________________________________________________________________ 34
Diretório /tmp e /var/tmp______________________________________________________________ 34
Comando pwd__________________________________________________________________________ 36
Comando ls ___________________________________________________________________________ 37
Comando cd ___________________________________________________________________________ 39
Comando find ________________________________________________________________________ 40
Comandos mkdir e rmdir_______________________________________________________________ 41
Módulo 3 - Exercícios de fixação ____________________________________________________ 42
Módulo 4 - Gerenciamento de Arquivos __________________________________________ 43
O que é um arquivo para o Unix ____________________________________________________ 43
Comandos usados no gerenciamento de arquivos_______________________________________ 44
Características de um arquivo ______________________________________________________ 45
Tipos de arquivo ________________________________________________________________________ 45
Comando cat__________________________________________________________________________ 46
Comando more ________________________________________________________________________ 47
Comandos tail, head e line ___________________________________________________________ 48
Comando cp ___________________________________________________________________________ 49
Comando mv ___________________________________________________________________________ 50
Comando rm ___________________________________________________________________________ 51
Comando ln ___________________________________________________________________________ 52
Módulo 4 - Exercícios de fixação ____________________________________________________ 53
Módulo 5 - Permissão e acesso aos arquivos ______________________________________ 54
Quem tem acesso a um arquivo _____________________________________________________ 55
Tipos de acesso___________________________________________________________________ 56
Permissões ______________________________________________________________________ 57
Comando chmod _______________________________________________________________________ 58
Modo simbólico ______________________________________________________________________ 58
Modo numérico_______________________________________________________________________ 58
Comando umask _______________________________________________________________________ 60
Comando touch _______________________________________________________________________ 62
Comando chown _______________________________________________________________________ 63
Comando chgrp _______________________________________________________________________ 64
Comando su ___________________________________________________________________________ 65
Comando newgrp ______________________________________________________________________ 66
Módulo 5 - Exercícios de fixação ____________________________________________________ 67
Módulo 6 - O editor de textos vi________________________________________________ 68
O que é o vi _____________________________________________________________________ 68
Os modos do vi __________________________________________________________________ 69
Descrevendo uma sessão vi ________________________________________________________ 70
Finalizando uma sessão vi _________________________________________________________ 71
Comandos usados para edição de texto no vi _________________________________________ 72
Comandos de controle do cursor____________________________________________________________ 72
Comandos em modo de entrada ____________________________________________________________ 74
5
Conceitos básicos do sistema operacional IBM-AIX
Deletando texto _________________________________________________________________________ 75
Copiando e movendo texto ________________________________________________________________ 76
Alterando o texto________________________________________________________________________ 77
Pesquisando no texto_____________________________________________________________________ 78
Pesquisando modelos de texto _____________________________________________________________ 79
Pesquisa e substituição de texto ____________________________________________________________ 80
Alguns comandos ex úteis e outras opções do vi ______________________________________________ 81
Módulo 7 - Introdução ao Korn Shell ____________________________________________ 82
O uso de alias ____________________________________________________________________ 83
Histórico de comandos - exibindo e reentrando comandos _______________________________ 84
Chamando e editando comandos ____________________________________________________ 85
Ambiente do usuário ______________________________________________________________ 86
Configurando as variáveis do shell___________________________________________________ 87
A variável PATH ________________________________________________________________________ 87
A variável TERM ________________________________________________________________________ 87
O que acontece durante o login _____________________________________________________ 88
Arquivos de inicialização do shell____________________________________________________ 89
Comandos internos do shell e comandos Unix _________________________________________ 90
Módulo 7 - Exercícios de fixação ____________________________________________________ 91
Módulo 8 - O shell e suas características avançadas ________________________________ 92
Capacidades de substituição do shell _________________________________________________ 93
Armazenamento de variáveis ______________________________________________________________ 94
Inicialização e remoção de variáveis_________________________________________________________ 95
Substituição de variáveis e exibição de seu conteúdo____________________________________________ 96
Substituição de comandos_________________________________________________________________ 97
Substituição do til (~) ____________________________________________________________________ 98
Passando variáveis para uma aplicação_______________________________________________ 99
Monitorando e gerenciando processos_______________________________________________ 100
Os processos filhos e o ambiente do shell____________________________________________________ 101
Módulo 8 - Exercícios de fixação ___________________________________________________ 102
Módulo 9 - Geração de nomes de arquivos _______________________________________ 103
Caracteres geradores de nome de arquivos___________________________________________ 104
Os arquivo iniciados por ponto (.) _________________________________________________________ 104
Gerando nomes de arquivos com o caractere interrogação - ? ____________________________________ 105
Gerando nomes de arquivo com os caracteres colchetes - [ ] ___________________________________ 106
Gerando nomes de arquivos com o caractere asterisco - * _______________________________________ 107
Módulo 9 - Exercícios de fixação ___________________________________________________ 108
Módulo 10 - Uso do quoting___________________________________________________ 109
Caracteres usados no mecanismo de quoting _________________________________________ 109
O quoting barra invertida - ______________________________________________________________ 110
O quoting aspas duplas - " "____________________________________________________________ 111
O quoting aspas simples - ' '___________________________________________________________ 112
Módulo 10 - Exercícios de fixação __________________________________________________ 113
Módulo 11 - Introdução ao redirecionamento de entrada e saída _____________________ 114
Entrada padrão, saída padrão e saída de erro padrão__________________________________ 115
Redirecionamento da entrada padrão - < ____________________________________________________ 116
6
Conceitos básicos do sistema operacional IBM-AIX
Redirecionamento da saída padrão - > e >> __________________________________________________ 117
Redirecionamento da saída de erro padrão - 2> e 2>>__________________________________________ 118
Filtros e pipelines________________________________________________________________ 119
O comando more ______________________________________________________________________ 119
O comando sort ______________________________________________________________________ 121
O comando grep ______________________________________________________________________ 122
O comando cut _______________________________________________________________________ 123
O comando tr ________________________________________________________________________ 124
O comando tee _______________________________________________________________________ 125
Módulo 11 - Exercícios de fixação __________________________________________________ 126
Módulo 12 – Efetuando backup de arquivos______________________________________ 127
O comando tar _________________________________________________________________ 128
O comando cpio________________________________________________________________ 129
O comando mt __________________________________________________________________ 131
Exemplos de uso do comando mt para efetuar backup e restore de arquivos: ________________________ 131
Apêndice A - Referência rápida de comandos do Unix _____________________________ 133
Apêndice B - Endereços da Internet referentes a Unix _____________________________ 136
Manual do IBM-AIX 5.3_________________________________________________________________ 136
Manual da linguagem AWK ______________________________________________________________ 136
Unix - Perguntas e respostas sobre programação shell-Script_____________________________________ 136
Unix - Perguntas e respostas sobre análise de performance ______________________________________ 136
Unix - Perguntas e respostas sobre comunicação ______________________________________________ 136
Dicas diversas sobre Unix________________________________________________________________ 136
7
Conceitos básicos do sistema operacional IBM-AIX
Módulo 1 - Introdução ao sistema Unix
Sistema Operacional
Sistema Operacional é um programa especial (software) que controla o computador.
Ele faz a ligação entre os consumidores (programas, usuários) e os recursos (discos, CPU,
memória, rede, impressoras, etc.). Controla como e quando um programa terá sua vez na CPU.
Em um sistema time-sharing, há geralmente vários programas tentando acesso à CPU ao mesmo
tempo.
História do Sistema Operacional Unix
O sistema operacional Unix nasceu nos laboratórios Bell em 1969, tendo como seus criadores
Ken Thompson, Rudd Canaday, Doug McIlroy, Joe Ossana e Dennis Ritchie.
Nos meados dos anos 70, foi licenciado para universidades e ganhou imensa popularidade na
comunidade acadêmica porque:
- Era pequeno:
Os sistemas usavam discos de 512 KB: 16 KB para o sistema operacional, 8 KB para os
programas de usuário e 64 KB por arquivos.
- Era flexível:
Como o fonte fora desenvolvido em linguagem de alto nível, isto proporcionava a
portabilidade do sistema operacional.
8
Conceitos básicos do sistema operacional IBM-AIX
- Era barato:
As universidades conseguiam obter uma licença basicamente pelo preço de uma fita
cassete, sem contar que os primeiros sistemas Unix proporcionavam recursos poderosos
disponíveis somente em sistemas operacionais que rodavam em computadores mais
caros.
Essas vantagens superavam as desvantagens que o sistema possuía na época, que eram:
- Não tinha suporte:
A AT&T já tinha investido muito no sistema MULTICS e não estava interessada em
explorar o sistema operacional Unix.
- Ele tinha bugs:
Como não tinha suporte, não havia a garantia de que os bugs seriam identificados e
consertados.
- Não tinha quase nenhuma documentação:
Porém era possível usar o código fonte para se basear.
9
Conceitos básicos do sistema operacional IBM-AIX
Recursos do Unix
O sistema Unix proporciona um sistema operacional time-sharing, sendo projetado para
administrar múltiplos processos ao mesmo tempo e suportar múltiplos usuários com a finalidade
de facilitar o compartilhamento de dados entre os membros de uma equipe de projeto.
Os comandos, que nada sabem um do outro, podem ser combinados através de pipelines para
desempenhar manipulações mais complexas.
O sistema operacional
O kernel é o sistema operacional, responsável pelo gerenciamento dos recursos disponíveis e
pelo acesso ao hardware. O kernel contém módulos para cada componente do hardware com o
qual ele faz a interface. São esses módulos que proporcionam a funcionalidade do acesso do
programa á CPU, memória, discos, rede, etc. À medida que novos dispositivos de hardware são
instalados no sistema, novos módulos podem ser incorporados ao kernel.
A maior parte do kernel é programada em linguagem C, sendo que a parte dependente de
hardware é desenvolvida em Assembler.
O ambiente operacional
Ferramentas e aplicativos
A filosofia de comandos do Unix espera que cada um dos comandos faça uma coisa bem, e o
conjunto de comandos forme uma caixa de ferramentas. Quando você tem uma tarefa a executar,
você puxa a(s) ferramenta(s) adequada(s). Tarefas complexas podem ser executadas
combinando-se adequadamente as ferramentas.
Além de comandos básicos necessários para interagir com o sistema, o Unix fornece utilitários
para:
10
Conceitos básicos do sistema operacional IBM-AIX
- correio eletrônico (mail, mailx);
- edição de arquivos (ed, ex, vi);
- processamento de textos (sort, sed, wc, awk, grep);
- formatação de textos (nroff, troff);
- desenvolvimento de programas (cc, make, lint, lex);
- comunicação intersistemas (uucp);
- contabilidade de processos e de usuários (ps, du, acctcom).
O shell
O shell é um interpretador interativo de comandos. Isto significa que os comandos são digitados
no prompt de comandos do shell e trabalhados à medida que são emitidos.
Observe que o shell é separado do kernel. Se você não gostar de interface provida pelo shell
fornecido, pode ser substituída por uma que mais lhe agrade.
Os shells mais comuns que acompanham o ambiente Unix são:
- Bourne shell (/usr/bin/sh ou /usr/oldbin/sh):
Provê um interpretador de comandos do sistema Unix e suporte a uma interface
programável para o desenvolvimento de programas (Shell-Scripts).
- C shell (/usr/bin/csh):
É considerado um aperfeiçoamento do Bourne shell porque oferece recursos interativos
como histórico de comandos (os comandos entrados anteriormente podem ser
recuperados, editados e re-executados) e o uso de alias, o que permite o uso de nomes
alternativos para os comandos existentes.
- Korn shell (/usr/bin/ksh):
Pode ser considerado um Bourne shell aperfeiçoado, pois suporta a interface simples
programável do Bourne shell, além dos recursos interativos do C shell. O código foi
otimizado para oferecer um shell mais rápido e eficiente. Atualmente, é o shell mais
comumente usado nos ambientes Unix. No AIX, é o shell padrão.
- POSIX shell (/usr/bin/posix/sh):
Possui as mesmas características do Korn shell, porém obedece as normas do POSIX na
interface de programação. É semelhante ao Korn shell em muitos aspectos(histórico de
comandos, uso de alias e controle de tarefas). Nem todas as implementações Unix o
possuem.
- Korn Shell 1993 (/usr/bin/ksh93):
O sistema operacional AIX fornece uma versão avançada do Korn shell, o KSH-93. Ela é,
na maioria de suas funcionalidades, compatível com a versão atual do KSH-1988. Inclui
algumas características adicionais que não estão disponíveis no Korn shell padrão.
Alguns scripts se comportarão de modo diferente sob ksh93, pois sob ele a manipulação
variáveis é um pouco diferente do Korn shell padrão.
11
Conceitos básicos do sistema operacional IBM-AIX
Outros recursos de Unix
Sistema hierárquico de arquivos
A informação é armazenada em disco através de arquivos. Para o Unix tudo é um arquivo
(dados, textos, dispositivos, periféricos).
Para que os arquivos sejam organizados de maneira lógica, tanto em nível de sistema operacional
quando em nível de usuário, existem os diretórios, que são as pastas onde os arquivos ficam
depositados. Em um sistema Unix os diretórios podem ser usados tanto para o armazenamento de
arquivos quanto para o armazenamento de outros diretórios, que poderão ter arquivos e/ou
diretórios, e assim por diante.
Multitarefa
Em um sistema Unix, várias tarefas podem ser executadas ao mesmo tempo, dando a impressão
que de um único terminal os programas estão sendo executados simultaneamente. Isso significa
que um usuário pode editar um texto, enquanto um processo que trata arquivo de dados pode ser
executado, como também pode-se executar um comando para localizar um determinado arquivo
em qualquer lugar do disco, tudo isso dando a impressão ao usuário que os processos estão sendo
executados ao mesmo tempo.
Multiusuário
Permite que mais de um usuário tenha acesso ao mesmo sistema. Vários terminais e teclados
podem ser conectados ao mesmo computador. Esta á a extensão natural da capacidade de
multitarefa.
Assim, um programa pode ser executado por mais de um usuário, incluindo o mesmo usuário,
que poderá ter mais de uma sessão de terminal no mesmo sistema.
12
Conceitos básicos do sistema operacional IBM-AIX
Módulo 2 - Login e execução de comandos
Sessão de terminal
Uma sessão de terminal começa com login através de um terminal reconhecido pelo sistema e
terminal com logout. O computador executará a tarefa ordenada por você em resposta aos
comandos que serão dados no prompt de comandos do sistema operacional, prompt este que
variará de acordo com o tipo de shell ou da maneira como foi configurado pelo administrador do
sistema ou por você mesmo, de acordo com suas preferências pessoais.
Login e Logout
Para efetuar o login e iniciar sua sessão de terminal, os seguintes passos são necessários:
- Digitar sua identificação de usuário no prompt login: do terminal;
- Digitar sua senha de acesso no prompt password;
- Assim que aparecer o prompt do shell, execute os comandos ou tarefas desejadas;
- Para encerrar sua sessão de terminal, execute o comando exit (logout também á válido em
algumas implementações Unix) ou tecle bDbDbDbD. Isso fará o terminal retornar ao prompt
login:. No caso de se usar um emulador de terminal, e dependendo do emulador, a saída da
sessão causará o fechamento do emulador.
O símbolo que representa o prompt de comando varia de acordo com o shell do usuário, que
podem ser:
$ para Bourne shell, Korn Shell ou POSIX Shell;
% para C Shell;
13
Conceitos básicos do sistema operacional IBM-AIX
# para quando se estiver logado como superusuário (root). É um lembrete muito útil, pois
o administrador do sistema (usuário root) pode modificar (ou remover) qualquer coisa
no sistema.
Estaremos usando o Korn shell, por isso o prompt será um $. Mais tarde veremos como
personalizá-lo.
Nos sistemas AIX, no primeiro login o usuário é solicitado para que a senha seja alterada por
razões de segurança.
14
Conceitos básicos do sistema operacional IBM-AIX
Interpretação de comandos pelo shell
O shell é responsável pelo emissão do prompt e interpretação dos comandos que você entra.
Estaremos vendo neste módulo os vários comandos que permitem acessar o manual de referência
on-line, descobrir os usuários que estão logados no sistema e comunicar-se com outros usuários.
Como pode ser visto na figura acima, o shell possui muitas outras funções que complementam a
interpretação de comandos.
Formato da linha de comando
Uma linha de comando no Unix segue basicamente a seguinte sintaxe:
$ comando [-opções] [argumentos]
O comandos podem ou não ter opções de modificação. Estas opções são precedidas pelo sinal de
menos, ou hífen (-). Os argumentos geralmente referem-se a nomes de arquivos, diretórios,
dispositivos, cadeias de caracteres, etc.
O espaço em branco é usado para delimitar (separar) comandos, opções e argumentos, caso
contrário você pode receber do sistema uma mensagem de erro indicando que foi digitado um
comando inválido.
A entrada/saída do terminal suporte digitação contínua. Isso permite que você entre com um
comando e, em seguida, com os outros comandos antes mesmo que o prompt de comandos
15
Conceitos básicos do sistema operacional IBM-AIX
retorne. O comando será mantido em um buffer e será executado logo após o comando corrente
ser concluído.
Comandos múltiplos podem ser introduzidos em uma linha de comando separando-os por ponto-
e-vírgula (;). Por exemplo:
$ ls -l ; pwd ; date
A entrada de comandos no sistema Unix é sensível a maiúsculas e minúsculas. A maior parte dos
comandos e opções são definidos em letras minúsculas.
Caso a linha possa se estendera após o limite visível da tela, pode-se acrescentar o caracter ,
precedido de um espaço, e continuar a digitação da linha de comando na linha seguinte. Após o
pressionamento da tecla ffff o comando será executado.
O prompt secundário
Os shells Born, Korn e POSIX suportam comandos multilinha interativos. Se o shell requisitar
mais entradas para completar o comando, o prompt secundário (>) será emitido após o
pressionamento da tecla ffff .
Alguns comandos exigem comandos de fechamento e alguns caracteres exigem um caractere de
fechamento. Por exemplo, um if aberto exige um fi para fechar; parênteses de abertura
exigem parênteses de fechamento e, finalmente, um apóstrofo ou uma aspa-dupla de abertura
exigem respectivamente o mesmo caractere para o fechamento.
Se você digitar um comando incorretamente, o shell emitirá um prompt secundário para você.
Para interromper e cancelar o prompt secundário basta pressionar bCbCbCbC, encerrando a
execução do comando e retornando ao prompt padrão do shell. Veja os exemplos na figura
abaixo (não se preocupe com os comandos apresentados, pois serão estudados mais tarde):
16
Conceitos básicos do sistema operacional IBM-AIX
17
Conceitos básicos do sistema operacional IBM-AIX
O manual de referência on-line
O manual é muito útil para consultar a sintaxe dos comandos, nas não foi desenvolvido como um
tutorial e, por isso, não serve muito para se aprender com usar o sistema operacional Unix. É
acessado através do comando man.
Usuários experientes consultam o manual para saber detalhes sobre comandos e como usá-los. O
manual está dividido em várias seções conforme uma breve descrição mostrada abaixo:
- Seção 1: comandos de usuário
Descreve os programas destinados a usuários ou oriundos de programas shell. São os
comandos que geralmente podem ser executados por qualquer usuário do sistema.
- Seção 1m: Manutenção do sistema
Descreve os comandos usados pelo administrador do sistema para sua manutenção. São
executáveis que podem ser utilizados somente pelo superusuário (root), que é o login
associado ao administrador do sistema.
- Seção 2: Chamadas do sistema
Descrevem funções que fazem interface com o kernel do sistema Unix, incluindo a
interface da linguagem C.
- Seção 3: Funções e bibliotecas de funções
Ilustra as funções que acompanham o sistema em formato binário, diferentes das
chamadas diretas do sistema. São geralmente acessadas através de programas C. Os
exemplos incluem manipulação de entrada e saída e funções matemáticas.
- Seção 4: Formatos de arquivos
Define os campos dos arquivos de configuração do sistema (tais como /etc/passwd) e
documenta a estrutura de vários tipos de arquivos (tais como o a.out).
- Seção 5: Tópicos diversos
Inclui informações variadas, tais como as descrições de arquivos de cabeçalho, conjuntos
de caracteres, pacotes de macros e outros tópicos.
- Seção 7: Arquivos especiais
Discute as características dos arquivos especiais que fazem a ligação entre o sistema Unix
e os periféricos de E/S do sistema (discos, fitas e impressoras).
- Seção 9: Glossário
Define os termos selecionados usados em todo o manual de referência.
Quando a primeira página do manual on-line aparece, as seguintes teclas podem ser usadas no
prompt standard output:
ffff exibe a linha seguinte
kkkk exibe a página seguinte
HHHH ajuda on-line para navegação
18
Conceitos básicos do sistema operacional IBM-AIX
QQQQ retorna para o prompt do shell
bBbBbBbB retorna uma página
jGjGjGjG vai para o final do manual
1jGjGjGjG vai para o início do manual
//// busca uma string específica. Sensível ao contexto
19
Conceitos básicos do sistema operacional IBM-AIX
Alguns comandos iniciais
id - Exibe a identificação de usuário e grupo
who - Lista os usuários logados no sistema
date - Exibe a hora e a data do sistema
passwd - Atribui uma senha à conta do usuário
echo - Exibe mensagens simples na tela
banner - Exibe argumentos em letras grandes
write - Envia mensagens para o terminal de outro usuário
mesg - Permite ou nega o recebimento de mensagens pelo terminal
20
Conceitos básicos do sistema operacional IBM-AIX
Comando id
O comando id exibe a identificação de usuário e grupo para a sessão de terminal.
Para acessar arquivos e executar programas você precisa saber sua identificação de usuário e
grupo. O sistema mantém identificadores numéricos. Os nomes alfanuméricos são somente para
a conveniência do usuário.
Todas as identificações de usuário reconhecidas são armazenadas no arquivo /etc/passwd.
As identificações de grupo são armazenadas no arquivo /etc/group.
Veja abaixo o exemplo de execução e saída do comando id:
21
Conceitos básicos do sistema operacional IBM-AIX
Comando who
O comando who lista quais são os usuários que estão logados no sistema, em que porta de
terminal está conectado, hora de início da sessão, número de processo (opção -u) e a origem da
conexão (opção -u).
Existe a variante who am i que lista somente informações referente ao usuário da sessão atual.
A variante whoami lista somente a identificação do usuário logado. Veja os exemplos da saída
do comando na figura a seguir:
22
Conceitos básicos do sistema operacional IBM-AIX
Comando date
O comando date mostra a data e hora do sistema. É possível usar argumentos que modificam o
formato de saída do comando.
Geralmente este comando é usado sem opções ou argumentos. Veja na pagina do manual on-line
(através do comando man date) para mais detalhes das opções e argumentos utilizados pelo
comando. Os exemplos abaixo ilustram algumas saídas do comando date:
23
Conceitos básicos do sistema operacional IBM-AIX
Comando passwd
O comando passwd pode ser usado para alterar a sua senha. Sua sintaxe é:
$ passwd
Sua senha atual (senha antiga) é solicitada. Isso é para evitar que alguém mude sua senha se você
deixar o terminal sozinho enquanto está logado. Depois é solicitada a nova senha, é solicitado
que você digite novamente a nova senha para confirmação, evitando que você troque sua senha
por outra que contenha erros de digitação. É recomendado que as senhas antigas e novas sejam
diferentes em, pelo menos, três caracteres.
A senha não será exibida na tela enquanto digitada.
O administrador do sistema (root) não é submetido a essas condições, podendo atribuir uma
senha qualquer para uma conta, não sendo obrigado a seguir essas regras..
24
Conceitos básicos do sistema operacional IBM-AIX
Comando echo
O comando echo serve para exibir argumentos de linha de comando, isto é, para imprimir
mensagens na tela, como ilustrado abaixo:
Embora pareça um tanto inútil, o uso de echo no prompt do shell, este comando será mais
utilizado em programação Script-Shell, onde será usado para a exibição de mensagens ou para a
exibição dos valores de variáveis.
25
Conceitos básicos do sistema operacional IBM-AIX
Comando banner
Este comando foi criado, e ainda é usado, para rotular a saída de listagens impressas. O comando
banner exibe os argumentos passados em letras maiúsculas expandidas, um argumento por
linha.
Caso deseje exibir mais de um argumento na mesma linha, coloque-os entre aspas. Veja a
ilustração abaixo:
26
Conceitos básicos do sistema operacional IBM-AIX
Comando write
Este comando é usado para envio de mensagens para o terminal de um outro usuário que está
logado no mesmo sistema Unix. Quando executado, o comando write dá a você a
oportunidade de digitar sua mensagem. Toda vez que a tecla ffff for pressionada, a mensagem é
transmitida para o terminal do usuário de destino. O terminal receptor pode fazer a mesmo coisa
e pode-se ter uma conversa interativa entre os dois terminais.
Ao término do envio de mensagens, pressione bDbDbDbD para sair do comando write. Veja o
exemplo na ilustração abaixo:
A não ser que a capacidade de recepção esteja desativada, mensagens podem ser enviadas ao seu
terminal em qualquer momento. Portanto, se você está em um utilitário como o man, mail ou
27
Conceitos básicos do sistema operacional IBM-AIX
um editor de textos como o vi e alguém enviar mensagens para você, ela será exibida em seu
terminal podendo causar confusão nos caracteres exibidos, o que pode tornar-se inconveniente.
Independe do usuário estar ou não com a capacidade de recebimento de mensagens ativada, o
superusuário pode enviar mensagens para o terminal de qualquer usuário logado.
28
Conceitos básicos do sistema operacional IBM-AIX
Comando mesg
Você pode usar o comando mesg para impedir a recepção de mensagens de outros usuários em
seu terminal. Se você enviar mensagens para uma pessoa que desabilitou a recepção de
mensagens, receberá a mensagem Permission denied.
Mesmo que a recepção de mensagens esteja desabilitada em seu terminal, o administrador do
sistema ainda poderá enviar mensagens para o seu terminal. A sintaxe do comando mesg é
simples:
$ mesg - mostra o estado atual da recepção de mensagens
$ mesg y - habilita a recepção de mensagens
$ mesg n - desabilita a recepção de mensagens
A ilustração abaixo explica o funcionamento do comando mesg:
29
Conceitos básicos do sistema operacional IBM-AIX
Módulo 2 - Exercícios de fixação
1 - Quais dos comandos estão sintaticamente corretos?
$ echo
$ eco Ola
$ echo IBM Brazil Site Hortolandia
$ banner
$ banner SO Unix Team
$ BANNER Curso de Unix
2 - Usando os comandos id, who e whoami, responda as questões seguintes:
- Quem está no sistema? ___________________________
- Em que terminal você está logado? ___________________________
- Quem o sistema pensa que você é? ___________________________
3 - Tente enviar mensagens para o terminal de algum colega e peça para ele enviar para você.
Use os comandos necessários para verificar se a capacidade de recepção está ou não ativada.
4 - Execute o comando date de modo a mostrar a data e a hora na seguinte configuração:
$ hoje é dd/mm/yy e são hh:mm:ss
5 - Finalize a sessão do seu terminal. Faça um login de volta, porém com a tecla @@@@ ativada.
Caso seu terminal tenha ficado com a tela estranha, como este problema pode ser resolvido sem a
necessidade de um logout e outro login?
30
Conceitos básicos do sistema operacional IBM-AIX
Módulo 3 - Navegando pelo sistema de arquivos
A hierarquia do sistema de arquivos
O sistema operacional Unix oferece um sistema de arquivos para organizar e gerenciar seus
arquivos e diretórios.
A organização dos diretórios poderá ser representada graficamente utilizando uma estrutura em
árvore hierárquica. Na figura a seguir, os diretórios são representados por ícones em forma de
pastas e os arquivos por ícones em forma de documentos.
O topo da hierarquia é identificado como diretório raiz ou root, porque está no topo da árvore
invertida. É denotado com uma barra diagonal (/).
Dependendo da implementação do Unix, a estrutura de diretórios pode variar, assim como alguns
arquivos de configuração de sistema podem estar localizados em outros subdiretórios mas,
basicamente, seguem o padrão exibido na figura acima.
Diferente de algumas implementações Unix, o IBM-AIX gerencia seus sitemas de arquivos
através de LVM (Logical Volume Manager) usando o formato JFS (Journaled File System). Tal
implementação de sistema de arquivos permite recuperação automática em caso da queda do
servidor pela falta de energia ou desligamento acidental.
O sistema de arquivos JFS mantém um log de transações do que é gravado no filesystem para
uso em sua autorecuperação em caso de pane.
Na figura a seguir é mostrado o esquema de como é gerenciado pelo sistema operacional o
acesso a disco através do gerenciamento de volumes lógicos do AIX. rootvg é o nome dado ao
VG, particionado em LVs padrão, onde o AIX é instalado.
31
Conceitos básicos do sistema operacional IBM-AIX
Gerenciamento de Volumes Lógicos no IBM AIX – LVM (Logical Volume Manager)
Percursos relativos e absolutos
Muitos comandos do Unix operam em arquivos, diretórios ou nos dois.
Para informar a um comando sobre a localização de um arquivo ou diretório solicitado, você
fornece um percurso como argumento para o comando. O percurso representa o caminho
percorrido através da hierarquia para alcançar o arquivo ou diretório desejado, como nesse
exemplo genérico:
$ comando [opções] [percurso1 percurso2 ... percursoN]
Ao designar o percurso de um arquivo ou diretório, a barra diagonal (/) é utilizada para delimitar
os nomes do diretório e/ou arquivos. Exemplo:
diretório/diretório/diretório
diretório/arquivo
Sempre que se logar, você estará posicionado em algum diretório. Por exemplo, ao fazer login, o
diretório em que você estará posicionado será inicialmente o diretório $HOME. As localizações
de arquivos e/ou diretórios podem ser designados com um percurso absoluto ou relativo.
32
Conceitos básicos do sistema operacional IBM-AIX
Percurso absoluto
- Sempre se inicia no topo da hierarquia (diretório raiz);
- Sempre se inicia com uma barra diagonal (/);
- Não é dependente da 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.
Exemplos de percursos absolutos:
/tmp/arq001
/home/user1/arq001
/home/user3/arq001
/home/user3/memo/memo001.txt
Percurso relativo
- Sempre começa na 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.
Exemplos de percursos relativos:
Os exemplos a seguir fazem referência aos arquivos denominados arq001.txt, mas sua
designação de caminho relativo depende da posição corrente do usuário dentro da hierarquia.
Assumindo sua posição corrente sendo /home:
user1/arq001.txt
user3/arq001.txt
user3/memo/arq001.txt
Assumindo sua posição corrente sendo /home/user3:
arq001.txt
memo/arq001.txt
Assumindo que sua posição corrente seja /home/user3/memo:
arq001.txt
Note que o percurso relativo poderá ser muito mais curto do que o absoluto. Por exemplo, se
você estiver no diretório /home/user3/memo, poderá imprimir arq001.txt com qualquer
um dos seguintes comandos:
33
Conceitos básicos do sistema operacional IBM-AIX
lp /home/user3/memo/arq001.txt
lp arq001.txt
Internamente o sistema Unix encontra todos os arquivos ou diretórios através de percursos
absolutos. O Unix permite o uso de percursos relativos somente para a conveniência de digitação
do usuário.
Quando qualquer diretório é criado, duas entradas, denominadas ponto (.) e ponto-ponto (..),
são criadas automaticamente. São comumente usadas para referirem-se a percursos relativos:
. - faz referência ao diretório corrente
.. - faz referência ao diretório de nível imediatamente superior
Exemplos de ponto (.)
Se você está correntemente no diretório /home/user3:
. representa /home/user3
./docs representa /home/user3/docs
./memo/jan2000 representa /home/user3/memo/jan2000
Exemplos de ponto-ponto (..)
Se você está correntemente no diretório /home:
.. representa /
../.. também representa /
../tmp representa /tmp
../tmp/work representa /tmp/work
Se você está correntemente no diretório /home/user3:
.. representa /home
../.. representa /
../user2 representa /home/user2
../user1/docs representa /home/user1/docs
../../tmp/work representa /tmp/work
Principais diretórios do sistema de Arquivos
Diretório / (root)
O topo da árvore. Contém os arquivos de configuração do super usuário.
Diretório /bin
Normalmente é um link simbólico para /usr/bin. Contém a maioria dos comandos do UNIX.
34
Conceitos básicos do sistema operacional IBM-AIX
Diretório /lib
Geralmente é um link simbólico para /usr/lib. Contém as bibliotecas do sistema.
Diretório /usr
Contém a maioria dos arquivos e diretórios de trabalho do UNIX e outros comandos.
Alguns subdiretórios importantes abaixo de /usr são:
/usr/bin
/usr/lib
/usr/mail
/usr/man
/usr/share/man
/usr/local/bin
Diretório /usr/bin
Contém a maioria dos comandos de seção 1 do UNIX, como por exemplo:
ls, cp, rm, mv, ln, date, mail
Diretório /usr/lib
Contém arquivos bibliotecas utilizados pelo UNIX para suportar linguagens e aplicações.
Diretório /var/spool/mail
A caixa postal do sistema. Contém um arquivo por usuário que possui correspondência.
Normalmente é um link simbólico de /usr/var/spool/mail ou /usr/spool/mail.
Diretório /usr/man e /usr/share/man
Contém as páginas do manual on-line.
Diretório /usr/local/bin
Comandos executáveis desenvolvidos no sistema local.
O diretório /usr/local/bin é normalmente criado pelo Administrador do Sistema para
acrescentar arquivos executáveis que não fazem parte do Sistema Operacional Unix padrão.
Diretório /etc
Contém a maioria dos arquivos e comandos de Administração relativos à máquina local.
Diretório /home
Normalmente contém todos os diretórios de login ao sistema, ou seja, os arquivos de todos os
usuários.
Diretório /dev
Contém os arquivos especiais (device files) para comunicação com periféricos como discos,
fitas, impressoras e terminais.
Diretório /tmp e /var/tmp
Normalmente utilizado pelo sistema e aplicações para criação de arquivos temporários.
35
Conceitos básicos do sistema operacional IBM-AIX
Comandos básicos usados no sistema de arquivos
pwd - Exibe o nome do diretório corrente
ls - Listagem de arquivos
cd - Troca de diretório
find - Procura de arquivos
mkdir - Criação de diretórios
rmdir - Remoção de diretórios
Os comandos acima permitirão que sejam efetuadas as seguintes tarefas:
- Exibir o nome do diretório e sua localização na árvore;
- Listar os arquivos que estão no diretório;
- Mudar de um diretório para outro;
- Localizar arquivos nos diretórios;
- Criar diretórios;
- Remover diretórios.
36
Conceitos básicos do sistema operacional IBM-AIX
Comando pwd
O comando pwd relata o percurso absoluto da localização do seu diretório corrente em um
sistema de arquivos. Supondo que você esteja no diretório /usr/local/bin, o seguinte
resultado será exibido:
$ pwd
/usr/local/bin
37
Conceitos básicos do sistema operacional IBM-AIX
Comando ls
O comando ls é usado para listar os nomes de arquivos de um diretório.
Sem qualquer argumento, o comando ls mostra os nomes dos arquivos e/ou diretórios existentes
no diretório corrente. A lista sempre será classificada em ordem alfabética obedecendo a
classificação ASCII.
Para saber quais as opções aceitas pelo comando ls, refira-se ao manual on-line para maiores
detalhes. Abaixo é detalhado as opções mais usadas:
-a Lista todos os arquivos do diretório, incluindo os escondidos. No Unix um arquivo é
considerado escondido quando seu nome começar com um ponto (.), como é o caso do
arquivo de configuração .profile que cada usuário possui no seu diretório $HOME,
além das entradas . (diretório corrente) e .. (diretório do nível anterior).
-A O mesmo que o anterior, exceto as entradas . e ..
-l Fornece uma listagem detalhada sobre os arquivos, mostrando tipo, permissões,
proprietário, grupo, tamanho, data e hora da criação.
-d Lista as características de um diretório ao invés de seu conteúdo. Utilizado com a opção
-l mostra o status do diretório especificado.
-F Acrescenta uma barra (/) ao final de cada arquivo listado que seja um diretório. Se o
arquivo for executável será colocado um asterisco(*) no final de seu nome.
-R Lista, recursivamente, todos os arquivos de um diretórios e os arquivos dos subdiretórios
nele existentes.
-o Semelhante à opção -l, porém não mostra a coluna em que está o nome do proprietário
do arquivo. Em algumas implementações Unix essa opção não surte efeito.
-g Semelhante à opção -l, porém não mostra a coluna em que está o grupo ao qual o
arquivo pertence.
-t Faz com que a lista de arquivos seja mostrada em ordem decrescente de criação, isto é, os
arquivos atualizados ou criados recentemente são listados primeiro, os mais antigos
depois.
-r Permite que a listagem de arquivos seja mostrada em ordem inversa. Muito útil quando
combinada com as opções -l e -t.
Nas figuras a seguir são mostrados alguns exemplos da saída do comando ls com algumas das
suas diferentes opções:
38
Conceitos básicos do sistema operacional IBM-AIX
39
Conceitos básicos do sistema operacional IBM-AIX
Comando cd
O comando cd permite que você se movimente na árvore de diretórios, podendo ser alterado o
diretório corrente. Sua sintaxe é:
$ cd [nome do diretório]
O argumento opcional nome do diretório é o diretório para onde se deseja posicionar.
Caso não seja especificado, o comando posicionará sua localização como sendo o diretório
$HOME.
O usar o comando cd para movimentar-se entre os diretórios, use o comando pwd para checar
qual o diretório corrente. Mais tarde será mostrado como personalizar o prompt do shell para
mostrar o diretório corrente, além de outras informações úteis.
No Korn Shell e no POSIX-Shell o comando cd possui o argumento hífen (-) que permite
mudar para o diretório anteriormente acessado. Isso é possível por causa de uma variável de
ambiente OLDPWD que sempre armazena o diretório acessado antes do último comando cd.
Abaixo é ilustrado as diversas maneiras de usar o comando cd:
40
Conceitos básicos do sistema operacional IBM-AIX
Comando find
O comando find é usado, basicamente, para localizar arquivos e/ou diretórios no sistema de
arquivos do Unix. Opcionalmente pode ser usado para executar algumas ações nos nomes de
arquivos encontrados. Sua sintaxe é:
$ find <caminho> [expressão]
caminho argumento obrigatório. É o diretório onde deverá ser iniciada a pesquisa pelo
comando find;
expressão palavras chaves e argumentos que possam especificar os critérios de pesquisa e
as tarefas a serem executadas ao encontrar uma correspondência. Todas as
palavras chave do comando find são precedidas por um hífen (-).
Abaixo são mostradas algumas maneiras mais comuns de uso do comando find e algumas de
suas palavras-chave:
41
Conceitos básicos do sistema operacional IBM-AIX
Comandos mkdir e rmdir
O comando mkdir é usado para a criação de diretórios. Sua sintaxe é:
$ mkdir [-p] <diretórios>
diretórios argumento obrigatório que especifica o nome dos diretórios a serem
criados. Esses nomes devem ser separados por espaços.
-p este parâmetro opcional faz com que, em caso de os diretórios e seus
subdiretórios serem especificados para a criação, e seus respectivos
diretórios pais ainda não existirem, estes também serão criados. Caso esta
opção não seja especificada neste caso, o comando retornará uma
mensagem de erro.
O comando rmdir é utilizado para a remoção de diretórios. Sua sintaxe é:
$ rmdir <diretórios>
O diretório será removido somente se estiver completamente vazio, isto é, não poderá haver
arquivos e/ou diretórios armazenados nele, caso contrário será emitida uma mensagem de erro. O
diretório corrente também não poderá ser removido, assim como o diretório /.
Veja a figura abaixo referente aos comandos mkdir e rmdir:
42
Conceitos básicos do sistema operacional IBM-AIX
Módulo 3 - Exercícios de fixação
1 - Qual é o seu diretório $HOME?
2 - Partindo do seu diretório $HOME, vá para o diretório /etc. Utilizando um percurso relativo,
vá para o diretório /home. Utilizando um percurso absoluto vá para diretório bin localizado
sob o diretório /usr. Em seguida retorne para o seu diretório $HOME.
3 - Crie, em seu diretório $HOME, o diretório workflow. Faça dele o seu diretório corrente.
Qual o caminho absoluto do diretório que você acabou de criar?
4 - A partir de seu diretório $HOME, crie os seguintes diretórios abaixo com apenas uma linha de
comando:
business/jan01
business/fev01
business/mar01
business/abr01
5 - A partir de seu diretório $HOME, remova todos os subdiretórios abaixo do diretório
business, utilizando uma única linha de comando.
43
Conceitos básicos do sistema operacional IBM-AIX
Módulo 4 - Gerenciamento de Arquivos
O que é um arquivo para o Unix
Tudo para o Unix é um arquivo, o que inclui:
- Arquivos comuns: texto, mensagens de correio eletrônico, dados, desenhos, código fonte de
programas;
- Programas: executáveis como ksh, who, date, man, ls e find;
- Diretórios: arquivos que contém o nome e o identificador do sistema de arquivos para
os diretórios e arquivos neles contidos;
- Periféricos: arquivos especiais que fornecem a interface para o hardware tais como
discos, terminais, impressoras e memória.
Arquivos são simplesmente nomes e os dados associados aos nomes, armazenados em um
periférico de armazenamento de massa, geralmente um disco. Para o sistema Unix, um arquivo
nada mais é do que uma seqüência de bytes de dados. Não existem registros pré-definidos,
campos, marcas de final de registro ou marcas de final de arquivo.
Arquivos comuns contém caracteres de texto ASCII, geralmente criados por um editor de textos
em uma sessão de terminal. Um exemplo de arquivo comum é o arquivo de usuários do sistema
Unix, /etc/passwd.
Arquivos de programas podem ser arquivos binários executáveis, como é o caso dos comandos
do sistema operacional (date, who, find, etc) ou podem ser arquivos textos executáveis,
chamados scripts, como os arquivos $HOME/.profile, /etc/profile ou algum programa
shell, onde são armazenados seqüências de comandos em um arquivo texto criado através de um
editor.
Um diretório é um arquivo com os nomes de arquivos e diretórios contidos neles. Ele também
armazena um número conhecido como i-node para cada entrada. Um diretório não é um arquivo
comum.
Um arquivo especial (device file) fornece a interface entre o kernel e o hardware. Como eles
servem somente para fazer a interface, eles nunca terão quaisquer dados reais. Estão comumente
armazenados sob o diretório /dev e haverá um arquivo para cada dispositivo de hardware com o
qual o seu computador precisa de comunicar.
44
Conceitos básicos do sistema operacional IBM-AIX
Comandos usados no gerenciamento de arquivos
ls - ver as características de um arquivo
cat - ver o conteúdo de um arquivo
more - ver o conteúdo de um arquivo uma tela por vez
cp - copiar arquivos
mv - mover arquivos ou renomeá-los
ln - criar um outro nome para o mesmo arquivo
rm - remover arquivos
Você conhece alguns comandos para a manipulação de diretórios. Veremos a seguir alguns
comandos adicionais que serão utilizados em arquivos e diretórios.
45
Conceitos básicos do sistema operacional IBM-AIX
Características de um arquivo
Como é mostrado na figura acima, um arquivo tem várias características a ele associadas. Elas
podem ser exibidas pelo comando ls -l.
Tipos de arquivo
Existem vários tipos de arquivos suportados pelo Unix. Esses tipos são identificados pelo
primeiro caractere exibido na saída do comando ls -l:
- arquivo comum
d diretório
l link simbólico
n arquivo de rede
c dispositivo de caractere (terminal, impressora)
b dispositivo de bloco (discos)
p pipe nomeado (canal de comunicação interprocessos)
s socket (canal de comunicação interprocessos)
46
Conceitos básicos do sistema operacional IBM-AIX
Comando cat
O comando cat exibe o conteúdo de um ou mais arquivos. Tipicamente ele é usado para ver o
conteúdo de um único arquivo. Sua sintaxe:
$ cat [arquivo1 arquivo2 ...arquivoN]
Se não for informado o nome de arquivo, o comando cat ficará em modo de espera aguardando
a digitação de dados. Ao pressionamento da tecla ffff, uma linha será saltada para que seja dada
uma nova entrada pelo teclado. Para sair do comando cat, pressione bDbDbDbD e os dados
digitados anteriormente serão exibidos. Para abortar a execução do comando cat pressione
bCbCbCbC.
Abaixo é ilustrado a execução do comando cat.
Caso o arquivo a ser exibido for muito para ser exibido em uma única tela, o texto passará muito
rapidamente para ser lido. Nesse caso aplicaremos outro comando, que será visto a seguir, para
mostrar o arquivo em uma tela de cada vez.
Se o arquivo a ser exibido pelo comando cat contém caracteres de controle, tal como um
arquivo binário ou programa compilado, seu terminal poderá ficar desativado. Nesse caso, entre
em contato com o administrador do sistema para cancelar a sessão do seu terminal.
47
Conceitos básicos do sistema operacional IBM-AIX
Comando more
Como o comando cat, o comando more exibe o conteúdo de um arquivo na tela, porém
mostrando uma página de tela por vez. Por exemplo, para ver o conteúdo do arquivo
/etc/passwd, use o seguinte comando:
$ more /etc/passwd
Diferente do comando cat, o comando more possui opções de controle de paginação do texto
para que, por exemplo, no caso de adiantar ou avançar de mais o texto, você possa ter como
voltar linhas ou páginas e poder ler os dados, sem a necessidade de executar o comando more
novamente para abrir o arquivo. Isso é muito útil quando se trata de arquivos muitos extensos. A
seguir alguns dos comandos de controle do comando more:
ffff exibe a linha seguinte
kkkk exibe a página seguinte
QQQQ retorna para o prompt do shell
bBbBbBbB retorna uma página
jGjGjGjG vai para o final do arquivo
1jGjGjGjG vai para o início do arquivo
48
Conceitos básicos do sistema operacional IBM-AIX
Comandos tail, head e line
O comando tail serve para exibir as linhas finais de um arquivo. A quantidade de linhas
default mostrada são 10, mas podem ser mostradas quantas linhas se desejar. A mesma coisa vale
para o comando head, porém este mostra as linhas inicias de um arquivo.
No caso do comando line, ele mostra apenas a primeira linha do arquivo.
Supondo que você tenha um arquivo texto chamado listagem.txt com as seguintes linhas:
Arthur Andersen
Accenture
IBM Brasil
Compaq Corp
PriceWaterhouse Coopers
Vamos executar os comando tail para mostrar as 3 últimas linhas do arquivo, o comando
head para mostrar a 3 primeiras e o comando line para mostrar apenas a primeira linha:
$ tail -3 listagem .txt
IBM Brasil
Compaq Corp
PriceWaterhouse Coopers
$ head -3 listagem .txt
Arthur Andersen
Accenture
IBM Brasil
$ line < listagem.txt
Arthur Andersen
49
Conceitos básicos do sistema operacional IBM-AIX
Comando cp
O comando cp é utilizado para copiar arquivos. Pode-se criar cópias de arquivos individuais ou
de vários arquivos. Sintaxe:
$ cp <origem> <destino>
Apresentamos algumas considerações ao utilizar o comando cp:
- são necessários pelo menos dois argumentos: arquivo de origem e destino (que pode ser
outro nome de arquivo ou um diretório para onde a cópia será feita. Se forem usados mais
de 2 argumentos o último, obrigatoriamente, deverá ser um diretório;
- pode-se usar percursos relativos e/ou absolutos em qualquer um dos argumentos;
- se o destino não existir, será criado. Caso exista, será sobrescrito, exceto se for usada a
opção -i que pede a confirmação antes de sobrescrever o arquivo existente, pois por
padrão a cópia é feita sem fazer perguntas. Um arquivo não pode ser copiado para ele
mesmo. Caso isso seja tentado será emitida uma mensagem de erro.
Exemplos de uso do comando cp:
- Copiar o arquivo listagem.txt do diretório corrente para o diretório
/home/user1/backup com o nome listagem.txt.bkp;
$ cp listagem.txt /home/user1/backup/listagem.txt
- Copiar o arquivo /etc/passwd para o diretório /home/user2 com o mesmo nome;
$ cp /etc/passwd /home/user2
- copiar os arquivos arq001.dat e arq002.dat para o diretório /var/tmp;
$ cp arq00.dat arq002.dat /var/tmp
50
Conceitos básicos do sistema operacional IBM-AIX
Comando mv
O comando mv pode ser usado para as seguintes finalidades:
- mudar o nome de arquivos (renomear arquivo);
- mudar o nome de diretórios (renomear diretórios);
- mover arquivos para outros diretórios, mudando ou não seus nomes.
A sintaxe do comando mv é:
$ mv [-i] <origem> <destino>
Podem ser usados percursos relativos ou absolutos. Caso o arquivo não exista no destino, ele será
criado. Se o arquivo existir, será sobrescrito.
A opção -i fará com que o comando avise se o arquivo ou o diretório de destino existe,
aguardando confirmação para sobrescrever o arquivo ou diretório. Por default, o comando mv
renomeia ou move os arquivos ou diretórios sem fazer perguntas.
Exemplos de uso do comando mv:
- renomear o arquivo arq001.txt, no diretório corrente, para arq0001.dat
$ mv arq001.txt arq0001.dat
- renomear o diretório /dir1 para /dir01:
$ mv /dir1 /dir01
- mover o arquivo arq002.txt para o diretório /home/user2:
$ mv arq002.txt /home/user2
- mover todo o diretório /home/user3 para /usr/users:
$ mv /home/user3 /usr/users
- mover o arquivo /etc/hosts.copia para o diretório /etc/backup com o mesmo nome:
$ mv /etc/hosts.copia /etc/backup
- mover os arquivos dados.jan e dados.fev para o diretório /oracle/financ:
$ mv dados.jan dados.fev /oracle/financ
51
Conceitos básicos do sistema operacional IBM-AIX
Comando rm
O comando rm é usado para remover arquivos. Não é possível recuperar os arquivos após serem
removidos. Podem ser usados percursos relativos ou absolutos.
Sua sintaxe é:
$ rm [-r] [-f] [-i] <arq1> [arq2 arq3...arqN]
A opção -f força a remoção do arquivo. Com a opção -r é possível remover recursivamente
quaisquer arquivos e diretórios especificados. Sem a opção -r para remover diretórios, o
comando rm retorna uma mensagem de erro. Com a opção -i o comando emite uma mensagem
pedindo confirmação para a remoção do arquivo.
Utilize sempre a opção -r com extremo cuidado, pois poderá remover TODOS os seus arquivos
e diretórios. Se for utilizar a opção -r, utilize-a em conjunto com a opção -i.
Exemplos de uso do comando rm:
- remover o arquivo arq001.txt do diretório corrente:
$ rm arq001.txt
- remover o diretório /home/user2 e todos os seus arquivos e subdiretórios:
$ rm -r /home/user2
52
Conceitos básicos do sistema operacional IBM-AIX
Comando ln
O comando ln permite que vários nomes possam se referir a um mesmo arquivo (link). Isso é
útil quando um arquivo deve ser referenciado por outro nome em um determinado diretório, mas
não é desejado que outro arquivo seja criado. Diretórios também podem ser referenciados por
outro nome através do comando ln.
Por default, o arquivo criado com o comando ln é um hard-link, isto é, caso o arquivo seja
removido, será removido também o arquivo original ao qual o novo nome está fazendo
referência. Para que isso não aconteça, usa-se a opção -s para que seja criado o link. Sintaxe:
$ ln [-s] Arquivo_original Novo_nome
Onde:
-s argumento opcional que faz com que seja criado um soft-link (link
simbólico). O default é ser criado como hard-link (link físico).
Arquivo_original nome do arquivo/diretório a ter um link criado. Pode-se usar
percursos absolutos.
Novo_nome nome que será usado para referenciar a Arquivo_original.
Exemplos:
para criar no diretório corrente um soft-link para o arquivo /usr/bin/vi como nome
meueditor:
$ ln -s /usr/bin/vi meueditor
para criar um hard-link para o arquivo .profile.old com o nome perfil.ant, no
diretório /tmp
$ ln .profile /tmp/perfil.ant
Para remover o nome alternativo, use o comando unlink seguido do nome do link criado.
Exemplo:
para remover o link meueditor:
$ unlink meueditor
53
Conceitos básicos do sistema operacional IBM-AIX
Módulo 4 - Exercícios de fixação
1 - Vá para o seu diretório $HOME e copie o arquivo hosts, existente no diretório /etc, com o
nome hosts.copy.
2 - Crie os arquivos hosts.01 e hosts.02, no seu diretório $HOME, fazendo referência ao
arquivo hosts.copy criado no exercício anterior.
3 - Remova os arquivos criados no exercício anterior, pedindo confirmação na hora da remoção.
4 - Crie, em seu diretório $HOME, um subdiretório chamado etc. Copie o conteúdo do diretório
/etc para esse diretório.
5 - Mova todo o diretório criado no exercício anterior para o subdiretório etc02 em seu
diretório $HOME.
54
Conceitos básicos do sistema operacional IBM-AIX
Módulo 5 - Permissão e acesso aos arquivos
O acesso aos arquivos está sujeito à identificação dos usuários e às permissões associadas aos
arquivos. Este módulo mostrará como:
Permissões Entender o acesso à leitura, escrita e execução de um arquivo
ls (ls -l) Determinar que tipo de acesso é concedido ao arquivo
chmod Alterar o modo de acesso ao arquivo
umask Alterar o acesso default aos arquivos
chown Alterar o proprietário do arquivo
chgrp Alterar o grupo de um arquivo
su Trocar o seu identificador de usuário
newgrp Trocar seu identificador de grupo
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
de seus arquivos a outros usuários.
55
Conceitos básicos do sistema operacional IBM-AIX
Quem tem acesso a um arquivo
O sistema Unix incorpora uma estrutura de três camadas para definir quem tem acesso a cada
arquivo e diretório.
user - representa o proprietário do arquivo
group - representa o grupo que pode ter acesso ao arquivo
other - representa todos os outros usuários do sistema
O proprietário tem controle absoluto sobre quem tem que tipo de acesso ao arquivo. Ele pode
permitir ou negar o acesso ao seu arquivos a outros usuários do sistema. ele também decide que
grupo poderá acessar seus arquivos. O proprietário pode decidir também dar seu arquivo a outro
usuário do sistema. Uma vez transferida a propriedade, o proprietário anterior não terá mais
controle sobre o arquivo.
O comando ls -l mostra o proprietário e o grupo que tem acesso ao arquivo. Veja na
ilustração abaixo as informações referente aos arquivos listados:
56
Conceitos básicos do sistema operacional IBM-AIX
Tipos de acesso
Há três tipos de acesso, tanto para arquivos como diretórios:
Read
Arquivo - o conteúdo pode ser examinado
Diretório - o conteúdo pode ser examinado
Write
Arquivo - o conteúdo pode ser alterado
Diretório - o conteúdo pode ser alterado
eXecute
Arquivo - pode ser usado como um comando
Diretório - podem tornar-se o diretório de trabalho corrente
Note, como mostrado acima, que deixar um arquivo com permissão Read não o impede de ser
apagado ou sobreposto por outro arquivo do mesmo nome, no caso de um comando mv ou cp.
Para rodar um arquivo como um programa, além das instruções corretas estarem contidas no
arquivo, ele deve ter as permissões read e execute.
57
Conceitos básicos do sistema operacional IBM-AIX
Permissões
O acesso a um arquivo é definido através da identificação do usuário, 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 do sistema.
Veja a figura a seguir as permissões mostradas pelo comando ls -l:
Detalhando a figura acima, os arquivos listados pelo comando ls -l têm as seguintes
características em relação a permissões, proprietário e outros usuários:
Arquivo Associações Atribuições de Acesso Atividades permitidas
DIA (link simbólico) root (proprietário) Leitura, gravação e execução Examina, modifica o conteúdo e
o executa como um comando
membros do grupo system Leitura, gravação e execução Examina, modifica o conteúdo e
o executa como um comando
todos os outros Leitura, gravação e execução Examina, modifica o conteúdo e
o executa como um comando
X11 (diretório) root (proprietário) Leitura, gravação e execução Examina, modifica o conteúdo e
torna-o o diretório corrente
membros do grupo system Leitura e execução Examina o conteúdo e torna-o o
diretório corrente
todos os outros Leitura e execução Examina o conteúdo e torna-o o
diretório corrente
adm (diretório) adm (proprietário) Leitura, gravação e execução Examina, modifica o conteúdo e
torna-o o diretório corrente
membros do grupo adm Leitura e execução Examina o conteúdo e torna-o o
diretório corrente
todos os outros Leitura e execução Examina o conteúdo e torna-o o
diretório corrente
checklist.setup root (proprietário) Leitura e gravação Examina e modifica o conteúdo
membros do grupo system Leitura e gravação Examina e modifica o conteúdo
todos os outros Leitura Examina o conteúdo
58
Conceitos básicos do sistema operacional IBM-AIX
Comando chmod
O comando chmod é usado para alterar as permissões de arquivos ou diretórios. As alterações
somente podem ser feitas pelo proprietário do arquivo ou pelo superusuário. Porém, para o
sistema Unix a responsabilidade do acesso ao arquivo é do proprietário e não do administrador
do sistema.
Para que um arquivo possa estar protegido contra apagamento acidental, o diretório em que ele
se encontra não deve possuir a permissão de escrita.
O comando chmod suporta dois modos para atribuir permissões a arquivos e diretórios:
Modo simbólico
No modo simbólico, a sintaxe do comando chmod é:
$ chmod [-R] <[a|u|g|o][+|-|=]permissão], [...] arquivos>
onde:
a, u, g, o camada onde será aplicada a permissão (respectivamente todas as
camadas, proprietário, grupo e outros);
+,-,= respectivamente adiciona, remove ou atribui a permissão à camada
especificada;
permissão letra que identifica a permissão a ser atribuída à camada especificada:
r - leitura
w - gravação
x - execução
arquivos Um ou mais arquivos a terem suas permissões de acesso alteradas.
-R Esta opção permite que, em caso de diretórios, todos os arquivos e
subdiretórios tenham suas permissões atribuídas recursivamente.
Modo numérico
O comando chmod aceita uma representação numérica (octal) para designar as permissões de
arquivos. Sua sintaxe é:
$ chmod permissão arquivos
Onde:
permissão composto três dígitos, cada um representando uma camada de permissão. Os
valores válidos para as permissões são:
4 - leitura
2 - gravação
1 - execução
59
Conceitos básicos do sistema operacional IBM-AIX
A soma dos valores acima, de acordo com a permissão a ser dada, determina qual
a designação de permissão a ser dada para o proprietário (primeiro dígito), grupo
(segundo dígito) e outros (terceiro dígito).
arquivos arquivos que devem ter suas permissões alteradas.
Abaixo são mostrados alguns exemplos do uso do comando chmod, tanto em modo alfabético
quando em modo numérico. Crie o arquivo em seu diretório $HOME usando o comando
>financ.dbf (será discutido mais tarde o uso do caractere >). Use o comando ls -l para
verificar as permissões que você atribuiu aos arquivos.
- atribuição das seguintes permissões para o arquivo financ.dbf: usuário (ler, gravar e
executar), membros do grupo (ler e executar), outros usuários (apenas ler):
$ chmod u=rwx,g=rx,o=r financ.dbf
ou
$ chmod 754 financ.dbf
- adicionar a permissão de gravação aos membros do grupo ao arquivo do exemplo anterior:
$ chmod g+w financ.bdf
ou
$ chmod 774 financ.bdf
- remover o acesso de leitura para os outros usuários do arquivo financ.dbf:
$ chmod o-r financ.dbf
ou
$ chmod 770 financ.dbf
- remover todas as permissões de todas as camadas do arquivo financ.dbf:
$ chmod a-rwx financ.dbf
ou
$ chmod 000 financ.dbf
60
Conceitos básicos do sistema operacional IBM-AIX
Comando umask
O comando umask é usado para definir o modo de permissões padrão de criação de arquivos.
Sintaxe:
$ umask [-S] [permissões]
onde:
-S esta opção mostra o valor das permissões default para a criação de
arquivos;
permissões quais os valores para as camadas de permissões a serem usada como
default no momento da criação de um novo arquivo.
As permissões, numéricas ou simbólicas, são as mesmas do comando
chmod:
r ou 4 - leitura
w ou 2 - escrita
x ou 1 - execução
Quando as permissões são especificadas em modo simbólico, indicam que serão as permissões a
serem usadas na criação dos arquivos. Quando especificadas em modo numérico, na verdade
você estará especificando ao comando umask qual a permissão que deve ser negada na hora da
criação do arquivo. Por exemplo:
- deseja-se que todos os arquivos que forem criados à partir deste momento possuam as
seguintes permissões:
proprietário = rwx
grupo = rx
outros = r
- primeiro definimos quais serão as permissões padrão através do comando umask:
$ umask u=rwx,g=rx,o=r
- para confirmar se as permissões padrão estão corretas, podemos criar um arquivo e um
diretório quaisquer para verificarmos quais as permissões que serão atribuídas a eles:
$ >arquivo.novo
$ mkdir diretório.novo
- utilizando o comando ls -l, verificamos que o arquivo e o diretório deve ter ficado
com as seguintes permissões:
61
Conceitos básicos do sistema operacional IBM-AIX
$ ls -l
-rw-r--r-- ............ arquivo.novo
drwxr-xr-- ............ diretório.novo
Observe a saída do comando ls -l executado anteriormente. Há uma explicação para o
que acaba de acontecer na criação do arquivo e do diretório? Compare usando o comando
umask -S.
62
Conceitos básicos do sistema operacional IBM-AIX
Comando touch
O comando touch atualiza a data e hora de um arquivo existente. Caso o arquivo não exista,
será criado. O comando touch não afeta o conteúdo do arquivo.
Sintaxe:
$ touch [-a|m|t yyyymmddhhmm.ss] [-c] arq1 arq2 ... arqN
-a atualiza a hora de acesso ao arquivo para yyyymmddhhmm.ss
-m atualiza a hora de modificação do arquivo para
yyyymmddhhmm.ss
-t atualiza a hora do arquivo para a data e hora especificada em
yyyymmddhhmm.ss
arq1 arq2 ... arqN lista de arquivos a ter atualizado o registro de tempo
-c esta opção impede a criação do arquivo caso ele não exista
Abaixo é ilustrado o efeito do comando touch, tanto em um arquivo existente quanto na
criação de outro arquivo.
63
Conceitos básicos do sistema operacional IBM-AIX
Comando chown
O comando chown é usado para trocar o proprietário, e opcionalmente o grupo, ao qual um
arquivo pertence. Sintaxe:
$ chown <proprietário[:grupo]> arq1 arq2 ... arqN
Somente o proprietário de um arquivo, ou o superusuário, tem controle sobre os atributos e o
acesso aos arquivos. Uma vez que o proprietário de um arquivo foi alterado, somente o novo
proprietário, ou o superusuário, poderá modificar o direito de propriedade e as permissões de
acesso. Em alguns ambientes, por medida de segurança, o comando chown pode ser executado
apenas pelo superusuário.
A alteração só terá sucesso se o proprietário e grupo existirem no sistema, isto é, deve ser um
usuário existente no arquivo /etc/passwd e um grupo existente no arquivo /etc/group.
Exemplos:
- para tornar o usuário oracle proprietário do arquivo bancos.txt
$ chown oracle bancos.txt
- para tornar o usuário informix proprietário do arquivo fornecedores.dat, assim como o grupo
de acesso sendo dba
$ chown informix:dba fornecedores.txt
Em algumas implementações Unix, por medida de segurança o comando chown somente pode
ser executado pelo superusuário (root).
64
Conceitos básicos do sistema operacional IBM-AIX
Comando chgrp
O comando chgrp é usado para alterar o grupo ao qual terá acesso ao arquivo. É necessário que
o grupo seja válido. Isto significa que ele deve estar cadastrado no arquivo /etc/group.
Sintaxe:
$ chgrp <novo grupo> arq1 arq2 ... arqnN
Somente o proprietário de um arquivo ou o usuário root poderá alterar o grupo associado a um
arquivo. Veja o exemplo na figura abaixo:
Em algumas implementações Unix, por medida de segurança o comando chgrp somente pode
ser executado pelo superusuário (root).
65
Conceitos básicos do sistema operacional IBM-AIX
Comando su
O comando su é usado para trocar a identificação de usuário e grupo. É uma abreviação de
switch to user ou set user. Isso permite que você inicie uma subsessão com uma nova
identificação de usuário, conseguindo acesso a todos os arquivos que são de propriedade deste
novo usuário. Sua sintaxe:
$ su [-][usuário]
Por segurança, você será solicitado a entrar com a password do usuário para o qual está mudando
a identificação, para efetivamente ter acesso aos seus arquivos.
Sem nenhum argumento, o comando su alterna para o usuário root (que é o administrador do
sistema). O root é também conhecido como superusuário, pois tem acesso a qualquer coisa no
sistema. É por esta razão que muitas pessoas pensam que o comando su é abreviação de
superusuário. Claro que a senha de root deverá ser fornecida para efetuar a mudança de
identificação.
Caso seja o usuário root que esteja executando o comando su, a senha do usuário não será
pedida pelo sistema.
Para voltar à identificação de usuário anterior, não use novamente o comando su. Use o
comando exit para sair da sessão que você iniciou com o comando su.
Se for usado a opção hífen (-) além de ser efetuada a troca de identificação, todo o ambiente do
shell daquele usuário será executado, isto é, se existirem seus arquivos .profile e .kshrc
em seu diretório $HOME, estes serão executados como em uma sessão de login padrão.
Na figura abaixo é mostrado o uso do comando su:
66
Conceitos básicos do sistema operacional IBM-AIX
Comando newgrp
O comando newgrp é similar ao comando su. Ele permite a alteração do seu identificador de
grupo.
Os grupos aos quais o usuário poderá ter acesso são definidos pelo administrador do sistema. Se
você não tem permissão para tornar-se membro de um grupo específico a mensagem Sorry será
mostrada. Sintaxe:
$ newgrp [grupo]
O comando newgrp não abre uma nova subsessão. Para retornar à identificação de grupo
original, basta digitar o comando newgrp sem argumentos.
67
Conceitos básicos do sistema operacional IBM-AIX
Módulo 5 - Exercícios de fixação
1- Crie um arquivo chamado arquivo.001. Deixe as permissões do arquivo de maneira que
somente você possa modificá-lo. Os membros do grupo somente poderão ler e os demais
usuários não poderão ter acesso ao arquivo.
2- Modifique as permissões do arquivo do exercício anterior de modo que ele fique somente com
permissão de escrita para o proprietário e grupo. Para os demais usuários, as permissões de
acesso deverão ser removidas.
3 - Faça uma cópia de arquivo.001 como arquivo.001.bkp. Retire todas as permissões
da cópia criada. Tente remover o arquivo. Caso consiga removê-lo, faça com que o arquivo não
possa ser removido.
4 - Quem é o proprietário do arquivo /etc/profile? Qual o acesso que você tem a este
arquivo? Quem poderá alterar a propriedade ou grupo deste arquivo?
5 - Rode o comando mesg. Em seguida procure pelo arquivo que faz referência ao seu terminal
e veja as permissões dele. O que o comando mesg faz realmente?
68
Conceitos básicos do sistema operacional IBM-AIX
Módulo 6 - O editor de textos vi
O que é o vi
O vi é um editor de textos orientado a tela, que acompanha a maioria dos sistemas Unix.
É um editor dirigido por comandos que incluem:
- Comandos de administração geral;
- Comandos de movimentação do cursor;
- Comandos de inserção de texto;
- Comandos de apagamento de texto;
- Comandos de transferência de texto;
- Comandos de modificação de texto.
Você pode usar o vi para criar novos arquivos ou alterar os existentes. Sintaxe:
$ vi [arquivo]
O editor vi foi desenvolvido para ser independente do terminal, e os comandos foram mapeados
para a maioria dos teclados padrão. Foi originalmente usado em teletipos, que não tinham teclas
de funções especiais ou teclas de movimentação do cursos.
A vantagem é que o vi pode ser executado em qualquer tipo de terminal. Como ele acompanha
a maioria dos sistemas Unix, você não precisa reaprender como usar o editor toda vez que mudar
para uma implementação de Unix diferente.
Usar o vi de modo eficiente requer prática. Este capítulo fornecerá uma boa base para a edição
de arquivos, além da habilidade para aumentar sua performance.
69
Conceitos básicos do sistema operacional IBM-AIX
Os modos do vi
O vi é um editor dirigido por comandos. Quando você inicia uma sessão do vi você está no
modo comando. Caso você pressione qualquer tecla, o vi tentará executar o comando associado
àquela tecla. Os comandos estão disponíveis para introduzir texto, mover o cursor, deletar,
modificar e transferir o texto. Os comandos do vi geralmente são silenciosos, não mostrando
nada na tela quando são executados. A única coisa que você verá serão os efeitos do comando.
Existem comandos do vi para acessar o modo entrada, o que permitirá que você possa digitar
informações no seu arquivo. Para retornar ao modo de comando, basta pressionar a tecla ^^^^.
Alguns comandos do vi requisitam entradas múltiplas de teclado. Se você se perder no meio de
um comando, basta pressionar a tecla ^^^^ para finalizar o comando corrente, retornando para o
modo entrada.
70
Conceitos básicos do sistema operacional IBM-AIX
Descrevendo uma sessão vi
Quando é iniciada uma sessão do vi, a tela se parecerá com a da ilustração abaixo. Você verá
uma "janela" do seu arquivo.
Você deve prestar atenção às mensagens que aparecem na área de modo. O vi pode lembrá-lo
quando você está no modo entrada ou modo substituição. Essas dicas visuais o ajudarão muito
durante as sessões de edição.
Se você está no modo de entrada e não vê a mensagem INPUT MODE, faça o seguinte:
^^^^:set showmodeffff.
71
Conceitos básicos do sistema operacional IBM-AIX
Finalizando uma sessão vi
Quando você terminar de editar seu arquivo, deverá salvá-lo em disco. Há dois comandos
disponíveis para gravar seu arquivo: um comando vi ou um comando ex.
Lembre-se de que deve estar no modo comando para executar qualquer comando, por isso não
esqueça de pressionar a tecla ^^^^ para ter a certeza de que está no modo comando.
^^^^ZZ comando vi. Não aparece na tela;
^^^^:wqffff comando ex. Grava o arquivo e sai do vi.
Para sair do vi sem salvar (abandonar o arquivo), use o seguinte comando ex:
^^^^:q!ffff
72
Conceitos básicos do sistema operacional IBM-AIX
Comandos usados para edição de texto no vi
Comandos de controle do cursor
A primeira categoria de comandos que você aprenderá permitirá mover o cursor pelo texto.
Como os teletipos não possuem teclas de movimentação do cursor, você não deve usar as teclas
de movimentação do cursor, apesar de algumas configurações atuais do vi suportarem as teclas
de movimentação (zzzz, yyyy, wwww, xxxx, {{{{, }}}}, etc).
Seguem os comandos usados para a movimentação do cursor. No caso de alguns comandos de
movimentação serem seguidos do sinal de numeral (#), este deve ser substituído por um número.
HHHH mover um caractere para a esquerda. Equivalente à tecla zzzz
JJJJ desce uma linha. Equivalente à tecla yyyy
KKKK sobe uma linha. Equivalente à tecla wwww
LLLL ou kkkk move um caractere para a direita. Equivalente à tecla xxxx
#WWWW move palavra por palavra para a direita. jWjWjWjW ignora a pontuação
#BBBB move palavra por palavra para a esquerda. jBjBjBjB ignora a pontuação
#EEEE move para o final da próxima palavra. jEjEjEjE ignora a pontuação
$$$$ vai para o final da linha corrente
^ vai para o primeiro caractere não nulo da linha corrente
0000 vai para o início da linha corrente
jGjGjGjG vai para o final do arquivo
#jGjGjGjG vai para a linha #
::::# vai para a linha #
bGbGbGbG mostra, na base da tela, o número da linha corrente, além do nome do arquivo que
está sendo editado
ffff vai para a próxima linha. equivalente ao comando JJJJ
bBbBbBbB volta uma tela. Equivalente à tecla {{{{
bFbFbFbF avança uma tela. Equivalente à tecla }}}}
bUbUbUbU volta meia tela.
bDbDbDbD avança meia tela.
jLjLjLjL vai para a última linha da tela
jMjMjMjM vai para o meio da tela
jHjHjHjH vai para a primeira linha da tela
bLbLbLbL redesenha a tela. Útil no caso de receber mensagens enquanto está sendo editado
um arquivo
Se você gosta de ver os números das linhas enquanto está editando o arquivo, use o seguinte
comando:
73
Conceitos básicos do sistema operacional IBM-AIX
^^^^:set numberffff
Para desativar os números use:
^^^^:set nonumberffff
74
Conceitos básicos do sistema operacional IBM-AIX
Comandos em modo de entrada
Para inserir o texto no seu arquivo, você deve estar no modo entrada. Existem vários comandos
que colocarão o vi no modo entrada:
AAAA acrescenta o texto à direita do cursor
jAjAjAjA acrescenta o texto no final da linha corrente
IIII insere o texto na posição onde se encontra o cursor
jIjIjIjI insere o texto no início da linha corrente
OOOO insere uma nova linha abaixo da linha corrente
jOjOjOjO insere uma nova linha acima da linha corrente
Quando o vi estiver no modo entrada, aparecerá a mensagem INPUT MODE no lado inferior
direito da tela.
No modo entrada a tecla ffff abrirá uma nova linha. Se precisar separar uma linha, posicione o
cursor no local desejado e pressione a tecla ffff. Lembre-se que no modo comando a tecla ffff
move o cursor para a próxima linha, como se estivesse usando o comando JJJJ ou a tecla yyyy.
Para retornar ao modo comando, pressione a tecla ^^^^. O cursor sempre retornará um caractere
para a esquerda após seu pressionamento.
Enquanto você está no modo entrada, é possível usar a tecla Backspace para retornar
caracteres e digitar o novo texto. Quando você voltar com o cursor usando essa tecla, os
caracteres não desaparecerão até que se volte ao modo comando.
75
Conceitos básicos do sistema operacional IBM-AIX
Deletando texto
Dois comandos estão disponíveis para a deleção de texto:
# XXXX apaga o caractere que se encontra na posição do cursor
# DDDDobjeto apaga o objeto nomeado
O comando DDDD é um comando ativo que requisita um objeto para agir sobre ele. O objeto
especificado será removido. Os objetos são definidos com os comandos de movimentação do
cursor. Vejamos alguns comandos de deleção de texto:
#DWDWDWDW apaga a palavra onde se encontra o cursor
#DDDDDDDD apaga a linha corrente. Isto é uma convenção do vi .Quando uma ação é
repetida, ele afeta a linha toda
D jGD jGD jGD jG apaga até a última linha do arquivo
D$D$D$D$ apaga até o final da linha
D0D0D0D0 ou DDDD^ apaga até o início da linha
Como um novo usuário vi, você pode deletar ou modificar algo que não deveria. O comando
UUUU pode salvar sua vida:
UUUU cancela a última modificação
jUjUjUjU cancela todas as modificações da linha corrente.
Para o comando jUjUjUjU ou UUUU funcionar, o cursor não pode ser movimentado após a alteração.
Portanto, deve ser acionado imediatamente após a última modificação efetuada.
76
Conceitos básicos do sistema operacional IBM-AIX
Copiando e movendo texto
Sempre que você deleta um objeto, ele fica gravado em um buffer interno do vi. É um buffer
temporário, pois o conteúdo da próxima deleção substituirá seu conteúdo. Baseado nisto,
podemos mover o texto de um lugar para outro no arquivos que estamos editando. O texto é
colocado de acordo com a posição do cursor.
Portando, os comandos de deleção de objetos e caracteres são usados para termos a função
recortar texto. Para colar o texto recortado, usam-se os dois seguintes comandos:
PPPP insere o texto após a posição onde se encontra o cursor.
jPjPjPjP insere o texto antes da posição onde se encontra o cursor.
Para copiar um texto para a área de buffer do vi, usamos o comando YYYY, seguido do objeto no
qual ele deve agir. Veja que este comando trabalha de maneira semelhante ao comando DDDD. Veja
os comandos usados para cópia de texto:
# YWYWYWYW copia a palavra onde se encontra o cursor
# YYYYYYYY copia a linha corrente
Y jGY jGY jGY jG copia até a última linha do arquivo
Y$Y$Y$Y$ copia até o final da linha
YYYY^ copia até o início da linha
Por exemplo, para mover 3 linhas de texto, incluindo a linha corrente, para outro lugar no
arquivo e acima da posição do cursor, execute os seguintes passos:
- posicione o cursor na linha inicial do texto que deseja mover
- digite 3 DDDDDDDD. Isto vai deletar 3 linhas, incluindo a linha onde se encontra o cursor
- leve o cursor até a posição onde deseja inserir o texto
- digite jPjPjPjP. Isto fará com que o texto seja inserido acima do cursor.
Supondo que você tenha um arquivo com umas 30 linhas e queira copiar para o início do texto
desde da linha 15 até o final do arquivo, use o seguinte procedimento:
- vá para a linha 15 do arquivo digitando 15 jGjGjGjG ou :15
- dê o comando Y jGY jGY jGY jG. Isto armazenará, da linha 15 até o final do texto, no buffer
do vi
- vá para o início do arquivo digitando 1 jGjGjGjG ou :1
- digite jPjPjPjP. Isto fará com que o texto seja inserido acima do cursor.
77
Conceitos básicos do sistema operacional IBM-AIX
Alterando o texto
Os comandos que permitem alterar o texto, tornam as modificações mais convenientes, uma vez
que, já que aprendeu a usar os comandos de inserção e deleção de texto, isto pode se tornar um
pouco incômodo, pois você tem que entrar e sair manualmente do modo comando e do modo
entrada.
Existem três comandos comuns que são usados para modificar o texto:
RRRR substitui o caractere na posição onde se encontra o cursor pelo caractere digitado
após este comando
jRjRjRjR substitui todos os caracteres. Este comando faz com que o vi entre no modo
sobrescrever. Para finalizar este comando pressione a tecla ^^^^
CCCCobjeto substitui o objeto nomeado, colocando o sinal $ no final do objeto. Para
finalizar este comando pressione a tecla ^^^^. A seguir a lista de comandos com
seus objetos:
# CWCWCWCW altera a palavra corrente
# CCCCCCCC altera a linha corrente
CjGCjGCjGCjG altera até o final do arquivo
C$C$C$C$ altera até o final da linha
CCCC^ altera até o início da linha
Caso haja a necessidade da repetição de um comando utilize o comando ponto (.). Este comando
permite que seja repetida a última operação de alteração, incluindo deleção.
78
Conceitos básicos do sistema operacional IBM-AIX
Pesquisando no texto
Uma das coisas mais comuns efetuadas na edição de um texto, é a pesquisa de uma string de
texto específica. Abaixo são relacionados os comandos utilizados para a pesquisa de texto em um
arquivo editado pelo vi:
/texto pesquisa o texto desde da linha corrente até o fim do arquivo, com volta para o
começo
?texto pesquisa o texto desde da linha corrente até o início do arquivo, com volta para o
começo
NNNN encontra a próxima ocorrência, previamente pesquisada, na mesma direção
jNjNjNjN encontra a próxima ocorrência, previamente pesquisada, na direção oposta
Volta para ao começo significa que se o texto não for encontrado até o fim (ou início) do
arquivo, a pesquisa será continuada do outro lado do arquivo.
79
Conceitos básicos do sistema operacional IBM-AIX
Pesquisando modelos de texto
Como você deve ter percebido no tópico anterior, a busca só teria sucesso se fosse encontrado o
texto exatamente como digitado.
As construções, a seguir, permitem que sejam pesquisados modelos de string. Essas
especificações de modelos são chamadas de expressões regulares e são reconhecidas por vários
utilitários do sistema Unix. Abaixo é apresentado um resumo das expressões regulares:
[a-zA-Z0-9] define uma classe de caracteres a ser encontrada. O hífen (-) significa que
uma faixa dentro da classe.
^texto fixa texto para o início da linha
texto$ fixa texto para o final da linha
. encontra um caractere simples
caractere* encontra zero ou mais ocorrências de caractere
Veja estes exemplos:
/[Uu]nix procura pela próxima ocorrência da string Unix ou unix
/[oO][nN][eE] procura pela próxima ocorrência de one, independente de possuir letras
maiúsculas ou minúsculas
/b*t procura pela ocorrência de b seguido de qualquer caractere, terminando
com t
/^[arq].* procura a próxima ocorrência de uma linha que inicie com a, r ou q,
seguido de um caractere qualquer na segunda posição e seguido de
zero ou mais caracteres a partir da terceira posição
/final.$ procura a próxima ocorrência de uma linha que termine com final,
seguido de um caractere qualquer
80
Conceitos básicos do sistema operacional IBM-AIX
Pesquisa e substituição de texto
No vi também é possível efetuar a busca-e-troca de um texto por outro. Isto é feito através de
comandos ex. O ex é um editor de textos orientado a linha que aceita endereço de linhas para
operar dentro de um arquivo. Veja a sintaxe da busca e troca no vi:
:Início,Final s/String procurada/String substituta/[g]
Início número da linha inicial. Se usado ponto (.), é considerado como
sendo a partir da linha corrente
Final número da linha final. Se usado cifrão ($), é considerado como
sendo até o final do arquivo
s o comando substitute do ex
String procurada o texto que deve ser encontrado no arquivo
String substituta o texto que deverá ser usado no lugar de String procurada
g parâmetro opcional do comando s. Se não for usado, será efetuada
a substituição somente da primeira ocorrência de String procurada
em cada linha do arquivo. Caso seja usado, todas as ocorrências em
qualquer posição das linhas do arquivo serão substituídas.
Exemplos de busca-e-troca no vi:
- trocar todas as ocorrências de "microcomputador" por "computador pessoal", iniciando na
linha 1 e terminando na linha 27:
:1,27 s/microcomputador/computador pessoal/g
- trocar a primeira ocorrência da palavra "vírus" por "bug", iniciando na linha corrente e
terminando no final do arquivo:
:.,$ s/virus/bug
- trocar a palavra "perform" por "Executar". Todas as ocorrências serão trocadas desde o início
até o final do arquivo:
:1,$ s/[Pp][Ee][Rr][Ff][Oo][Rr][Mm]/Executar/g
81
Conceitos básicos do sistema operacional IBM-AIX
Alguns comandos ex úteis e outras opções do vi
Abaixo é mostrada uma lista de comandos ex muito usados no vi:
:w [arquivo] grava o arquivo correntemente editado em disco.
Opcionalmente pode ser dado um nome ao arquivo,
criando outro em disco, porém gravar o arquivo com o
outro nome mantém a edição do arquivo anterior.
:LinI, LinF w arquivo permite que uma parte do arquivo seja gravado em outro.
LinI e LinF significam respectivamente linha inicial e
linha final.
:e arquivo abre arquivo para ser editado, desconsiderando o arquivo
corrente, inclusive as alterações efetuadas nele.
:e! desconsidera todas as alterações efetuadas, carregando
novamente o arquivo para a edição.
:r arquivo Lê o arquivo, inserindo-o na posição logo abaixo de onde
se encontra o cursor.
:! comando executa um comando qualquer do shell.
As opções mais usadas (comando set) do vi são mostradas a seguir:
:set all mostra todas as opções da sessão de edição.
:set number ativa a numeração de linhas na tela
:set autoindent causa indentação automática quando no modo de entrada. A linha
seguinte seguirá o alinhamento da linha anterior.
:set wrapmargin=# causa a quebra de linha quando o cursor atingir a linha # na tela
:set showmatch acusa os fechamentos de parênteses, chaves e colchetes.
:set redraw força o vi a atualizar a tela após cada atualização ou salvamento do
arquivo. Para fazer manualmente a atualização de tela, use
bLbLbLbL.
:set showmode ativa o modo de mensagens.
:map exibe o mapeamento de teclado usado no modo comando.
:map! exibe o mapeamento de teclado usado no modo entrada.
Caso deseje que qualquer uma dessas opções sejam ativadas automaticamente quando o entrar
com o vi, coloque os comando (sem preceder por dois pontos) em um arquivo chamado .exrc
em seu diretório $HOME.
82
Conceitos básicos do sistema operacional IBM-AIX
Módulo 7 - Introdução ao Korn Shell
O Korn shell é um interpretador de comandos com linguagem de programação integrada,
residente em /usr/bin/ksh. Ele pode executar comandos a partir de um terminal ou um
arquivo.
Ele contém um mecanismo de histórico de comandos, suporta controle de tarefas além de outras
características úteis.
O Korn shell foi desenvolvido por David Korn do AT&Y Bell Labs. A seguir serão mostradas
algumas características do Korn Shell, importantes para o entendimento do ambiente.
83
Conceitos básicos do sistema operacional IBM-AIX
O uso de alias
Alias é um novo nome para o comando. Você pode abreviar longas linhas de comando, criar
novos comandos ou fazer com que os comandos padrão sejam executados de maneira diferente,
substituindo o comando original por um comando assinalado por um alias.
O alias pode ser uma letra ou uma palavra pequena. Por exemplo, o comando ps -ef é usado
com muita freqüência. Seria mais fácil se usasse psf.
O comando usado para a criação de novos nomes para os comandos chama-se alias. Sua
sintaxe é:
$ alias nome=string
nome novo nome para o comando original.
string cadeia de caracteres que faz referência ao comando original. Se string contém
espaços, deve ser colocada inteira entre aspas.
Ao ser entrado um alias, ele se parece com um comando qualquer do Unix. Sempre que o Unix
for interpretar um comando para a execução, o alias sempre terá prioridade sobre o comando
original. Na verdade o Unix analisa o alias definido, monta a linha de comando e depois a
executa.
Sem argumentos, o comando alias lista todos os aliases definidos no ambiente. Para listar um
alias determinado digite:
$ alias nome
Se a atribuição de alias for feita interativamente, ao término da sessão de terminal (logout) eles
serão destruídos.
Para desativar um alias use o comando unalias, como abaixo:
$ unalias nome
Caso queira que o comando original seja executado ao invés de seu alias, coloque uma barra
invertida () antes do nome do comando.
84
Conceitos básicos do sistema operacional IBM-AIX
Histórico de comandos - exibindo e reentrando comandos
O Korn shell mantém, no seu diretório $HOME, um arquivo que armazena os comandos que você
digita e permite que você reentre esses comandos. Esse arquivo é mantido nas sessões de login.
O comando history exibirá os últimos 16 comandos digitados. Cada linha é precedida por um
número que pode ser usado como referencia para a reentrada do comando.
Para reexibir os últimos comandos digitados, digite:
history
A variável HISTSIZE define a quantidade de comandos que poderá ser escrita no arquivo de
histórico de comandos. O conteúdo default dessa variável é 128.
A variável HISTFILE especifica o nome do arquivo em que os comandos serão armazenados. O
conteúdo default dessa variável é .sh_history.
Uma vez exibido o seu histórico de comandos, você pode chamar novamente, editar ou
reexecutar qualquer um deles.
Para que um comando seja reexecutado, usa-se o comando r. Vejamos exemplos de uso dos
comandos history e r:
supondo que abaixo tenham sido listados os últimos comandos digitados:
$ history
1 date
2 cat /etc/passwd
3 echo $PATH
4 ls -l /etc/group
Para reentrar primeiro comando da lista mostrada acima pelo comando history digite:
r 1 ou r d este último faz com que o último comando iniciando com a letra d seja
reexecutado.
85
Conceitos básicos do sistema operacional IBM-AIX
Chamando e editando comandos
O histórico de comandos permite que os comandos entrados anteriormente sejam receitados sem
que seja necessário a digitação dos mesmos. Porém além da reentrada de comandos, pode haver
a necessidade de que esses comandos sejam editados para, posteriormente, serem executados.
Para que isso seja possível, o Unix permite que o editor de textos vi seja usado como editor de
linha de comando, usando os mesmos comandos de movimentação do cursor aprendidos
anteriormente.
Para que as linhas de comando possam ser rechamadas e editadas, digite:
$ set -o vi
Para mostrar o último comando digitado tecle ^^^^. Isso coloca o prompt do Unix no modo
comando do vi. em seguida use as teclas KKKK e JJJJ para a movimentação entre as linhas de
comando. Para editá-las use os comandos do vi que já conhece. Na verdade, você está dentro do
vi, editando uma linha de comandos como se estivesse editando um arquivo texto. Nunca use
as teclas de seta para movimentação do cursor. Ao término da edição da linha de comando,
pressione ffff para que seja executada.
Se você tiver problemas ao editar a linha de comando e quiser recomeçar, tecle bCbCbCbC, o que
faz você voltar ao prompt do shell, e tente novamente.
Você também pode usar o comando history para listas os últimos 16 comandos digitados. Ao
ver o número da linha em que se encontra o comando, poderá ir para aquela linha digitando #
jGjGjGjG (onde # deve ser substituído pelo número do comando a ser editado). Lembre-se que #
jGjGjGjG posiciona o cursor em uma linha específica.
Curso basico de aix
Curso basico de aix
Curso basico de aix
Curso basico de aix
Curso basico de aix
Curso basico de aix
Curso basico de aix
Curso basico de aix
Curso basico de aix
Curso basico de aix
Curso basico de aix
Curso basico de aix
Curso basico de aix
Curso basico de aix
Curso basico de aix
Curso basico de aix
Curso basico de aix
Curso basico de aix
Curso basico de aix
Curso basico de aix
Curso basico de aix
Curso basico de aix
Curso basico de aix
Curso basico de aix
Curso basico de aix
Curso basico de aix
Curso basico de aix
Curso basico de aix
Curso basico de aix
Curso basico de aix
Curso basico de aix
Curso basico de aix
Curso basico de aix
Curso basico de aix
Curso basico de aix
Curso basico de aix
Curso basico de aix
Curso basico de aix
Curso basico de aix
Curso basico de aix
Curso basico de aix
Curso basico de aix
Curso basico de aix
Curso basico de aix
Curso basico de aix
Curso basico de aix
Curso basico de aix
Curso basico de aix
Curso basico de aix
Curso basico de aix
Curso basico de aix

Mais conteúdo relacionado

Mais procurados

SISTEMAS OPERACIONAIS MÓVEIS (S.O)
SISTEMAS OPERACIONAIS MÓVEIS (S.O)SISTEMAS OPERACIONAIS MÓVEIS (S.O)
SISTEMAS OPERACIONAIS MÓVEIS (S.O)Ivan Marks
 
Gerenciamento e Monitoramento de Rede.pdf
Gerenciamento e Monitoramento de Rede.pdfGerenciamento e Monitoramento de Rede.pdf
Gerenciamento e Monitoramento de Rede.pdfOs Fantasmas !
 
Cisco sddc solution 소개
Cisco sddc solution 소개Cisco sddc solution 소개
Cisco sddc solution 소개Woo Hyung Choi
 
Linux-HA with Pacemaker
Linux-HA with PacemakerLinux-HA with Pacemaker
Linux-HA with PacemakerKris Buytaert
 
z/OS Communications Server Technical Update
z/OS Communications Server Technical Updatez/OS Communications Server Technical Update
z/OS Communications Server Technical UpdatezOSCommserver
 
Apresentação Sistemas Operativos TUDO.pdf
Apresentação Sistemas Operativos TUDO.pdfApresentação Sistemas Operativos TUDO.pdf
Apresentação Sistemas Operativos TUDO.pdfHelderRangel
 
おさらいグループポリシー 120320
おさらいグループポリシー 120320おさらいグループポリシー 120320
おさらいグループポリシー 120320wintechq
 
IBM Z/OS support for z15 - oct 2021
IBM Z/OS support for z15 -  oct 2021IBM Z/OS support for z15 -  oct 2021
IBM Z/OS support for z15 - oct 2021Marna Walle
 
Estruturas de Sistemas Operacionais
Estruturas de Sistemas OperacionaisEstruturas de Sistemas Operacionais
Estruturas de Sistemas OperacionaisCid de Andrade
 
Serviços de Redes.pdf
Serviços de Redes.pdfServiços de Redes.pdf
Serviços de Redes.pdfOs Fantasmas !
 
차세대 데이터센터 네트워크 전략
차세대 데이터센터 네트워크 전략차세대 데이터센터 네트워크 전략
차세대 데이터센터 네트워크 전략Woo Hyung Choi
 
HPE SimpliVity VM保護備份
HPE SimpliVity VM保護備份HPE SimpliVity VM保護備份
HPE SimpliVity VM保護備份裝機安 Angelo
 
Opendaylight SDN Controller
Opendaylight SDN ControllerOpendaylight SDN Controller
Opendaylight SDN ControllerSumit Arora
 
Instalação e Configuração de Redes.pdf
Instalação e Configuração de Redes.pdfInstalação e Configuração de Redes.pdf
Instalação e Configuração de Redes.pdfOs Fantasmas !
 
DB2 Accounting Reporting
DB2  Accounting ReportingDB2  Accounting Reporting
DB2 Accounting ReportingJohn Campbell
 
Cloud stack vs openstack vs eucalyptus
Cloud stack vs openstack vs eucalyptusCloud stack vs openstack vs eucalyptus
Cloud stack vs openstack vs eucalyptusAshok Kumar
 
Exercicios hardware comentado
Exercicios hardware comentadoExercicios hardware comentado
Exercicios hardware comentadocapitulocontabil
 
Fundamentos de Sistemas Operacionais - Aula 3 - Arquiteturas de Sistemas Oper...
Fundamentos de Sistemas Operacionais - Aula 3 - Arquiteturas de Sistemas Oper...Fundamentos de Sistemas Operacionais - Aula 3 - Arquiteturas de Sistemas Oper...
Fundamentos de Sistemas Operacionais - Aula 3 - Arquiteturas de Sistemas Oper...Helder Lopes
 

Mais procurados (20)

SISTEMAS OPERACIONAIS MÓVEIS (S.O)
SISTEMAS OPERACIONAIS MÓVEIS (S.O)SISTEMAS OPERACIONAIS MÓVEIS (S.O)
SISTEMAS OPERACIONAIS MÓVEIS (S.O)
 
Gerenciamento e Monitoramento de Rede.pdf
Gerenciamento e Monitoramento de Rede.pdfGerenciamento e Monitoramento de Rede.pdf
Gerenciamento e Monitoramento de Rede.pdf
 
Cisco sddc solution 소개
Cisco sddc solution 소개Cisco sddc solution 소개
Cisco sddc solution 소개
 
Linux-HA with Pacemaker
Linux-HA with PacemakerLinux-HA with Pacemaker
Linux-HA with Pacemaker
 
z/OS Communications Server Technical Update
z/OS Communications Server Technical Updatez/OS Communications Server Technical Update
z/OS Communications Server Technical Update
 
Apresentação Sistemas Operativos TUDO.pdf
Apresentação Sistemas Operativos TUDO.pdfApresentação Sistemas Operativos TUDO.pdf
Apresentação Sistemas Operativos TUDO.pdf
 
おさらいグループポリシー 120320
おさらいグループポリシー 120320おさらいグループポリシー 120320
おさらいグループポリシー 120320
 
IBM Z/OS support for z15 - oct 2021
IBM Z/OS support for z15 -  oct 2021IBM Z/OS support for z15 -  oct 2021
IBM Z/OS support for z15 - oct 2021
 
Estruturas de Sistemas Operacionais
Estruturas de Sistemas OperacionaisEstruturas de Sistemas Operacionais
Estruturas de Sistemas Operacionais
 
Serviços de Redes.pdf
Serviços de Redes.pdfServiços de Redes.pdf
Serviços de Redes.pdf
 
Aula 04-gerenciamento-basico-de-memoria
Aula 04-gerenciamento-basico-de-memoriaAula 04-gerenciamento-basico-de-memoria
Aula 04-gerenciamento-basico-de-memoria
 
So-mod-4
So-mod-4So-mod-4
So-mod-4
 
차세대 데이터센터 네트워크 전략
차세대 데이터센터 네트워크 전략차세대 데이터센터 네트워크 전략
차세대 데이터센터 네트워크 전략
 
HPE SimpliVity VM保護備份
HPE SimpliVity VM保護備份HPE SimpliVity VM保護備份
HPE SimpliVity VM保護備份
 
Opendaylight SDN Controller
Opendaylight SDN ControllerOpendaylight SDN Controller
Opendaylight SDN Controller
 
Instalação e Configuração de Redes.pdf
Instalação e Configuração de Redes.pdfInstalação e Configuração de Redes.pdf
Instalação e Configuração de Redes.pdf
 
DB2 Accounting Reporting
DB2  Accounting ReportingDB2  Accounting Reporting
DB2 Accounting Reporting
 
Cloud stack vs openstack vs eucalyptus
Cloud stack vs openstack vs eucalyptusCloud stack vs openstack vs eucalyptus
Cloud stack vs openstack vs eucalyptus
 
Exercicios hardware comentado
Exercicios hardware comentadoExercicios hardware comentado
Exercicios hardware comentado
 
Fundamentos de Sistemas Operacionais - Aula 3 - Arquiteturas de Sistemas Oper...
Fundamentos de Sistemas Operacionais - Aula 3 - Arquiteturas de Sistemas Oper...Fundamentos de Sistemas Operacionais - Aula 3 - Arquiteturas de Sistemas Oper...
Fundamentos de Sistemas Operacionais - Aula 3 - Arquiteturas de Sistemas Oper...
 

Semelhante a Curso basico de aix

Manual Deployment of Integrated Asset Management (Various Industrial Units, 1...
Manual Deployment of Integrated Asset Management (Various Industrial Units, 1...Manual Deployment of Integrated Asset Management (Various Industrial Units, 1...
Manual Deployment of Integrated Asset Management (Various Industrial Units, 1...'Integrated Management of Assets - G∫A
 
Almeida maquinas automacao
Almeida maquinas automacaoAlmeida maquinas automacao
Almeida maquinas automacaoPierreMacedo
 
Denny daniel collina apostila de sitemas microprocessados
Denny daniel collina   apostila de sitemas microprocessadosDenny daniel collina   apostila de sitemas microprocessados
Denny daniel collina apostila de sitemas microprocessadosLorena Barreto
 
Treinamento de argumentação
Treinamento de argumentaçãoTreinamento de argumentação
Treinamento de argumentaçãoAugusto Marques
 
Ap curso+de+linguagem+c
Ap   curso+de+linguagem+cAp   curso+de+linguagem+c
Ap curso+de+linguagem+cariferreira3
 
Apostilade vb.net
Apostilade vb.netApostilade vb.net
Apostilade vb.netRafael Ora
 
Apostila de vb.net
Apostila de vb.netApostila de vb.net
Apostila de vb.netlricx
 
Teoria da contabilidade i exercicios pfc ii
Teoria da contabilidade i exercicios pfc iiTeoria da contabilidade i exercicios pfc ii
Teoria da contabilidade i exercicios pfc iigabaritocontabil
 
Introducao ao-direito-alexandre-araujo-costa
Introducao ao-direito-alexandre-araujo-costaIntroducao ao-direito-alexandre-araujo-costa
Introducao ao-direito-alexandre-araujo-costaflavio silva
 
Leitura de artigo científico
Leitura de artigo científicoLeitura de artigo científico
Leitura de artigo científicoLuciana Camargo
 
Apostila Criação de Sites I
Apostila Criação de Sites IApostila Criação de Sites I
Apostila Criação de Sites Iinfo_cimol
 
Ec13 pacc ficha 32_maio14
Ec13 pacc ficha 32_maio14Ec13 pacc ficha 32_maio14
Ec13 pacc ficha 32_maio14Leonor Alves
 

Semelhante a Curso basico de aix (20)

Redes2
Redes2Redes2
Redes2
 
Manual Deployment of Integrated Asset Management (Various Industrial Units, 1...
Manual Deployment of Integrated Asset Management (Various Industrial Units, 1...Manual Deployment of Integrated Asset Management (Various Industrial Units, 1...
Manual Deployment of Integrated Asset Management (Various Industrial Units, 1...
 
Almeida maquinas automacao
Almeida maquinas automacaoAlmeida maquinas automacao
Almeida maquinas automacao
 
Apostila motores
Apostila motoresApostila motores
Apostila motores
 
Denny daniel collina apostila de sitemas microprocessados
Denny daniel collina   apostila de sitemas microprocessadosDenny daniel collina   apostila de sitemas microprocessados
Denny daniel collina apostila de sitemas microprocessados
 
Curso de programação de PLC Omron
Curso de programação de PLC OmronCurso de programação de PLC Omron
Curso de programação de PLC Omron
 
Cópia de 03_checklist-iii-pcmat.doc
Cópia de 03_checklist-iii-pcmat.docCópia de 03_checklist-iii-pcmat.doc
Cópia de 03_checklist-iii-pcmat.doc
 
Manual_G4_VZ & VH - 1.1.4.pdf
Manual_G4_VZ & VH - 1.1.4.pdfManual_G4_VZ & VH - 1.1.4.pdf
Manual_G4_VZ & VH - 1.1.4.pdf
 
Treinamento de argumentação
Treinamento de argumentaçãoTreinamento de argumentação
Treinamento de argumentação
 
Lingc
LingcLingc
Lingc
 
Ap curso+de+linguagem+c
Ap   curso+de+linguagem+cAp   curso+de+linguagem+c
Ap curso+de+linguagem+c
 
Apostilade vb.net
Apostilade vb.netApostilade vb.net
Apostilade vb.net
 
Apostila de vb.net
Apostila de vb.netApostila de vb.net
Apostila de vb.net
 
Atividade para nota recuperação paralela
Atividade para nota recuperação paralelaAtividade para nota recuperação paralela
Atividade para nota recuperação paralela
 
Teoria da contabilidade i exercicios pfc ii
Teoria da contabilidade i exercicios pfc iiTeoria da contabilidade i exercicios pfc ii
Teoria da contabilidade i exercicios pfc ii
 
Introducao ao-direito-alexandre-araujo-costa
Introducao ao-direito-alexandre-araujo-costaIntroducao ao-direito-alexandre-araujo-costa
Introducao ao-direito-alexandre-araujo-costa
 
Leitura de artigo científico
Leitura de artigo científicoLeitura de artigo científico
Leitura de artigo científico
 
Laura ufms
Laura  ufmsLaura  ufms
Laura ufms
 
Apostila Criação de Sites I
Apostila Criação de Sites IApostila Criação de Sites I
Apostila Criação de Sites I
 
Ec13 pacc ficha 32_maio14
Ec13 pacc ficha 32_maio14Ec13 pacc ficha 32_maio14
Ec13 pacc ficha 32_maio14
 

Curso basico de aix

  • 1. 1
  • 2. 2 Conceitos básicos do sistema operacional IBM-AIX
  • 3. 3 Conceitos básicos do sistema operacional IBM-AIX Sistema operacional AIX - Conceitos Básicos Módulo 1 - Introdução ao sistema Unix ___________________________________________ 7 Sistema Operacional _______________________________________________________________ 7 História do Sistema Operacional Unix_________________________________________________ 7 Recursos do Unix __________________________________________________________________ 9 O sistema operacional _____________________________________________________________________ 9 O ambiente operacional____________________________________________________________________ 9 Ferramentas e aplicativos ________________________________________________________________ 9 O shell ______________________________________________________________________________ 10 - Bourne shell (/usr/bin/sh ou /usr/oldbin/sh): _____________________________________ 10 - C shell (/usr/bin/csh):____________________________________________________________ 10 - Korn shell (/usr/bin/ksh): _________________________________________________________ 10 - POSIX shell (/usr/bin/posix/sh):__________________________________________________ 10 - Korn Shell 1993 (/usr/bin/ksh93): __________________________________________________ 10 Outros recursos de Unix __________________________________________________________________ 11 Sistema hierárquico de arquivos __________________________________________________________ 11 Multitarefa___________________________________________________________________________ 11 Multiusuário _________________________________________________________________________ 11 Módulo 2 - Login e execução de comandos _______________________________________ 12 Sessão de terminal ________________________________________________________________ 12 Login e Logout ___________________________________________________________________ 12 Interpretação de comandos pelo shell ________________________________________________ 14 Formato da linha de comando ______________________________________________________ 14 O prompt secundário______________________________________________________________ 15 O manual de referência on-line _____________________________________________________ 17 Alguns comandos iniciais __________________________________________________________ 19 Comando id ___________________________________________________________________________ 20 Comando who__________________________________________________________________________ 21 Comando date ________________________________________________________________________ 22 Comando passwd ______________________________________________________________________ 23 Comando echo ________________________________________________________________________ 24 Comando banner ______________________________________________________________________ 25 Comando write _______________________________________________________________________ 26 Comando mesg ________________________________________________________________________ 28 Módulo 2 - Exercícios de fixação ____________________________________________________ 29 Módulo 3 - Navegando pelo sistema de arquivos ___________________________________ 30 A hierarquia do sistema de arquivos _________________________________________________ 30 Percursos relativos e absolutos _____________________________________________________________ 31 Percurso absoluto _____________________________________________________________________ 32 Percurso relativo ______________________________________________________________________ 32 Exemplos de ponto (.) _________________________________________________________________ 33 Exemplos de ponto-ponto (..)___________________________________________________________ 33 Principais diretórios do sistema de Arquivos __________________________________________ 33 Diretório / (root) _______________________________________________________________________ 33 Diretório /bin _________________________________________________________________________ 33 Diretório /lib _________________________________________________________________________ 34 Diretório /usr _________________________________________________________________________ 34 Diretório /usr/bin ____________________________________________________________________ 34 Diretório /usr/lib ____________________________________________________________________ 34
  • 4. 4 Conceitos básicos do sistema operacional IBM-AIX Diretório /var/spool/mail ____________________________________________________________ 34 Diretório /usr/man e /usr/share/man ________________________________________________ 34 Diretório /usr/local/bin _____________________________________________________________ 34 Diretório /etc _________________________________________________________________________ 34 Diretório /home________________________________________________________________________ 34 Diretório /dev _________________________________________________________________________ 34 Diretório /tmp e /var/tmp______________________________________________________________ 34 Comando pwd__________________________________________________________________________ 36 Comando ls ___________________________________________________________________________ 37 Comando cd ___________________________________________________________________________ 39 Comando find ________________________________________________________________________ 40 Comandos mkdir e rmdir_______________________________________________________________ 41 Módulo 3 - Exercícios de fixação ____________________________________________________ 42 Módulo 4 - Gerenciamento de Arquivos __________________________________________ 43 O que é um arquivo para o Unix ____________________________________________________ 43 Comandos usados no gerenciamento de arquivos_______________________________________ 44 Características de um arquivo ______________________________________________________ 45 Tipos de arquivo ________________________________________________________________________ 45 Comando cat__________________________________________________________________________ 46 Comando more ________________________________________________________________________ 47 Comandos tail, head e line ___________________________________________________________ 48 Comando cp ___________________________________________________________________________ 49 Comando mv ___________________________________________________________________________ 50 Comando rm ___________________________________________________________________________ 51 Comando ln ___________________________________________________________________________ 52 Módulo 4 - Exercícios de fixação ____________________________________________________ 53 Módulo 5 - Permissão e acesso aos arquivos ______________________________________ 54 Quem tem acesso a um arquivo _____________________________________________________ 55 Tipos de acesso___________________________________________________________________ 56 Permissões ______________________________________________________________________ 57 Comando chmod _______________________________________________________________________ 58 Modo simbólico ______________________________________________________________________ 58 Modo numérico_______________________________________________________________________ 58 Comando umask _______________________________________________________________________ 60 Comando touch _______________________________________________________________________ 62 Comando chown _______________________________________________________________________ 63 Comando chgrp _______________________________________________________________________ 64 Comando su ___________________________________________________________________________ 65 Comando newgrp ______________________________________________________________________ 66 Módulo 5 - Exercícios de fixação ____________________________________________________ 67 Módulo 6 - O editor de textos vi________________________________________________ 68 O que é o vi _____________________________________________________________________ 68 Os modos do vi __________________________________________________________________ 69 Descrevendo uma sessão vi ________________________________________________________ 70 Finalizando uma sessão vi _________________________________________________________ 71 Comandos usados para edição de texto no vi _________________________________________ 72 Comandos de controle do cursor____________________________________________________________ 72 Comandos em modo de entrada ____________________________________________________________ 74
  • 5. 5 Conceitos básicos do sistema operacional IBM-AIX Deletando texto _________________________________________________________________________ 75 Copiando e movendo texto ________________________________________________________________ 76 Alterando o texto________________________________________________________________________ 77 Pesquisando no texto_____________________________________________________________________ 78 Pesquisando modelos de texto _____________________________________________________________ 79 Pesquisa e substituição de texto ____________________________________________________________ 80 Alguns comandos ex úteis e outras opções do vi ______________________________________________ 81 Módulo 7 - Introdução ao Korn Shell ____________________________________________ 82 O uso de alias ____________________________________________________________________ 83 Histórico de comandos - exibindo e reentrando comandos _______________________________ 84 Chamando e editando comandos ____________________________________________________ 85 Ambiente do usuário ______________________________________________________________ 86 Configurando as variáveis do shell___________________________________________________ 87 A variável PATH ________________________________________________________________________ 87 A variável TERM ________________________________________________________________________ 87 O que acontece durante o login _____________________________________________________ 88 Arquivos de inicialização do shell____________________________________________________ 89 Comandos internos do shell e comandos Unix _________________________________________ 90 Módulo 7 - Exercícios de fixação ____________________________________________________ 91 Módulo 8 - O shell e suas características avançadas ________________________________ 92 Capacidades de substituição do shell _________________________________________________ 93 Armazenamento de variáveis ______________________________________________________________ 94 Inicialização e remoção de variáveis_________________________________________________________ 95 Substituição de variáveis e exibição de seu conteúdo____________________________________________ 96 Substituição de comandos_________________________________________________________________ 97 Substituição do til (~) ____________________________________________________________________ 98 Passando variáveis para uma aplicação_______________________________________________ 99 Monitorando e gerenciando processos_______________________________________________ 100 Os processos filhos e o ambiente do shell____________________________________________________ 101 Módulo 8 - Exercícios de fixação ___________________________________________________ 102 Módulo 9 - Geração de nomes de arquivos _______________________________________ 103 Caracteres geradores de nome de arquivos___________________________________________ 104 Os arquivo iniciados por ponto (.) _________________________________________________________ 104 Gerando nomes de arquivos com o caractere interrogação - ? ____________________________________ 105 Gerando nomes de arquivo com os caracteres colchetes - [ ] ___________________________________ 106 Gerando nomes de arquivos com o caractere asterisco - * _______________________________________ 107 Módulo 9 - Exercícios de fixação ___________________________________________________ 108 Módulo 10 - Uso do quoting___________________________________________________ 109 Caracteres usados no mecanismo de quoting _________________________________________ 109 O quoting barra invertida - ______________________________________________________________ 110 O quoting aspas duplas - " "____________________________________________________________ 111 O quoting aspas simples - ' '___________________________________________________________ 112 Módulo 10 - Exercícios de fixação __________________________________________________ 113 Módulo 11 - Introdução ao redirecionamento de entrada e saída _____________________ 114 Entrada padrão, saída padrão e saída de erro padrão__________________________________ 115 Redirecionamento da entrada padrão - < ____________________________________________________ 116
  • 6. 6 Conceitos básicos do sistema operacional IBM-AIX Redirecionamento da saída padrão - > e >> __________________________________________________ 117 Redirecionamento da saída de erro padrão - 2> e 2>>__________________________________________ 118 Filtros e pipelines________________________________________________________________ 119 O comando more ______________________________________________________________________ 119 O comando sort ______________________________________________________________________ 121 O comando grep ______________________________________________________________________ 122 O comando cut _______________________________________________________________________ 123 O comando tr ________________________________________________________________________ 124 O comando tee _______________________________________________________________________ 125 Módulo 11 - Exercícios de fixação __________________________________________________ 126 Módulo 12 – Efetuando backup de arquivos______________________________________ 127 O comando tar _________________________________________________________________ 128 O comando cpio________________________________________________________________ 129 O comando mt __________________________________________________________________ 131 Exemplos de uso do comando mt para efetuar backup e restore de arquivos: ________________________ 131 Apêndice A - Referência rápida de comandos do Unix _____________________________ 133 Apêndice B - Endereços da Internet referentes a Unix _____________________________ 136 Manual do IBM-AIX 5.3_________________________________________________________________ 136 Manual da linguagem AWK ______________________________________________________________ 136 Unix - Perguntas e respostas sobre programação shell-Script_____________________________________ 136 Unix - Perguntas e respostas sobre análise de performance ______________________________________ 136 Unix - Perguntas e respostas sobre comunicação ______________________________________________ 136 Dicas diversas sobre Unix________________________________________________________________ 136
  • 7. 7 Conceitos básicos do sistema operacional IBM-AIX Módulo 1 - Introdução ao sistema Unix Sistema Operacional Sistema Operacional é um programa especial (software) que controla o computador. Ele faz a ligação entre os consumidores (programas, usuários) e os recursos (discos, CPU, memória, rede, impressoras, etc.). Controla como e quando um programa terá sua vez na CPU. Em um sistema time-sharing, há geralmente vários programas tentando acesso à CPU ao mesmo tempo. História do Sistema Operacional Unix O sistema operacional Unix nasceu nos laboratórios Bell em 1969, tendo como seus criadores Ken Thompson, Rudd Canaday, Doug McIlroy, Joe Ossana e Dennis Ritchie. Nos meados dos anos 70, foi licenciado para universidades e ganhou imensa popularidade na comunidade acadêmica porque: - Era pequeno: Os sistemas usavam discos de 512 KB: 16 KB para o sistema operacional, 8 KB para os programas de usuário e 64 KB por arquivos. - Era flexível: Como o fonte fora desenvolvido em linguagem de alto nível, isto proporcionava a portabilidade do sistema operacional.
  • 8. 8 Conceitos básicos do sistema operacional IBM-AIX - Era barato: As universidades conseguiam obter uma licença basicamente pelo preço de uma fita cassete, sem contar que os primeiros sistemas Unix proporcionavam recursos poderosos disponíveis somente em sistemas operacionais que rodavam em computadores mais caros. Essas vantagens superavam as desvantagens que o sistema possuía na época, que eram: - Não tinha suporte: A AT&T já tinha investido muito no sistema MULTICS e não estava interessada em explorar o sistema operacional Unix. - Ele tinha bugs: Como não tinha suporte, não havia a garantia de que os bugs seriam identificados e consertados. - Não tinha quase nenhuma documentação: Porém era possível usar o código fonte para se basear.
  • 9. 9 Conceitos básicos do sistema operacional IBM-AIX Recursos do Unix O sistema Unix proporciona um sistema operacional time-sharing, sendo projetado para administrar múltiplos processos ao mesmo tempo e suportar múltiplos usuários com a finalidade de facilitar o compartilhamento de dados entre os membros de uma equipe de projeto. Os comandos, que nada sabem um do outro, podem ser combinados através de pipelines para desempenhar manipulações mais complexas. O sistema operacional O kernel é o sistema operacional, responsável pelo gerenciamento dos recursos disponíveis e pelo acesso ao hardware. O kernel contém módulos para cada componente do hardware com o qual ele faz a interface. São esses módulos que proporcionam a funcionalidade do acesso do programa á CPU, memória, discos, rede, etc. À medida que novos dispositivos de hardware são instalados no sistema, novos módulos podem ser incorporados ao kernel. A maior parte do kernel é programada em linguagem C, sendo que a parte dependente de hardware é desenvolvida em Assembler. O ambiente operacional Ferramentas e aplicativos A filosofia de comandos do Unix espera que cada um dos comandos faça uma coisa bem, e o conjunto de comandos forme uma caixa de ferramentas. Quando você tem uma tarefa a executar, você puxa a(s) ferramenta(s) adequada(s). Tarefas complexas podem ser executadas combinando-se adequadamente as ferramentas. Além de comandos básicos necessários para interagir com o sistema, o Unix fornece utilitários para:
  • 10. 10 Conceitos básicos do sistema operacional IBM-AIX - correio eletrônico (mail, mailx); - edição de arquivos (ed, ex, vi); - processamento de textos (sort, sed, wc, awk, grep); - formatação de textos (nroff, troff); - desenvolvimento de programas (cc, make, lint, lex); - comunicação intersistemas (uucp); - contabilidade de processos e de usuários (ps, du, acctcom). O shell O shell é um interpretador interativo de comandos. Isto significa que os comandos são digitados no prompt de comandos do shell e trabalhados à medida que são emitidos. Observe que o shell é separado do kernel. Se você não gostar de interface provida pelo shell fornecido, pode ser substituída por uma que mais lhe agrade. Os shells mais comuns que acompanham o ambiente Unix são: - Bourne shell (/usr/bin/sh ou /usr/oldbin/sh): Provê um interpretador de comandos do sistema Unix e suporte a uma interface programável para o desenvolvimento de programas (Shell-Scripts). - C shell (/usr/bin/csh): É considerado um aperfeiçoamento do Bourne shell porque oferece recursos interativos como histórico de comandos (os comandos entrados anteriormente podem ser recuperados, editados e re-executados) e o uso de alias, o que permite o uso de nomes alternativos para os comandos existentes. - Korn shell (/usr/bin/ksh): Pode ser considerado um Bourne shell aperfeiçoado, pois suporta a interface simples programável do Bourne shell, além dos recursos interativos do C shell. O código foi otimizado para oferecer um shell mais rápido e eficiente. Atualmente, é o shell mais comumente usado nos ambientes Unix. No AIX, é o shell padrão. - POSIX shell (/usr/bin/posix/sh): Possui as mesmas características do Korn shell, porém obedece as normas do POSIX na interface de programação. É semelhante ao Korn shell em muitos aspectos(histórico de comandos, uso de alias e controle de tarefas). Nem todas as implementações Unix o possuem. - Korn Shell 1993 (/usr/bin/ksh93): O sistema operacional AIX fornece uma versão avançada do Korn shell, o KSH-93. Ela é, na maioria de suas funcionalidades, compatível com a versão atual do KSH-1988. Inclui algumas características adicionais que não estão disponíveis no Korn shell padrão. Alguns scripts se comportarão de modo diferente sob ksh93, pois sob ele a manipulação variáveis é um pouco diferente do Korn shell padrão.
  • 11. 11 Conceitos básicos do sistema operacional IBM-AIX Outros recursos de Unix Sistema hierárquico de arquivos A informação é armazenada em disco através de arquivos. Para o Unix tudo é um arquivo (dados, textos, dispositivos, periféricos). Para que os arquivos sejam organizados de maneira lógica, tanto em nível de sistema operacional quando em nível de usuário, existem os diretórios, que são as pastas onde os arquivos ficam depositados. Em um sistema Unix os diretórios podem ser usados tanto para o armazenamento de arquivos quanto para o armazenamento de outros diretórios, que poderão ter arquivos e/ou diretórios, e assim por diante. Multitarefa Em um sistema Unix, várias tarefas podem ser executadas ao mesmo tempo, dando a impressão que de um único terminal os programas estão sendo executados simultaneamente. Isso significa que um usuário pode editar um texto, enquanto um processo que trata arquivo de dados pode ser executado, como também pode-se executar um comando para localizar um determinado arquivo em qualquer lugar do disco, tudo isso dando a impressão ao usuário que os processos estão sendo executados ao mesmo tempo. Multiusuário Permite que mais de um usuário tenha acesso ao mesmo sistema. Vários terminais e teclados podem ser conectados ao mesmo computador. Esta á a extensão natural da capacidade de multitarefa. Assim, um programa pode ser executado por mais de um usuário, incluindo o mesmo usuário, que poderá ter mais de uma sessão de terminal no mesmo sistema.
  • 12. 12 Conceitos básicos do sistema operacional IBM-AIX Módulo 2 - Login e execução de comandos Sessão de terminal Uma sessão de terminal começa com login através de um terminal reconhecido pelo sistema e terminal com logout. O computador executará a tarefa ordenada por você em resposta aos comandos que serão dados no prompt de comandos do sistema operacional, prompt este que variará de acordo com o tipo de shell ou da maneira como foi configurado pelo administrador do sistema ou por você mesmo, de acordo com suas preferências pessoais. Login e Logout Para efetuar o login e iniciar sua sessão de terminal, os seguintes passos são necessários: - Digitar sua identificação de usuário no prompt login: do terminal; - Digitar sua senha de acesso no prompt password; - Assim que aparecer o prompt do shell, execute os comandos ou tarefas desejadas; - Para encerrar sua sessão de terminal, execute o comando exit (logout também á válido em algumas implementações Unix) ou tecle bDbDbDbD. Isso fará o terminal retornar ao prompt login:. No caso de se usar um emulador de terminal, e dependendo do emulador, a saída da sessão causará o fechamento do emulador. O símbolo que representa o prompt de comando varia de acordo com o shell do usuário, que podem ser: $ para Bourne shell, Korn Shell ou POSIX Shell; % para C Shell;
  • 13. 13 Conceitos básicos do sistema operacional IBM-AIX # para quando se estiver logado como superusuário (root). É um lembrete muito útil, pois o administrador do sistema (usuário root) pode modificar (ou remover) qualquer coisa no sistema. Estaremos usando o Korn shell, por isso o prompt será um $. Mais tarde veremos como personalizá-lo. Nos sistemas AIX, no primeiro login o usuário é solicitado para que a senha seja alterada por razões de segurança.
  • 14. 14 Conceitos básicos do sistema operacional IBM-AIX Interpretação de comandos pelo shell O shell é responsável pelo emissão do prompt e interpretação dos comandos que você entra. Estaremos vendo neste módulo os vários comandos que permitem acessar o manual de referência on-line, descobrir os usuários que estão logados no sistema e comunicar-se com outros usuários. Como pode ser visto na figura acima, o shell possui muitas outras funções que complementam a interpretação de comandos. Formato da linha de comando Uma linha de comando no Unix segue basicamente a seguinte sintaxe: $ comando [-opções] [argumentos] O comandos podem ou não ter opções de modificação. Estas opções são precedidas pelo sinal de menos, ou hífen (-). Os argumentos geralmente referem-se a nomes de arquivos, diretórios, dispositivos, cadeias de caracteres, etc. O espaço em branco é usado para delimitar (separar) comandos, opções e argumentos, caso contrário você pode receber do sistema uma mensagem de erro indicando que foi digitado um comando inválido. A entrada/saída do terminal suporte digitação contínua. Isso permite que você entre com um comando e, em seguida, com os outros comandos antes mesmo que o prompt de comandos
  • 15. 15 Conceitos básicos do sistema operacional IBM-AIX retorne. O comando será mantido em um buffer e será executado logo após o comando corrente ser concluído. Comandos múltiplos podem ser introduzidos em uma linha de comando separando-os por ponto- e-vírgula (;). Por exemplo: $ ls -l ; pwd ; date A entrada de comandos no sistema Unix é sensível a maiúsculas e minúsculas. A maior parte dos comandos e opções são definidos em letras minúsculas. Caso a linha possa se estendera após o limite visível da tela, pode-se acrescentar o caracter , precedido de um espaço, e continuar a digitação da linha de comando na linha seguinte. Após o pressionamento da tecla ffff o comando será executado. O prompt secundário Os shells Born, Korn e POSIX suportam comandos multilinha interativos. Se o shell requisitar mais entradas para completar o comando, o prompt secundário (>) será emitido após o pressionamento da tecla ffff . Alguns comandos exigem comandos de fechamento e alguns caracteres exigem um caractere de fechamento. Por exemplo, um if aberto exige um fi para fechar; parênteses de abertura exigem parênteses de fechamento e, finalmente, um apóstrofo ou uma aspa-dupla de abertura exigem respectivamente o mesmo caractere para o fechamento. Se você digitar um comando incorretamente, o shell emitirá um prompt secundário para você. Para interromper e cancelar o prompt secundário basta pressionar bCbCbCbC, encerrando a execução do comando e retornando ao prompt padrão do shell. Veja os exemplos na figura abaixo (não se preocupe com os comandos apresentados, pois serão estudados mais tarde):
  • 16. 16 Conceitos básicos do sistema operacional IBM-AIX
  • 17. 17 Conceitos básicos do sistema operacional IBM-AIX O manual de referência on-line O manual é muito útil para consultar a sintaxe dos comandos, nas não foi desenvolvido como um tutorial e, por isso, não serve muito para se aprender com usar o sistema operacional Unix. É acessado através do comando man. Usuários experientes consultam o manual para saber detalhes sobre comandos e como usá-los. O manual está dividido em várias seções conforme uma breve descrição mostrada abaixo: - Seção 1: comandos de usuário Descreve os programas destinados a usuários ou oriundos de programas shell. São os comandos que geralmente podem ser executados por qualquer usuário do sistema. - Seção 1m: Manutenção do sistema Descreve os comandos usados pelo administrador do sistema para sua manutenção. São executáveis que podem ser utilizados somente pelo superusuário (root), que é o login associado ao administrador do sistema. - Seção 2: Chamadas do sistema Descrevem funções que fazem interface com o kernel do sistema Unix, incluindo a interface da linguagem C. - Seção 3: Funções e bibliotecas de funções Ilustra as funções que acompanham o sistema em formato binário, diferentes das chamadas diretas do sistema. São geralmente acessadas através de programas C. Os exemplos incluem manipulação de entrada e saída e funções matemáticas. - Seção 4: Formatos de arquivos Define os campos dos arquivos de configuração do sistema (tais como /etc/passwd) e documenta a estrutura de vários tipos de arquivos (tais como o a.out). - Seção 5: Tópicos diversos Inclui informações variadas, tais como as descrições de arquivos de cabeçalho, conjuntos de caracteres, pacotes de macros e outros tópicos. - Seção 7: Arquivos especiais Discute as características dos arquivos especiais que fazem a ligação entre o sistema Unix e os periféricos de E/S do sistema (discos, fitas e impressoras). - Seção 9: Glossário Define os termos selecionados usados em todo o manual de referência. Quando a primeira página do manual on-line aparece, as seguintes teclas podem ser usadas no prompt standard output: ffff exibe a linha seguinte kkkk exibe a página seguinte HHHH ajuda on-line para navegação
  • 18. 18 Conceitos básicos do sistema operacional IBM-AIX QQQQ retorna para o prompt do shell bBbBbBbB retorna uma página jGjGjGjG vai para o final do manual 1jGjGjGjG vai para o início do manual //// busca uma string específica. Sensível ao contexto
  • 19. 19 Conceitos básicos do sistema operacional IBM-AIX Alguns comandos iniciais id - Exibe a identificação de usuário e grupo who - Lista os usuários logados no sistema date - Exibe a hora e a data do sistema passwd - Atribui uma senha à conta do usuário echo - Exibe mensagens simples na tela banner - Exibe argumentos em letras grandes write - Envia mensagens para o terminal de outro usuário mesg - Permite ou nega o recebimento de mensagens pelo terminal
  • 20. 20 Conceitos básicos do sistema operacional IBM-AIX Comando id O comando id exibe a identificação de usuário e grupo para a sessão de terminal. Para acessar arquivos e executar programas você precisa saber sua identificação de usuário e grupo. O sistema mantém identificadores numéricos. Os nomes alfanuméricos são somente para a conveniência do usuário. Todas as identificações de usuário reconhecidas são armazenadas no arquivo /etc/passwd. As identificações de grupo são armazenadas no arquivo /etc/group. Veja abaixo o exemplo de execução e saída do comando id:
  • 21. 21 Conceitos básicos do sistema operacional IBM-AIX Comando who O comando who lista quais são os usuários que estão logados no sistema, em que porta de terminal está conectado, hora de início da sessão, número de processo (opção -u) e a origem da conexão (opção -u). Existe a variante who am i que lista somente informações referente ao usuário da sessão atual. A variante whoami lista somente a identificação do usuário logado. Veja os exemplos da saída do comando na figura a seguir:
  • 22. 22 Conceitos básicos do sistema operacional IBM-AIX Comando date O comando date mostra a data e hora do sistema. É possível usar argumentos que modificam o formato de saída do comando. Geralmente este comando é usado sem opções ou argumentos. Veja na pagina do manual on-line (através do comando man date) para mais detalhes das opções e argumentos utilizados pelo comando. Os exemplos abaixo ilustram algumas saídas do comando date:
  • 23. 23 Conceitos básicos do sistema operacional IBM-AIX Comando passwd O comando passwd pode ser usado para alterar a sua senha. Sua sintaxe é: $ passwd Sua senha atual (senha antiga) é solicitada. Isso é para evitar que alguém mude sua senha se você deixar o terminal sozinho enquanto está logado. Depois é solicitada a nova senha, é solicitado que você digite novamente a nova senha para confirmação, evitando que você troque sua senha por outra que contenha erros de digitação. É recomendado que as senhas antigas e novas sejam diferentes em, pelo menos, três caracteres. A senha não será exibida na tela enquanto digitada. O administrador do sistema (root) não é submetido a essas condições, podendo atribuir uma senha qualquer para uma conta, não sendo obrigado a seguir essas regras..
  • 24. 24 Conceitos básicos do sistema operacional IBM-AIX Comando echo O comando echo serve para exibir argumentos de linha de comando, isto é, para imprimir mensagens na tela, como ilustrado abaixo: Embora pareça um tanto inútil, o uso de echo no prompt do shell, este comando será mais utilizado em programação Script-Shell, onde será usado para a exibição de mensagens ou para a exibição dos valores de variáveis.
  • 25. 25 Conceitos básicos do sistema operacional IBM-AIX Comando banner Este comando foi criado, e ainda é usado, para rotular a saída de listagens impressas. O comando banner exibe os argumentos passados em letras maiúsculas expandidas, um argumento por linha. Caso deseje exibir mais de um argumento na mesma linha, coloque-os entre aspas. Veja a ilustração abaixo:
  • 26. 26 Conceitos básicos do sistema operacional IBM-AIX Comando write Este comando é usado para envio de mensagens para o terminal de um outro usuário que está logado no mesmo sistema Unix. Quando executado, o comando write dá a você a oportunidade de digitar sua mensagem. Toda vez que a tecla ffff for pressionada, a mensagem é transmitida para o terminal do usuário de destino. O terminal receptor pode fazer a mesmo coisa e pode-se ter uma conversa interativa entre os dois terminais. Ao término do envio de mensagens, pressione bDbDbDbD para sair do comando write. Veja o exemplo na ilustração abaixo: A não ser que a capacidade de recepção esteja desativada, mensagens podem ser enviadas ao seu terminal em qualquer momento. Portanto, se você está em um utilitário como o man, mail ou
  • 27. 27 Conceitos básicos do sistema operacional IBM-AIX um editor de textos como o vi e alguém enviar mensagens para você, ela será exibida em seu terminal podendo causar confusão nos caracteres exibidos, o que pode tornar-se inconveniente. Independe do usuário estar ou não com a capacidade de recebimento de mensagens ativada, o superusuário pode enviar mensagens para o terminal de qualquer usuário logado.
  • 28. 28 Conceitos básicos do sistema operacional IBM-AIX Comando mesg Você pode usar o comando mesg para impedir a recepção de mensagens de outros usuários em seu terminal. Se você enviar mensagens para uma pessoa que desabilitou a recepção de mensagens, receberá a mensagem Permission denied. Mesmo que a recepção de mensagens esteja desabilitada em seu terminal, o administrador do sistema ainda poderá enviar mensagens para o seu terminal. A sintaxe do comando mesg é simples: $ mesg - mostra o estado atual da recepção de mensagens $ mesg y - habilita a recepção de mensagens $ mesg n - desabilita a recepção de mensagens A ilustração abaixo explica o funcionamento do comando mesg:
  • 29. 29 Conceitos básicos do sistema operacional IBM-AIX Módulo 2 - Exercícios de fixação 1 - Quais dos comandos estão sintaticamente corretos? $ echo $ eco Ola $ echo IBM Brazil Site Hortolandia $ banner $ banner SO Unix Team $ BANNER Curso de Unix 2 - Usando os comandos id, who e whoami, responda as questões seguintes: - Quem está no sistema? ___________________________ - Em que terminal você está logado? ___________________________ - Quem o sistema pensa que você é? ___________________________ 3 - Tente enviar mensagens para o terminal de algum colega e peça para ele enviar para você. Use os comandos necessários para verificar se a capacidade de recepção está ou não ativada. 4 - Execute o comando date de modo a mostrar a data e a hora na seguinte configuração: $ hoje é dd/mm/yy e são hh:mm:ss 5 - Finalize a sessão do seu terminal. Faça um login de volta, porém com a tecla @@@@ ativada. Caso seu terminal tenha ficado com a tela estranha, como este problema pode ser resolvido sem a necessidade de um logout e outro login?
  • 30. 30 Conceitos básicos do sistema operacional IBM-AIX Módulo 3 - Navegando pelo sistema de arquivos A hierarquia do sistema de arquivos O sistema operacional Unix oferece um sistema de arquivos para organizar e gerenciar seus arquivos e diretórios. A organização dos diretórios poderá ser representada graficamente utilizando uma estrutura em árvore hierárquica. Na figura a seguir, os diretórios são representados por ícones em forma de pastas e os arquivos por ícones em forma de documentos. O topo da hierarquia é identificado como diretório raiz ou root, porque está no topo da árvore invertida. É denotado com uma barra diagonal (/). Dependendo da implementação do Unix, a estrutura de diretórios pode variar, assim como alguns arquivos de configuração de sistema podem estar localizados em outros subdiretórios mas, basicamente, seguem o padrão exibido na figura acima. Diferente de algumas implementações Unix, o IBM-AIX gerencia seus sitemas de arquivos através de LVM (Logical Volume Manager) usando o formato JFS (Journaled File System). Tal implementação de sistema de arquivos permite recuperação automática em caso da queda do servidor pela falta de energia ou desligamento acidental. O sistema de arquivos JFS mantém um log de transações do que é gravado no filesystem para uso em sua autorecuperação em caso de pane. Na figura a seguir é mostrado o esquema de como é gerenciado pelo sistema operacional o acesso a disco através do gerenciamento de volumes lógicos do AIX. rootvg é o nome dado ao VG, particionado em LVs padrão, onde o AIX é instalado.
  • 31. 31 Conceitos básicos do sistema operacional IBM-AIX Gerenciamento de Volumes Lógicos no IBM AIX – LVM (Logical Volume Manager) Percursos relativos e absolutos Muitos comandos do Unix operam em arquivos, diretórios ou nos dois. Para informar a um comando sobre a localização de um arquivo ou diretório solicitado, você fornece um percurso como argumento para o comando. O percurso representa o caminho percorrido através da hierarquia para alcançar o arquivo ou diretório desejado, como nesse exemplo genérico: $ comando [opções] [percurso1 percurso2 ... percursoN] Ao designar o percurso de um arquivo ou diretório, a barra diagonal (/) é utilizada para delimitar os nomes do diretório e/ou arquivos. Exemplo: diretório/diretório/diretório diretório/arquivo Sempre que se logar, você estará posicionado em algum diretório. Por exemplo, ao fazer login, o diretório em que você estará posicionado será inicialmente o diretório $HOME. As localizações de arquivos e/ou diretórios podem ser designados com um percurso absoluto ou relativo.
  • 32. 32 Conceitos básicos do sistema operacional IBM-AIX Percurso absoluto - Sempre se inicia no topo da hierarquia (diretório raiz); - Sempre se inicia com uma barra diagonal (/); - Não é dependente da 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. Exemplos de percursos absolutos: /tmp/arq001 /home/user1/arq001 /home/user3/arq001 /home/user3/memo/memo001.txt Percurso relativo - Sempre começa na 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. Exemplos de percursos relativos: Os exemplos a seguir fazem referência aos arquivos denominados arq001.txt, mas sua designação de caminho relativo depende da posição corrente do usuário dentro da hierarquia. Assumindo sua posição corrente sendo /home: user1/arq001.txt user3/arq001.txt user3/memo/arq001.txt Assumindo sua posição corrente sendo /home/user3: arq001.txt memo/arq001.txt Assumindo que sua posição corrente seja /home/user3/memo: arq001.txt Note que o percurso relativo poderá ser muito mais curto do que o absoluto. Por exemplo, se você estiver no diretório /home/user3/memo, poderá imprimir arq001.txt com qualquer um dos seguintes comandos:
  • 33. 33 Conceitos básicos do sistema operacional IBM-AIX lp /home/user3/memo/arq001.txt lp arq001.txt Internamente o sistema Unix encontra todos os arquivos ou diretórios através de percursos absolutos. O Unix permite o uso de percursos relativos somente para a conveniência de digitação do usuário. Quando qualquer diretório é criado, duas entradas, denominadas ponto (.) e ponto-ponto (..), são criadas automaticamente. São comumente usadas para referirem-se a percursos relativos: . - faz referência ao diretório corrente .. - faz referência ao diretório de nível imediatamente superior Exemplos de ponto (.) Se você está correntemente no diretório /home/user3: . representa /home/user3 ./docs representa /home/user3/docs ./memo/jan2000 representa /home/user3/memo/jan2000 Exemplos de ponto-ponto (..) Se você está correntemente no diretório /home: .. representa / ../.. também representa / ../tmp representa /tmp ../tmp/work representa /tmp/work Se você está correntemente no diretório /home/user3: .. representa /home ../.. representa / ../user2 representa /home/user2 ../user1/docs representa /home/user1/docs ../../tmp/work representa /tmp/work Principais diretórios do sistema de Arquivos Diretório / (root) O topo da árvore. Contém os arquivos de configuração do super usuário. Diretório /bin Normalmente é um link simbólico para /usr/bin. Contém a maioria dos comandos do UNIX.
  • 34. 34 Conceitos básicos do sistema operacional IBM-AIX Diretório /lib Geralmente é um link simbólico para /usr/lib. Contém as bibliotecas do sistema. Diretório /usr Contém a maioria dos arquivos e diretórios de trabalho do UNIX e outros comandos. Alguns subdiretórios importantes abaixo de /usr são: /usr/bin /usr/lib /usr/mail /usr/man /usr/share/man /usr/local/bin Diretório /usr/bin Contém a maioria dos comandos de seção 1 do UNIX, como por exemplo: ls, cp, rm, mv, ln, date, mail Diretório /usr/lib Contém arquivos bibliotecas utilizados pelo UNIX para suportar linguagens e aplicações. Diretório /var/spool/mail A caixa postal do sistema. Contém um arquivo por usuário que possui correspondência. Normalmente é um link simbólico de /usr/var/spool/mail ou /usr/spool/mail. Diretório /usr/man e /usr/share/man Contém as páginas do manual on-line. Diretório /usr/local/bin Comandos executáveis desenvolvidos no sistema local. O diretório /usr/local/bin é normalmente criado pelo Administrador do Sistema para acrescentar arquivos executáveis que não fazem parte do Sistema Operacional Unix padrão. Diretório /etc Contém a maioria dos arquivos e comandos de Administração relativos à máquina local. Diretório /home Normalmente contém todos os diretórios de login ao sistema, ou seja, os arquivos de todos os usuários. Diretório /dev Contém os arquivos especiais (device files) para comunicação com periféricos como discos, fitas, impressoras e terminais. Diretório /tmp e /var/tmp Normalmente utilizado pelo sistema e aplicações para criação de arquivos temporários.
  • 35. 35 Conceitos básicos do sistema operacional IBM-AIX Comandos básicos usados no sistema de arquivos pwd - Exibe o nome do diretório corrente ls - Listagem de arquivos cd - Troca de diretório find - Procura de arquivos mkdir - Criação de diretórios rmdir - Remoção de diretórios Os comandos acima permitirão que sejam efetuadas as seguintes tarefas: - Exibir o nome do diretório e sua localização na árvore; - Listar os arquivos que estão no diretório; - Mudar de um diretório para outro; - Localizar arquivos nos diretórios; - Criar diretórios; - Remover diretórios.
  • 36. 36 Conceitos básicos do sistema operacional IBM-AIX Comando pwd O comando pwd relata o percurso absoluto da localização do seu diretório corrente em um sistema de arquivos. Supondo que você esteja no diretório /usr/local/bin, o seguinte resultado será exibido: $ pwd /usr/local/bin
  • 37. 37 Conceitos básicos do sistema operacional IBM-AIX Comando ls O comando ls é usado para listar os nomes de arquivos de um diretório. Sem qualquer argumento, o comando ls mostra os nomes dos arquivos e/ou diretórios existentes no diretório corrente. A lista sempre será classificada em ordem alfabética obedecendo a classificação ASCII. Para saber quais as opções aceitas pelo comando ls, refira-se ao manual on-line para maiores detalhes. Abaixo é detalhado as opções mais usadas: -a Lista todos os arquivos do diretório, incluindo os escondidos. No Unix um arquivo é considerado escondido quando seu nome começar com um ponto (.), como é o caso do arquivo de configuração .profile que cada usuário possui no seu diretório $HOME, além das entradas . (diretório corrente) e .. (diretório do nível anterior). -A O mesmo que o anterior, exceto as entradas . e .. -l Fornece uma listagem detalhada sobre os arquivos, mostrando tipo, permissões, proprietário, grupo, tamanho, data e hora da criação. -d Lista as características de um diretório ao invés de seu conteúdo. Utilizado com a opção -l mostra o status do diretório especificado. -F Acrescenta uma barra (/) ao final de cada arquivo listado que seja um diretório. Se o arquivo for executável será colocado um asterisco(*) no final de seu nome. -R Lista, recursivamente, todos os arquivos de um diretórios e os arquivos dos subdiretórios nele existentes. -o Semelhante à opção -l, porém não mostra a coluna em que está o nome do proprietário do arquivo. Em algumas implementações Unix essa opção não surte efeito. -g Semelhante à opção -l, porém não mostra a coluna em que está o grupo ao qual o arquivo pertence. -t Faz com que a lista de arquivos seja mostrada em ordem decrescente de criação, isto é, os arquivos atualizados ou criados recentemente são listados primeiro, os mais antigos depois. -r Permite que a listagem de arquivos seja mostrada em ordem inversa. Muito útil quando combinada com as opções -l e -t. Nas figuras a seguir são mostrados alguns exemplos da saída do comando ls com algumas das suas diferentes opções:
  • 38. 38 Conceitos básicos do sistema operacional IBM-AIX
  • 39. 39 Conceitos básicos do sistema operacional IBM-AIX Comando cd O comando cd permite que você se movimente na árvore de diretórios, podendo ser alterado o diretório corrente. Sua sintaxe é: $ cd [nome do diretório] O argumento opcional nome do diretório é o diretório para onde se deseja posicionar. Caso não seja especificado, o comando posicionará sua localização como sendo o diretório $HOME. O usar o comando cd para movimentar-se entre os diretórios, use o comando pwd para checar qual o diretório corrente. Mais tarde será mostrado como personalizar o prompt do shell para mostrar o diretório corrente, além de outras informações úteis. No Korn Shell e no POSIX-Shell o comando cd possui o argumento hífen (-) que permite mudar para o diretório anteriormente acessado. Isso é possível por causa de uma variável de ambiente OLDPWD que sempre armazena o diretório acessado antes do último comando cd. Abaixo é ilustrado as diversas maneiras de usar o comando cd:
  • 40. 40 Conceitos básicos do sistema operacional IBM-AIX Comando find O comando find é usado, basicamente, para localizar arquivos e/ou diretórios no sistema de arquivos do Unix. Opcionalmente pode ser usado para executar algumas ações nos nomes de arquivos encontrados. Sua sintaxe é: $ find <caminho> [expressão] caminho argumento obrigatório. É o diretório onde deverá ser iniciada a pesquisa pelo comando find; expressão palavras chaves e argumentos que possam especificar os critérios de pesquisa e as tarefas a serem executadas ao encontrar uma correspondência. Todas as palavras chave do comando find são precedidas por um hífen (-). Abaixo são mostradas algumas maneiras mais comuns de uso do comando find e algumas de suas palavras-chave:
  • 41. 41 Conceitos básicos do sistema operacional IBM-AIX Comandos mkdir e rmdir O comando mkdir é usado para a criação de diretórios. Sua sintaxe é: $ mkdir [-p] <diretórios> diretórios argumento obrigatório que especifica o nome dos diretórios a serem criados. Esses nomes devem ser separados por espaços. -p este parâmetro opcional faz com que, em caso de os diretórios e seus subdiretórios serem especificados para a criação, e seus respectivos diretórios pais ainda não existirem, estes também serão criados. Caso esta opção não seja especificada neste caso, o comando retornará uma mensagem de erro. O comando rmdir é utilizado para a remoção de diretórios. Sua sintaxe é: $ rmdir <diretórios> O diretório será removido somente se estiver completamente vazio, isto é, não poderá haver arquivos e/ou diretórios armazenados nele, caso contrário será emitida uma mensagem de erro. O diretório corrente também não poderá ser removido, assim como o diretório /. Veja a figura abaixo referente aos comandos mkdir e rmdir:
  • 42. 42 Conceitos básicos do sistema operacional IBM-AIX Módulo 3 - Exercícios de fixação 1 - Qual é o seu diretório $HOME? 2 - Partindo do seu diretório $HOME, vá para o diretório /etc. Utilizando um percurso relativo, vá para o diretório /home. Utilizando um percurso absoluto vá para diretório bin localizado sob o diretório /usr. Em seguida retorne para o seu diretório $HOME. 3 - Crie, em seu diretório $HOME, o diretório workflow. Faça dele o seu diretório corrente. Qual o caminho absoluto do diretório que você acabou de criar? 4 - A partir de seu diretório $HOME, crie os seguintes diretórios abaixo com apenas uma linha de comando: business/jan01 business/fev01 business/mar01 business/abr01 5 - A partir de seu diretório $HOME, remova todos os subdiretórios abaixo do diretório business, utilizando uma única linha de comando.
  • 43. 43 Conceitos básicos do sistema operacional IBM-AIX Módulo 4 - Gerenciamento de Arquivos O que é um arquivo para o Unix Tudo para o Unix é um arquivo, o que inclui: - Arquivos comuns: texto, mensagens de correio eletrônico, dados, desenhos, código fonte de programas; - Programas: executáveis como ksh, who, date, man, ls e find; - Diretórios: arquivos que contém o nome e o identificador do sistema de arquivos para os diretórios e arquivos neles contidos; - Periféricos: arquivos especiais que fornecem a interface para o hardware tais como discos, terminais, impressoras e memória. Arquivos são simplesmente nomes e os dados associados aos nomes, armazenados em um periférico de armazenamento de massa, geralmente um disco. Para o sistema Unix, um arquivo nada mais é do que uma seqüência de bytes de dados. Não existem registros pré-definidos, campos, marcas de final de registro ou marcas de final de arquivo. Arquivos comuns contém caracteres de texto ASCII, geralmente criados por um editor de textos em uma sessão de terminal. Um exemplo de arquivo comum é o arquivo de usuários do sistema Unix, /etc/passwd. Arquivos de programas podem ser arquivos binários executáveis, como é o caso dos comandos do sistema operacional (date, who, find, etc) ou podem ser arquivos textos executáveis, chamados scripts, como os arquivos $HOME/.profile, /etc/profile ou algum programa shell, onde são armazenados seqüências de comandos em um arquivo texto criado através de um editor. Um diretório é um arquivo com os nomes de arquivos e diretórios contidos neles. Ele também armazena um número conhecido como i-node para cada entrada. Um diretório não é um arquivo comum. Um arquivo especial (device file) fornece a interface entre o kernel e o hardware. Como eles servem somente para fazer a interface, eles nunca terão quaisquer dados reais. Estão comumente armazenados sob o diretório /dev e haverá um arquivo para cada dispositivo de hardware com o qual o seu computador precisa de comunicar.
  • 44. 44 Conceitos básicos do sistema operacional IBM-AIX Comandos usados no gerenciamento de arquivos ls - ver as características de um arquivo cat - ver o conteúdo de um arquivo more - ver o conteúdo de um arquivo uma tela por vez cp - copiar arquivos mv - mover arquivos ou renomeá-los ln - criar um outro nome para o mesmo arquivo rm - remover arquivos Você conhece alguns comandos para a manipulação de diretórios. Veremos a seguir alguns comandos adicionais que serão utilizados em arquivos e diretórios.
  • 45. 45 Conceitos básicos do sistema operacional IBM-AIX Características de um arquivo Como é mostrado na figura acima, um arquivo tem várias características a ele associadas. Elas podem ser exibidas pelo comando ls -l. Tipos de arquivo Existem vários tipos de arquivos suportados pelo Unix. Esses tipos são identificados pelo primeiro caractere exibido na saída do comando ls -l: - arquivo comum d diretório l link simbólico n arquivo de rede c dispositivo de caractere (terminal, impressora) b dispositivo de bloco (discos) p pipe nomeado (canal de comunicação interprocessos) s socket (canal de comunicação interprocessos)
  • 46. 46 Conceitos básicos do sistema operacional IBM-AIX Comando cat O comando cat exibe o conteúdo de um ou mais arquivos. Tipicamente ele é usado para ver o conteúdo de um único arquivo. Sua sintaxe: $ cat [arquivo1 arquivo2 ...arquivoN] Se não for informado o nome de arquivo, o comando cat ficará em modo de espera aguardando a digitação de dados. Ao pressionamento da tecla ffff, uma linha será saltada para que seja dada uma nova entrada pelo teclado. Para sair do comando cat, pressione bDbDbDbD e os dados digitados anteriormente serão exibidos. Para abortar a execução do comando cat pressione bCbCbCbC. Abaixo é ilustrado a execução do comando cat. Caso o arquivo a ser exibido for muito para ser exibido em uma única tela, o texto passará muito rapidamente para ser lido. Nesse caso aplicaremos outro comando, que será visto a seguir, para mostrar o arquivo em uma tela de cada vez. Se o arquivo a ser exibido pelo comando cat contém caracteres de controle, tal como um arquivo binário ou programa compilado, seu terminal poderá ficar desativado. Nesse caso, entre em contato com o administrador do sistema para cancelar a sessão do seu terminal.
  • 47. 47 Conceitos básicos do sistema operacional IBM-AIX Comando more Como o comando cat, o comando more exibe o conteúdo de um arquivo na tela, porém mostrando uma página de tela por vez. Por exemplo, para ver o conteúdo do arquivo /etc/passwd, use o seguinte comando: $ more /etc/passwd Diferente do comando cat, o comando more possui opções de controle de paginação do texto para que, por exemplo, no caso de adiantar ou avançar de mais o texto, você possa ter como voltar linhas ou páginas e poder ler os dados, sem a necessidade de executar o comando more novamente para abrir o arquivo. Isso é muito útil quando se trata de arquivos muitos extensos. A seguir alguns dos comandos de controle do comando more: ffff exibe a linha seguinte kkkk exibe a página seguinte QQQQ retorna para o prompt do shell bBbBbBbB retorna uma página jGjGjGjG vai para o final do arquivo 1jGjGjGjG vai para o início do arquivo
  • 48. 48 Conceitos básicos do sistema operacional IBM-AIX Comandos tail, head e line O comando tail serve para exibir as linhas finais de um arquivo. A quantidade de linhas default mostrada são 10, mas podem ser mostradas quantas linhas se desejar. A mesma coisa vale para o comando head, porém este mostra as linhas inicias de um arquivo. No caso do comando line, ele mostra apenas a primeira linha do arquivo. Supondo que você tenha um arquivo texto chamado listagem.txt com as seguintes linhas: Arthur Andersen Accenture IBM Brasil Compaq Corp PriceWaterhouse Coopers Vamos executar os comando tail para mostrar as 3 últimas linhas do arquivo, o comando head para mostrar a 3 primeiras e o comando line para mostrar apenas a primeira linha: $ tail -3 listagem .txt IBM Brasil Compaq Corp PriceWaterhouse Coopers $ head -3 listagem .txt Arthur Andersen Accenture IBM Brasil $ line < listagem.txt Arthur Andersen
  • 49. 49 Conceitos básicos do sistema operacional IBM-AIX Comando cp O comando cp é utilizado para copiar arquivos. Pode-se criar cópias de arquivos individuais ou de vários arquivos. Sintaxe: $ cp <origem> <destino> Apresentamos algumas considerações ao utilizar o comando cp: - são necessários pelo menos dois argumentos: arquivo de origem e destino (que pode ser outro nome de arquivo ou um diretório para onde a cópia será feita. Se forem usados mais de 2 argumentos o último, obrigatoriamente, deverá ser um diretório; - pode-se usar percursos relativos e/ou absolutos em qualquer um dos argumentos; - se o destino não existir, será criado. Caso exista, será sobrescrito, exceto se for usada a opção -i que pede a confirmação antes de sobrescrever o arquivo existente, pois por padrão a cópia é feita sem fazer perguntas. Um arquivo não pode ser copiado para ele mesmo. Caso isso seja tentado será emitida uma mensagem de erro. Exemplos de uso do comando cp: - Copiar o arquivo listagem.txt do diretório corrente para o diretório /home/user1/backup com o nome listagem.txt.bkp; $ cp listagem.txt /home/user1/backup/listagem.txt - Copiar o arquivo /etc/passwd para o diretório /home/user2 com o mesmo nome; $ cp /etc/passwd /home/user2 - copiar os arquivos arq001.dat e arq002.dat para o diretório /var/tmp; $ cp arq00.dat arq002.dat /var/tmp
  • 50. 50 Conceitos básicos do sistema operacional IBM-AIX Comando mv O comando mv pode ser usado para as seguintes finalidades: - mudar o nome de arquivos (renomear arquivo); - mudar o nome de diretórios (renomear diretórios); - mover arquivos para outros diretórios, mudando ou não seus nomes. A sintaxe do comando mv é: $ mv [-i] <origem> <destino> Podem ser usados percursos relativos ou absolutos. Caso o arquivo não exista no destino, ele será criado. Se o arquivo existir, será sobrescrito. A opção -i fará com que o comando avise se o arquivo ou o diretório de destino existe, aguardando confirmação para sobrescrever o arquivo ou diretório. Por default, o comando mv renomeia ou move os arquivos ou diretórios sem fazer perguntas. Exemplos de uso do comando mv: - renomear o arquivo arq001.txt, no diretório corrente, para arq0001.dat $ mv arq001.txt arq0001.dat - renomear o diretório /dir1 para /dir01: $ mv /dir1 /dir01 - mover o arquivo arq002.txt para o diretório /home/user2: $ mv arq002.txt /home/user2 - mover todo o diretório /home/user3 para /usr/users: $ mv /home/user3 /usr/users - mover o arquivo /etc/hosts.copia para o diretório /etc/backup com o mesmo nome: $ mv /etc/hosts.copia /etc/backup - mover os arquivos dados.jan e dados.fev para o diretório /oracle/financ: $ mv dados.jan dados.fev /oracle/financ
  • 51. 51 Conceitos básicos do sistema operacional IBM-AIX Comando rm O comando rm é usado para remover arquivos. Não é possível recuperar os arquivos após serem removidos. Podem ser usados percursos relativos ou absolutos. Sua sintaxe é: $ rm [-r] [-f] [-i] <arq1> [arq2 arq3...arqN] A opção -f força a remoção do arquivo. Com a opção -r é possível remover recursivamente quaisquer arquivos e diretórios especificados. Sem a opção -r para remover diretórios, o comando rm retorna uma mensagem de erro. Com a opção -i o comando emite uma mensagem pedindo confirmação para a remoção do arquivo. Utilize sempre a opção -r com extremo cuidado, pois poderá remover TODOS os seus arquivos e diretórios. Se for utilizar a opção -r, utilize-a em conjunto com a opção -i. Exemplos de uso do comando rm: - remover o arquivo arq001.txt do diretório corrente: $ rm arq001.txt - remover o diretório /home/user2 e todos os seus arquivos e subdiretórios: $ rm -r /home/user2
  • 52. 52 Conceitos básicos do sistema operacional IBM-AIX Comando ln O comando ln permite que vários nomes possam se referir a um mesmo arquivo (link). Isso é útil quando um arquivo deve ser referenciado por outro nome em um determinado diretório, mas não é desejado que outro arquivo seja criado. Diretórios também podem ser referenciados por outro nome através do comando ln. Por default, o arquivo criado com o comando ln é um hard-link, isto é, caso o arquivo seja removido, será removido também o arquivo original ao qual o novo nome está fazendo referência. Para que isso não aconteça, usa-se a opção -s para que seja criado o link. Sintaxe: $ ln [-s] Arquivo_original Novo_nome Onde: -s argumento opcional que faz com que seja criado um soft-link (link simbólico). O default é ser criado como hard-link (link físico). Arquivo_original nome do arquivo/diretório a ter um link criado. Pode-se usar percursos absolutos. Novo_nome nome que será usado para referenciar a Arquivo_original. Exemplos: para criar no diretório corrente um soft-link para o arquivo /usr/bin/vi como nome meueditor: $ ln -s /usr/bin/vi meueditor para criar um hard-link para o arquivo .profile.old com o nome perfil.ant, no diretório /tmp $ ln .profile /tmp/perfil.ant Para remover o nome alternativo, use o comando unlink seguido do nome do link criado. Exemplo: para remover o link meueditor: $ unlink meueditor
  • 53. 53 Conceitos básicos do sistema operacional IBM-AIX Módulo 4 - Exercícios de fixação 1 - Vá para o seu diretório $HOME e copie o arquivo hosts, existente no diretório /etc, com o nome hosts.copy. 2 - Crie os arquivos hosts.01 e hosts.02, no seu diretório $HOME, fazendo referência ao arquivo hosts.copy criado no exercício anterior. 3 - Remova os arquivos criados no exercício anterior, pedindo confirmação na hora da remoção. 4 - Crie, em seu diretório $HOME, um subdiretório chamado etc. Copie o conteúdo do diretório /etc para esse diretório. 5 - Mova todo o diretório criado no exercício anterior para o subdiretório etc02 em seu diretório $HOME.
  • 54. 54 Conceitos básicos do sistema operacional IBM-AIX Módulo 5 - Permissão e acesso aos arquivos O acesso aos arquivos está sujeito à identificação dos usuários e às permissões associadas aos arquivos. Este módulo mostrará como: Permissões Entender o acesso à leitura, escrita e execução de um arquivo ls (ls -l) Determinar que tipo de acesso é concedido ao arquivo chmod Alterar o modo de acesso ao arquivo umask Alterar o acesso default aos arquivos chown Alterar o proprietário do arquivo chgrp Alterar o grupo de um arquivo su Trocar o seu identificador de usuário newgrp Trocar seu identificador de grupo 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 de seus arquivos a outros usuários.
  • 55. 55 Conceitos básicos do sistema operacional IBM-AIX Quem tem acesso a um arquivo O sistema Unix incorpora uma estrutura de três camadas para definir quem tem acesso a cada arquivo e diretório. user - representa o proprietário do arquivo group - representa o grupo que pode ter acesso ao arquivo other - representa todos os outros usuários do sistema O proprietário tem controle absoluto sobre quem tem que tipo de acesso ao arquivo. Ele pode permitir ou negar o acesso ao seu arquivos a outros usuários do sistema. ele também decide que grupo poderá acessar seus arquivos. O proprietário pode decidir também dar seu arquivo a outro usuário do sistema. Uma vez transferida a propriedade, o proprietário anterior não terá mais controle sobre o arquivo. O comando ls -l mostra o proprietário e o grupo que tem acesso ao arquivo. Veja na ilustração abaixo as informações referente aos arquivos listados:
  • 56. 56 Conceitos básicos do sistema operacional IBM-AIX Tipos de acesso Há três tipos de acesso, tanto para arquivos como diretórios: Read Arquivo - o conteúdo pode ser examinado Diretório - o conteúdo pode ser examinado Write Arquivo - o conteúdo pode ser alterado Diretório - o conteúdo pode ser alterado eXecute Arquivo - pode ser usado como um comando Diretório - podem tornar-se o diretório de trabalho corrente Note, como mostrado acima, que deixar um arquivo com permissão Read não o impede de ser apagado ou sobreposto por outro arquivo do mesmo nome, no caso de um comando mv ou cp. Para rodar um arquivo como um programa, além das instruções corretas estarem contidas no arquivo, ele deve ter as permissões read e execute.
  • 57. 57 Conceitos básicos do sistema operacional IBM-AIX Permissões O acesso a um arquivo é definido através da identificação do usuário, 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 do sistema. Veja a figura a seguir as permissões mostradas pelo comando ls -l: Detalhando a figura acima, os arquivos listados pelo comando ls -l têm as seguintes características em relação a permissões, proprietário e outros usuários: Arquivo Associações Atribuições de Acesso Atividades permitidas DIA (link simbólico) root (proprietário) Leitura, gravação e execução Examina, modifica o conteúdo e o executa como um comando membros do grupo system Leitura, gravação e execução Examina, modifica o conteúdo e o executa como um comando todos os outros Leitura, gravação e execução Examina, modifica o conteúdo e o executa como um comando X11 (diretório) root (proprietário) Leitura, gravação e execução Examina, modifica o conteúdo e torna-o o diretório corrente membros do grupo system Leitura e execução Examina o conteúdo e torna-o o diretório corrente todos os outros Leitura e execução Examina o conteúdo e torna-o o diretório corrente adm (diretório) adm (proprietário) Leitura, gravação e execução Examina, modifica o conteúdo e torna-o o diretório corrente membros do grupo adm Leitura e execução Examina o conteúdo e torna-o o diretório corrente todos os outros Leitura e execução Examina o conteúdo e torna-o o diretório corrente checklist.setup root (proprietário) Leitura e gravação Examina e modifica o conteúdo membros do grupo system Leitura e gravação Examina e modifica o conteúdo todos os outros Leitura Examina o conteúdo
  • 58. 58 Conceitos básicos do sistema operacional IBM-AIX Comando chmod O comando chmod é usado para alterar as permissões de arquivos ou diretórios. As alterações somente podem ser feitas pelo proprietário do arquivo ou pelo superusuário. Porém, para o sistema Unix a responsabilidade do acesso ao arquivo é do proprietário e não do administrador do sistema. Para que um arquivo possa estar protegido contra apagamento acidental, o diretório em que ele se encontra não deve possuir a permissão de escrita. O comando chmod suporta dois modos para atribuir permissões a arquivos e diretórios: Modo simbólico No modo simbólico, a sintaxe do comando chmod é: $ chmod [-R] <[a|u|g|o][+|-|=]permissão], [...] arquivos> onde: a, u, g, o camada onde será aplicada a permissão (respectivamente todas as camadas, proprietário, grupo e outros); +,-,= respectivamente adiciona, remove ou atribui a permissão à camada especificada; permissão letra que identifica a permissão a ser atribuída à camada especificada: r - leitura w - gravação x - execução arquivos Um ou mais arquivos a terem suas permissões de acesso alteradas. -R Esta opção permite que, em caso de diretórios, todos os arquivos e subdiretórios tenham suas permissões atribuídas recursivamente. Modo numérico O comando chmod aceita uma representação numérica (octal) para designar as permissões de arquivos. Sua sintaxe é: $ chmod permissão arquivos Onde: permissão composto três dígitos, cada um representando uma camada de permissão. Os valores válidos para as permissões são: 4 - leitura 2 - gravação 1 - execução
  • 59. 59 Conceitos básicos do sistema operacional IBM-AIX A soma dos valores acima, de acordo com a permissão a ser dada, determina qual a designação de permissão a ser dada para o proprietário (primeiro dígito), grupo (segundo dígito) e outros (terceiro dígito). arquivos arquivos que devem ter suas permissões alteradas. Abaixo são mostrados alguns exemplos do uso do comando chmod, tanto em modo alfabético quando em modo numérico. Crie o arquivo em seu diretório $HOME usando o comando >financ.dbf (será discutido mais tarde o uso do caractere >). Use o comando ls -l para verificar as permissões que você atribuiu aos arquivos. - atribuição das seguintes permissões para o arquivo financ.dbf: usuário (ler, gravar e executar), membros do grupo (ler e executar), outros usuários (apenas ler): $ chmod u=rwx,g=rx,o=r financ.dbf ou $ chmod 754 financ.dbf - adicionar a permissão de gravação aos membros do grupo ao arquivo do exemplo anterior: $ chmod g+w financ.bdf ou $ chmod 774 financ.bdf - remover o acesso de leitura para os outros usuários do arquivo financ.dbf: $ chmod o-r financ.dbf ou $ chmod 770 financ.dbf - remover todas as permissões de todas as camadas do arquivo financ.dbf: $ chmod a-rwx financ.dbf ou $ chmod 000 financ.dbf
  • 60. 60 Conceitos básicos do sistema operacional IBM-AIX Comando umask O comando umask é usado para definir o modo de permissões padrão de criação de arquivos. Sintaxe: $ umask [-S] [permissões] onde: -S esta opção mostra o valor das permissões default para a criação de arquivos; permissões quais os valores para as camadas de permissões a serem usada como default no momento da criação de um novo arquivo. As permissões, numéricas ou simbólicas, são as mesmas do comando chmod: r ou 4 - leitura w ou 2 - escrita x ou 1 - execução Quando as permissões são especificadas em modo simbólico, indicam que serão as permissões a serem usadas na criação dos arquivos. Quando especificadas em modo numérico, na verdade você estará especificando ao comando umask qual a permissão que deve ser negada na hora da criação do arquivo. Por exemplo: - deseja-se que todos os arquivos que forem criados à partir deste momento possuam as seguintes permissões: proprietário = rwx grupo = rx outros = r - primeiro definimos quais serão as permissões padrão através do comando umask: $ umask u=rwx,g=rx,o=r - para confirmar se as permissões padrão estão corretas, podemos criar um arquivo e um diretório quaisquer para verificarmos quais as permissões que serão atribuídas a eles: $ >arquivo.novo $ mkdir diretório.novo - utilizando o comando ls -l, verificamos que o arquivo e o diretório deve ter ficado com as seguintes permissões:
  • 61. 61 Conceitos básicos do sistema operacional IBM-AIX $ ls -l -rw-r--r-- ............ arquivo.novo drwxr-xr-- ............ diretório.novo Observe a saída do comando ls -l executado anteriormente. Há uma explicação para o que acaba de acontecer na criação do arquivo e do diretório? Compare usando o comando umask -S.
  • 62. 62 Conceitos básicos do sistema operacional IBM-AIX Comando touch O comando touch atualiza a data e hora de um arquivo existente. Caso o arquivo não exista, será criado. O comando touch não afeta o conteúdo do arquivo. Sintaxe: $ touch [-a|m|t yyyymmddhhmm.ss] [-c] arq1 arq2 ... arqN -a atualiza a hora de acesso ao arquivo para yyyymmddhhmm.ss -m atualiza a hora de modificação do arquivo para yyyymmddhhmm.ss -t atualiza a hora do arquivo para a data e hora especificada em yyyymmddhhmm.ss arq1 arq2 ... arqN lista de arquivos a ter atualizado o registro de tempo -c esta opção impede a criação do arquivo caso ele não exista Abaixo é ilustrado o efeito do comando touch, tanto em um arquivo existente quanto na criação de outro arquivo.
  • 63. 63 Conceitos básicos do sistema operacional IBM-AIX Comando chown O comando chown é usado para trocar o proprietário, e opcionalmente o grupo, ao qual um arquivo pertence. Sintaxe: $ chown <proprietário[:grupo]> arq1 arq2 ... arqN Somente o proprietário de um arquivo, ou o superusuário, tem controle sobre os atributos e o acesso aos arquivos. Uma vez que o proprietário de um arquivo foi alterado, somente o novo proprietário, ou o superusuário, poderá modificar o direito de propriedade e as permissões de acesso. Em alguns ambientes, por medida de segurança, o comando chown pode ser executado apenas pelo superusuário. A alteração só terá sucesso se o proprietário e grupo existirem no sistema, isto é, deve ser um usuário existente no arquivo /etc/passwd e um grupo existente no arquivo /etc/group. Exemplos: - para tornar o usuário oracle proprietário do arquivo bancos.txt $ chown oracle bancos.txt - para tornar o usuário informix proprietário do arquivo fornecedores.dat, assim como o grupo de acesso sendo dba $ chown informix:dba fornecedores.txt Em algumas implementações Unix, por medida de segurança o comando chown somente pode ser executado pelo superusuário (root).
  • 64. 64 Conceitos básicos do sistema operacional IBM-AIX Comando chgrp O comando chgrp é usado para alterar o grupo ao qual terá acesso ao arquivo. É necessário que o grupo seja válido. Isto significa que ele deve estar cadastrado no arquivo /etc/group. Sintaxe: $ chgrp <novo grupo> arq1 arq2 ... arqnN Somente o proprietário de um arquivo ou o usuário root poderá alterar o grupo associado a um arquivo. Veja o exemplo na figura abaixo: Em algumas implementações Unix, por medida de segurança o comando chgrp somente pode ser executado pelo superusuário (root).
  • 65. 65 Conceitos básicos do sistema operacional IBM-AIX Comando su O comando su é usado para trocar a identificação de usuário e grupo. É uma abreviação de switch to user ou set user. Isso permite que você inicie uma subsessão com uma nova identificação de usuário, conseguindo acesso a todos os arquivos que são de propriedade deste novo usuário. Sua sintaxe: $ su [-][usuário] Por segurança, você será solicitado a entrar com a password do usuário para o qual está mudando a identificação, para efetivamente ter acesso aos seus arquivos. Sem nenhum argumento, o comando su alterna para o usuário root (que é o administrador do sistema). O root é também conhecido como superusuário, pois tem acesso a qualquer coisa no sistema. É por esta razão que muitas pessoas pensam que o comando su é abreviação de superusuário. Claro que a senha de root deverá ser fornecida para efetuar a mudança de identificação. Caso seja o usuário root que esteja executando o comando su, a senha do usuário não será pedida pelo sistema. Para voltar à identificação de usuário anterior, não use novamente o comando su. Use o comando exit para sair da sessão que você iniciou com o comando su. Se for usado a opção hífen (-) além de ser efetuada a troca de identificação, todo o ambiente do shell daquele usuário será executado, isto é, se existirem seus arquivos .profile e .kshrc em seu diretório $HOME, estes serão executados como em uma sessão de login padrão. Na figura abaixo é mostrado o uso do comando su:
  • 66. 66 Conceitos básicos do sistema operacional IBM-AIX Comando newgrp O comando newgrp é similar ao comando su. Ele permite a alteração do seu identificador de grupo. Os grupos aos quais o usuário poderá ter acesso são definidos pelo administrador do sistema. Se você não tem permissão para tornar-se membro de um grupo específico a mensagem Sorry será mostrada. Sintaxe: $ newgrp [grupo] O comando newgrp não abre uma nova subsessão. Para retornar à identificação de grupo original, basta digitar o comando newgrp sem argumentos.
  • 67. 67 Conceitos básicos do sistema operacional IBM-AIX Módulo 5 - Exercícios de fixação 1- Crie um arquivo chamado arquivo.001. Deixe as permissões do arquivo de maneira que somente você possa modificá-lo. Os membros do grupo somente poderão ler e os demais usuários não poderão ter acesso ao arquivo. 2- Modifique as permissões do arquivo do exercício anterior de modo que ele fique somente com permissão de escrita para o proprietário e grupo. Para os demais usuários, as permissões de acesso deverão ser removidas. 3 - Faça uma cópia de arquivo.001 como arquivo.001.bkp. Retire todas as permissões da cópia criada. Tente remover o arquivo. Caso consiga removê-lo, faça com que o arquivo não possa ser removido. 4 - Quem é o proprietário do arquivo /etc/profile? Qual o acesso que você tem a este arquivo? Quem poderá alterar a propriedade ou grupo deste arquivo? 5 - Rode o comando mesg. Em seguida procure pelo arquivo que faz referência ao seu terminal e veja as permissões dele. O que o comando mesg faz realmente?
  • 68. 68 Conceitos básicos do sistema operacional IBM-AIX Módulo 6 - O editor de textos vi O que é o vi O vi é um editor de textos orientado a tela, que acompanha a maioria dos sistemas Unix. É um editor dirigido por comandos que incluem: - Comandos de administração geral; - Comandos de movimentação do cursor; - Comandos de inserção de texto; - Comandos de apagamento de texto; - Comandos de transferência de texto; - Comandos de modificação de texto. Você pode usar o vi para criar novos arquivos ou alterar os existentes. Sintaxe: $ vi [arquivo] O editor vi foi desenvolvido para ser independente do terminal, e os comandos foram mapeados para a maioria dos teclados padrão. Foi originalmente usado em teletipos, que não tinham teclas de funções especiais ou teclas de movimentação do cursos. A vantagem é que o vi pode ser executado em qualquer tipo de terminal. Como ele acompanha a maioria dos sistemas Unix, você não precisa reaprender como usar o editor toda vez que mudar para uma implementação de Unix diferente. Usar o vi de modo eficiente requer prática. Este capítulo fornecerá uma boa base para a edição de arquivos, além da habilidade para aumentar sua performance.
  • 69. 69 Conceitos básicos do sistema operacional IBM-AIX Os modos do vi O vi é um editor dirigido por comandos. Quando você inicia uma sessão do vi você está no modo comando. Caso você pressione qualquer tecla, o vi tentará executar o comando associado àquela tecla. Os comandos estão disponíveis para introduzir texto, mover o cursor, deletar, modificar e transferir o texto. Os comandos do vi geralmente são silenciosos, não mostrando nada na tela quando são executados. A única coisa que você verá serão os efeitos do comando. Existem comandos do vi para acessar o modo entrada, o que permitirá que você possa digitar informações no seu arquivo. Para retornar ao modo de comando, basta pressionar a tecla ^^^^. Alguns comandos do vi requisitam entradas múltiplas de teclado. Se você se perder no meio de um comando, basta pressionar a tecla ^^^^ para finalizar o comando corrente, retornando para o modo entrada.
  • 70. 70 Conceitos básicos do sistema operacional IBM-AIX Descrevendo uma sessão vi Quando é iniciada uma sessão do vi, a tela se parecerá com a da ilustração abaixo. Você verá uma "janela" do seu arquivo. Você deve prestar atenção às mensagens que aparecem na área de modo. O vi pode lembrá-lo quando você está no modo entrada ou modo substituição. Essas dicas visuais o ajudarão muito durante as sessões de edição. Se você está no modo de entrada e não vê a mensagem INPUT MODE, faça o seguinte: ^^^^:set showmodeffff.
  • 71. 71 Conceitos básicos do sistema operacional IBM-AIX Finalizando uma sessão vi Quando você terminar de editar seu arquivo, deverá salvá-lo em disco. Há dois comandos disponíveis para gravar seu arquivo: um comando vi ou um comando ex. Lembre-se de que deve estar no modo comando para executar qualquer comando, por isso não esqueça de pressionar a tecla ^^^^ para ter a certeza de que está no modo comando. ^^^^ZZ comando vi. Não aparece na tela; ^^^^:wqffff comando ex. Grava o arquivo e sai do vi. Para sair do vi sem salvar (abandonar o arquivo), use o seguinte comando ex: ^^^^:q!ffff
  • 72. 72 Conceitos básicos do sistema operacional IBM-AIX Comandos usados para edição de texto no vi Comandos de controle do cursor A primeira categoria de comandos que você aprenderá permitirá mover o cursor pelo texto. Como os teletipos não possuem teclas de movimentação do cursor, você não deve usar as teclas de movimentação do cursor, apesar de algumas configurações atuais do vi suportarem as teclas de movimentação (zzzz, yyyy, wwww, xxxx, {{{{, }}}}, etc). Seguem os comandos usados para a movimentação do cursor. No caso de alguns comandos de movimentação serem seguidos do sinal de numeral (#), este deve ser substituído por um número. HHHH mover um caractere para a esquerda. Equivalente à tecla zzzz JJJJ desce uma linha. Equivalente à tecla yyyy KKKK sobe uma linha. Equivalente à tecla wwww LLLL ou kkkk move um caractere para a direita. Equivalente à tecla xxxx #WWWW move palavra por palavra para a direita. jWjWjWjW ignora a pontuação #BBBB move palavra por palavra para a esquerda. jBjBjBjB ignora a pontuação #EEEE move para o final da próxima palavra. jEjEjEjE ignora a pontuação $$$$ vai para o final da linha corrente ^ vai para o primeiro caractere não nulo da linha corrente 0000 vai para o início da linha corrente jGjGjGjG vai para o final do arquivo #jGjGjGjG vai para a linha # ::::# vai para a linha # bGbGbGbG mostra, na base da tela, o número da linha corrente, além do nome do arquivo que está sendo editado ffff vai para a próxima linha. equivalente ao comando JJJJ bBbBbBbB volta uma tela. Equivalente à tecla {{{{ bFbFbFbF avança uma tela. Equivalente à tecla }}}} bUbUbUbU volta meia tela. bDbDbDbD avança meia tela. jLjLjLjL vai para a última linha da tela jMjMjMjM vai para o meio da tela jHjHjHjH vai para a primeira linha da tela bLbLbLbL redesenha a tela. Útil no caso de receber mensagens enquanto está sendo editado um arquivo Se você gosta de ver os números das linhas enquanto está editando o arquivo, use o seguinte comando:
  • 73. 73 Conceitos básicos do sistema operacional IBM-AIX ^^^^:set numberffff Para desativar os números use: ^^^^:set nonumberffff
  • 74. 74 Conceitos básicos do sistema operacional IBM-AIX Comandos em modo de entrada Para inserir o texto no seu arquivo, você deve estar no modo entrada. Existem vários comandos que colocarão o vi no modo entrada: AAAA acrescenta o texto à direita do cursor jAjAjAjA acrescenta o texto no final da linha corrente IIII insere o texto na posição onde se encontra o cursor jIjIjIjI insere o texto no início da linha corrente OOOO insere uma nova linha abaixo da linha corrente jOjOjOjO insere uma nova linha acima da linha corrente Quando o vi estiver no modo entrada, aparecerá a mensagem INPUT MODE no lado inferior direito da tela. No modo entrada a tecla ffff abrirá uma nova linha. Se precisar separar uma linha, posicione o cursor no local desejado e pressione a tecla ffff. Lembre-se que no modo comando a tecla ffff move o cursor para a próxima linha, como se estivesse usando o comando JJJJ ou a tecla yyyy. Para retornar ao modo comando, pressione a tecla ^^^^. O cursor sempre retornará um caractere para a esquerda após seu pressionamento. Enquanto você está no modo entrada, é possível usar a tecla Backspace para retornar caracteres e digitar o novo texto. Quando você voltar com o cursor usando essa tecla, os caracteres não desaparecerão até que se volte ao modo comando.
  • 75. 75 Conceitos básicos do sistema operacional IBM-AIX Deletando texto Dois comandos estão disponíveis para a deleção de texto: # XXXX apaga o caractere que se encontra na posição do cursor # DDDDobjeto apaga o objeto nomeado O comando DDDD é um comando ativo que requisita um objeto para agir sobre ele. O objeto especificado será removido. Os objetos são definidos com os comandos de movimentação do cursor. Vejamos alguns comandos de deleção de texto: #DWDWDWDW apaga a palavra onde se encontra o cursor #DDDDDDDD apaga a linha corrente. Isto é uma convenção do vi .Quando uma ação é repetida, ele afeta a linha toda D jGD jGD jGD jG apaga até a última linha do arquivo D$D$D$D$ apaga até o final da linha D0D0D0D0 ou DDDD^ apaga até o início da linha Como um novo usuário vi, você pode deletar ou modificar algo que não deveria. O comando UUUU pode salvar sua vida: UUUU cancela a última modificação jUjUjUjU cancela todas as modificações da linha corrente. Para o comando jUjUjUjU ou UUUU funcionar, o cursor não pode ser movimentado após a alteração. Portanto, deve ser acionado imediatamente após a última modificação efetuada.
  • 76. 76 Conceitos básicos do sistema operacional IBM-AIX Copiando e movendo texto Sempre que você deleta um objeto, ele fica gravado em um buffer interno do vi. É um buffer temporário, pois o conteúdo da próxima deleção substituirá seu conteúdo. Baseado nisto, podemos mover o texto de um lugar para outro no arquivos que estamos editando. O texto é colocado de acordo com a posição do cursor. Portando, os comandos de deleção de objetos e caracteres são usados para termos a função recortar texto. Para colar o texto recortado, usam-se os dois seguintes comandos: PPPP insere o texto após a posição onde se encontra o cursor. jPjPjPjP insere o texto antes da posição onde se encontra o cursor. Para copiar um texto para a área de buffer do vi, usamos o comando YYYY, seguido do objeto no qual ele deve agir. Veja que este comando trabalha de maneira semelhante ao comando DDDD. Veja os comandos usados para cópia de texto: # YWYWYWYW copia a palavra onde se encontra o cursor # YYYYYYYY copia a linha corrente Y jGY jGY jGY jG copia até a última linha do arquivo Y$Y$Y$Y$ copia até o final da linha YYYY^ copia até o início da linha Por exemplo, para mover 3 linhas de texto, incluindo a linha corrente, para outro lugar no arquivo e acima da posição do cursor, execute os seguintes passos: - posicione o cursor na linha inicial do texto que deseja mover - digite 3 DDDDDDDD. Isto vai deletar 3 linhas, incluindo a linha onde se encontra o cursor - leve o cursor até a posição onde deseja inserir o texto - digite jPjPjPjP. Isto fará com que o texto seja inserido acima do cursor. Supondo que você tenha um arquivo com umas 30 linhas e queira copiar para o início do texto desde da linha 15 até o final do arquivo, use o seguinte procedimento: - vá para a linha 15 do arquivo digitando 15 jGjGjGjG ou :15 - dê o comando Y jGY jGY jGY jG. Isto armazenará, da linha 15 até o final do texto, no buffer do vi - vá para o início do arquivo digitando 1 jGjGjGjG ou :1 - digite jPjPjPjP. Isto fará com que o texto seja inserido acima do cursor.
  • 77. 77 Conceitos básicos do sistema operacional IBM-AIX Alterando o texto Os comandos que permitem alterar o texto, tornam as modificações mais convenientes, uma vez que, já que aprendeu a usar os comandos de inserção e deleção de texto, isto pode se tornar um pouco incômodo, pois você tem que entrar e sair manualmente do modo comando e do modo entrada. Existem três comandos comuns que são usados para modificar o texto: RRRR substitui o caractere na posição onde se encontra o cursor pelo caractere digitado após este comando jRjRjRjR substitui todos os caracteres. Este comando faz com que o vi entre no modo sobrescrever. Para finalizar este comando pressione a tecla ^^^^ CCCCobjeto substitui o objeto nomeado, colocando o sinal $ no final do objeto. Para finalizar este comando pressione a tecla ^^^^. A seguir a lista de comandos com seus objetos: # CWCWCWCW altera a palavra corrente # CCCCCCCC altera a linha corrente CjGCjGCjGCjG altera até o final do arquivo C$C$C$C$ altera até o final da linha CCCC^ altera até o início da linha Caso haja a necessidade da repetição de um comando utilize o comando ponto (.). Este comando permite que seja repetida a última operação de alteração, incluindo deleção.
  • 78. 78 Conceitos básicos do sistema operacional IBM-AIX Pesquisando no texto Uma das coisas mais comuns efetuadas na edição de um texto, é a pesquisa de uma string de texto específica. Abaixo são relacionados os comandos utilizados para a pesquisa de texto em um arquivo editado pelo vi: /texto pesquisa o texto desde da linha corrente até o fim do arquivo, com volta para o começo ?texto pesquisa o texto desde da linha corrente até o início do arquivo, com volta para o começo NNNN encontra a próxima ocorrência, previamente pesquisada, na mesma direção jNjNjNjN encontra a próxima ocorrência, previamente pesquisada, na direção oposta Volta para ao começo significa que se o texto não for encontrado até o fim (ou início) do arquivo, a pesquisa será continuada do outro lado do arquivo.
  • 79. 79 Conceitos básicos do sistema operacional IBM-AIX Pesquisando modelos de texto Como você deve ter percebido no tópico anterior, a busca só teria sucesso se fosse encontrado o texto exatamente como digitado. As construções, a seguir, permitem que sejam pesquisados modelos de string. Essas especificações de modelos são chamadas de expressões regulares e são reconhecidas por vários utilitários do sistema Unix. Abaixo é apresentado um resumo das expressões regulares: [a-zA-Z0-9] define uma classe de caracteres a ser encontrada. O hífen (-) significa que uma faixa dentro da classe. ^texto fixa texto para o início da linha texto$ fixa texto para o final da linha . encontra um caractere simples caractere* encontra zero ou mais ocorrências de caractere Veja estes exemplos: /[Uu]nix procura pela próxima ocorrência da string Unix ou unix /[oO][nN][eE] procura pela próxima ocorrência de one, independente de possuir letras maiúsculas ou minúsculas /b*t procura pela ocorrência de b seguido de qualquer caractere, terminando com t /^[arq].* procura a próxima ocorrência de uma linha que inicie com a, r ou q, seguido de um caractere qualquer na segunda posição e seguido de zero ou mais caracteres a partir da terceira posição /final.$ procura a próxima ocorrência de uma linha que termine com final, seguido de um caractere qualquer
  • 80. 80 Conceitos básicos do sistema operacional IBM-AIX Pesquisa e substituição de texto No vi também é possível efetuar a busca-e-troca de um texto por outro. Isto é feito através de comandos ex. O ex é um editor de textos orientado a linha que aceita endereço de linhas para operar dentro de um arquivo. Veja a sintaxe da busca e troca no vi: :Início,Final s/String procurada/String substituta/[g] Início número da linha inicial. Se usado ponto (.), é considerado como sendo a partir da linha corrente Final número da linha final. Se usado cifrão ($), é considerado como sendo até o final do arquivo s o comando substitute do ex String procurada o texto que deve ser encontrado no arquivo String substituta o texto que deverá ser usado no lugar de String procurada g parâmetro opcional do comando s. Se não for usado, será efetuada a substituição somente da primeira ocorrência de String procurada em cada linha do arquivo. Caso seja usado, todas as ocorrências em qualquer posição das linhas do arquivo serão substituídas. Exemplos de busca-e-troca no vi: - trocar todas as ocorrências de "microcomputador" por "computador pessoal", iniciando na linha 1 e terminando na linha 27: :1,27 s/microcomputador/computador pessoal/g - trocar a primeira ocorrência da palavra "vírus" por "bug", iniciando na linha corrente e terminando no final do arquivo: :.,$ s/virus/bug - trocar a palavra "perform" por "Executar". Todas as ocorrências serão trocadas desde o início até o final do arquivo: :1,$ s/[Pp][Ee][Rr][Ff][Oo][Rr][Mm]/Executar/g
  • 81. 81 Conceitos básicos do sistema operacional IBM-AIX Alguns comandos ex úteis e outras opções do vi Abaixo é mostrada uma lista de comandos ex muito usados no vi: :w [arquivo] grava o arquivo correntemente editado em disco. Opcionalmente pode ser dado um nome ao arquivo, criando outro em disco, porém gravar o arquivo com o outro nome mantém a edição do arquivo anterior. :LinI, LinF w arquivo permite que uma parte do arquivo seja gravado em outro. LinI e LinF significam respectivamente linha inicial e linha final. :e arquivo abre arquivo para ser editado, desconsiderando o arquivo corrente, inclusive as alterações efetuadas nele. :e! desconsidera todas as alterações efetuadas, carregando novamente o arquivo para a edição. :r arquivo Lê o arquivo, inserindo-o na posição logo abaixo de onde se encontra o cursor. :! comando executa um comando qualquer do shell. As opções mais usadas (comando set) do vi são mostradas a seguir: :set all mostra todas as opções da sessão de edição. :set number ativa a numeração de linhas na tela :set autoindent causa indentação automática quando no modo de entrada. A linha seguinte seguirá o alinhamento da linha anterior. :set wrapmargin=# causa a quebra de linha quando o cursor atingir a linha # na tela :set showmatch acusa os fechamentos de parênteses, chaves e colchetes. :set redraw força o vi a atualizar a tela após cada atualização ou salvamento do arquivo. Para fazer manualmente a atualização de tela, use bLbLbLbL. :set showmode ativa o modo de mensagens. :map exibe o mapeamento de teclado usado no modo comando. :map! exibe o mapeamento de teclado usado no modo entrada. Caso deseje que qualquer uma dessas opções sejam ativadas automaticamente quando o entrar com o vi, coloque os comando (sem preceder por dois pontos) em um arquivo chamado .exrc em seu diretório $HOME.
  • 82. 82 Conceitos básicos do sistema operacional IBM-AIX Módulo 7 - Introdução ao Korn Shell O Korn shell é um interpretador de comandos com linguagem de programação integrada, residente em /usr/bin/ksh. Ele pode executar comandos a partir de um terminal ou um arquivo. Ele contém um mecanismo de histórico de comandos, suporta controle de tarefas além de outras características úteis. O Korn shell foi desenvolvido por David Korn do AT&Y Bell Labs. A seguir serão mostradas algumas características do Korn Shell, importantes para o entendimento do ambiente.
  • 83. 83 Conceitos básicos do sistema operacional IBM-AIX O uso de alias Alias é um novo nome para o comando. Você pode abreviar longas linhas de comando, criar novos comandos ou fazer com que os comandos padrão sejam executados de maneira diferente, substituindo o comando original por um comando assinalado por um alias. O alias pode ser uma letra ou uma palavra pequena. Por exemplo, o comando ps -ef é usado com muita freqüência. Seria mais fácil se usasse psf. O comando usado para a criação de novos nomes para os comandos chama-se alias. Sua sintaxe é: $ alias nome=string nome novo nome para o comando original. string cadeia de caracteres que faz referência ao comando original. Se string contém espaços, deve ser colocada inteira entre aspas. Ao ser entrado um alias, ele se parece com um comando qualquer do Unix. Sempre que o Unix for interpretar um comando para a execução, o alias sempre terá prioridade sobre o comando original. Na verdade o Unix analisa o alias definido, monta a linha de comando e depois a executa. Sem argumentos, o comando alias lista todos os aliases definidos no ambiente. Para listar um alias determinado digite: $ alias nome Se a atribuição de alias for feita interativamente, ao término da sessão de terminal (logout) eles serão destruídos. Para desativar um alias use o comando unalias, como abaixo: $ unalias nome Caso queira que o comando original seja executado ao invés de seu alias, coloque uma barra invertida () antes do nome do comando.
  • 84. 84 Conceitos básicos do sistema operacional IBM-AIX Histórico de comandos - exibindo e reentrando comandos O Korn shell mantém, no seu diretório $HOME, um arquivo que armazena os comandos que você digita e permite que você reentre esses comandos. Esse arquivo é mantido nas sessões de login. O comando history exibirá os últimos 16 comandos digitados. Cada linha é precedida por um número que pode ser usado como referencia para a reentrada do comando. Para reexibir os últimos comandos digitados, digite: history A variável HISTSIZE define a quantidade de comandos que poderá ser escrita no arquivo de histórico de comandos. O conteúdo default dessa variável é 128. A variável HISTFILE especifica o nome do arquivo em que os comandos serão armazenados. O conteúdo default dessa variável é .sh_history. Uma vez exibido o seu histórico de comandos, você pode chamar novamente, editar ou reexecutar qualquer um deles. Para que um comando seja reexecutado, usa-se o comando r. Vejamos exemplos de uso dos comandos history e r: supondo que abaixo tenham sido listados os últimos comandos digitados: $ history 1 date 2 cat /etc/passwd 3 echo $PATH 4 ls -l /etc/group Para reentrar primeiro comando da lista mostrada acima pelo comando history digite: r 1 ou r d este último faz com que o último comando iniciando com a letra d seja reexecutado.
  • 85. 85 Conceitos básicos do sistema operacional IBM-AIX Chamando e editando comandos O histórico de comandos permite que os comandos entrados anteriormente sejam receitados sem que seja necessário a digitação dos mesmos. Porém além da reentrada de comandos, pode haver a necessidade de que esses comandos sejam editados para, posteriormente, serem executados. Para que isso seja possível, o Unix permite que o editor de textos vi seja usado como editor de linha de comando, usando os mesmos comandos de movimentação do cursor aprendidos anteriormente. Para que as linhas de comando possam ser rechamadas e editadas, digite: $ set -o vi Para mostrar o último comando digitado tecle ^^^^. Isso coloca o prompt do Unix no modo comando do vi. em seguida use as teclas KKKK e JJJJ para a movimentação entre as linhas de comando. Para editá-las use os comandos do vi que já conhece. Na verdade, você está dentro do vi, editando uma linha de comandos como se estivesse editando um arquivo texto. Nunca use as teclas de seta para movimentação do cursor. Ao término da edição da linha de comando, pressione ffff para que seja executada. Se você tiver problemas ao editar a linha de comando e quiser recomeçar, tecle bCbCbCbC, o que faz você voltar ao prompt do shell, e tente novamente. Você também pode usar o comando history para listas os últimos 16 comandos digitados. Ao ver o número da linha em que se encontra o comando, poderá ir para aquela linha digitando # jGjGjGjG (onde # deve ser substituído pelo número do comando a ser editado). Lembre-se que # jGjGjGjG posiciona o cursor em uma linha específica.