terça-feira, 19 de maio de 2009

Comando ln UNIX

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

Comando at UNIX

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 <>at 12:32 nov 1 + 2 hours mail cris@penta.ufrgs.br <>at 12:32 next wed

Comando pwd UNIX

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

Comando cd UNIX

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 

Comando chmod UNIX

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

Editor vi UNIX

Editor 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 agradavel. Ele foi criado para ser usado com formatadores separados onroff e o troff.
O esse editor possui três modos:
ModoDescrição
insertmodo usado para a digitção onde se entra com os caracteres que compoem 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 lineé acionado com : usado para a entrada de comandos especiais 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

Comando grep UNIX

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

Comando find UNIX

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

Comando rm UNIX

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 

Comando mv UNIX

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  

Comando cp UNIX

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

Comando rmdir UNIX

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

Comando mkdir UNIX

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

Comando cal UNIX

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 

Comando more UNIX

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%)

Comando cat UNIX

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 

Comando ls UNIX

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.txt 

Entrada e Saída:UNIX

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 <>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.

Executando comandos em background:UNIX

  • 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 ;
  • Executando comandos em background:


    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  

    Permissões de arquivos e diretórios Unix

    Permissões de arquivos e diretórios:


    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

    Diferencas ente DOS e UNIX

    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

    Introdução ao UNIX

    Introdução ao 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

    Artigo baseado em tutorial da rede.