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/usuario
root
, ou o super-usuárioroot
é único, e ocupa o posto mais alto na hierarquia de
permissões (pode fazer tudo!)/home
root
\(\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/usuario
pwd
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
:
l
a
(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_linux
Cuidado! 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_linux
teste.txt
) com algum conteúdo.oculto.txt
)teste.txt
para o seu diretório curso_linux
teste.txt
para o diretório ~/Documentos
teste.txt
para delete.txt
delete.txt
para o diretório curso_linux
curso_linux
Assumindo 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çãoO 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 ntfs
Ext3
, Ext4
reiserFS
XFS
Ext4
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!
synaptic
Entre 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 .tex
Você 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.list
sudo 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