NonStop 101 Linux


Escrevendo seu proprito comando “cat” em C
julho 30, 2008, 6:49 am
Filed under: Programação | Tags: , , ,

Codigo fonte

###############################################################

/*
* rawcat.c
* Apresenta arquivo com linhas numeradas
*/

#include <stdio.h>
#define TAMBUFF 120

int main(int argc, char* argv[])
{
FILE *arquivo;
char *linha;
char buffer[TAMBUFF];
int contLinha = 0;

if (argc != 2)
{
fprintf(stderr, “%s requer um nome de arquivo\n”, argv[0]);
return 1;
}
arquivo = fopen(argv[1], “r”);
if (arquivo == 0)
{
fprintf(stderr, “Arquivo %s nao pode ser aberto para leitura\n”, argv[1]);
return 2;
}
while (!feof(arquivo))
{
linha = fgets(buffer, TAMBUFF, arquivo);
if (linha != 0)
printf(“%3d: %s”, ++contLinha, linha);
}
fclose(arquivo);
printf(“\n%s\n”, argv[1]);
return 0;
}

###############################################################

1#if (argc != 2)
2#fprintf(stderr, "%s requer um nome de arquivo\n", argv[0]);
3#return 1;

1# Compara se o argumento passado para o executável existe

2# Nao existindo apresenta uma mensagem de erro

3# retorna um código de erro para o OS

#Se ele existe

arquivo = fopen(argv[1], "r");

#Abre o arquivo para leitura

if (arquivo == 0)

#Compara para ver se o arquivo pode ser aberto

fprintf(stderr, "Arquivo %s não pode ser aberto para leitura\n", argv[1]);

#retorna uma mensagem caso ele não possa ser aberto para leitura
return 2;

#retorna um codigo de erro para o OS

if (arquivo == 0)

#Compara para ver se o arquivo passado como argumento pode ser aberto para leitura

while (!feof(arquivo))

#Enquanto o arquivo estiver aberto e não chegar no final

linha = fgets(buffer, TAMBUFF, arquivo);

#Atribui o valor da linha no loop

if (linha != 0)

#verifica se a linha não e invalida

printf("%3d: %s", ++contLinha, linha);

#imprime uma mensagem numerada com o valor da linha e soma um ao contador da linha atual do arquivo

fclose(arquivo);

#Fecha o arquivo
printf("%s\n", argv[1]);

#imprime uma mensagem com o nome do arquivo
return 0;

#retorna um código de sucesso ao OS

Como compilar o codigo

$cc rawcat.c -o rawcat

Mudando as atribuições para que ele possa ser executado

Usando o novo comando

$./rawcat [arquivo.xyz]

Saída:


$ ./rawcat rawcat.c
1: /*
2: * rawcat.c
3: * Apresenta arquivo com linhas numeradas
4: */
5:
6:
7: #include <stdio.h>
8: #define TAMBUFF 120
9:
10: int main(int argc, char* argv[])
11: {
12: FILE *arquivo;
13: char *linha;
14: char buffer[TAMBUFF];
15: int contLinha = 0;
16:
17: if (argc != 2)
18: {
19: fprintf(stderr, “%s requer um nome de arquivo\n”, argv[0]);
20: return 1;
21: }
22: arquivo = fopen(argv[1], “r”);
23: if (arquivo == 0)
24: {
25: fprintf(stderr, “Arquivo %s nao pode ser aberto para leitura\n”, argv[1]);
26: return 2;
27: }
28: while (!feof(arquivo))
29: {
30: linha = fgets(buffer, TAMBUFF, arquivo);
31: if (linha != 0)
32: printf(“%3d: %s”, ++contLinha, linha);
33: }
34: fclose(arquivo);
35: printf(“%s\n”, argv[1]);
36: return 0;
37: }rawcat.c
$Post em Construção

Anúncios


Como gerar arquivos PDF a partir de quase qualquer fonte através do comando ps2pdf.
julho 29, 2008, 6:51 am
Filed under: linux | Tags: ,

Esta dica demonstra uma forma de gerar arquivos PDF a partir de quase qualquer fonte através do comando ps2pdf.

1) Gerando o arquivo ps:

Usando seu aplicativo de preferência, selecione imprimir, imprimir em arquivo.

Abra o arquivo com o GhostView para ver se está tudo correto.

2) Gerar o arquivo em PDF:

Use o comando/app ps2pdf para gerar o arquivo em PDF:

$ ps2pdf [arquivo.ps]

Pronto, foi gerado o arquivo em pdf [arquivo.pdf].

Obs.: Qualquer duvida use:

$ man ps2pdf



Como instalar o Red Hat 9 usando apenas um CD-RW
julho 18, 2008, 4:17 pm
Filed under: linux | Tags: , , ,
Dica: Como instalar o Red Hat 9 usando apenas um CD-RW
Categoria: Linux


Esta dica demonstra com instalar o Red Hat 9 com apenas um CD-RW.

No entanto ela não aborda o processo de instalação, mas sim o uso de certas “manobras” possíveis que demostram a versatilidade do Linux, além do uso de certos comandos e suas possíveis aplicações.

1) Crie uma partição para armazenar as imagens dos 3 discos de instalação e faça download delas.

Para criar uma partição é necessário ter espaço não particionado no HD,caso contrário você precisará redimensionar uma partição já existente ou apagar uma.

1.a) Criar uma partição para armazenar os 3 discos de instalação.

No Linux, use o CFDISK para isso:

1.b) Fazer o download das imagens ISO dos CDs de instalação do Red Hat 9.

2) Gravar o disco 1 de instalação.

2.a) Para isso você precisa descobrir o “endereço” de drive de CD:

$ cdrecord -scanbus

Este comando lhe fornecerá uma lista de dispositivos.

scsibus1:
1,0,0	100) 'HL-DT-ST' 'CD-RW GCE-8525B ' '1.03' Removable CD-ROM
1,1,0	101) *
1,2,0	102) *
1,3,0	103) *
1,4,0	104) *
1,5,0	105) *
1,6,0	106) *
1,7,0	107) *

2.b) Agora use estes dados para gravar a primeira imagem de CD.

$ cdrecord -v [imagem do CD].iso dev=[Seu drive de CD]

OBS: O endereço do drive usado no exemplo é 1,0,0.

3) Dê início à instalação.

3.a) Dê boot com o CD inserido e siga as instruções da tela.

3.b) Durante a instalação o segundo disco será pedido.

“Alt+F2”

3.c) Mude o diretório root para o diretório de instalação para ter acesso as ferramentas necessárias a gravação de CDs.

# chroot /target

3.d) Use o cdrecord para apagar o CD.

# cdrecord -blank=fast -v dev=[Drive de CD]

3.e) Crie um diretório qualquer.

# mkdir [diretório]

3.f) Monte a partição com as imagens do Red Hat.

# mount -t ext3 /dev/[ partição das imagens de CD ] /[diretório]

3.g) Mude para o diretório onde a partição das imagens foi montado.

# cd [diretório]

3.h) Queime o segundo CD.

# cdrecord -v [ imagem do CD 2 ].iso dev=[ Seu drive de CD ]

3.i) Desmonte a partição.

# umount /[ diretório ]

4) Volte para a instalação.

4.a) Desmonte o root.

# exit

4.b) Saia do console.

# exit

4.c) Dê continuidade a instalação.

5) Faça o mesmo para os CDs seguintes.

OBS: Qualquer dúvida é só postar que tentarei responder da melhor forma.