Mini-Manual de Shell de Linux
(criado originalmente para a delegação portuguesa nas IOI'2021)
Quando for indicado um comando para correr na shell, vão ver algo como o seguinte:
ls -l
Em itálico vem o que deve ser substituído por algo. Por exemplo:
cd diretorio
Visão rápida dos comandos principais
- Abrir um terminal
- Botão com "pontos" em baixo do lado esquerdo abre visão de todos as aplicações (permite procurar escrevendo nome do programa a executar)
- Vocês querem executar o terminal
- Navegar/visualizar estrutura de diretórios (pastas)
- '/' é o separador em Linux (ex: /home/oni/Downloads/)
- / é o diretório "raíz" de tudo
- ~ é "equivalente" à pasta home (na vossa máquina é algo como /home/oni)
- ./ é o diretório atual
- ../ é o diretório acima, o "predecessor"
- pwd (ver diretório atual)
- cd diretorio (mudar pasta atual para diretorio)
- cd (mudar pasta atual para home; equivalente a cd ~)
- mkdir diretorio (criar diretorio)
- rm ficheiro (remover ficheiro; se for diretório necessária opção -r para ser "recursivo" rm -r diretorio)
[CUIDADO: apagar desta maneira não deixa fazer undo: em caso de dúvida usem o interface gráfico]
- ls (listar conteúdo do diretório atual)
Cores têm significado: branco ficheiros normais; azul: pastas; verde: ficheiros executáveis; vermelho: ficheiros compactados; etc)
- ls -l (listar conteúdo do diretório atual com detalhe - ex: data de modificação, tamanho, etc)
- ls diretorio (listar conteúdo de diretorio)
- cat ficheiro (mostrar conteúdo de ficheiro) [pode ser combinado para vários ficheiros; ex: cat ficheiro1 ficheiro2]
- Compilar/Executar
- ./ficheiro (executar ficheiro no diretório atual)
- g++ ficheiro.cpp (compilar ficheiro.cpp - "by default gera" executável a.out - para criar executável xpto usar flag -o xpto; ex: g++ -o ficheiro ficheiro.cpp)
[CUIDADO: devem optar sempre por compilar com as flags dadas nas regras]
- < ficheiro redireciona o conteúdo de ficheiro para passar a ser input do comando dado.
Ex: ./ficheiro < input.txt executa o comando ficheiro dando como input o conteúdo do ficheiro input.txt
- > ficheiro redireciona o output do programa para ficheiro (escreve por cima se existir).
Ex: ./ficheiro > output.txt executa o comando ficheiro e coloca o seu output no ficheiro output.txt
- Pode combinar-se comando de entrada e saída.
Ex: ./ficheiro < input.txt > output.txt
- Combinar comandos
- comando1 && comando2 (executar comando1 e se este for bem sucedido executar comando2
Ex: g++ -o ficheiro ficheiro.cpp && ./ficheiro < input.txt executa o comando de compilação e se for bem sucedido executa ficheiro alimentando o programa com o conteúdo do ficheiro input.txt