O documento descreve a história e características do sistema operacional Linux. Ele discute como Linus Torvalds começou o desenvolvimento do núcleo Linux em 1991 e como muitos programadores contribuíram para seu crescimento. Também explica as principais partes de um sistema operacional, características do Linux como software livre e código aberto, e comandos básicos do Ubuntu.
2. Historia
O núcleo Linux foi, originalmente, escrito por Linus Torvalds.
Linus Torvalds começou o desenvolvimento do núcleo como um
projeto particular, inspirado pelo seu interesse no Minix, um
pequeno sistema UNIX desenvolvido por Andrew S. Tanenbaum.
Ele limitou-se a criar, nas suas próprias palavras, “um Minix
melhor que o Minix”.
No dia 5 de outubro de 1991 Linus Torvalds anunciou a primeira
versão "oficial" do núcleo Linux, versão 0.02. Desde então muitos
programadores têm respondido ao seu chamado, e têm ajudado a
fazer do Linux o sistema operacional que é hoje.
3. As Duas partes principais de um S.O.
Kernel - é o componente central do sistema operativo da maioria
dos computadores; ele serve de ponte entre aplicativos e o
processamento real de dados feito a nível de hardware.
GUI - é um tipo de interface do utilizador que permite a interação
com dispositivos digitais através de elementos gráficos como ícones
e outros indicadores visuais, em contraste a interface de linha de
comando.
4. Software livre
Software Livre é uma forma de manifestação de um software em
que, resumidamente, permite-se adaptações ou modificações em
seu código de forma espontânea, ou seja, sem que haja a
necessidade de solicitar permissão ao seu proprietário para
modificá-lo. Não confundir com o movimeto Open Source
5. Software livre de código aberto
Os termos software de código livre e aberto, ou free and open
source software em inglês, e software de código livre/libre/aberto,
ou free/libre/open source software em inglês, referem-se a um
software que é duplamente livre e de código aberto. Ele
é livremente licenciado para conceder a usuários o direito de uso,
cópia, estudo, mudança e melhoria em seu design através da
disponibilidade de seu código fonte. Esta abordagem tem
ganhado momentum e aceitação uma vez que os benefícios
pontenciais têm sido crescentemente reconhecidos por indivíduos
e corporações.
6. As 4 liberdades básicas associadas
ao software livre são:
A liberdade de executar o programa, para qualquer propósito
A liberdade de estudar como o programa funciona, e adaptá-lo
para as suas necessidades . Acesso ao código-fonte é um pré-
requisito para esta liberdade.
A liberdade de redistribuir cópias de modo que você possa ajudar
ao seu próximo.
A liberdade de aperfeiçoar o programa, e liberar os seus
aperfeiçoamentos, de modo que toda a comunidade se beneficie.
Acesso ao código-fonte é um pré-requisito para esta liberdade.
7. Software gratuito
Software gratuito ou freeware é qualquer programa de computador
cuja utilização não implica no pagamento de licenças de uso
ou royalties. É importante não confundir o freede freeware com
o free de free software, pois no primeiro uso o significado é de
gratuito, e no segundo de livre. Um programa licenciado
como freeware não é necessariamente um software livre, pode
não ter código aberto e pode acompanhar licenças restritivas,
limitando o uso comercial, a redistribuição não autorizada, a
modificação não autorizada ou outros tipos de restrições.
O freeware diferencia-se do shareware, no qual o usuário deve
pagar para acessar a funcionalidade completa ou tem um tempo
limitado de uso gratuito.
8. Caracteristicas do Linux
- É considerado um Software básico.
- É um Software Livre (Open Source). O Windows é considerado um software
proprietário.|
- Licença de uso: GPL/GNU. GPL/GNU – significa Licença Pública geral, consiste
na designação de licença para softwares livres.
- É um sistema operacional Multitarefa, assim como o Windows. Multitarefa – o
sistema multitarefa executar mais de um aplicativo ao mesmo tempo.
- É um sistema operacional Multissessão, assim como o Windows. Multissessão –
consiste em ter vários contas de usuários em um mesmo computador.
- É Preemptivo – permite a interrupção de processos. (É também característica
do Windows). Preemptivo é a ideia de ter vários programas sendo processados
ao mesmo tempo, e com isso, conseguimos alternar de um para o outro,
interrompendo desta forma, o processo de um para executar outro.
9. Caracteristicas do Linux
- É um sistema Multiusuário. (também característica do Windows). Multiusuário
é quando existe uma rede de computadores e um servidor (pode este ser
usado tanto Linux como Windows), e com isso, os usuários podem ter acesso
simultâneo ao sistema (vários usuários acessando o servidor ao mesmo tempo).
- Multiprocessamento (também característica do Windows).
Multiprocessamento é um computador com mais de um processador.
- Sistema Monolítico (também característica do Windows). Sistema monolítico –
todos processos em um só núcleo.
- Compartilhamento de bibliotecas (também característica do Windows). É o
compartilhamento de recursos com os softwares instalados no computador.
Exemplo: as fontes instaladas no computador podem ser utilizadas em vários
programas como Word, Excel, Power Point, Photoshop e etc.
- Capacidade de processamento 32/ 64 bits (também característica do
Windows) – Há versões de 32 e 64 bits. Pode ser instalado tanto em
processadores de 32 bits, como de 64 bits.
10. Caracteristicas do Linux
- # Superusuário (também presente no Windows, mas com o nome
de Administrador) é o usuário com controle total do computador.
- $ Usuário comum (também presente no Windows, mas com o
nome de Usuário Limitado) é o usuário que não tem poder para
manipular todos os recursos existentes no computador.
- Interface gráfica e Prompt de comando (também existente no
Windows) – É possível interagir com o Linux de duas maneiras:
Pela Interface Gráfica ou Prompt de Comando (Shell, bash sh, etc).
13. As principais diferenças entre o
Windows e o Linux
Segurança
Provavelmente, estás habituado a usar um anti-vírus e uma firewall no
Windows de modo a o teres seguro. Em Ubuntu podes esquecer isso…
Embora existam anti-vírus e firewalls para GNU/Linux, estes servem fins
totalmente diferentes. No caso do anti-vírus, só te será util caso queiras
fazer o scan a uma partição Windows a partir da tua distro e no caso
da firewall, não é mais que uma ferramenta para configurar a rede.
14. As principais diferenças entre o
Windows e o Linux
Sistema de permissões
O Ubuntu, tal como qualquer distro GNU/Linux, possui um sistema de
permissões UNIX. Básicamente, qualquer tarefa que possa alterar
profundamente o funcionamento do Sistema Operativo (Ex.: instalação
de software, modificação de uma configuração do sistema, etc.) tem
de ser realizada pelo utilizador root (que é o “senhor todo poderoso”).
Para executares uma tarefa como root, tens de introduzir a palavra-
passe do teu utilizador. Caso não a introduzas, a tarefa em questão
não é executada… Logo, no caso de um vírus, por exemplo, este
nunca era instalado/executado sem a tua permissão.
15. As principais diferenças entre o
Windows e o Linux
Updates de segurança
Um dos factores mais importante na segurança de uma determinada
aplicação não é necessáriamente o número de falhas de segurança,
mas a velocidade com que são corrigidas após encontradas. No
Ubuntu, a correcção destas chega a estar dísponivel algumas horas
depois de divulgadas, ao contrário do Windows, por exemplo, onde
chegam a atingir prazos relativamente excessívos.
16. As principais diferenças entre o
Windows e o Linux
Design superior
Em Ubuntu, tal como em qualquer outra distribuição GNU/Linux, todos
os componentes do Sistema Operativo possuem um devido grau de
indepência entre eles. Logo, uma falha num destes não se propaga
para outro. Já no Windows, onde o Internet Explorer se encontra
bastante fundido no sistema operativo, há uma grande vulnerabilidade
a vírus, spywares, etc.
17. As principais diferenças entre o
Windows e o Linux
Repositórios
Em Windows, és obrigado a fazer download das tuas aplicações de
bastantes mirrors diferentes, onde nao tens garantia nenhuma do que
estás a sacar, ou seja, tanto pode ser a aplicação que desejas, como
outra aplicação qualquer ou mesmo um vírus. Em Ubuntu, pelo menos
90% das tuas aplicações são instaladas por repositórios de confiança.
18. As principais diferenças entre o
Windows e o Linux
Instalação de software
O método de instalação de software mais comum no Windows é: A)
Google for it B) Procurar um mirror para o respectivo download C)
Carregar sucessivamente next até a instalação estar concluída D)
*regra geral* arranjar um crack para prolongar a duração do trial.
No Ubuntu o método de instalação de software mais comum é: A)
Procurar software nos repositórios (e adicionar uns extras se necessário)
B) Ordenar a instalação do programa e aguardar que o respectivo
download e configuração esteja completo.
19. Principais Comandos do Ubuntu:
ls (lista o conteúdo de um diretório)
Exemplo: $ ls
ls -a (lista os diretórios, arquivos oculto e executáveis)
Exemplo: $ ls -a
ls -l (Lista o conteúdo de um diretório detalhadamente)
Exemplo: $ ls -l
pwd (mostra o diretório corrente)
Exemplo: $ pwd
cd (muda de diretório)
Exemplo: $ cd /etc
20. Principais Comandos do Ubuntu:
6. cd - (volta para o diretório anterior)
Exemplo: $ cd -
7. cd .. (volta um diretório acima)
Exemplo: $ cd ..
8. cd ~ (volta para seu diretório /home)
Exemplo: $ cd ~
9. mkdir [pasta] (cria uma pasta com o nome desejado)
Exemplo: $ mkdir programas
10. mkdir [pasta1] [pasta2] (cria pasta1 e pasta dois ao mesmo
tempo)
Exemplo: $ mkdir teste1 teste2
21. Principais Comandos do Ubuntu:
11. mkdir -p [pasta]/[sub-pasta] (cria um diretório e um sub-diretório)
Exemplo: $ mkdir -p teste3/teste3_1
12. rm -r [pasta/arquivo] (deleta uma pasta ou arquivo)
Exemplo: $ rm -r teste3
13. mv [arquivo1] [arquivo2] (renomeia uma pasta)
Exemplo: $ mv teste teste2
14. mv [arquivo] [caminho] (move o arquivo para um determinado caminho)
Exemplo: $ mv imagem. jpg ~/t4k_slack/Wallpapers
15. cp [arquivo] [caminho] (copia um arquivo para um determinado caminho)
Exemplo: $ cp imagem.jpg ~/t4k_slack/Wallpapers
22. Principais Comandos do Ubuntu:
ln -s [caminho] [link] (cria um link)
Exemplo: $ ln -s /usr/bin/limewire limewire
type [executável] (busca o caminho de um executável)
Exemplo: $ type limewire
cat > [arquivo] (cria novo arquivo)
Exemplo: $ cat > teste.txt
cat [arquivo1] >> [arquivo2] (acrescenta arq.2 em arq.1)
Exemplo: $ cat teste1 >> teste2
touch [arquivo] (cria um arquivo)
Exemplo: $ touch teste
23. Principais Comandos do Ubuntu:
diff [arquivo1] [arquivo2] (compara os dois arquivos)
Exemplo: $ diff teste1 teste2
locate [arquivo] (localiza o arquivo desejado]
Exemplo:$ locate JimiHendrix. jpg
head [-linhas] [arquivo] (mostra as primeiras linhas de um arquivo)
Exemplo:$ head -10 texto.txt
tail [-linhas] [arquivo] (faz exatamente o contrário do comando
anterior)
Exemplo:$ tail -20 texto.txt
less [arquivo] (mostra o conteúdo de um diretório)
Exemplo:$ less texto.txt
more [arquivo] (mostra o conteúdo de um arquivo)
Exemplo:$ more texto.txt
24. Principais Comandos do Ubuntu:
nl [arquivo] (mostra quantas linhas tem no arquivo)
Exemplo:$ nl texto.txt
wc [arquivo] (lista número de linhas, palavras e bytes de um
arquivo)
Exemplo:$ wc texto.txt
[comando1] | [comando2] (conecta dois processos)
Exemplo:$ vi /etc/X11/xorg.conf | more
sleep [tempo] && [comando] (executa um comando em um
determinado tempo)
Exemplo:$ sleep 2 && pwd
echo [mensagem] (exibe uma mensagem em seu shell)
Exemplo:$ echo Olá Big Linux
25. alias [comando/atual] [comando_novo] (muda o nome de um
comando)
Exemplo:$ alias dir=ls -l
history (lista os últimos 500 comandos que você digitou)
Exemplo:$ history
su (muda para o super usuário root, precisa da senha)
Exemplo:$ su, no Big Linux para ter acesso como administrador sem
digitar su, digite "sudo su" sem aspas.
su [usuário] (muda para outro usuário, também necessita da senha)
Exemplo:$ su fulano
shutdown (reinicia o sistema)
Exemplo:$ shutdown
26. reboot (reinicia a máquina com emergência)
Exemplo:$ reboot
passwd (troca sua senha)
Exemplo:$ passwd
uname (mostra o sistema operacional)
Exemplo:$ uname
uname -a (mostra o sistema operacional, nome da máquina,
versão do kernel e etc)
Exemplo: $ uname –a
dmesg (mostra informações do sistema)
Exemplo: $ dmesg
27. top -d [segundos] (informações detalhadas dos processos)
Exemplo: $ top -d 3
ps (mostra os processos corrente "PID")
Exemplo: $ ps
killall [programa] (força o término de um programa)
Exemplo: $ killall xmms
xkill (transforma o ponteiro do mouse em um assassino de programa)
Exemplo:$ xkill
mkfs.ext2 (formata um disquete em formato Linux)
Exemplo: $ mkfs.ext2 /dev/fd0
28. superformat (formata um disquete em formato DOS)
Exemplo: $ superformat /dev/fd0
vmstat [-tempo] (mostra a memória swap em uso)
Exemplo: $ vmstat -2
arch (mostra a arquitetura do seu PC)
Exemplo: $ arch
lsmod (lista os módulos da sua máquina)
Exemplo: $ lsmod
insmod [módulo] (levanta um módulo forçadamente, requer root)
Exemplo: # insmod spca5x
29. adduser (adiciona um usuário no sistema, requer root)
Exemplo:# adduser
userdel [usuário] (deleta um usuário, requer root)
Exemplo: # userdel fulano
userdel -r [usuário] (deleta o usuário e sua pasta que se encontra no
diretório /home,
requer root)
Exemplo: # userdel -r fulano
chfn [usuário] (muda informações de um usuário, requer root)
Exemplo: # chfn fulano
chage -M [dias] [usuário] (expira um usuário, no dia pré-determinado,
requer root)
Exemplo: # chage -M 20 fulano
30. display [imagem.jpg] (mostra uma imagem no X, necessita do ImageMagick)
Exemplo: $ display imagem. jpg
convert [imagem.png] [imagem.jpg] (converte o formato .png para . jpg,
necessita
também do ImageMagick)
Exemplo: $ convert imagem.png imagem.jpg
chmod (altera permissões)
Exemplo: # chmod 666 /dev/hdd
mount [device] (monta um dispositivo)
Exemplo: $ mount /mnt/cdrom
umount [device] (desmonta um dispositivo)
Exemplo: $ umount /mnt/cdrom
31. eject (abre a gaveta do cd-rom)
Exemplo: $ eject /mnt/cdrom
eject -t (fecha a gaveta do cdrom)
Exemplo: $ eject -t /mnt/cdrom
halt (desliga o PC)
Exemplo: $ halt
date (informa o dia e a hora)
Exemplo: $ date
hostname (informa o nome da máquina)
Exemplo: $ hostname
32. du [diretório] (fornece o tamanho de um diretório)
Exemplo: $ du pasta
du -S [sub-diretórios] (fornece o tamanho do sub-diretório)
Exemplo: $ du -S sub_pasta
[comando] & (inicia um processo em segundo plano e deixa o terminal
livre para
trabalhar)
Exemplo: $ gkrellm &
cal (mostra um calendário do mês atual)
Exemplo: $ cal
cal [ano] (mostra os 12 meses de um determinado ano)
Exemplo: $ cal 2005
33. last [-quantidade] (mostra informações sobre os últimos logins, onde
em quantidade
você indica o número de logins)
Exemplo: $ last -10
tar -zxvf[arquivo.tar.gz] (descompacta um arquivo em formato .tar.gz)
Exemplo: $ tar -zxvf amsn-0.94.tar.gz
tar -jxvf [arquivo .tar.bz2] (descompacta um arquivo no formato
.tar.bz2)
Exemplo: $ tar -jxvf gkrellm-0.12.tar.bz2
clear (limpa a tela do shell)
Exemplo: $ clear
free (mostra detalhes sobre a memória RAM)
Exemplo: $ free
34. time [comando] (mede o tempo gasto para abrir um programa)
Exemplo: $ time amsn
uptime (mostra o tempo desde do último boot)
Exemplo: $ uptime
lsattr [arquivo/diretório] (lista atributos de um arquivo ou diretório)
Exemplo: $ lsattr arquivo
whereis [executável/comando] (localiza o caminho de um
executável/comando)
Exemplo: $ whereis amsn
who (mostra quem está conectado ao sistema nesse momento)
Exemplo: $ who
35. wget -c [URL] (faz download de arquivo na internet)
Exemplo: $ wget -c http://www.lugar.do.download/
whoami (mostra quem se logou primeiro no sistema)
Exemplo: $ whoami
lspci(lista os componentes PCI do seu computador)
Exemplo: $ lspci
init 6 (faz reiniciar o computador mais rápido)
Exemplo: $ init 6
init 0(faz desligar o computador mais rápido)
Exemplo: $ init 0
startx (inicia a interface gráfica padrão do sistema)
Exemplo: $ startx