Mostrando postagens com marcador Linha. Mostrar todas as postagens
Mostrando postagens com marcador Linha. Mostrar todas as postagens

quarta-feira, 11 de maio de 2011

Combine os comandos com os operadores de controle

Na maioria dos interpretadores de comandos (shell) do Linux é possível combinar comandos, em uma única linha de comando, colocando um ponto e vírgula (;) entre eles. O ponto e vírgula é um operador de controle do shell que faz os comandos serem executados independentemente, um a um, na ordem em que estão.

$ comando1 ; comando2 ; comando3

Alguns shells suportam ainda mais. É possível que a execução do comando seguinte dependa do sucesso da execução do comando anterior. Usando o operador de controle &&, o comando seguinte só será executado se seu comando anterior retornar o estado zero de saída, isto é, se o primeiro comando for executado com sucesso. Se o primeiro comando falhar, o segundo não será executado.

$ comando1 && comando2

Similarmente, o operador de controle || faz o comando seguinte só ser executado se a execução do comando anterior retornar um estado de saída diferente de zero, isto é, se o primeiro comando falhar, o segundo comando será executado. Se o primeiro comando for executado com sucesso, o segundo comando não será executado.

$ comando1 || comando2

Exemplos:

# cd /a/b/c && tar xvf ~/arquivo.tar
# cd /a/b/c || mkdir -p /a/b/c
# cd /a/b/c || mkdir -p /a/b/c && tar xvf -C /a/b/c ~/arquivo.tar

quarta-feira, 23 de setembro de 2009

A árvore genealógica das linguagens de programação

Uma linguagem de programação é um conjunto de palavras capaz de expressar instruções para um computador. É um conjunto de regras padronizadas usadas para construir um programa de computador. Uma determinada combinação das palavras da linguagem, formando uma seqüência lógica de eventos, constitui o código fonte de um software. Esse código fonte, armazenado em um aquivo texto, é depois traduzido para código de máquina, que é executado pelo computador.

A intenção das linguagens de programação é tornar mais fácil a criação de softwares pelo programador, pois é uma linguagem próxima à linguagem humana, ao contrário da linguagem de máquina que utiliza códigos semelhantes às instruções do hardware.

Nos anos 50 foi o início das linguagens modernas de programação. As três primeiras linguagens de programação modernas, as quais suas descendentes ainda são utilizadas são FORTRAN (FORmula TRANslator), LISP (LISt Processor) e COBOL (COmmon Business Oriented Language).

Do FORTRAN vieram linguagens como Basic, C, Pascal, estas vindas da linha da linguagem ALGOL. Muitas outras, a maioria, vieram a partir destas descendências. Para ter uma idéia, Perl, PHP, Java, vieram da linguagem C, e também tem VisualBasic e Delphi que vieram do Basic e Pascal respectivamente.

No site de Éric Lévénez existe uma página que contém uma apresentação gráfica muito interessante da linha do tempo das linguagens de programação com todas as descendências. Lá é possível conhecer a origem das diversas linguagens. Acesse esta página neste endereço: http://www.levenez.com/lang/

Outros sites possuem conteúdo semelhante, são acessados nos endereços abaixo:

http://www.digibarn.com/collections/posters/tongues/
http://oreilly.com/pub/a/oreilly/news/languageposter_0504.html
http://merd.sourceforge.net/pixel/language-study/diagram.html

quarta-feira, 12 de agosto de 2009

Juntando arquivos linha a linha no Linux

Digamos que você tenha um arquivo (ex. letras.txt) que contenha:

a
b
c

E outro arquivo (ex. numeros.txt) que contenha:

1
2
3

E você quer unir estes arquivos para que o resultado fique:

a 1
b 2
c 3

Para isso existe um programa de linha de comando no Linux que é o paste, do pacote coreutils. O paste é capaz de unir linhas de arquivos. Por exemplo:

paste letras.txt numeros.txt > unidos.txt

Por padrão o paste separa os campos por tabulações mas você pode facilmente mudar isto adicionando o argumento -d. Por exemplo:

paste letras.txt numeros.txt -d , > unidos.txt

Resulta em um arquivo delimitado por vírgulas, ou seja, CSV (comma separated value):

a,1
b,2
c,3

quinta-feira, 21 de maio de 2009

Linha do tempo das distribuições Linux

No website "GNU/Linux Distro Timeline" existe um cladograma que mostra, em uma linha temporal, os relacionamentos de descendência entre as distribuições Linux, desde as primeiras distros até as atuais. Neste cladograma podemos observar as quatro principais distribuições (Debian, Slackware, Suse e Red Hat) e suas descendentes.


Por definição, um cladograma é uma representação gráfica em forma de uma árvore que procura traduzir as relações de parentesco entre as diferentes espécies ou grupos de espécies. Os pontos onde os ramos se ligam, ou nós, correspondem a uma ou mais características pertencentes a um ancestral comum mas que estão presentes em todos os seus descendentes.

A versão original deste cladograma pode ser obtida em http://futurist.se/gldt/.