sexta-feira, 12 de dezembro de 2008

curso de unix 4

CURSO DE UNIX IV por gato-bravo-e-brasileiro
* Os Comandos Internos e Externos
A maioria dos comandos que voce executa sao externos. Por exemplo, quando voce quer listar os arquivos de um diretorio e digita "ls" voce esta usando um programa externo (/bin/ls). Entretanto, quando usa o comando "cd" para mudar de diretorio voce esta usando um comando interno do shell.
O shell nao cria um novo processo para rodar comandos internos. A grande vantagem dos internos sobre os externos e a velocidade: comandos externos precisam que o shell use as chamadas "fork" e "exec" para criar um subprocesso. Veremos mais tarde varios casos onde isso e vital para o nosso programa e/ou shell script.
Vejamos como o shell interpreta o que voce digitou: se existir algum comando interno com aquele nome, ele e executado. Se o comando digitado contiver o path absoluto (veremos mais tarde) como "/bin/ls" entao esse e executado mesmo se houver algum comando interno com o mesmo nome. Caso nao exista nenhum comando externo com aquele nome e voce nao expecificou o path absoluto entao o shell procurara no seu path pelo programa.
O path e apenas uma string, que expecifica onde o shell deve procurar pelos programas externos. Ele e geralmente especificado nos seus arquivos de configuracao (veremos mais tarde, tambem).
Normalmente programas de uso geral sao localizados no diretorio "/bin", alguns tambem ficam em "/etc", porem sao normalmente apenas usandos pelo administrador do sistema.
O path fica armazenado numa variavel ambiental (veremos mais sobre isso depois) chamada PATH. Provavelmente sera algo como:
PATH=/bin:/usr/bin:/usr/local/bin:/home/seulogin/bin:
Os varios lugares especificados, como voce pode ver, sao separados por ":". O shell faz a procura dos programas externos nos diretorios que voce especificou na ordem em que sao declarados.
* Arquivos no UNIX
Como em todo sistema operacional, os arquivos sob o UNIX possuem nomes. Normalmente esses nomes nao tem restricao quanto ao tamanho, exeto em algumas versoes mais antigas onde o limite era 14 caracteres.
Teoricamente os arquivos sobre UNIX podem conter qualquer caractere, exeto a barra "/". Entretanto e altamente recomendavel que voce use apenas letras e evite a pontuacao, pois isso podera causar alguns problemas quando voce tiver que acessar um arquivo. Use as regras abaixo quando for nomear um:
* Maiusculas e Minusculas.
O UNIX e sempre case-sensitive, ou seja, letras maiusculas sao tratadas diferentemente das minusculas (ao contrario do DOS, Windows 95, OS/2, etc). O que isso significa? Voce pode ter no mesmo diretorio simultaneamento os arquivos "ABCD", "AbCd", "abcd" e assim em diante.
* Underscore (_)
Underscores facilitam a criacao de um arquivos com um nome composto de varias palavras. Evite usar o espaco para nao ter problemas futuros. Em vez de criar um arquivo chamado "planilhajan96" use "planilha_jan_96".
* Pontos (.)
Os pontos sao usandos frequentemente para especificar o tipo do arquivo. Por exemplo, arquivos como "aaa.c" geralmente sao programas escritos em C, enquanto um arquivo do tipo "aaa.txt" geralmente sera um texto. Fora o ponto evite usar outros tipos de pontuacao.
Uma coisa muito importante sobre delecao de arquivos: uma vez deletado, o arquivo nao pode ser mais recuperado. Logo tome muito cuidado quando usar wildcards com o comando "rm" ou similar.

ass:gato-bravo-e-brasileiro

Nenhum comentário: