Fernando de Pol Mayer & Luiz Ricardo Nakamura
ESALQ/USP - 02 e 03 de Setembro, 2013
Richard Stallman - Projeto GNU (1983)
Linus Torvalds - Linux (1991)
Um exemplo: FOAS
Veja Distrowatch
Diversas cascas (shell) existem para o Linux. Algumas das principais são:
Além, é claro, do terminal, onde você possui uma interação mais "direta" com o kernel (veremos adiante).
Aqui você também tem a opção de escolha!
O mais importante: no Linux os diretórios são separados por / e
não por \ como no Windows
/ (barra sozinha) tem um significado especial: é a
raíz de todo o sistema, ou seja, todos os diretórios começam a
partir dela.Alguns dos principais diretórios são:
/bin: arquivos executáveis de programas/boot: arquivos de inicialização do sistema/etc: arquivos de configuração/usr: arquivos de programas (a maior parte)/home: arquivos pessoais do usuário
/home/home/home,
completamente independente um do outro
/home/fernando/home/nakamura/home/usuarioroot, ou o super-usuárioroot é único, e ocupa o posto mais alto na hierarquia de
permissões (pode fazer tudo!)/homeroot
\(\rightarrow\) são os sudoers (este é o padrão adotado pelo Ubuntu)Esse é um dos motivos da grande segurança proporcionada pela Linux!
Bash, mas existem outros (sh,
zsh, ...)<Ctrl><Alt><F1>
<F1> ao <F6> são terminais independentes<F7>aluno@ubuntu:~$
: é o usuário logado (aluno) e o nome da
máquina (ubuntu): fica o diretório atual
~ é um atalho (alias) para /home/usuariopwd mostra o diretório atualls lista os diretórios e arquivos presentes no diretório atualwhoami (em caso de dúvida existencial...)man. Por exemplo,aluno@ubuntu:~$ man ls
q para sair e voltar ao terminal-, e com um espaço. Por exemploaluno@ubuntu:~$ ls -l
-l faz com que a saída do ls seja em formato de
listaMais opções podem ser passadas ao mesmo tempo. Por exemplo
aluno@ubuntu:~$ ls -lah
Estas três opções juntas fazem com que o ls:
la (ou --all)h.) na frente do nome.arquivo.txt é um arquivo normal.arquivo.txt é um arquivo oculto<Ctrl><h> para habilitar/desabilitar a
visualização destes arquivosA saída do comando ls -lah mostra uma série de resultados
interessantes. Por exemplo:
fernando@kirk:~$ ls -lah
total 11M
drwxr-xr-x 42 fernando fernando 4,0K Ago 30 15:24 .
drwxr-xr-x 4 root root 4,0K Jul 25 22:59 ..
drwx------ 3 fernando fernando 4,0K Ago 30 12:37 .dropbox
drwx------ 31 fernando fernando 4,0K Ago 30 12:37 Dropbox
drwxr-xr-x 13 fernando fernando 4,0K Ago 27 22:29 Music
-rw-rw-r-- 1 fernando fernando 47 Jul 26 04:12 .Renviron
-rw-rw-r-- 1 fernando fernando 780 Ago 22 14:23 .Rprofile
drwxrwxr-x 9 fernando fernando 4,0K Ago 6 14:08 Ubuntu One
drwxr-xr-x 4 fernando fernando 4,0K Ago 28 00:58 Videos
De trás pra frente temos
. significa este diretório.. representa o diretório acimah)A primeira coluna mostra as permissões para cada arquivo/diretório, e funciona assim:
d ou um arquivo comum
-As permissões para o usuário, grupo e demais podem ser
| Caracter | Permissão |
|---|---|
r |
Permissão de leitura (read) |
w |
Permissão de escrita (write) |
x |
Permissão de execução (execute) |
- |
Permissão desabilitada |
Dessa forma,
drwxr-xr-x 13 fernando fernando 4,0K Ago 27 22:29 Music
-rw-rw-r-- 1 fernando fernando 780 Ago 22 14:23 .Rprofile
Music é um diretório (d), do usuário fernando, do grupo
fernando
rwx)r-x).Rprofile é um arquivo comum (-) (e oculto!)
rw-)r--)Para mudar de diretório, use o comando cd (change directory)
aluno@ubuntu:~$ cd Documentos
aluno@ubuntu:~/Documentos$
Note que Documentos é um diretório que está em /home/aluno. Como
você já está em /home/aluno não é necessário especificar todo o
caminho novamente, mas esse comando é equivalente a
aluno@ubuntu:~$ cd /home/aluno/Documentos
Ou
aluno@ubuntu:~$ cd ~/Documentos
Um # é um comentário
cd /
pwd
ls
cd /home
pwd
ls
cd /usr
pwd
ls
cd # O que acontece aqui?
pwd
ls
cd ~ # E aqui?
pwd
ls
aluno@ubuntu:~$ cd Documentos
aluno@ubuntu:~/Documentos$ pwd
/home/aluno/Documentos
aluno@ubuntu:~/Documentos$ cd ..
aluno@ubuntu:~$ pwd
/home/aluno
aluno@ubuntu:~$ cd -
aluno@ubuntu:~/Documentos$ pwd
/home/aluno/Documentos
cd .. volta um diretório acima (lembra do .. no ls -lah?)cd - volta para o último diretório visitadoPara criar um diretório, use o comando mkdir (make directory)
aluno@ubuntu:~$ ls
aluno@ubuntu:~$ mkdir curso_linux
aluno@ubuntu:~$ ls
aluno@ubuntu:~$ cd curso_linux
aluno@ubuntu:~/curso_linux$ ls
ls \(\neq\) Ls \(\neq\) LS
curso_linux \(\neq\) Curso_linux \(\neq\) Curso_Linux \(\neq\) CURSO_LINUX
Note que você pode ter o mesmo nome de diretório capitalizado diferente em um mesmo lugar, mas serão independentes
Os nomes de diretórios e arquivos podem conter espaços (ex.: curso
linux), mas você realmente não vai querer fazer isso
Use o <Tab> para autocompletar comandos e nomes de arquivos/diretórios!
Para remover um diretório, use o comando rm (remove)
aluno@ubuntu:~$ rm -r curso_linux
aluno@ubuntu:~$ ls
-r é necessária para remover recursivamente um diretóriormdir curso_linuxCuidado! Remover pelo terminal não tem volta!
Para criar um arquivo de texto, podemos usar o gedit
aluno@ubuntu:~$ mkdir curso_linux
aluno@ubuntu:~$ cd curso_linux/
aluno@ubuntu:~/curso_linux$ ls
aluno@ubuntu:~/curso_linux$ gedit arquivo.txt &
& no final do comando: ele serve para executar e retornar
para a linha de comando (caso contrário, o terminal ficaria "ocupado")
O comando gedit também pode ser usado para abrir arquivos de
texto já existentes
Para copiar um arquivo usamos o cp (copy-paste) que tem a
seguinte sintaxe
cp <arquivo original> <arquivo cópia>
Por exemplo, para copiar arquivo.txt de /home/aluno/curso_linux para
/home/aluno/Documentos
aluno@ubuntu:~/curso_linux$ cp arquivo.txt /home/aluno/Documentos
Note que qualquer um destes comandos faria a mesma coisa
cp arquivo.txt ~/Documentos
cp arquivo.txt ../Documentos
Para copiar um arquivo de um diretório para o atual, por exemplo
aluno@ubuntu:~/curso_linux$ cd ../Documentos
aluno@ubuntu:~/Documentos$ cp ~/curso_linux/arquivo.txt .
. no final representa o diretório atualPara copiar todos os arquivos de um diretório para outro
aluno@ubuntu:~/Documentos$ cd
aluno@ubuntu:~$ cp curso_linux/* Downloads
* dentro de um diretório significa "tudo" que estiver
dentro delePara mover um arquivo entre diretórios usamos o mv (move), que
possui a mesma sintaxe e funciona da mesma forma que o cp. Por exemplo
aluno@ubuntu:~$ mv curso_linux/arquivo.txt .
O comando mv também serve para renomear um arquivo, se for
aplicado no mesmo diretório. Por exemplo, para renomear arquivo.txt
para arquivo_curso.txt
aluno@ubuntu:~$ mv arquivo.txt arquivo_curso.txt
Para remover um arquivo qualquer, usamos o rm novamente
aluno@ubuntu:~$ rm arquivo_curso.txt
Para remover todos os arquivos de um diretório, mas sem remover o
diretório em si também usamos o *
aluno@ubuntu:~$ rm curso_linux/*
Novamente cuidado! O rm vai remover tudo sem nenhum aviso e sem possibilidade de restauração!
# mostra o tipo de arquivo, codificação de carecteres, ...
aluno@ubuntu:~$ file arquivo.txt
# imprime na tela todo o conteúdo do arquivo
aluno@ubuntu:~$ cat arquivo.txt
# imprime as 10 primeiras linhas
aluno@ubuntu:~$ head arquivo.txt
# imprime as 10 últimas linhas
aluno@ubuntu:~$ tail arquivo.txt
cd, use pwd
para conferir o local e ls para listar o conteúdo
/home, /proc, /boot, /usr/bin/home/aluno crie um diretório com seu nome e
curso_linuxteste.txt) com algum conteúdo.oculto.txt)teste.txt para o seu diretório curso_linuxteste.txt para o diretório ~/Documentosteste.txt para delete.txtdelete.txt para o diretório curso_linuxcurso_linuxAssumindo que você está em /home/aluno a sequência de comandos seria
mkdir fernando
cd fernando
mkdir curso_linux
gedit teste.txt &
gedit .oculto.txt &
cp teste.txt curso_linux
cp teste.txt ~/Documentos
mv teste.txt delete.txt
mv delete.txt curso_linux
rm -r curso_linux
ls -la
# deve sobrar apenas .oculto.txt
tar -jxvf <arquivo.tar.bz2>ReadMe.txt no gedit e leia as instruções
ReadMe.txt) e
tente rodar algum comando do Raluno). Porque então
conseguiu instalar alguma coisa no sistema??iso) em um DVD ou criar um pen-driveusb-creator (já instalado)F12 ou Esc para escolher o dispositivo de inicialização
O particionamento de disco é o ato de dividir um disco rígido em múltiplas unidades, ou partições, fazendo com que cada unidade seja tratada como um disco. Isto é o que possibilita que vários sistemas operacionais sejam instalados em um mesmo disco. As partições podem ser
No Linux, as partições estão localizadas no /dev/sda (se houver mais
de um disco será /dev/sdb, ...):
/dev/sda1 até /dev/sda4 são reservados para partições primárias/dev/sda5 até /dev/sda16 são reservados para as partições lógicasNote que uma partição estendida ocupa o lugar de uma primária
Dessa forma, se um disco possui 1 partição primária, 1 estendida, e 3 lógicas:
/dev/sda1 \(\rightarrow\) primária/dev/sda2 \(\rightarrow\) estendida
/dev/sda5 \(\rightarrow\) lógica/dev/sda6 \(\rightarrow\) lógica/dev/sda7 \(\rightarrow\) lógicafat32 e ntfsExt3, Ext4reiserFSXFSExt4
gparted e veja como está seu HD
Ext4 para o sistema de arquivos/)Importante! 99,9% dos softwares que você precisa estão disponíveis em repositórios próprios do Ubuntu. Sempre instale os programas destes repositórios para garantir compatibilidade e segurança!
synapticEntre nas configurações e "Programas e atualizações". Certifique-se que todas as opções da aba "Outros programas" estejam marcados
Abra o Synaptic e instale os seguintes pacotes:
default-jdk e icedtea-plugin para instalar Java (BB, ...)chromium-browser para o Chromiumtexlive-full para a distribuiçao $\TeX$Live completatexmaker para edição dos arquivos .texVocê pode procurar mais pacotes e instalar à medida que for necessário
Dropbox
.deb
R
Nos respositórios do Ubuntu ja existe o R (pacote r-base), mas sempre
em uma versão mais antiga. Para instalar e manter sempre a última versão
do R basta adicionar um repositório do CRAN.
Para adicionar o repositório do CRAN com a última versão do R para Ubuntu, no terminal
gedit) o arquivo /etc/apt/sources.listsudo gedit /etc/apt/sources.list &
sudo antes do gedit
sources.list não está no seu /home, é
necessário ser um super-usuário para alterá-losudo (super-user do) permite que você execute apenas um
comando específico como super-usuário (porque você é um sudoer
no sistema)Continua...
/etc/apt/sources.list adicione a seguinte linha, referente
ao repositório CRANdeb http://brieger.esalq.usp.br/CRAN/bin/linux/ubuntu raring/
sudo apt-get update
sudo apt-get install r-base r-base-dev
R
Sim, o R é um programa que roda no terminal
Para usar o R de forma apropriada você pode escolher entre muitos editores como
vim).deb (confira se a versão é 32-bit ou 64-bit)A comunidade Ubuntu/Linux já é muito grande e carrega o espírito do software livre de ajudar o vizinho. Por isso, uma busca no Google geralmente vai sanar suas dúvidas. Mesmo assim, se precisar perguntar, alguns lugares são