|
| UMA
BREVE INTRODUÇÃO SOBRE UNIX |
O Unix
é um sistema operacional desenvolvido em 1969, pela Bell Laboratories,
originalmente para executar em computadores da DEC, sendo que mais tarde
passou a; ser utilizado em mainframes.
Num sentido menos amplo o UNIX é
um sistema operacional de tempo compartilhado, denominado kernel. O kernel
é um programa que controla os recursos do computador e os aloca entre os
usuários. Ele controla os programas e periféricos (disco, terminais,
impressoras, etc.) que estão ligados à máquina.
O UNIX possui algumas características
como:
•Capacidade de multitarefa
•Mutiusuários
•Portabilidade
•Conectividade e comunicações
•PARA QUEM USA DOS
Para quem está acostumado com o
DOS, notará algumas diferenças, como os nomes de arquivos, que no DOS tem
apenas 8 de nome e 3 de extenção, no UNIX não tem limite podendo ter várias
extenções. Ex: relatorio.txt.zip.tar. Outro detalhe é por ser um
sistema mutiusuário, a entrada ao sistema é feita com um login e um
password, onde login é o nome do usuário e password é uma senha de
segurança.
•PERMISSÕES DE
ARQUIVOS
No Unix existe uma sequência de
caracteres que definem o que cada usuário pode fazer com cada arquivo
ou diretório e somente o dono do arquivo (owner) e o gerente da rede (root)
pode mudar as permissões atraves do comando chmod. Essa sequência é:
d
rwx rwx rwx
|
| |
|
Onde:
tipo dono grupo outros
r=leitura
w=escrita (gravação)
x=execução
•Tipo - é o tipo do arquivo
e pode ser:
•d = diretório
•b = block
•r = raw
•l = simbolic link
•Dono - dono do arquivo, o dono
é quem o criou ou copiou.
•Grupo - grupo de usuários a
que o dono pertence (exemplo: grupo alunos ou grupo professores)
•Outros - demais usuários, o
resto das pessoas que tem o acesso ao arquivo
Exemplo de permissão para um
arquivo: Pode ser verificado com o comando ls -l:
->ls -l
-rwxrw-r-- 2 cris
16345 May 12 9:02 file
•DETALHES IMPORTANTES
•O Unix é sensível a caixa das
letras, isto é, se um comando é em letra minúscula não pode ser digitado
em maiúscula ou se um parâmetro do comando for em maiúscula
tem que ser digitado em maiúscula
•Existem arquivos e diretórios
escondidos. Para esconder basta colocar um . no começo do nome (.plan)
•Pode-se executar vários
comandos na mesma linha utilizando o caracter ;
•PROCESSOS EM BACKGROUD
Os comandos do UNIX podem ser
executados e ser liberado o prompt para continuar o trabalho na mãquina.
Se um comando leva algum tempo
para mostrar o seu resultado (como um download de algum arquivo) pode ser
colocado um & no final da linha de comando.
Exemplo:
# find / -name *.* &
Pode-se também, enquanto o
comando já está sendo executado, teclar ctrl + z. Com isso o comando será
suspenso e o sistema largará o prompt. Para fazer com que o comando
suspendido rode em background é teclado o comando bg (background). Com o
comando jobs é mostrado todos os comandos que estão em segundo plano e um
número de identificação que serve para coloca-lo em primeiro plano com o
comando fg (foreground) e o número de identificação.
Exemplo:
#ftp ftp.site.com
<----- comando demorado!
(ctrl + z)
<----- ctrl+z para suspender
Suspended
#jobs
<----- comandos em background
[1] find / -name *.* & Running
[2] ftp ftp.site.com Running
#fg 2
<----- job 2 em foreground
ftp>
<-----resultado
•ENDEREÇOS DE USUÁRIOS
•ENTRADA E SAÍDA
Quase todos os comandos Unix tem
uma entrada e produzem uma saída, a entrada de um comando são os dados que
o comando vai processar, essa entrada pode vir de um arquivo especificado
pelo usuário, de um arquivo do sistema, do terminal ou da saída de outro
comando. A saída de um comando são os dados de entrada processados , a saída
de um comando pode ser impressa na tela de um terminal, enviada a um
arquivo, ou servir de entrada a um outro comando.
Existe uma entrada padrão e uma
saída padrão.
Entrada padrão:
A maioria dos comandos Unix
permite que você informe a entrada de dados, geralmente informando o nome
de um arquivo que contém os dados a serem processados pelo comando, mas
caso esta entrada seja omitida, o programa utiliza automaticamente a entrada
padrão para receber os dados a serem processados pelo comando, normalmente
a entrada padrão é o teclado do terminal.
Saída padrão:
Por default a saída dos dados
processados pelo comando são para a saída padrão que é o monitor do
terminal que você está usando, mas você também pode usar esta saída
para ciar ou adicionar dados a um arquivo ou simplesmente usa-la como
entrada para outro comando qualquer.
Redirecionamento:
No sistema Unix é possível o
redirecionamento da entrada padrão, da saída padrão, e ainda possibilitar
que a saída de um comando seja a entrada e outro, todos estes recursos são
acessados através de símbolos,
são eles o de direcionamento de
saída para um arquivo >, o de redirecionamento de um arquivo como
entrada <, e o símbolo que direciona a saída de um programa para a
entrada de outro |.
Redirecionamento de saída:
Para redirecionar a saída de um
comando para um arquivo, você deve inserir o símbolo > depois de todos
os parâmetros do comando, e por último por o nome do arquivo que irá
receber os dados processados, por exemplo:
%ls -lap > meu.diretorio Esta
linha de comando criará o arquivo "meu.diretorio" com o conteúdo
da saída do comando "ls -lap", caso o arquivo
"meu.diretorio" já existisse no diretório corrente o mesmo seria
sobrescrito, para que isto não ocorra, ou seja para que os dados sejam
acrescentados no arquivo, ao invés de usar ">" use
">>", assim os dados serão inseridos no fim do arquivo já
existente sem sobreescrever o seu conteúdo.
Redirecionamento de entrada:
Para redirecionar a entrada que
deveria ser feita através do teclado para um arquivo que já contenha os
dados da entrada você deve usar o símbolo "<" depois de todos
os parâmetros do comando, e por último por o nome do arquivo que contém
os dados a serem processados, por exemplo:
%grep -e teste < meu.diretorio
Esta linha executará o comando grep como se você tivesse digitado todo o
conteúdo do arquivo "meu.diretorio" como um texto para ser
processado pelo comando.
Redirecionamento da saída para
a entrada (pipeline):
Para redirecionar a saída padrão
de um comando para a entrada padrão de outro você deve usar o símbolo
"|" para separar um comando do outro, este símbolo segue a mesma
sintaxe do encadeamento de comandos, com a diferença que a saída do
comando é usada como entrada do próximo comando encadeado, o último
comando colocará sua saída na saída padrão. Por exemplo:
%ls -lap | sort | grep -e teste |
wc -l Esta linha de comando usará a saída do comando ls como entrada do
comando sort que direcionará a saída para o comando grep, e este irá
direcionar sua saída para o comando wc, que por sua vez irá apresentar sua
saída na tela.
• ls
Comando ls
------------------------------------------------------------------------
Esse comando mostra o conteúdo de
um diretório. É equivalente ao comando dir do DOS.
O comando list mostra os arquivos
existentes ordenados em ordem alfabética. O ls como outros comandos tem opções
para apresentar outras informações.
Sintaxe
ls [-latRF] [arquivo]
Parametros
• -t = lista os arquivos em
ordem de criação
• -a = lista todos os arquivos,
inclusive os escondidos
• -F = acrescenta os seguintes
caracteres no final dos arquivos:
• / - diretório
• @ - link
• * - executável
• -R = lista todos os arquivos e
subdiretórios
• -l = lista de uma forma
completa
Exemplos
->ls
relatorio.txt Files
mbox exemplo.html
->ls -l
-rw-r--r-- 1 cris
3023 Jun 3 19:22
relatorio.txt
drw-r--r-- 1 cris
512 Jun 19 15:10 Files
-rw------- 1 cris
403990 Agu 22 16:56 mbox
-rw-r--r-- 1 cris
134780 May 17 10:38 exemplo.html
->ls -f rel*
relatorio.txt
->ls -lf rel*
-rw-r--r-- 1 cris
3023 Jun 3
19:22 relatorio.
• cat
Comando cat
------------------------------------------------------------------------
O comando cat mostra o conteúdo
de arquivos, geralmente do tipo texto. Funciona bem com arquivos pequenos,
mas se o arquivo for grande o texto rolará e o usurário não conseguirá
ler o conteúdo do arquivo.
Serve também para criação de
arquivos texto pequenos do tipo lembretes, para isso basta direciona-lo com
> para o nome do arquivo a ser criado (segue exemplo).
Sintaxe
cat arquivo [arquivo2] [aquivo3]
Exemplo
->cat lista_de_compras
<-- mostra o conteúdo
sabao em po
leite
pao
alface
tomate
->cat < lista_de_compras
<-- cria um novo arquivo
• more
Comando more
------------------------------------------------------------------------
O comando more assim como o cat
serve para ver o conteúdo de um arquivo que é, geralmente, texto. A
diferença entre o more e o cat é que o more faz uma pausa a cada tela
cheia exibindo uma mensagem "--More--", dando uma oportunidade ao
usuário ler a tela. Existem vários comandos que são listados ao apertar h
mas os mais usados são:
•enter exibe mais uma linha do
texto
•espaço exibe mais uma pagina
do texto
•ctrl+l rescreve a tela
•v chama o editor de textos vi
do Unix para a linha corrente
Sintaxe
more arquivo
Parametros
Esse comando não possui parâmetros.
Exemplos
->more index.txt
File
Contents
=========
=========
ntie30b2.exe
US English versionInternet Explorer 3.0 Beta 2
for Windows NT
cnmsie30b2.exe
Simplified Chinese Version of Microsoft Internet
Explorer 3.0 Beta 2 for Windows 95. Self extracting,
self installing.
dentie30b2.exe
German Version of Microsoft Internet Explorer
3.0 Beta 2 for Windows NT 4.0 Beta 2 (build 1314).
Self extracting, self installing.
--More--(31%)
• cal
Comando cal
------------------------------------------------------------------------
Este comando é usado para exibir
o calendário de um determinado mês ou ano.
Observação
o mês deve ser completo, pois o
cal difere 95 de 1995. Caso somente um número seja informado será exibido
o calendário daquele ano, se nenhum numero for fornecido será exibido o
calendário do mês corrente, anterior e posterior.
Sintaxe
cal [-r] [mês] [ano]
Exemplos
->cal 8 1996
->cal 2000
• mkdir
Comando mkdir
------------------------------------------------------------------------
Serve para criar diretórios e
subdiretórios especificados.
Sintaxe
mkdir diretório
Parâmetros
Esse comando não possui parâmetros.
Exemplos
->mkdir temp
->mkdir files
->mkdir html/curso
• rmdir
Comando rmdir
----------------------------------------------------------------------
Serve para remover diretórios e
subdiretórios especificados.
Sintaxe
rmdir diretório
Parametros
Esse comando não possui parâmetros.
Exemplos
->rmdir temp
->rmdir html/curso
->rmdir files
• cp
Comando cp
------------------------------------------------------------------------
Esse comando é útil para copiar
arquivos e diretórios para outros diretórios. Semelhante ao comando copy
do DOS.
Sintaxe
cp [-r] nome1 nome2
Parametros
• -r = copia o conteúdo
dos subdiretórios caso nome1 for um diretório
Exemplos
->cp relatorio.txt Files
->cp rel* Files
->cp -r Files ..\Files2
• mv
Comando mv
------------------------------------------------------------------------
Esse comando é útil para mover
arquivos e diretórios. Também é usado para renomear tanto arquivos quanto
diretórios, pois o Unix não possui um comando especifico para trocar os
nomes de arquivos. Muito cuidado ao mover ou renomear um arquivo, verifique
se não exista um outro com o mesmo nome, senão o arquivo existente irá
ser substituído pelo outro.
Sintaxe
mv [-i] nome1 nome2
Parametros
• -i = pergunta confirmação
ao mover
Exemplos
->mv relatorio.txt Files
->mv -i rel* Files
->mv Files files
• rm
Comando rm
------------------------------------------------------------------------
Esse comando é útil para remover
arquivos e diretórios. Mas cuidado ao usar o comando rm, pois o Unix não
consegue recuperar arquivos, se por acaso usar o parâmetro -r em um diretório.
Semelhante aos comandos del e deltree do DOS.
Sintaxe
rm [-ir] nome1
Parametros
• -r = remove o conteúdo
dos subdiretórios caso nome1 for um diretório
• -i = pergunta confirmação
para os arquivos
Exemplos
->rm relatorio.txt
->rm -i rel*
->rm -r ..\Files
• find
Comando find
------------------------------------------------------------------------
Procura por um determinado arquivo
no winchester apartir do diretório especificado dando uma lista de quais
diretórios se encontra o arquivo especificado.
Sintaxe
find diretório [-parâmetros]
Parametros
• -name arquivo = indica o
arquivo a ser procurado
• -user usuário = indica que o
arquivo tem que pertencer a o usuário indicado
• -group grupo = indica que o
arquivo tem que pertencer a o grupo indicado
• -mtime n = procura os arquivos
que foram modificados nos exatos n dias
• -print = imprime o nome do
arquivo na tela, é sempre necessário pois sem ele não irá ser mostrado
nada
• -exec comando {} \; = executa
o comando para todos os arquivos encontrados o {} \; faz parte da sintaxe e
é substituído pelo nome do arquivo e é necessário o espaço entre as
chaves e a barra
Exemplos
->find files -name
relatorio.txt -print
->find / -name teste.c -user
cris -exec rm {} \;
^--- esse exmplo ira procurar todos os arquivos teste.c apartir da raiz irá
usar o comando rm quando
achar o arquivo
->find /tmp -user cris -print
• grep
Comando grep
------------------------------------------------------------------------
Procura pela ocorrência de uma
string no arquivo especificado. Ele exibe apenas as linhas que possuem a
string mas cuidado com os caracters interpretados pelo shell (, ), {, }, ;,
?, !, *, [, e ] use um apóstrofo para isolar esses caracteres.
Sintaxe
grep [-parâmetros] expressão
arquivo
Parametros
• -v = mostra as linhas que não
aparece a string
• -i = ignora a diferença entre
letras maiúsculas e minúsculas
• -c = mostra o número de vezes
que foi encontrada a expressão
• -n coloca o número da linha
em que foi encontrada a expressão
Exemplos
->grep -i palavra index.txt
• vi
------------------------------------------------------------------------
O editor vi (visual) é o único
editor de texto para Unix, e apesar ter
uma interface pouco amigável é
muito poderoso com muitos recursos.
Ele não é um formatador de
textos, isto é, não trabalha com justificação
ou formatação de caracteres
(bold, itálico, etc), portanto o texto
produzido com o vi não tem uma
aparência muito agradável. Ele foi criado
para ser usado com formatadores
separados o nroff e o troff.
Esse editor possui três modos:
Modo
Descrição
insert
modo usado para a digitação onde se entra com os
caracteres que compõem texto esse modo é acionado com os comandos
respectivos do modo escape
escape
é acionado pela tecla ESC e usado para
a movimentação de caracteres e voltar para o modo insert isto é feito
apartir de comandos simples. Seus comandos não aparecem na tela.
last
é acionado com : usado para a entrada de comandos especiais
line
diferentes do comandos do modo escape, são comandos para substituição,
localização, movimentação de texto, gravar e executar comandos do shell
sem sair do vi. Após teclar : irá aparecer na ultima linha esse sinal
para a digitação dos comandos.
Sintaxe
vi [+/expressão] [arquivo]
Parametros:
• +/ - usado para iniciar o
texto onde for encontrado a palavra expressão, se a palavra tiver
espaços deve estar entre aspas. Se usar só o comando + sozinho irá começar
no final do texto
• arquivo - texto a ser editado
Exemplo
->vi propostas.txt
->vi +/"Recursos de
Vendas" propostas.txt
• chmod
Comando chmod
------------------------------------------------------------------------
Muda a permição dos arquivos e
diretórios. As permissões de arquivos estão detalhadas no tópico Permissões
de Arquivos ao lado esquerdo da página.
Sintaxe
chmod [-fR] quem+/-permissão
arquivo
Parametros
• -R = troca para arquivos
que estão em subdiretórios
• -f = caso ocorra algum
erro ele força a troca de permissão
• quem = é a classe do usúario
(ugoa) para quem vai receber a permissão nova
• u = usuário
• g = grupo
• o = outros
• a = todas as classes
juntos (all)
• +/-/= = mais, menos ou
igual define se você vai colocar (+) ou tirar (-) a permissão, o sinal =
serve para trocar a permissão se ele tiver com permissao ele tira a permissão
• permissão = tipo de
permissão (rwx)
• r = leitura
• w = escrita
• x = execução
Exemplos
->chmod a+rx teste
^permissão de leitura e execução
para todas classes de usuários
->chmod -R g=x teste
^da a permissão a quem não tem
e tira de que tem para o grupo
que você pertence em todos os subdiretórios
• cd
Comando cd
------------------------------------------------------------------------
Muda de diretório, equivale ao
mesmo comando do DOS. Como o Unix não mostra o diretórios corrente no
prompt como o DOS pode-se usar o comando pwd para mostrar o diretórios
corrente. Nã esqueça que o diretório principal é simbolizado por /
(diferente a do DOS).
Sintaxe
cd [diretório]
Parametros
• diretório = o diretório
ou o caminho de um para qual você quer ir
Exemplos
->cd meudir
->cd /
->cd /home/users/cris/meudir
•pwd
Comando pwd
------------------------------------------------------------------------
Mostra o diretório corrente em
que você está. O Unix não mostra o diretórios corrente no prompt como o
DOS
Sintaxe
pwd
Parametros
Esse comando não possui
parametros
Exemplos
->pwd
/home/users/cris
•at
Comando at
------------------------------------------------------------------------
Processa um comando ou arquivo
script para ser processados posteriormente numa hora, dia ou mês desejado.
O at , após a sua sintaxe, deixa espaço para colorar os comandos ou
arquivos script que serão processados posteriormente (use ^d quando acabar
de digitar os comandos) ou pode-se especificar um arquivo para entrada com
< para dar entrada um arquivo ja criado.
Sintaxe
at [-lr] hora [data] [+incremento]
Parametros
• -l= lista todos os jobs
programados com at e o número designado para cada um. Mostra aqueles que
voce mesmo programou.
• -r= remove um job at que
você colocou. Mas antes é preciso saber o número e fila em que está o
job mostrado com a opção -l
• hora= uma hora qualquer,
melhor no padrão 24hs. Além o at também reconhece as horas now (agora),
midnight (meia-noite), noon (meio-dia).
• data= você pode
especificar uma data também. A data é no formato mes dia(,ano) ou dia da
semanda (sun, mon, wen, .... Pode preceder a data next (próximo).
• +incremento= quanto
tempo depois da data o at irá ser executado. é formado do símbolo + um número
e uma unidade de tempo (minutes (minutos), hours (horas), days (dias),
months (meses) e years (anos)
Exemplos
->at 12:32ls -l > dir.txt^d
->at now + 2 days <
script
->at 12:32 nov 1 + 2 hours
mail [email protected] <
relatorio.txt
^d
->at 12:32 next wed
•ln
Comando ln
------------------------------------------------------------------------
O comando ln faz um atalho (link)
de um arquivo ou diretório. Voce pode se referir a um arquivo que está num
diretório /bin por exemplo no seu diretório home somente fazendo um link
do mesmo. Existe dois tipos de link o hard link e o simbolic link
(simbolico), o primeiro tipo faz um link onde irá apontar para o lugar no
winchester onde o arquivo esta amarzenado, o segundo tipo é um link simbólico
pois o link é um arquivo texto que contem o path de onde o arquivo está.
Isto quer dizer se voce apagar um hard link ira excluir o arquivo e se
apagar um simbolic link irá apagar somente o link.
Sintaxe
ln [-sf] arquivo nomelink
Parametros
• -s = cria um simbolic
link (hrad link é criado sem esse parametro)
• -f = força a criação
do link, para links que não se tem permição de leitura
• arquivo = nome do
arquivo ou diretório que vai ser linkado
• nomelink = nome do link
pode ser qualquer um, mas o interssante e colocar o mesmo nome do arquivo ou
diretório.
Exemplos
% pwd
/home/user/cris
% ln -s /bin/tmp symlink
% cd symlink
% pwd
/bin/tmp
|