Uma introdução ao shell (parte 1)
O shell é uma ferramenta poderosa dos sistemas GNU/Linux, portanto é bastante interessante para aqueles que querem se aventurar no mundo Linux aprenderem alguns comando básicos dele. O intuito deste artigo é justamente familiarizar aqueles que chegaram a pouco tempo no mundo Linux com o shell.
O que é shell
O shell é um módulo que atua como interface usuário - sistema
operacional, possuindo diversos comandos internos que permitem
ao usuário solicitar serviços do sistema operacional. O shell
também implementa um linguagem simples de programação que
permite o desenvolvimento de pequenos programas (os famosos
shell scripts).
Agora que nós já sabemos o que é o shell, vamos ver um pouco de sua história.
Desenvolvido por S.R Bourne em 1975, o Bourne Shell foi um dos primeiros shells desenvolvidos. Por ser bastante bastante simples ele continua sendo até hoje um dos mais rápidos e mais leves.
A evolução do Bourne Shell foi o C Shell. Desenvolvido por Bill Joy ele apresentava como inovações o histórico de comandos, o alias (que permite usar um "apelido" para comandos complexos) e o controle de processos em foreground e background. Mas a característica principal do C Shell era a semelhança de sua sintaxe com a da linguagem C. Recentemente tivemos o desenvolvimento do Turbo C Shell, que apresenta algumas melhorias em relação ao C Shell.
Na busca da implementação do das características positivas do Bourne Shell e do C Shell, surgiu o Korn Shell, desenvolvido por David Korn.
O Bash (Bourne Again Shell) surgiu como uma reimplementação do Bourne Shell realizada pelo Projeto GNU (www.gnuproject.org). Apresentando melhorias em relação ao Bourne Shell, esse shell se popularizou pela expansão em sistemas GNU/Linux e portanto, é nele que iremos nos basear para o desenvolvimento desse artigo.
Um pouco de história
Agora que nós já sabemos o que é o shell, vamos ver um pouco de sua história.
Desenvolvido por S.R Bourne em 1975, o Bourne Shell foi um dos primeiros shells desenvolvidos. Por ser bastante bastante simples ele continua sendo até hoje um dos mais rápidos e mais leves.
A evolução do Bourne Shell foi o C Shell. Desenvolvido por Bill Joy ele apresentava como inovações o histórico de comandos, o alias (que permite usar um "apelido" para comandos complexos) e o controle de processos em foreground e background. Mas a característica principal do C Shell era a semelhança de sua sintaxe com a da linguagem C. Recentemente tivemos o desenvolvimento do Turbo C Shell, que apresenta algumas melhorias em relação ao C Shell.
Na busca da implementação do das características positivas do Bourne Shell e do C Shell, surgiu o Korn Shell, desenvolvido por David Korn.
O Bash (Bourne Again Shell) surgiu como uma reimplementação do Bourne Shell realizada pelo Projeto GNU (www.gnuproject.org). Apresentando melhorias em relação ao Bourne Shell, esse shell se popularizou pela expansão em sistemas GNU/Linux e portanto, é nele que iremos nos basear para o desenvolvimento desse artigo.
Entretanto, quando voce falou do comando tar:
"O tar (...) permite que possamos comprimir o conteúdo de um diretório transformando em um único arquivo, que quando descomprimido volte a ter toda a estrutura anterior a compressão."
O comando tar não comprime! Ele "empacota" vários arquivos para que sejam distribuídos como um só (que seria o arquivo .tar). O tamanho final de um arquivo .tar é a soma do tamanho dos outros arquivos. Caso voce queira compactar o arquivo empacotado (ou tarred, em inlges), voce pode usar
(exemplo 1) $ gzip arquivo.tar
ou
(exemplo 2) $ bzip arquivo.tar
ou voce pode avisar ao comando tar para que, depois do empacotamento, o próprio tar comprima o pacote resultante
(exemplo 2) $ tar czf ...
(exemplo 3) $ tar cjf ...
Os exemplos 1 e 3 terão como saída o arquivo exemplo.tar.gz, e, com os 2 e 4, exemplo.tar.bz2
Espero ter ajudado a ti nessa!