Apostila sobre uso do sistema operacional Linux

Propaganda
Introdução ao Terminal do Ubuntu
Bruno Santos∗
2016
Sumário
1
2
3
∗
Introdução . . . . . . . . . . . . . . . . . . .
O terminal . . . . . . . . . . . . . . . . . .
Comandos do terminal . . . . . . . . . . . .
3.1
Sintaxe dos comandos . . . . . . . .
3.2
Recursos de ajuda e a diretiva –help
3.3
Executando comandos com privilégio
3.4
Explorando arquivos e pastas . . . .
3.5
Outros comandos . . . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
de administrador
. . . . . . . . . .
. . . . . . . . . .
Graduando em engenharia de computação pela UFMT-VG
. . . .
. . . .
. . . .
. . . .
. . . .
(sudo)
. . . .
. . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
2
2
3
3
3
4
5
7
1 Introdução
Em nossos estudos sobre programação de computadores em geral, frequentemente iremos nos
deparar com ferramentas que, ou funcionam melhor no sistema operacional Linux, ou até mesmo só
existem no Linux. Por isso é de grande importância para o programador saber utilizar o Linux, ainda
que de forma básica, para usufruir melhor destas ferramentas.
Entretanto, usuários acostumados com o sistema operacional Windows, ou mesmo com o Mac
OS, encontram dificuldades para se adaptarem ao Linux e uma delas, dentre outras, é a utilização
do terminal de comandos. Trataremos de explicar aqui sua utilidade e de listarmos alguns comandos
essenciais para seu melhor uso.
Neste documento, utilizaremos distribuições do Linux (também chamadas de distros) da família
Debian, isto é, as distribuições Debian, Ubuntu, Linux Mint, Elementary OS etc., pois estas são de
fácil uso para usuários iniciantes no mundo Linux. As ilustrações e exemplos citados aqui foram feitos
utilizando o Ubuntu versão 16.04 com interface gráfica Unity.
Importante: Far-se-á referência neste tutorial ao Ubuntu por ser a mais popular distro da
família Debian, entretanto todos os comandos listados aqui podem ser utilizado em qualquer
uma das distros listadas acima. As ilustrações apresentadas aqui correspondem ao Linux Mint
versão 18 com ambiente gráfico MATE.
2 O terminal
Uma das melhores coisas do Ubuntu certamente é a sua rica interação com o usuário através
da interface gráfica, quase se assemelhando ao Windows nesse quesito. Entretanto, muitas vezes nos
vemos diante de situações onde temos que usar um programa ou fazer algum ajuste no sistema através
de linhas de comando pois não há opções para tal pela interface gráfica. É aí que entra o terminal.
O terminal é uma ferramenta muito poderosa do Linux. É um programa que permite a interação
do usuário com o sistema através de comandos digitados, semelhante ao Prompt de Comando no
Windows. Através dele é possível realizar qualquer tarefa no Linux e, frequentemente, não há na
interface gráfica uma alternativa disponível para determinada tarefa, nos obrigando a utilizá-lo. Por
exemplo, é possível acessarmos uma pasta de arquivos no Linux pela interface gráfica (abrindo o
explorador de arquivos do Linux e navegando pelas pastas), assim como no Windows, e também acessar
uma pasta pelo terminal. Entretanto, se quisermos utilizar, por exemplo, o programa Valgrind, não há
como não utilizar o terminal pois o Valgrind não possui interface gráfica.
O terminal no Ubuntu pode ser invocado pressionando as teclas Ctrl + Alt + T ou do Dash
menu, localizado no canto superior esquerdo. No Linux Mint 18 ele possuirá uma tela semelhante a
esta.
Note na figura 1 que há um comando na tela com uma sintaxe semelhante a esta:
usuario@nomepc :~\ $
Aqui “usuario” indica o nome de usuário que iniciou o terminal e “nomepc” indica o nome da máquina,
que nada mais é do que um “apelido” para o computador, usado para algumas funções do Ubuntu. Já o
til em seguida (˜) indica que o terminal está aberto na pasta Home, que é a pasta padrão de usuário do
Ubuntu. É possível, através de comandos, navegar pelas pastas do sistema, o que será melhor explicado
adiante na seção 3.4 deste tutorial.
Figura 1 – Tela inicial do terminal
3 Comandos do terminal
3.1 Sintaxe dos comandos
Os comandos no Ubuntu não são definidos de formas e nomes aleatórios: eles obedecem uma certa
sintaxe. Por exemplo, ao abrirmos o terminal, se quisermos navegar até a pasta Imagens utilizamos o
comando:
cd Imagens
O comando cd significa “change directory” e serve para acessarmos um diretório informado em seguida
ao comando. Intuitivamente, ua sintaxe é:
cd [ diretorio ]
Então, ao usarmos o comando acima, devemos substituir [diretório] pelo nome da sub-pasta que
queremos acessar dentro da pasta atual que estamos.
Além disso, alguns comandos aceitam opções adicionais. Estas opções adicionais são chamadas
de flags. Por exemplo, ao usarmos o compilador GCC para compilarmos um determinado arquivo
chamado main.c, frequentemente utiliza-se a seguinte linha:
gcc main . c -o main
Com o comando acima estamos dizendo ao terminal para executar o GCC, compilando o arquivo
main.c e criando um arquivo executável de nome “main”.
3.2 Recursos de ajuda e a diretiva –help
Esta é uma ferramenta muito útil quando se quer saber qual é a sintaxe de determinado comando.
Para isto, basta digitar no terminal o comando em si, seguido com a palavra –help (com dois hífens).
[ comando ] -- help
Por exemplo, vejamos as opções disponíveis quando invocamos o comando para compilar usando o
GCC.
Figura 2 – Obtendo informações sobre o comando “gcc” com a flag “–help”
Note, contudo, que todo o conteúdo informado pelo Terminal, ao usar esta diretiva, estará escrito em
inglês, independente do idioma do seu Linux.
Outro recurso interessante: Ao digitar parcialmente um comando (por ex.: o comando “cd”), dar um
espaço e pressionar rapidamente a tecla TAB duas vezes, o terminal exibirá todas as opções disponíveis
para completar aquele comando.
Figura 3 – Obtendo ajuda a completar o comando “cd” na pasta Home
No exemplo acima vimos que, ao digitarmos “cd”, darmos um espaço e pressionarmos duas vezes a
tecla TAB, o terminal nos informa todas as opções de pastas disponíveis para o usuário acessar com
aquele comando. Aqui isto facilita e muito caso não soubermos quais são as pastas disponíveis para
acessarmos dentro do diretório que estamos.
3.3 Executando comandos com privilégio de administrador (sudo)
As vezes determinados comandos exigem permissão de administrador para que sejam executados.
Normalmente, comandos que realizam alguma alteração no sistema exigem tal permissão. Neste caso,
podemos utilizar a palavra “sudo” (que significa “super user do”) seguido pelo comando a ser invocado.
sudo [ comando ]
Onde, mais uma vez, [comando] deve ser substituído pelo comando a se executar. Um exemplo disso é
a instalação do pacote Valgrind, através da seguinte linha de comando:
sudo apt - get install valgrind
Figura 4 – Aplicação do comando “sudo” na instalação de programas
Estamos dizendo ao terminal para executar, com permissão de administrador, a instalação do
programa “valgrind”. Note que, neste caso, apenas é possível instalar programas se o usuário tiver
permissão de administrador, mas nem sempre isto será necessário.
Veja pela imagem acima que, logo após digitado o comando com sudo e pressionado Enter, o terminal
irá solicitar para que o usuário entre com sua senha de usuário. Mesmo que o usuário esteja
digitando a senha, nada aparecerá na tela, mas isto é normal, apenas continue a digitar
normalmente. Após a inserção da senha e pressionado Enter, o comando prosseguirá.
3.4 Explorando arquivos e pastas
Ao utilizar um explorador de arquivos gráfico (como, por exemplo, o Windows Explorer, no
Windows, o Nautilus, no Ubuntu etc.) perceba que ele abre em uma pasta inicial. Analogamente, o
terminal funciona da mesma forma: Assim que é aberto, o terminal inicia-se na pasta Home do usuário,
representado na linha de comando por um til (˜). A partir daí é possível navegar pelos diretórios do
sistema através de alguns comandos simples. O primeiro comando que vem em mente é o cd, que
significa “change directory”. Ou seja, ao digitar “cd” seguido do nome de uma pasta, o terminal fará
acesso a esta pasta.
Note que o acesso à pasta “Área de Trabalho” só foi realizado com sucesso pois de fato há uma pasta
de mesmo nome dentro da pasta Home, que é a pasta de início do terminal. Caso não haja nenhum
diretório com o nome especificado, o terminal irá retornar “No such file or diretory”.
Através do terminal podemos também criar novas pastas. Utilizando o comando mkdir seguido
do nome da nova pasta.
mkdir [ diretorio ]
Esta nova pasta será criada dentro da pasta atual onde você está acessando.
Figura 5 – Abrindo a pasta “Área de Trabalho” com o comando “cd”
Figura 6 – Criando uma nova pasta e acessando-a
Ao acessarmos uma pasta, frequentemente queremos voltar para a pasta anterior. Para isto utilizamos
o mesmo comando cd seguido de dois pontos (..) no lugar do diretório.
Figura 7 – Voltando um nível acima nas pastas com “cd ..”
Nos exemplos acima criamos e acessamos a pasta “Nova pasta” utilizando aspas no nome. Devemos
fechar o nome do diretório entre aspas quando este nome for composto, caso contrário, o
terminal retornará um erro de sintaxe.
Além de criar pastas com comandos, podemos também remover pastas com o comando rm. Este
comando pode ser utilizado para remover tanto arquivos quanto pastas, e sua sintaxe é:
rm [ arquivo ou pasta ]
Analogamente aos casos mostrados, caso o arquivo ou pasta especificado como [arquivo] no comando
acima não existam, o terminal retornará o erro “No such file or diretory”.
Encerramos esta subseção com um dos comandos mais utilizados: ls. Este comando lista todo o
conteúdo da pasta na qual o terminal está acessando. Sua sintaxe é simples, bastando apenas digitar
“ls” no terminal e pressionar Enter. O comando também aceita algumas flags.
ls [ flags ]
Uma flag útil a se utilizar com este comando é a “-l”, que lista todo o conteúdo da pasta, da mesma
forma que “ls” faz, porém lista também alguns detalhes sobre os arquivos e pastas.
Figura 8 – Diferença entre os comandos “ls” e “ls -l”
3.5 Outros comandos
O terminal do Ubuntu possui uma variedade muito grande de diferentes comandos, e isso sem
contar a infinidade de diferentes pacotes (programas) que o usuário pode utilizar através de linhas
de comando, fazendo com que seja impossível elencar todos, ou a maioria, aqui. Portanto, elencamos
abaixo alguns dos comandos mais utilizados no terminal, além dos comandos já explicados anteriormente.
sudo su
O comando acima muda o terminal para o modo de "super usuário"(ou administrador). Neste modo não
é preciso inserir a diretiva "sudo"antes dos comandos que necessitam de privilégio de administrador.
sudo apt - get install [ programa ]
Faz o download do [programa] no repositório do Ubuntu e o instala no sistema.
sudo apt - get purge [ programa ]
Remove completamente o [programa] do Ubuntu.
sudo apt - get autoremove
Remove pacotes obsoletos do sistema, isto é, pacotes que o sistema não faz mais uso. É um bom
comando a se rodar depois de executar “sudo apt-get purge [programa]”, por exemplo.
sudo apt - get update
Atualiza os repositórios (bancos de dados de programas) do Ubuntu. Note que este comando atualiza
apenas os repositórios. Para atualizar todos os programas do sistema, incluindo drivers, usamos o
comando abaixo.
sudo apt - get upgrade
Este comando sim realiza o “upgrade” do sistema, de fato.
pwd
Exibe o caminho completo da pasta (diretório) na qual o usuário está localizado.
clear
Limpa a tela do terminal.
shutdown
Desliga o computador.
exit
Fecha o terminal.
Figura 9 – Execução do comando “sudo apt-get update”.
Existem ainda muitos outros comandos adicionados via pacotes. É o caso, por exemplo, do programa
Valgrind, muito utilizado para verificar leaks de memória em programas compilados em linguagem C, e
que só funciona via linhas de comando no terminal. E este é apenas um exemplo dentre tantos outros
pacotes disponíveis para o uso no terminal.
E tudo isto é apenas uma introdução ao uso do terminal do Ubuntu. Faça o bom uso do mesmo
e ele se tornará uma ferramenta muito poderosa para gerenciamento de arquivos, de programas e do
sistema operacional como um todo, indispensável na vida do programador em C.
Download