Criado por Rafael Ruggiero
Por que eu deveria me importar?
“Não tem jogo para Linux”
“Não funciona <algo> no meu laptop”
Tente instalar os drivers mais atuais!!!
“É difícil”
Só no começo.
Para explorar: DistroWatch
O mais popular de todos.
Leve e funcional.
Bonito e pesado.
Roda até no PC da Xuxa.
Extremamente leves, mas você precisa saber o que está fazendo.
Windows | Linux | |
---|---|---|
Navegador | Firefox, Chrome | Firefox, Chrome |
Office | Microsoft Office | LibreOffice |
Acrobat Reader | Evince, Okular, Zathura | |
Mensagem | Skype | Skype, Pidgin |
Mídia | Windows Media Player, VLC | Mplayer, mpv, VLC |
Imagens | Windows Photo Viewer | Ristretto, Feh |
Windows | Linux | |
---|---|---|
Edição de imagem | Photoshop, GIMP | GIMP |
Editor de texto | Notepad | Gedit, Vim, Emacs, Nano |
Outlook | Thunderbird | |
Torrent | µTorrent | Deluge, Transmission, Rtorrent |
Paint | Microsoft Paint | Pinta, KolourPaint |
Resultado final de um dual boot de Windows/Linux:
Note que 1 GB = 1024 MB. Recomendo liberar ao menos 20 GB.
Escolha particionamento manual, e recomendo criar 3 partições: uma de ao menos 20 GB para a /, outra de uns 2 GB para a swap e outra com o espaço que sobrar para a /home/.
man COMANDO
ls mostra o conteúdo da pasta atual cd PASTA entra em uma pasta pwd mostra onde você está mkdir PASTA cria uma pasta rmdir PASTA apaga uma pasta vazia cp ARQUIVO DESTINO copia um arquivo mv ARQUIVO DESTINO move para outro lugar ou renomeia um arquivo rm ARQUIVO apaga um arquivo rm -r PASTA apaga uma pasta com coisas dentro du -h ALGO diz o tamanho de um arquivo ou pasta file ARQUIVO descreve o seu arquivo cat ARQUIVO vomita o conteúdo do arquivo no terminal less ARQUIVO para ler arquivos podendo subir/descer ln ARQUIVO DESTINO cria um link (hard) para um arquivo ln -s ARQUIVO DESTINO cria um link (simbólico) para um arquivo find LUGAR -name NOME encontra arquivos com um dado nome em um dado lugar chown NOME:NOME ARQUIVO muda o dono:grupo de um arquivo chmod XXX arquivo muda as permissões de um arquivo diff ARQUIVO1 ARQUIVO2 mostra as diferenças entre dois arquivos
tac igual ao cat só que de trás pra frente grep PADRÃO pega as linhas que contenham determinado padrão sed 's/ANTES/DEPOIS/g' troca todas as ocorrências de ANTES por DEPOIS cut -d ' ' -f N pega a N-ésima coluna, delimitando por espaços sort ordena as linhas wc -[lc] conta as linhas (-l) ou caracteres (-c) uniq pega as linhas únicas head mostra as primeiras linhas tail mostra as últimas linhas fmt ajeita as colunas, útil para formatar texto awk processamento de texto avançado, tutorial aqui
Podem ser usados ou colocando o nome do arquivo no fim do comando, ou com pipes (vou introduzir daqui a pouco)
Descompactar: unzip ARQUIVO arquivos .zip unrar x ARQUIVO arquivos .rar tar -xzf ARQUIVO arquivos .tar.gz tar -xjf ARQUIVO arquivos .tar.bz2 tar -xJf ARQUIVO arquivos .tar.xz gunzip ARQUIVO arquivos .gz Compactar: zip ARQUIVO.zip ORIGEM rar a ARQUIVO.rar ORIGEM tar -czf ARQUIVO.tar.gz ORIGEM tar -cjf ARQUIVO.tar.bz2 ORIGEM tar -cJf ARQUIVO.tar.xz ORIGEM gzip ORIGEM
sudo COMANDO executar comando como root su logar como root reboot reiniciar poweroff desligar mount /dev/algo PASTAVAZIA monta uma dada partição em uma pasta vazia umount /dev/algo desmonta uma partição echo TEXTO só mostra o texto na tela date mostra a data e hora apropos PADRÃO procura programas que tenham PADRÃO em sua descrição sleep N dorme por N segundos w mostra as pessoas logadas no sistema last mostra as últimas pessoas a terem logado uptime mostra há quanto tempo o sistema está ligado time COMANDO roda um comando medindo seu tempo de execução top monitor em tempo real de processos watch COMANDO executa um dado comando a cada alguns segundos convert img.algo img.outro converte uma imagem, por exemplo jpg->png df -h mostra as partições montadas e o uso delas fdisk -l mostra todas as partições exit fecha o terminal history mostra o histórico de comandos do terminal passwd muda a senha free -m mostra quanta memória o sistema está usando
Acho que o mais fácil aqui é dar exemplos.
if [ -a a.txt ]; then echo "a.txt existe"; fi referência para uso do if for i in {1..50}; do echo $i; done iterando sobre valores for i in mp3 mp4; do ls *.$i; done iterando sobre nomes while [ $(date +%d/%m) != "25/12" ]; do sleep 1h; done; echo "Feliz natal!" verifica de hora em hora se já é natal
ping SERVIDOR pinga um servidor (ctrl+C para matar o processo) ssh USER@SERVIDOR login remoto encriptado em um servidor scp USER@SERVIDOR:ORIGEM DESTINO copiar arquivos de um servidor rsync USER@SERVIDOR:ORIGEM DESTINO copiar apenas arquivos alterados de um servidor wget SITE baixa uma página ou arquivo por HTTP elinks navegador para terminal Exemplos: ssh jose@proccm.redealuno.usp.br ssh jose@fleming.cecm.usp.br scp jose@proccm.redealuno.usp.br:~/meuarquivo.txt . rsync -az jose@proccm.redealuno.usp.br:~/pastaquemuda .
ps aux mostra os processos em execução pgrep PROGRAMA mostra os IDs dos processos de um dado programa kill PID mata um processo kill -9 PID mata um processo (versão overkill) killall PROGRAMA mata todos os processos de um dado programa
aptitude install PROGRAMA instala um programa apt-get install PROGRAMA mesma coisa dpkg -i programa.deb instala um programa a partir de um arquivo .deb apt-cache search PADRÃO procura programas que tenham PADRÃO na descrição
A saída de um comando pode ser redirecionada para um arquivo desse jeito:
COMANDO > saida.txt Exemplo: grep 'batata' frutas.txt > batata.txt
E um comando pode receber um arquivo como entrada desse jeito:
COMANDO < entrada.txt Exemplo: grep 'batata' < frutas.txt
O mais interessante é que você pode redirecionar a saída de um comando para a entrada de outro:
COMANDO1 | COMANDO2 Exemplo: cat frutas.txt | grep 'batata' | sed 's/batata/repolho/g' > repolho.txt
Dá para realizar tarefas bastante complexas com isso!
~ sua home . o diretório atual .. o diretório acima do atual - o diretório onde você estava antes
? um caractere qualquer. Exemplo: ls ?.txt mostraria arquivos como a.txt, b.txt, 0.txt, etc * qualquer coisa. Exemplo: ls *.txt mostraria qualquer arquivo terminado em .txt [] especifica um intervalo. Exemplo: [0-9] bate com qualquer número de 0 a 9, [a-z] com qualquer letra minúscula, e [xyz] com qualquer letra entre x, y e z. [!] igual ao anterior, só que negação. Exemplo: [!a-z]. {} uma coisa ou outra. Exemplo: ls *.{txt,mp3} mostraria todos os arquivos .mp3 ou .txt no diretório atual.
Todo um assunto. Só vou deixar aqui um tutorial.
Arquivos no Linux têm dono e permissões. Por exemplo:
$ ls -l index.html -rw-r--r-- 1 rafael rafael 30750 Nov 5 23:48 index.html Isso diz que index.html pertence ao usuário 'rafael' e ao grupo 'rafael'; que o dono do arquivo pode ler (r) e escrever (w) esse arquivo (rw-); que ele só pode ser lido pelo seu grupo (r--); e que ele só pode ser lido pelos demais usuários do sistema (r--). A terceira letra seria 'x', de executável. Codificando r=4, w=2 e x=1, a permissão rw-r--r-- torna-se 644, e poderia ser alterada com o chmod: $ chmod 755 index.html $ ls -l index.html -rwxr-xr-x 1 rafael rafael 31334 Nov 5 23:54 index.html O dono pode ser mudado com o comando chown: $ sudo chown root:root index.html -rwxr-xr-x 1 root root 31334 Nov 5 23:54 index.html
Só servem para você. O sistema em geral não as usa. Você pode chamar um pdf de paper.mp3 que ninguém vai reclamar.
Elas são representadas por arquivos, que ficam em /dev/. /dev/sda1 é a partição '1' do disco 'a', /dev/sdb2 a partição '2' do disco 'b', etc.
Lembrando que elas podem ser montadas/desmontadas com os comandos mount/umount.
Tem várias, mas o mais importante para o dia a dia é saber que:
/home/ é onde ficam as homes dos usuários /etc/ é onde ficam os arquivos de configurações dos programas /root/ é a home do root /media/ é onde são montados automaticamente dispositivos removíveis
Uma descrição das demais pastas pode ser encontrada aqui.
Você pode escrever uma sequência qualquer de comandos em um arquivo de texto, um por linha, e executá-lo como um script:
bash meus_comandos.txt