Escolar Documentos
Profissional Documentos
Cultura Documentos
Este curso tem por objetivo capacitar operadores a trabalharem no ambiente UNIX AIX da
IBM. Ele visa dar uma visão básica sobre os principais conceitos e facilidades do sistema AIX,
permitindo que operadores possam trabalhar com mais eficiência e de forma consciente.
O presente material, assim como a programação do presente curso, é baseado no curso
AU13 da IBM, que é o curso oficial de operação de sistemas AIX 5L.
4
Unidade 1
Introdução ao AIX
Advanced Interactive eXecutive, ou simplesmente AIX, é uma versão da IBM do Sistema
Operacional UNIX que é executado em computadores IBM de médio porte baseados na tecnologia
RISC POWER. Ele se baseia no UNIX System V e é muito utilizado em grandes empresas. Antes
do produto ser comercializado, o acrônimo AIX era uma abreviação de Advanced IBM UNIX ou,
em português, Unix Avançado da IBM.
A IBM introduziu a primeira versão do AIX, chamada AIX V1, em 1986, para ser executado
sobre suas estações de trabalho IBM 6150 RT. Esta versão foi baseada no Unix System III. A IBM
posteriormente portou o AIX para a plataforma RS/6000. Esta versão para arquitetura baseada em
processadores da linha POWER era a versão AIX V3, lançada no fim de 1989 e baseada no UNIX
System V. O AIX serviu como sistema operacional primário para o RS/6000.
Em 1990, a IBM lançou uma versão do AIX para seu System/370 batizada de AIX/370.
Com a introdução da arquitetura ESA/390, O AIX/370 foi relançado como AIX/ESA e implantado
na plataforma System/390 em 1991. Diferentemente do AIX/370, o AIX/ESA para mainframe
poderia ser executado como o sistema operacional principal ou numa partição de VM. AIX/ESA no
mainframe teve pouco sucesso comercial e as funcionalidades do UNIX acabam por ser
acrescentadas ao sistema operacional existente no mainframe, o MVS, que foi renomeado para
MVS/ESA OpenEdition em 1993, atualmente z/OS.
As versões do AIX seguem cronologicamente abaixo:
IBM 6150 RT
• AIX v1.0 - 1986
• AIX v2.0
• Última versão foi a 2.2.1.
IBM PS/2
• AIX PS/2 v1.1 - 1989
• Última versão foi a 1.3 - 1992.
POWER - PowerPC
• AIX 3.0 - 1989
• AIX 3.1 - Fevereiro de 1990
• AIX 3.2 - 1992
• AIX 4.0 - 1994
5
Funcionamento do AIX
O AIX é um sistema operacional multiusuário e multitarefa. Estas são as duas características
mais importantes deste sistema.
Significa que este sistema operacional permite que mais de um usuário opere o computador
simultaneamente e de forma independente, de forma compartilhada com outros usuários. Ou seja,
vários usuários podem executar aplicações diferentes ao mesmo na mesma máquina.
O AIX permite que um ou mais usuários executem uma ou mais aplicações ao mesmo
tempo. Esta habilidade do sistema operacional é chamada de multitarefa. Na verdade, em um
sistema com um só processador, as aplicações são executadas sequencialmente de forma tão rápida
que parecem estar sendo executadas simultaneamente. O AIX escalona sua execução e reserva-lhes
recursos computacionais (intervalo de tempo de processamento, espaço em memória RAM, espaço
no disco rígido, etc.). O AIX utiliza uma técnica chamada de multitarefa preemptiva, onde esgotado
um determinado tempo reservado àquela aplicação, o AIX suspende a execução do processo, salva
o seu estado atual, para que ele possa ser retomado posteriormente, e coloca em execução o
próximo processo da fila de espera. O Unix também determina quando cada processo será
executado, a duração de sua execução e a sua prioridade sobre os outros. Ele executa esta sequência
infinitas vezes até que a aplicação tenha terminado de executar ou seja interrompida.
chamadas de sistema, que são funções especiais fornecidas para interação com o kernel.
As aplicações executam em espaços de memória não privilegiados, e que fazem a interface
entre o usuário e o núcleo. Consistem, principalmente, de Conjunto de bibliotecas C, Shell (um
ambiente que permite que o usuário digite comandos), programas utilitários diversos (são
programas usados para manipular arquivos, controlar processos, aplicações de bancos de dados e
sistemas, etc.).
O Shell do AIX
O AIX tem entre suas diversas aplicações uma que que pode ser considerada de fundamental
importância que chamamos de Shell. O Shell é a aplicação que interpreta os comandos do usuário.
Ou seja, os comandos dados pelo usuário na linha de comando são tratados e executados pelo Shell.
O Shell interage com o Kernel e com o usuário, e é a ligação entre os dois.
Dispositivos no AIX
Sistemas Unix são orientados a arquivos, ou seja, quase tudo nele é tratado como arquivo.
Seus comandos são na verdade arquivos executáveis, que são encontrados em lugares determinados
em sua árvore de diretórios, e até mesmo a comunicação entre aplicações é feita por estruturas
parecidas com arquivos. Com os dispositivos de hardware não é diferente. Cada dispositivo é
tratado também como arquivo no AIX. O acesso aos dispositivos de hardware é feito através de
uma estrutura de arquivos, ou seja, para determinado hardware ser utilizado, haverá um local à
partir de onde aquele hardware poderá ser acessado.
Terminais do AIX
Unidade 2
Nome de usuário
O nome de usuário, ou user name, como é chamado no sistema, é o nome que utilizamos
para fazer login no AIX. Este nome é sempre um nome válido no sistema, ou seja, é um nome pré-
existente, configurado na instalação do sistema, ou adicionado por um superusuário como o root.
Senha do usuário
A senha do usuário, ou user password, é uma senha utilizada em conjunto com o nome de
usuário para se autenticar no sistema. Apesar da senha ser opcional, não é comum administradores
de sistemas permitirem autenticação de usuários sem senha. É a senha que permite e garante a
segurança do ambiente, pois ela permite entrar no sistema somente quem tem um usuário registrado
e conhece sua senha.
Login de sucesso
Quando o usuário faz um login com sucesso, é apresentado em sua tela o sinal de prompt do
shell, um sinal de cifrão ($), ou no caso de ser um usuário root, o sinal de sustenido (#). Em alguns
casos pode o usuário entrar diretamente em alguma interface pré-determinada pelo administrador,
como algum sistema interativo.
Saindo do sistema
O processo de sair do sistema é chamado de logout. Sair do sistema AIX é muito simples. O
usuário, na linha de comando do shell, pode digitar os comandos exit ou logout, ou usar a
combinação de teclas ctrl + d. Quando o usuário faz logout ele libera aquele terminal para a
utilização de outro usuário.
o comando só tem um comportamento. Já os comandos sem argumentos são aqueles em que sua
saída é a padrão, podendo ser um arquivo padrão (menos comum) ou um dispositivo padrão, como
uma impressora ou a tela do terminal (mais comum), ou que sua entrada é pré-definida no próprio
comando.
O comando clear tem a função de limpar a tela do terminal. Esta limpeza permite que o
terminal fique livre de sujeira visual indesejável. É de importância grande quando há muitos
caracteres dispensáveis na tela do terminal.
O comando echo imprime na tela do terminal os caracteres que são escritos após o comando.
É muito utilizado na montagem de interfaces de aplicações em Shell Script.
date e cal
O comando cal exibe o calendário do mês e ano informado após o comando. Se o comando
for seguido somente do ano, ele exibe o calendário dos 12 meses. Se não for seguido de nenhum
argumento, exibe o calendário do mês corrente, obedecendo a data do sistema.
Who e finger
O comando who mostra quem está logado no sistema, e o nome do terminal do usuário.
Mostra também a data e o horário em que os usuários fizeram login.
Opções:
-u : Exibe, além das informações básicas do who, o tempo de login do usuário na sessão e o
número do processo do usuário no sistema, ou como chamado no AIX, o id do processo.
Vale lembrar que o comando who am i é diferente de whoami. O segundo mostra somente o
nome do usuário atualmente logado no terminal.
O comando finger tem o seguinte formato padrão de saída: usuários, tempo de login, o
diretório home dos usuários, e o shell padrão dos usuários. Você pode usar seu próprio nome de
usuário para saber informações sobre você mesmo, ou de algum outro usuário do sistema para saber
informações sobre ele.
10
mesg
Mensagens instantâneas
Mensagens instantâneas são mensagens recebidas em tempo real, enviadas por algum
usuário. É possível enviar mensagens instantâneas de duas formas: Para um usuário específico ou
para todos os usuários logados ao mesmo tempo em determinado sistema. É importante lembrar que
mensagens instantâneas só serão recebidas por usuários que estejam logados no momento do envio
da mensagem.
write e talk
Para se estabelecer uma conversa com um usuário logado em outro terminal no mesmo
servidor ou em outro servidor, utilizamos o comando write.
O comando é seguido do usuário a quem se destina a mensagem, ou seja, o usuário deve ser
conhecido de quem vai enviar a mensagem. Quando o usuário pertence a outro servidor, o nome do
usuário deve ser seguido por @nome_servidor, onde o arroba tem o significado de “em”.
Assim como o comando write, o comando talk estabelece uma conversa entre dois usuários,
locais ou em servidores diferentes.
Também diferentemente de write, talk necessita de uma confirmação do outro usuário.
A forma de utilizar o comando é a mesma do write, com a diferença de que o outro usuário
deverá responder a solicitação de conexão.
wall
Para os programas de mensagem instantânea podemos utilizar alguns atalhos de teclado para
realizar tarefas. As teclas ou as combinações abaixo realizam as seguintes tarefas:
11
Opções:
O aplicativo mail contém alguns comandos para sua operação. Estes comandos são digitados
na linha de comando do mail, representada pelo &.
t exibir a mensagem
d deleta mensagem
m próxima mensagens
r responder ao remetente da mensagem
s anexar arquivo à mensagem
q sair do aplicativo mail e deixar mensagens na fila
12
Unidade 3
Documentação do AIX
O AIX provê documentação em várias mídias. Podemos consultar o manual impresso do
AIX, por exemplo. Existem também manuais do AIX online, no site da IBM. Outro tipo de material
online sobre o AIX em formato digital são os RedBooks, também encontrados no site da IBM.
man
Unidade 4
Arquivos e diretórios
O AIX tem uma organização hierárquica de arquivos e diretórios. Isto quer dizer que ele
organiza seus dados em forma de árvore, onde o primeiro nível é representado pelo diretório root
(ou também chamado diretório raiz, não confundir com o diretório de root, do usuário root).
AIX impõe uma estrutura interna de acordo com o conteúdo do arquivo. São três os tipos:
Exemplos de caminhos
ls
Opções:
• l listagem em formato longo
• a listagem dos arquivos ocultos (arquivos que inicial com “.” )
• d listagem dos diretórios
• r ordem reversa
• h exibe o campo do tamanho do arquivo agrupadas em unidades do tipo K (kilo), M
(mega) ou G (giga)
Quando usamos o comando ls com a opção -l, podemos ver os atributos dos arquivos. A
saída do comando com esta opção é como a transcrita abaixo.
d diretório
b arquivo de bloco
c arquivo especial de caractere
p canal
s socket
- arquivo comum
Estes 9 são subdivididos em três grupos: três para o dono do arquivo, três para o grupo a que
o arquivo pertence ou está associado e finalmente, três para os outros usuários.
cd
mkdir
Comando usado para criar diretórios vazios. O comando mkdir deve ser seguido do nome do
diretório que se deseja criar. O diretório é criado dentro do diretório corrente. Para se criar um
diretório em outro diretório fora do atual, usamos o caminho absoluto para o diretório. Podemos
também utilizar caminhos relativos para criar diretórios à partir do diretório corrente. Usando a
opção -p, podemos criar uma árvore completa ou diretórios aninhados.
rmdir
Da mesma forma que o comando mkdir, esse comando é usado para remover somente
diretórios vazios de forma relativamente segura. A utilização deste comando é igual à utilização de
mkdir na sequência dos argumentos deste comando. A opção -p também é utilizada para remover
uma árvore completa ou diretórios aninhados.
touch
Para nomes de arquivos e diretórios, devemos observar algumas regras para sua criação e
descrição. Os nomes de arquivos:
Unidade 5
Usando arquivos
cp
O comando cp é usado para duplicar arquivos. Com ele podemos copiar um ou vários
arquivos. Usa-se o cp digitando cp seguido do arquivo de origem e em seguida do arquivo de
destino.
mv
O comando mv é usado para mover arquivos. Com ele podemos, além de mover um ou
vários arquivos, renomear um arquivo. Usa-se o mv digitando mv seguido do arquivo de origem e
em seguida do arquivo de destino.
wc
ln
Esse comando é usado para criar links (nomes alternativos) para outro arquivo. Quando um
link é criado para um arquivo ou outro link, todas as mudanças nos links são, na realidade,
mudanças no arquivo ao qual estão linkadas.
Opções:
-f Cria o link mesmo se o arquivo destino não exista ou não estiver acessível
-s Cria um link simbólico (soft link)
O comando ln pode criar tanto links simbólicos (soft links) como diretos (hard links); ln cria
links diretos por padrão.
rm
Este comando é usado para remover arquivos do sistema de arquivos do UNIX. A ação
padrão, quando nenhuma opção é indicada, é tentar remover os objetos especificados.
Opções:
Cuidado com o uso de caracteres curinga, pois pode ter conseqüências desastrosas! Ao
entrar este comando, esteja absolutamente certo do diretório em que será executado.
cat, pg e more
O comando cat permite visualizar o arquivo, sem abri-lo em um editor de texto. Para usá-lo
basta digitar cat seguido do nome do arquivo.
Unidade 6
Permissões de arquivos
Conforme descrito em atributos de arquivos, na unidade 4, as permissões de arquivos são os
atributos de um arquivo que indicam quem pode fazer que tipo de operação com os arquivos.
Existem três comandos básicos para se trabalhar com as permissões de arquivos, uma vez que
podemos mudar as permissões, o dono do arquivo e o grupo ao qual pertence o arquivo.
chmod
Esse comando é usado para alterar o modo de acesso de um arquivo ou diretório. É usado
digitando-se chmod seguido de opções e por último seguido do nome do arquivo.
Opções:
u usuário
g grupo
o outros.
+ dá permissão
- retira permissão.
r ler(read)
w escrever(write)
x executar.
Outra forma de usar o chmod é utilizando as opções em formato octal ao invés de utilizar as
opções em forma de caracteres.
chown
Este comando é usado para tornar outro usuário dono de um arquivo. Para transferir a
propriedade de uma arquivo, o usuário deve ser dono do arquivo. O comando chown é seguido do
nome do novo dono e em seguida do nome do arquivo.
chgrp
Este comando é usado para mudar o grupo ao qual o arquivo pertence. Para transferir o
grupo de uma arquivo, o usuário deve ser dono do arquivo. O comando chgrp é seguido do nome do
novo grupo e em seguida do nome do arquivo.
19
Unidade 7
O editor vi
O vi é o editor típico dos sistemas UNIX e tem uma filosofia de funcionamento ligeiramente
diferente dos editores convencionais. Ele possui uma interface despojada, mas é um aplicativo
muito versátil.
Uso
vi arquivo
Uma vez iniciado, o editor entra no modo visualização e aguarda comandos do usuário. Para
entrar no modo edição que permite alterar o texto, tecle <Insert>. Enquanto estiver no modo edição
o editor não recebe comandos, para retornar ao modo visualização tecle <ESC>.
Inserção de caracteres
Exclusão de caracteres
Substituição de caracteres
Movimentação de cursor
Busca de palavras
Operações de bloco
:r arquivo inserir o conteúdo do arquivo na posição atual do arquivo que está sendo
editado.
:w salva alterações.
:w abc grava arquivo com o nome abc.
:q sai se o arquivo não foi modificado.
:q! sai descartando quaisquer alterações não gravadas.
:wq sai, salvando o arquivo editado.
ZZ sai, salvando o arquivo editado.
22
Unidade 8
Shell básico
Shell é o programa responsável em interpretar as instruções enviadas pelo usuário e seus
programas ao sistema operacional (kernel). É ele quem executa comandos lidos do dispositivo de
entrada padrão (teclado) ou de um arquivo executável. É a principal ligação entre o usuário, os
programas e o kernel. O AIX possui três tipos de shell básicos que são o ksh, csh e o sh. Entre eles
o padrão é o korn shell, ou simplesmente ksh
Os comandos podem ser enviados de duas maneiras para o interpretador: interativa e não-
interativa.
Na forma interativa os comandos são digitados no aviso de comando e passados ao
interpretador de comandos um a um. Neste modo, o computador depende do usuário para executar
uma tarefa, ou próximo comando.
Na forma não-interativa são usados arquivos de comandos criados pelo usuário (scripts) para
o computador executar os comandos na ordem encontrada no arquivo. Neste modo, o computador
executa os comandos do arquivo um por um e dependendo do término do comando, o script pode
checar qual será o próximo comando que será executado e dar continuidade ao processamento. Este
sistema é útil quando temos que digitar por várias vezes seguidas um mesmo conjunto de
comandos.
Existe ainda uma terceira forma que mescla as duas formas anteriores, que são os shell
scripts interativos, onde o usuário tem um conjunto de opções pré-definidas.
Metacaracteres são caracteres que tem um significado especial para o shell. Normalmente
não são usados para compor nomes de arquivos. Quando usados em nomes de arquivos, não podem
ser utilizados como início do nome. Os seguintes caracteres compõem o conjunto de
metacaracteres: ! " $ % ^ & * ( ) { } [ ] # ~ ; ' < > / ? ' \ |
Caracteres curinga são um subconjunto recursos usados para especificar um conjunto de
arquivos e/ou diretórios de uma única vez. Permitindo assim, manipular vários arquivos/diretórios
com um único comando.
Redirecionamento e pipe
STDIN_FILENO (stream stdin, entrada 0): entrada padrão (padrão: teclado). Usado por
todas as funções de entrada de dados que não especificarem um descritor de arquivo.
STDOUT_FILENO (stream stdout, entrada 1): saída padrão (padrão: terminal). Usado por
todas as funções de saída de dados que não especificarem um descritor de arquivo.
STDERR_FILENO (stream stderr, entrada 2): saída de erro (padrão: terminal). Usado pelas
funções que produzem mensagens de erro.
Baseado nestes três descritores acima, podemos compreender melhor como funcionam os
redirecionamentos no AIX.
Redirecionamento de entrada
Redirecionamentos de saída
tee
Este comando envia o resultado do programa para a saída padrão (tela) e para um arquivo ao
mesmo tempo. Deve ser usado após o redirecionador pipe "|".
Combinação de redirecionamentos
grep
especificando-se seus nomes na linha de comando, embora usualmente seja usado em um arquivo
por vez.
Opções:
Unidade 9
Criar e atribuir um valor a uma variável é muito simples. Escreve-se o nome da variável,
seguida do sinal de = e em seguida o seu conteúdo.
Usando metacaracteres
Unidade 10
Processos
Processos são aplicações ou comandos que estejam em execução no sistema. No AIX vários
processos podem coexistirem simultaneamente. Para organizar a execução dos processos, o sistema
determina um número para o processo (PID ou Process ID). O shell armazena seu próprio número
de processo na variável $$. O número do processo é extraído da tabela de processos.
Listando processos
Para identificar quais processos estão sendo executados, utilizamos o comando ps, que será
descrito posteriormente em detalhes.
Processos são organizados numa hierarquia pais/filho. Quando se inicia um processo, seja
ele uma aplicação ou um comando, é um processo pai. Um processo filho é o produto do processo
pai. Um processo pai pode ter vários processos filho, mas um processo filho só pode ter um pai.
Quando um processo pai é iniciado, o PPID (PPID ou Parent Process ID – ID do processo
pai) na lista de processos é igual ao número PID do próprio processo. Já um processo filho, quando
é iniciado, recebe do sistema um número de processo e se relaciona com o processo pai através do
PPID, que receberá o mesmo valor do PID processo pai.
Variáveis e processos
export
O comando export transforma variáveis locais em globais, ou seja, permite que qualquer
processo em execução possa trabalhar com a variável em questão. Para se exportar uma variável
utiliza-se o comando export seguido do nome da variável=valor da variável.
Shell script
Unidade 11
Controlando processos
ps
O comando ps nos permite ver quais os processos estão em execução e também nos mostra
qual usuário executou o processo, hora que o processo foi iniciado, entre outras informações.
Algumas vezes é útil ver quais processos estão sendo executados no computador, pois assim
podemos saber quais processos podemos interferir.
Opções:
Iniciando processos
Processos podem ser iniciados de diferente formas. Podem ser invocados a partir de outros
processos ou pela própria vontade do usuário. Processos podem demorar segundos ou horas para
serem finalizados. Entretanto, enquanto um processo é executado, o usuário pode desejar executar
outros processos paralelamente, ou simplesmente ter seu terminal livre.
Existem dois estados para a execução de um processo, que são: primeiro plano (Foreground)
e segundo plano (Background). Processos em foreground são aqueles que estão em execução e são
exibidos no terminal, e que o usuário tem controle total sobre sua execução. Processos em
background são aqueles que estão em execução, entretanto o usuário não interage com eles, ou seja,
que não estão em exibição.
Finalizando processos
Algumas vezes processos podem demorar a serem executados. E em alguns casos o usuário
pode necessitar de terminar um processo antes do fim de sua execução. Os processos em execução
podem ser interrompidos através de combinação de teclas ou através do comando kill.
Para cancelarmos um processo em foreground, podemos utilizar a combinação de teclas
ctrl+c ou o comando kill, entretanto o processo pode ignorar a combinação de teclas ctrl+c. Neste
caso, o processo só pode ser interrompido com o comando kill. Para os processos em background só
são possíveis serem cancelados através do comando kill.
kill
O comando kill é utilizado para cancelar (matar) um processo. Sua utilização se dá digitando
o comando kill seguido de sinal de sistema (não obrigatório) e o PID do processo. Quando é
digitado o comando kill sem o sinal do sistema, é informado ao processo que ele deva finalizar-se
por conta própria. Com o comando kill usamos o sinal de sistema “-9”, que interrompe
29
imediatamente o processo.
Para cancelar um processo o usuário precisa ser o dono do processo ou o usuário root para
terminá-lo. Você pode verificar se o processo foi finalizado através do comando ps.
Liberando o terminal
Sinais
Os sinais são usados para informar ao comando kill o que fazer com o PID especificado no
comando. Por padrão, o comando kill envia um sinal de 15 para um processo.
Para enviar um sinal diferente para o processo use kill -num PID onde num é o sinal que
você desejar para enviar.
O sinal HANGUP (01) é enviado para um processo quando o processo pai morre, por
exemplo, se você fizer logoff enquanto um processo em segundo plano está em execução.
Sinais do sistema
Interrompendo processos
bg, fg e jobs
segundo plano.
O comando fg permite fazer um processo executando em segundo plano ou parado, voltar a
ser executado em primeiro plano. Você deve usar o comando jobs para saber o PID do processo
executando em segundo plano ou interrompido. Este número será informado ao comando fg para
ativa-lo em primeiro plano.
O comando jobs permite fazer um programa rodando em segundo plano ou parado, rodar em
primeiro plano. Você deve usar o comando jobs para o número do processo rodando em segundo
plano ou interrompido, este número será utilizado com o comando fg para ativa-lo em primeiro
plano.
nohup
Daemons
Unidade 12
Utilitários do AIX
find
Procura por arquivos/diretórios no disco. find pode procurar arquivos através de sua data de
modificação, tamanho, etc., através do uso de opções.
Opções:
grep
Procura por um padrão de texto. É usado digitando grep seguido do texto a ser procurado,
seguido do nome do arquivo seguido opcionalmente de opções.
Opções:
sort
Opções:
head e tail
O comando head mostra as linhas iniciais de um arquivo texto. Já o comando tail mostra as
linhas finais de um arquivo texto. Os dois comandos utilizam as mesmas opções.
32
Opções:
tn ou telnet
Tanto o tn quanto o telnet realizam a mesma operação. São usados para acessar remotamente
a linha de comando de outro sistema AIX. Utilizam-se estes comandos digitando tn ou telnet
seguido do nome do sistema remoto.
ftp
ftp é a aplicação que permite que façamos transferência de arquivos. Assim como o tn/telnet,
utilizamos o comando ftp digitando ftp seguido do nome do sistema remoto. Os comandos mais
usados no ftp são:
tar
Comando que é utilizado para fazer backup e também para compactar arquivos. As opções
principais do tar são:
Unidade 13
Este comando processa uma lista de argumentos e executa um outro comando qualquer
baseado nesta lista de argumentos.
Opções:
Outra forma de se passar uma lista de argumentos ao xargs usando redirecionadores com o
arquivo que contém os argumentos ao invés de se utilizar a opção -a.
file
O comando file exibe uma descrição do arquivo ou aplicação. Este comando só funciona se
o arquivo ou aplicação tiverem uma string especial que os identifique.
diff
Compara dois arquivos e mostra as diferenças entre eles. O comando diff é usado somente
para a comparação de arquivos em formato texto. As diferenças encontradas podem ser
redirecionadas para um arquivo que poderá ser usado pelo comando patch para aplicar as alterações
em um arquivo que não contém as diferenças. Isto é útil para grandes textos porque é possível
copiar somente as modificações.
É usado digitando-se diff seguido de opções (não é obrigatório) seguido dos nomes dos
arquivos a serem comparados.
Opções:
-a indica as linhas que devem ser adicionadas ao primeiro arquivo para obter o mesmo
formato do segundo arquivo
-d indica as linhas que devem ser deletadas do segundo arquivo
-c indica as linhas que devem ser alteradas entre o primeiro e o segundo arquivos
cmp
Compara dois arquivos de qualquer tipo (binário ou texto). Os dois arquivos especificados
34
serão comparado e caso exista diferença entre eles, é mostrado o número da linha e byte onde
ocorreu a primeira diferença na saída padrão. É usado digitando-se cmp seguido dos dois arquivos a
serem comparados e das opções.
Opções:
Unidade 14
Um shell script nada mais é que uma sequências de comandos a serem executados.
Entretanto, algumas regras devem ser definidas dentro de um shell script. No AIX, uma shell script
começa com a definição de qual o shell deverá ser usado. Temos no sistema alguns shells, cada um
com sua particularidade, mas todos funcionando basicamente da mesma forma. Os três shells do
AIX são o Bourne shell (sh), o Korn shell (ksh) e o C shell (csh). O shell padrão do AIX é o ksh, e
quando não definimos o shell, ele utiliza o shell padrão para executar o script.
A linha que identifica qual shell será usado é precedida de #! e seguida do caminho do shell,
como por exemplo #!/bin/sh. Caso o script não conte com esta linha e não seja para ser executado
com o shell padrão, podemos ainda invocá-lo digitando o nome do shell seguido do nome do
arquivo de script.
Em seguida, colocam-se os comandos e toda a estrutura do shell.