Apostila sobre uso do sistema operacional Linux

9

Click here to load reader

Transcript of Apostila sobre uso do sistema operacional Linux

Page 1: Apostila sobre uso do sistema operacional Linux

Introdução ao Terminal do Ubuntu

Bruno Santos∗

2016

Sumário

1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 O terminal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 Comandos do terminal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

3.1 Sintaxe dos comandos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33.2 Recursos de ajuda e a diretiva –help . . . . . . . . . . . . . . . . . . . . . . . . 33.3 Executando comandos com privilégio de administrador (sudo) . . . . . . . . . . 43.4 Explorando arquivos e pastas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53.5 Outros comandos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

∗Graduando em engenharia de computação pela UFMT-VG

Page 2: Apostila sobre uso do sistema operacional Linux

1 Introdução

Em nossos estudos sobre programação de computadores em geral, frequentemente iremos nosdeparar 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, aindaque de forma básica, para usufruir melhor destas ferramentas.

Entretanto, usuários acostumados com o sistema operacional Windows, ou mesmo com o MacOS, encontram dificuldades para se adaptarem ao Linux e uma delas, dentre outras, é a utilizaçãodo terminal de comandos. Trataremos de explicar aqui sua utilidade e de listarmos alguns comandosessenciais para seu melhor uso.

Neste documento, utilizaremos distribuições do Linux (também chamadas de distros) da famíliaDebian, isto é, as distribuições Debian, Ubuntu, Linux Mint, Elementary OS etc., pois estas são defácil uso para usuários iniciantes no mundo Linux. As ilustrações e exemplos citados aqui foram feitosutilizando 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 dafamília Debian, entretanto todos os comandos listados aqui podem ser utilizado em qualqueruma das distros listadas acima. As ilustrações apresentadas aqui correspondem ao Linux Mintversã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ésda interface gráfica, quase se assemelhando ao Windows nesse quesito. Entretanto, muitas vezes nosvemos diante de situações onde temos que usar um programa ou fazer algum ajuste no sistema atravésde 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çãodo usuário com o sistema através de comandos digitados, semelhante ao Prompt de Comando noWindows. Através dele é possível realizar qualquer tarefa no Linux e, frequentemente, não há nainterface gráfica uma alternativa disponível para determinada tarefa, nos obrigando a utilizá-lo. Porexemplo, é possível acessarmos uma pasta de arquivos no Linux pela interface gráfica (abrindo oexplorador de arquivos do Linux e navegando pelas pastas), assim como no Windows, e também acessaruma 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 Dashmenu, localizado no canto superior esquerdo. No Linux Mint 18 ele possuirá uma tela semelhante aesta.

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á otil em seguida (˜) indica que o terminal está aberto na pasta Home, que é a pasta padrão de usuário doUbuntu. É possível, através de comandos, navegar pelas pastas do sistema, o que será melhor explicadoadiante na seção 3.4 deste tutorial.

Page 3: Apostila sobre uso do sistema operacional Linux

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 certasintaxe. Por exemplo, ao abrirmos o terminal, se quisermos navegar até a pasta Imagens utilizamos ocomando:

cd Imagens

O comando cd significa “change directory” e serve para acessarmos um diretório informado em seguidaao comando. Intuitivamente, ua sintaxe é:

cd [ diretorio ]

Então, ao usarmos o comando acima, devemos substituir [diretório] pelo nome da sub-pasta quequeremos acessar dentro da pasta atual que estamos.

Além disso, alguns comandos aceitam opções adicionais. Estas opções adicionais são chamadasde flags. Por exemplo, ao usarmos o compilador GCC para compilarmos um determinado arquivochamado 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 arquivomain.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).

Page 4: Apostila sobre uso do sistema operacional Linux

[ comando ] --help

Por exemplo, vejamos as opções disponíveis quando invocamos o comando para compilar usando oGCC.

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 eminglês, independente do idioma do seu Linux.

Outro recurso interessante: Ao digitar parcialmente um comando (por ex.: o comando “cd”), dar umespaço e pressionar rapidamente a tecla TAB duas vezes, o terminal exibirá todas as opções disponíveispara 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 atecla TAB, o terminal nos informa todas as opções de pastas disponíveis para o usuário acessar comaquele comando. Aqui isto facilita e muito caso não soubermos quais são as pastas disponíveis paraacessarmos 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.

Page 5: Apostila sobre uso do sistema operacional Linux

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 doprograma “valgrind”. Note que, neste caso, apenas é possível instalar programas se o usuário tiverpermissã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 terminalirá solicitar para que o usuário entre com sua senha de usuário. Mesmo que o usuário estejadigitando a senha, nada aparecerá na tela, mas isto é normal, apenas continue a digitarnormalmente. 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, noWindows, o Nautilus, no Ubuntu etc.) perceba que ele abre em uma pasta inicial. Analogamente, oterminal 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 dosistema através de alguns comandos simples. O primeiro comando que vem em mente é o cd, quesignifica “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 pastade mesmo nome dentro da pasta Home, que é a pasta de início do terminal. Caso não haja nenhumdiretó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 seguidodo nome da nova pasta.

mkdir [ diretorio ]

Esta nova pasta será criada dentro da pasta atual onde você está acessando.

Page 6: Apostila sobre uso do sistema operacional Linux

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 utilizamoso 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. Devemosfechar o nome do diretório entre aspas quando este nome for composto, caso contrário, oterminal retornará um erro de sintaxe.

Além de criar pastas com comandos, podemos também remover pastas com o comando rm. Estecomando pode ser utilizado para remover tanto arquivos quanto pastas, e sua sintaxe é:

Page 7: Apostila sobre uso do sistema operacional Linux

rm [ arquivo ou pasta]

Analogamente aos casos mostrados, caso o arquivo ou pasta especificado como [arquivo] no comandoacima 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 oconteú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 mesmaforma 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 semcontar a infinidade de diferentes pacotes (programas) que o usuário pode utilizar através de linhasde comando, fazendo com que seja impossível elencar todos, ou a maioria, aqui. Portanto, elencamosabaixo 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 ]

Page 8: Apostila sobre uso do sistema operacional Linux

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 bomcomando 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 atualizaapenas os repositórios. Para atualizar todos os programas do sistema, incluindo drivers, usamos ocomando 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 programaValgrind, muito utilizado para verificar leaks de memória em programas compilados em linguagem C, e

Page 9: Apostila sobre uso do sistema operacional Linux

que só funciona via linhas de comando no terminal. E este é apenas um exemplo dentre tantos outrospacotes 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 mesmoe ele se tornará uma ferramenta muito poderosa para gerenciamento de arquivos, de programas e dosistema operacional como um todo, indispensável na vida do programador em C.