Introdução aos Comandos - Linux
A linha de comando, ou terminal, é um componente essencial do sistema operacional Linux, permitindo uma administração e gerenciamento abrangentes de toda a operação do sistema. Mesmo em distribuições do Linux que utilizam uma interface gráfica, o terminal ainda é necessário para revelar todo o poder e potencial do Linux.
Para trabalhar com a linha de comando, o Linux fornece o que é chamado de shell. O shell é um interpretador de comandos: ele é responsável por executar o que você digita na linha de comando. O shell mais popular é o bash (abreviação de "Bourne Again Shell", onde "Bourne Shell" é o nome do primeiro shell no Unix). Outros shells também podem ser usados, oferecendo recursos adicionais, mas em geral funcionam de maneira semelhante. Por exemplo, o shell tcsh oferece uma linguagem de script semelhante à linguagem de programação C. Outro shell bastante comum é o zsh.
Para interagir com o sistema operacional através da linha de comando, usamos comandos. No Linux, existem muitos comandos, e novos comandos são adicionados regularmente. No entanto, todos esses comandos seguem um padrão de funcionamento comum. Assim, todos os comandos consistem em três partes: o próprio comando, seus parâmetros e argumentos. Por exemplo, vejamos um dos comandos mais comuns, ls
ls
programicio@Programicio:~$ ls Android extensions Public Desktop gnome snap Documents Music Templates Downloads Pictures Videos
Além disso, s comandos geralmente aceitam um conjunto de parâmetros opcionais. Cada comando pode ter vários parâmetros diferentes, e dependendo do comando, vários deles podem ser aplicados simultaneamente. Por exemplo, o comando ls
-l
programicio@Programicio:~$ ls -l total 72 drwxrwxr-x 3 programicio programicio 4096 Feb 19 10:24 Android drwxr-xr-x 2 programicio programicio 4096 Jan 28 14:39 Desktop drwxr-xr-x 15 programicio programicio 4096 Mar 7 20:49 Documents ... drwxr-xr-x 2 programicio programicio 4096 Jan 28 14:39 Videos
Além dos parâmetros, os comandos podem aceitar argumentos. Argumentos geralmente representam os objetos aos quais o comando é aplicado. O argumento é especificado no final do comando. Por exemplo, o comando ls
ls
/usr
programicio@Programicio:~$ ls /usr bin games include lib lib32 lib64 libexec local sbin share src programicio@Programicio:~$
Se o comando também aceitar parâmetros, o argumento é especificado após os parâmetros opcionais:
programicio@Programicio:~$ ls -l /usr total 148 drwxr-xr-x 2 root root 61440 Mar 4 19:40 bin drwxr-xr-x 2 root root 4096 Oct 16 13:38 games drwxr-xr-x 83 root root 16384 Feb 23 06:47 include ... drwxr-xr-x 6 root root 4096 Mar 8 07:08 src
Cadeias de Comandos
Usando o símbolo |
ls -R / | less
Aqui, o comando ls -R
less
less
Redirecionamento
Outro operador frequentemente usado no terminal é o operador de redirecionamento >
ls -l
folder.txt
ls -l > folder.txt
Como resultado, um arquivo folder.txt
Se o arquivo já existir e você não quiser sobrescrever, mas adicionar o resultado do comando ao conteúdo existente, use o operador >>
ls -l >> folder.txt
Durante a execução dos comandos, podem ocorrer erros. Para redirecionar os erros, usamos o operador 2>
ls -l 2> errors.txt
No entanto, ao executar um comando, pode ser que não saibamos se ocorrerão erros ou não. Nesse caso, podemos separar a saída padrão dos erros, por exemplo:
ls -l > folder.txt 2> errors.txt
Neste caso, a saída do comando é gravada no arquivo folder.txt
errors.txt
Obtendo Ajuda
Comando man
Para obter informações sobre comandos, o Linux fornece o comando man
man nome_do_comando
Por exemplo, para obter informações sobre o comando ls
man ls
O console exibirá algo parecido com isto:
LS(1) User Commands LS(1) NAME ls - list directory contents SYNOPSIS ls [OPTION]... [FILE]... DESCRIPTION List information about the FILEs (the current directory by default). Sort entries alphabetically if none of -cftuvSUX nor --sort is speci‐ fied. Mandatory arguments to long options are mandatory for short options too. -a, --all do not ignore entries starting with .
: Nome do comando e uma breve descrição de sua finalidade.Name
: Informações breves sobre o uso do comando, incluindo todos os parâmetros disponíveis e indicando se um parâmetro é opcional (mostrado entre colchetes) ou obrigatório (não mostrado entre colchetes).Synopsis
: Descrição detalhada do comando.Description
: Lista completa de todos os parâmetros disponíveis.Options
: Lista breve de arquivos associados ao comando (se houver).Files
: Lista de comandos relacionados.See also
: Autor do comando e seu endereço de e-mail.Author
Opção --help
Outra maneira de obter informações sobre um comando é usar a opção --help
ls
programicio@Programicio:~/Documents$ ls --help Usage: ls [OPTION]... [FILE]... List information about the FILEs (the current directory by default). Sort entries alphabetically if none of -cftuvSUX nor --sort is specified. Mandatory arguments to long options are mandatory for short options too. -a, --all do not ignore entries starting with . -A, --almost-all do not list implied . and .. --author with -l, print the author of each file -b, --escape print C-style escapes for nongraphic characters --block-size=SIZE with -l, scale sizes by SIZE when printing them; e.g., '--block-size=M'; see SIZE format below -B, --ignore-backups do not list implied entries ending with ~ -c with -lt: sort by, and show, ctime (time of last modification of file status information); with -l: show ctime and sort by name; otherwise: sort by ctime, newest first -C list entries by columns --color[=WHEN] color the output WHEN; more info below
Dessa forma, podemos ver todas as opções possíveis que o comando aceita, sua descrição e sintaxe.
Histórico de Comandos
O shell Bash memoriza o histórico de comandos inseridos, permitindo reutilizar comandos recentemente usados. Muitos distribuições registram os últimos 1000 comandos utilizados pelo usuário; o número de comandos armazenados é determinado pela variável de sistema chamada HISTSIZE
.bash_history
history
programicio@Programicio:~$ history 1 ls 2 ls -l 3 ls /usr/ 4 ls -l /usr 5 ls --help 6 history
O Linux permite repetir um comando usando seu número no histórico. Por exemplo, na saída acima, o comando ls -l /usr
!4
programicio@Programicio:~$ !4 ls -l /usr total 148 drwxr-xr-x 2 root root 61440 Mar 4 19:40 bin drwxr-xr-x 2 root root 4096 Oct 16 13:38 games drwxr-xr-x 83 root root 16384 Feb 23 06:47 include ... drwxr-xr-x 6 root root 4096 Mar 8 07:08 src
Também é possível limpar todo o histórico usando o comando:
history -c