Bife’s Head

#include “bifehead.h”

Comandos de ajuda

Publicado por B i f e em Abril 15, 2008

O que mais assusta os novos usuários de sistemas da família Unix, sem dúvidas, é a quantidade de comandos oferecidos pelo sistema. Para um “arrastador de mouse”, ter que decorar “ls’s”, “sudo’s”, “apt-get’s”, etc. pode ser um pouco traumático. Poucos deles conhecem os vários comandos de ajuda que são de grande valia nos momentos de necessidade. Neste post, vou tentar apresentar alguns desses comandos. Vamos ao que interessa. =D

man

De manual on-line. Sem dúvidas este é o mais utilizado pelos usuários da família Unix. Ótimo para descobrir opções, funcionalidades e configurações.

Opções

/expressão

Procura pela expressão. Se digitado sozinho pela segunda vez, o caractere barra (/) procura a próxima ocorrência da expressão no texto.

q

Sai do ambiente man.

Para movimentar-se, utilize as setas do teclado.

Para separar os manuais em assuntos, existem alguns níveis de manual on-line. Cada nível é responsável por um assunto. São estes:

Nível Assunto

1 Programas executáveis ou comandos em shell.

2 Chamadas de sistema.

3 Chamadas de bibliotecas.

4 Arquivos especiais.

5 Configuração de arquivos.

6 Jogos.

7 Diversos.

8 Comandos de administração do sistema.

9 Rotinas do kernel.

Boa parte dos manuais já estão traduzidos para a Língua Portuguesa, basta instalá-los:

# apt-get install manpages-pt

Para os desenvolvedores, também existem manuais das diversas funções:

# apt-get install manpages-dev

# apt-get install manpages-pt-dev

Exemplo:

# man sudo

# man ls

# man 7 term

info

Outro manual on-line. Similar ao man, porém pouco difundido.

Exemplo:

# info sudo

whatis

Mostra uma síntese de um determinado comando.

Exemplo:

# whatis sudo

apropos

Similar ao whatis, porém procura na síntese, não no comando. Útil para descobrir comandos que se encaixem às nossas necessidades.

Exemplo:

# apropos permission

É isso aí. =D

Comentem. Meu primeiro dia de blog. Estou bastante empolgado.

Referências

Mota Filho, João Eriberto. Descobrindo o Linux: Entenda o sistema operacional GNU/Linux. 2.ed. São Paulo: Novatec Editora, 2007. Páginas 237~238. ISBN 978-85-7522-120-4

Enviado em GNU/Linux | Tagged: , , | Deixar um comentário »

Operador bastardo do inferno

Publicado por B i f e em Abril 15, 2008

Fui apresentado ao mesmo em uma canal do IRC. O cara é simplesmente uma figura. Não tem muito o que falar.

http://focalinux.cipsga.org.br/humor/h-bofh1.txt

Para ir aos outros capítulos basta alterar o número no arquivo .txt, por exemplo:

http://focalinux.cipsga.org.br/humor/h-bofh2.txt

ahUAHUahUAHUAUA

Enviado em Entretenimento | Tagged: , | Deixar um comentário »

Função readConf()

Publicado por B i f e em Abril 14, 2008

Linguagem: C.

Algum tempo atrás, para treinar o uso de ponteiros e manipulação de arquivos em C, resolvi escrever uma pequena função para ler arquivos de configuração no estilo “opção: valor”. O resultado está aí:

char *readConf(char *option, char delim, char coment, FILE *arquivo){

  char *value; /* Valor da option. */
  char *aux, line[128];
  int size;

  while (fgets(line,128,arquivo) != NULL){

    if (ferror(arquivo)){
      perror("\n**ERRO ao ler arquivo em readConf.** ");
      exit(1);
    }
    line[strlen(line)-1]= '';

    if (feof(arquivo)) break;

    if (*line == coment) continue;

    if (strstr(StrLwr(line),StrLwr(option))){

      aux= strchr(line,delim);
      aux++;

      while( *aux==' ' || *aux=='\t' )
          aux++;

      for (size=0; *aux; ++size,aux++);

      value= (char *)calloc(size+1,sizeof(char));
      aux-= size;

      memcpy(value,aux,size);
      *(value+size+1)= '';

      return (value);
    }

  }

  return (NULL);
}

Cabeçalhos necessários:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>

Protótipo:

char *readConf(char *option, char delim, char coment, FILE *arquivo);

Vamos entender os parâmetros que devem ser passados:

char *option: A opção cujo valor deve ser retornado.

char delim: O delimitador que será usado entre a opção e o seu valor, por exemplo, ‘:’, ‘=’, etc.

char coment: Caracter usado para determinar se uma linha é um comentário. Geralmente é um jogo da velha: ‘#’.

FILE *arquivo: O arquivo que contém as configurações.

Dependências:

Como não existe a função strlwr() no mundo ANSII C, resolvi escreve-la também:

char *StrLwr(const char *str){

  register int count;
  char *str_lwr;

  for(count=0;str[count];count++);

  str_lwr= (char *)malloc(sizeof(char)*(count+1));

  while(*str){
    *str_lwr= tolower(*str);
    str_lwr++;
    str++;
  }
  *str_lwr= '';

  return (str_lwr-count);
}

Enviado em Programação | Tagged: , , | Deixar um comentário »