A janela apresenta os principais comandos utilizados em UNIX, problemas e mensagens de erro encontrados decorrentes da utilização.
Consulte também:
Suporte ao SPRING
Sobre as interfaces
Instalação do SPRING
Configurações do SPRING
Cópias reserva - backups
Seu computador consiste de dois módulos, o "hardware" e o "software". O hardware representa o equipamento físico: monitor, teclado, discos, processador, memória e outros dispositivos. O software representa o conjunto de programas, que o hardware executa, com determinado fim.
O software de um computador pode ser de dois tipos:
O sistema operacional é o programa de sistema mais fundamental, pois ele controla todos os recursos do computador e fornece a base sobre a qual os programas de aplicação podem ser escritos. O sistema operacional é uma camada de software colocada em cima do hardware de modo a esconder as complexidades inerentes a este mesmo hardware, como pode ser visto na figura abaixo.

As principais tarefas de um sistema operacional são as seguintes:
Estas tarefas são realizadas através de um conjunto de instruções fornecido pelo sistema operacional. Estas instruções são denominadas de "system calls" (chamadas do sistema) as quais são responsáveis pela interface com o programa do usuário, e formam o que é conhecido como o "kernel" do sistema operacional.
Um sistema operacional como o UNIX é o responsável pela implementação das chamadas do sistema. Os editores, compiladores, assemblers, linkers e interpretadores de comando não fazem parte do sistema operacional. O interpretador de comando, denominado shell, embora não faça parte do sistema operacional, utiliza com muita freqüência as suas características e serve como um bom exemplo de como as chamadas do sistema podem ser usadas. O shell é a interface principal entre um usuário no terminal e o sistema operacional.
O shell é o primeiro programa a ser rodado quando se faz o login (entrar no sistema).
Existem vários shells do UNIX, os mais populares estão em dois grupos: o Bourne Shell (ou Korn) e o C Shell.
Para saber que tipo de shell se esta usando, observe se o UNIX exibir um sinal de $ depois que você fez o login, você possui o Bourne Shell; se o UNIX exibir um sinal de %, você esta usando o C Shell. Tradicionalmente o System V usa o Bourne Shell (executável de nome "sh") e o BSD usa o C Shell (executável de nome "csh").
Os shells normalmente usam caracteres especiais para evitar a digitação de comandos longos.
ex: !! significa repetir o último comando digitado (só funciona no C Shell) !c significa repetir o último comando iniciado pelo caracter "c".
Descendentes do BSQ (Berkeley Software Distribution)
Existem várias versões do UNIX. Quatro versões são predominante, as quais as principais são o BSD e o System V.
1- Berkeley Software Distribution (BSD)
Esta versão do UNIX foi desenvolvida pela Universidade de Berkeley, tendo sido a primeira que apresentou a versão comercial 4.2 em 1982/1983 para o suporte dos protocolos de rede Internet (TCP/IP). Foi liberada também em 1986 a versão 4.3. O SunOS é derivado destas versões 4.x.
2- AT&T UNIX System V
Várias facilidades de comunicação entre processos foram fornecidas pelo System V: message queues, semáforos e memória compartilhada. As versões do System V são as seguintes:
* Na SUN que utiliza Solaris 1.0 o UNIX é do tipo BSD, a na Solaris 2.0 é SVR4
3- Microsoft Xenix, System V
Xenix é similar ao AT&T System V Release 2.0. O SistemaXenix foi portado para vários ambientes de hardware, usualmente rodando em CPUs INTEL 286 e 386 (computadores compatíveis com IBM-PC).
A maior fornecedora do Xenix é a Santa Cruz Organization (SCO), uma associada da Microsoft. É um sistema obsoleto, porém ocupa muito menos espaço de disco e é mais rápido.
4- OSF/1
Open Software Foundation produziu outro tipo de UNIX: OSF/1. É baseado no BSD, mas com características do System V. É fornecido principalmente pela Digital Equipament Corporation.
5- Linux
Sistema operacional livre inicalmente desenvolvido por Linus Torvalds. Atualmente há várias distribuições do sistema, para diversas plataformas, desde mainframes até um relógios de pulso, passando por várias arquiteturas: Intel , StrongARM , PowerPC , Alpha etc., com grande penetração também em dispositivos embarcados , como handheld , PVR, vídeo-jogos e centrais de entretenimento etc.
Uma das grandes razões do uso do UNIX é a sua capacidade de utilização em redes. Outros sistemas operacionais necessitam de um software adicional. No UNIX esta capacidade é parte do sistema operacional e é ideal para e-mail, www e conexão com a internet.
UNIX foi baseado na filosofia "smal is good" no projeto de um sistema. A idéia que cada programa execute bem uma única tarefa. Assim o UNIX é um sistema operacional flexível e fácil de adaptar-se a necessidades específicas.
O sistema operacional UNIX foi escrito numa linguagem (C) independente do código de máquina. Assim o UNIX foi portado para uma grande variedade de plataformas. Devido a esta característica como um sistema operacional aberto.
Todo usuário do UNIX tem um nome e uma senha. O gerenciador do sistema lhe dá um nome de usuário e uma senha.
O UNIX sempre considera como letras diferentes as letras em caixa alta e caixa baixa, em qualquer comando, nome de arquivo ou nome de usuário, portanto, digite seu nome no "login" exatamente como foi criado.
O nomes de usuário do UNIX, quase sempre são escritos inteiramente em caixa baixa.
Se ocorrer em erros na digitação de seu nome, você pode usar as teclas de Backspace (Retrocesso) ou Delete (Apagar) para corrigir o caracter errado, ou utilizar a tecla @ ou Crtl-U para desfazer a digitação.
Caso não lembre sua senha, somente o gerente do sistema (root) poderá lhe dar outra, para que entre no sistema. O nome de senha não tem limite de caracteres, mas quase sempre só importam os oito primeiros.
ex: cosmus login: curso1
Password: _______
Você pode mudar sua senha sempre que fizer o login, usando o programa "passwd". Ele pede que você introduza sua senha antiga para provar que você é a mesma pessoa que fez o login. Em seguida deve escrever 2 vezes a nova senha para ter certeza que digitou corretamente.
ex: cosmus - /home/usuario/mario>passwd
Old passwd: xxxxxx
New passwd: ________
Retype new passwd: _______
Fazer o logout significa encerrar sua sessão de trabalho. Utilize o comando "logout" ou "exit".
ex: cosmus - /home/usuario/mario>logout
O arquivo é a unidade básica de um sistema operacional. Os arquivos em UNIX podem dos seguintes tipos:
O diretório é um arquivo que contém outros arquivos. Um diretório pode conter outros diretórios.
ex: /usr/games/chess
- games contém o arquivo chess e é filho de usr
- o diretório usr contém o subdiretório games e é seu pai.
Todo sistema operacional UNIX é organizado em uma série de sistema de arquivos hierárquicos. O sistema de arquivo root é o que está localizado no topo da hierarquia da árvore de sistema de arquivos. Normalmente tem-se os seguintes arquivos e diretórios.
/bin /dev /etc /tmp /usr
/boot /export /home /mnt /var
onde:
Tudo que se faz em UNIX depende das permissões dadas aos arquivos. O conceito de permissões de arquivos determina quais os usuários que podem manipular um determinado arquivo ou diretório. As seguintes permissões são associadas com um arquivo e diretório:
a) Permissão de leitura (r):
b) Permissão de escrita (w):
c) Permissão de execussão (x) (somente para arquivos)
d) Permissões de "search" (diretório somente)
As permissões de arquivos são apresentadas quando se utiliza o comando "ls -l" e são apresentadas como mostra o exemplo a seguir.
ex: drwxr-xr-x 2 mario users 1024 Oct 14 18:33 arquivo1
onde:
drwxr-xr-x = permissões para usuário (dono do arquivo ou diretório), grupo e mundo respectivamente.
2 = número de links do arquivo.
mario = nome do usuário (proprietário) que criou o arquivo.
users = nome do grupo a qual pertence o arquivo.
1024 = tamanho do arquivo em bytes.
Oct 14 18:33 = mês, dia e hora de criação do arquivo.
arquivo1 = nome do arquivo.
Veja como mudar as permissões de arquivos mais a frente.
Muitas vezes para manipular um arquivo é necessário estar no diretório onde ele está localizado. O comando "cd" (change directory) permite nos mover de um diretório para outro.
NOTA: O diretório home (diretório corrente, quando iniciamos uma sessão de trabalho) pode ser abreviado com o caractere (~) , e o (..) refere-se sempre a um diretório acima do qual nós estamos.
ex:
~/file = refere-se a um arquivo no diretório home.
~user = refere-se ao diretório home de um outro usuário.
~user/file = refere-se a um arquivo localizado no diretório home do usuário.
O comando "pwd" (print working diretory) nos informa onde nós estamos na hierarquia dos sistemas de arquivos.
O comando "mkdir" cria um diretório a partir do diretório corrente.
O comando "rmdir" remove diretórios existentes. Um diretório deve estar vazio antes de removê-lo, ou seja, ele não deve conter arquivos nem outros diretórios.
O comando "ls" nos diz quais os arquivos e diretório estão num determinado diretório.
ex:
ls =mostra o conteúdo do diretório corrente.
ls dados = mostra o conteúdo do diretório indicado.
ls -a = mostra os arquivos que iniciam com um ponto(.), os
quais são arquivos escondidos.
ls -l = mostra informação completa dos arquivos do diretório corrente.
ls - F = apresenta que tipo de arquivos estão no diretório (diretórios,
executáveis, arquivos simples ou link simbólico).
NOTA: O UNIX permite trabalhar com mais de um arquivo de uma vez, através dos caracteres (*) e (?). (*) representa quaisquer número de caracteres no nome do arquivo. (?) representa um único caracter no nome do arquivo.
O comando "more" mostra o conteúdo de um arquivo, uma página de cada vez, basta apertar a tecla Space para continuar a ver o resto do conteúdo do arquivo.
O comando "cat" mostra o conteúdo de um arquivo, mas não no modo página a página. Serve também para concatenar (agrupa) arquivos.
O comando "cp" copia arquivos de um lugar para outro na mesma máquina ou entre máquinas diferentes caso seu sistema esteja enxergando outro disco em outra máquina.
O comando "rcp" permite a cópia de arquivos ou diretórios entre máquinas diferentes.
ex:
rcp apollo:/home/usuario/arq1 . = copia arquivo arq1 de outra máquina para
a nossa, com mesmo nome no diretório corrente.
rcp arq1 mercury:/home/usuario/ = copia arquivo arq1 para outra máquina.
O comando "mv" serve para mover arquivos de um lugar para outro, ou renomear um arquivo. Caso não seja usado o parâmetro (-i) será substituído o conteúdo do arquivo destino caso este exista.
O comando "rm" remove arquivos ou diretórios. Recomenda-se sempre usar o parâmetro (-i) para não apagar arquivos acidentalmente.
Existem várias maneiras de se criar arquivos como:
Quando se deseja criar um arquivo texto que não é muito grande, o comando "cat" pode bastante útil e simples. A sintaxe é
chmod
O comando "chmod" permite a mudança de permissões de arquivos. Pode-se utilizar o modo simbólico ou numérico para alterar as permissões.
Modo simbólico.
NOTA: Quando se cria um arquivo ou diretório novos, o sistema atribui permissões default para os arquivos ( -rw-rw-r-- ) e diretórios ( drwxrwxr-x ).
Modo numérico.
A soma dos valores na coluna acima diz qual as permissões estão sendo atribuídas ou retiradas.
ex:
O comando "chmod 735 texto.txt" fará com o arquivo fique com as seguintes permissões:
-rwx-wxr-x mario users 845 Oct 14 12:40 texto.txt
A propriedade de um arquivo pode ser mudada com o comando "chown".
OBS : Por razões de segurança somente o super-usuário (root) pode mudar a propriedade de arquivos.
O comando "ln" serve para definir links no sistema, de modo não precisar duplicar arquivos e diretórios. A sintaxe é:
Se o link é aplicado em arquivos localizados em sistemas de arquivos diferentes, uma mensagem de erro será enviada (Cross-device link) pelo sistema. Neste caso, utilize um link simbólico para o arquivo.
A seguir apresentamos outros comandos e alguns argumentos normalmente utilizados em C shell.
Normalmente, os comandos mostram os seus resultados na tela, ou seja, o terminal é conhecido como a saída padrão dos comandos (standard output). Da mesma forma, usualmente, os comandos operam sobre os dados que estão sendo introduzidos pelo teclado, ou seja. o terminal é a entrada padrão do comando (standard input).
O UNIX permite direcionar a saída de um comando para qualquer outro arquivo.
ex:
ls > list.txt = a listagem dos arquivos no diretório corrente é armazenada em list.txt.
Um arquivo pode ser especificado como entrada para um comando.
ex:
cat < list.txt = o conteúdo do arquivo list.txt é usado como
entrada para o comando cat apresentar os dados.
Um pipe ocorre quando a saída de um comando é direcionada como entrada para outro. Um pipeline é uma seqüência de pipes.
ex:
ls /etc | wc = onde wc mostra o número de linhas, palavras e caracteres do diretório /etc.
Quando um comando é executado sem problemas, ele produz resultados na saída padrão, Mas, quando o comando encontra problemas na sua execução, ele utiliza um canal diferente para enviar mensagens de erro para o terminal. Este segundo canal, chamado de erro padrão (standard error), pode também ser redirecionado.
Para redirecionar o erro padrão para o mesmo destino da saída padrão, basta adicionar um (&) no símbolo de redireção de saída, ou seja: >&
Para que um comando seja executado sem apresentar nenhuma mensagem de erro, utilize a seguinte sintaxe:
comando >& /dev/null
Para separar o erro padrão da saída padrão, utilizar a seguinte sintaxe:
(comando > arquivo) >& errorfile
Quando se quer forçar para que a saída apareça no terminal, ela pode ser redirecionada para /dev/tty
comando >& /dev/tty
Após cada comando ser interpretado pelo C Shell, um processo independente, com um número de identificação (PID), é criado para realizar o comando. O sistema usa o PID para acompanhar o status de cada processo.
ps
Para verificar os processos que estão rodando, o comando "ps" é utilizado. Este comando mostra:
Um processo é denominado "daemon" quando ele está continuamente em execução.
O comando "kill" pode ser utilizado para forçar a terminar um processo.
A utilização de aliases permite substituir um comando longo por um curto, ou de mais fácil sintaxe. Pode-se ainda substituir uma seqüência de comandos.
Para que um alias seja global e permanente, ele deve ser declarado no arquivo ".cshrc" que fica no diretório de login (directory home) do usuário.
ex:
alias = mostra todos os alias declarados
alias rm 'rm -i' = permite que qualquer eliminação de arquivos seja pedida uma confirmação.
unalias rm = remove o alias declarado para o exemplo acima.
Todo UNIX permite executar vários comandos de uma vez colocando-os em background. Executar um comando em background significa que outros comandos podem ser introduzidos enquanto o outro está rodando. Para rodar em background, a linha de comando deve ser terminada com um (&).
ex:
nroff -ms text.file &
Para procurar por um string de caracteres num arquivo específico, o comando "grep" deve ser utilizado.
O comando "grep" pode também ser utilizado com redireção de saída, sendo freqüentemente usado como filtro com outros comandos.
ls -l | grep .cshrc = a saída do comando ls permite o grep
verificar a existência do arquivo .cshrc.
Arg List too long
A lista de argumentos (o que esta escrito na linha de comando após o nome do comando) é muito longa. Confira os argumentos passados e digite novamente.
Broken pipe
Quando está rodando dois comandos conectados por um canal (|) e o programa na extremidade de recepção do canal saiu antes que recebesse todos os dados. Não é propriamente um erro.
Device or resource busy
Um dispositivo, como um terminal ou impressora, está sendo usado por outro programa. Espere até que outro programa termine de usar o dispositivo.
Different file system
Quando se usa o comando "ln" (p/ link simbólico) para criar uma conexão para um arquivo num sistema de arquivos diferente (um disco diferente ou um computador diferente. Isto ocorre se seu sistema não pode fazer uma conexão soft, de um sistema de arquivos para outro. Use o comando df para descobrir que discos o seu computador tem e que diretórios estão em cada disco. Se sua versão do UNIX não puder fazer conexões soft, a única solução será copiar o arquivo, em vez de criar a conexão para ele.
File exists
Já existe um arquivo com este nome. Esta mensagem, raramente, é vista, porque a maioria dos comandos do UNIX apaga um arquivo existente quando quer criar um novo, a menos que se especifique um argumento ao comando.
File table overflow
O sistema está ocupado demais e não pode manipular, simultaneamente, todos os arquivos que os usuários pediram.
File too large
Quando se tenta criar um arquivo grande demais, devido a limitações impostas a cada usuário, estabelecido pelo gerente de sistemas. Verifique o espaço reservado a sus área e solicite mais espaço caso realmente necessite.
Illegal option
Quando se digita uma opção que não funciona com este comando. Confira o que você digitou e repita o comando. Veja também os argumentos de seu comando com "man <comando>".
Insufficient arguments
Você deixou de fora alguma coisa no comando. Confira o que você digitou e repita o comando. Veja também os argumentos de seu comando com "man <comando>".
I/O error
Você digitou o nome de um diretório, quando o UNIX queria um nome de arquivo. Certifique de que digitou um nome de arquivo.
Login incorrect
Você está tentando fazer o login e não introduziu o nome de usuário correto ou a senha não corresponde. Caso tenha esquecido sua senha somente o gerente do sistema (root) poderá criar uma nova para você.
No such file or directory
O Unix não pode achar um arquivo ou diretório com o nome que você digitou. Não esqueça que o sistema faz distinção entre caixa alta e caixa baixa. Confira a grafia de seus arquivos e diretórios com o comando "ls -s". Para nomes do caminho, verifique se começam com uma barra (caminho absoluto) ou não (caminho relativo).
No such process
O UNIX não pode achar o processo ao qual você se refere, normalmente, em conseqüência do comando "kill". Verifique de número do processo com o comando "ps".
No more processes
O seu sistema não pode criar mais nenhum processo novo. Provavelmente o sistema não tem nenhum espaço para este tipo de operação. Muitos processos em background pode causar este erro.
No espaço left on device
O disco está cheio. Apague alguma coisa para cria espaço ou veja com o gerente do sistema quem está usando demais o disco onde acusou o erro.
Not a diretory
O UNIX precisava de um nome de diretório, mas você digitou um nome de arquivo. Corrija o nome do diretório ou crie ele antes.
Not enough space
O sistema ficou sem espaço na memória (não no disco). Outros processos mais demorados devem estar rodando. Tente novamente mais tarde.
Permission denied
Você não tem permissão para fazer nada do que tentou fazer através do último comando que emitiu. Use o comando "ls -l" para ver as permissões de arquivos e diretórios, inclusive que é o dono.
Read-only file system
Você está tentando mudar um arquivo que o UNIX não está autorizado a mudar. Peça ao responsável pelo arquivo que faça uma cópia do arquivo que deseja mudar e dê as permissões que você deseja.
Too many links
Você está tentando criar tantas conexões para um arquivo que excedeu o número máximo de conexões por arquivo.
Usage ...
O UNIX não gosta do número ou do tipo de argumentos que você digitou depois do comando. Ele está dizendo o jeito correto do comando.