MC404 - Organização de Computadores e Linguagens de Montagem

Segundo Semestre 2018

Prof. Ricardo Anido

Comandos de Terminal

Para quem nunca usou a ferramenta Terminal, seguem algumas dicas.

O Terminal é apenas uma interface diferente disponível para comunicação com o computador. Você provavelmente usa mais a interface gráfica, clicando e arrastando ícones, para efetuar cópias de arquivos, por exemplo. O Terminal permite que você "instrua" o computador a efetuar as operações que você deseja (como copiar um arquivo, ou iniciar a execução de um programa).

O Terminal é um interpretador de comandos. Cada comando é, em geral, dado em uma linha digitada no terminal. Quando você digita um comando no Terminal e tecla Enter, o Terminal "interpreta" o seu comando, executa o que você indicou, e quando termina de executar o que você indicou o controle do computador retorna para você, e você pode então digitar outro comando.

Para indicar que está pronto para receber um novo comando, o Terminal escreve na tela um Prompt, que é configurável, mas geralmente é algo simples como "shell $ ". Por exemplo, quando você inicia a execução de um Terminal pode ver algo como:

shell $








Os comandos do Terminal podem aceitar operandos (se aceita, ou quantos, depende do comando). Os operandos são caminhos que indicam um arquivo ou diretório específico do sistema operacional, com os diretórios separados por uma barra ('/', no linux e macos) ou por uma barra invertida ('\', no windows). Um exemplo de caminho no linux é:

/Users/home/ranido/mc404/tarefas/tarefa00.s

que representa o arquivo tarefa00.s que está dentro do diretório tarefas, que está dentro do diretório mc404, que está dentro do diretório ranido, que está dentro do diretório home, que está dentro do diretório Users, que está dentro do diretório / ('/' representa o diretóro "raiz" do sistema de arquivos).

A cada momento, você "está" num diretório que é denominado "diretório corrente de trabalho". O Terminal inicia em um diretório corrente de trabalho (normalmente a raiz dos diretórios que você possui, mas depende de configuração do sistema) e você pode "navegar" nos diretórios alterando o diretório corrente de trabalho (por exemplo usando o comando cd, veja abaixo).

Alguns comandos úteis (Linux, MacOs e Powershell/Windows)

ComandoOperaçãoExemplo
lslista os arquivos presentes no diretório cujo caminho é dado como operando; se não é dado um caminho, lista o diretório corrente de trabalhols /Users/ranido/Downloads/leg
cdaltera diretório corrente de trabalho para o caminho dado como operandocd leg
rmremove arquivo cujo caminho é dado como operandorm tarefas/tarefa00.s
rmdirremove diretório cujo caminho é dado como operando (o diretório deve estar vazio, ou seja, antes você tem que remover todos os arquivos do diretório)rmdir tarefa00
catescreve na tela o conteúdo do arquivo do caminho dado como operandocat leg/lasm
pwdescreve na tela o caminho do diretório de trabalho correntepwd
historylista os comandos já executadoshistory
clear
(clc no Powershell)
limpa a tela do terminalclear

Para executar um programa, simplesmente digite o caminho do arquivo executável do programa que quer executar. Por exemplo, para executar outra instância do programa terminal, você poderia digitar na linha de comando (o comando exato vai depender de seu sistema e do que está instalado):

shell $ /usr/bin/gnome-terminal








Como outro exemplo, para executar o compilador gcc você poderia digitar:

shell $ ls
test.c
shell $ cat test.c
#include <stdio.h>

int main(void) {
printf("Hello!");
}

shell $ gcc -o teste teste.c
shell $ ls
test test.c
shell $





Continuando o exemplo, para executar o programa que acabamos de compilar, digitamos o nome do comando ("teste"). No entanto, quando o arquivo executável está no diretório corrente, é necessário preceder o nome do arquivo com "./" para indicar que você quer mesmo executar o arquivo do diretório corrente (por default, o Terminal ignora os executáveis que estão no diretório corrente).

shell $ teste
teste: command not found
shell $ ./teste
Hello!
shell $







Os intrepretadores que executam no programa Terminal (ou Powershell/Windows) são muito poderosos. Procurem aprender os comandos! Há vários tutoriais na internet (por exemplo, este aqui, mas há muitos outros).