IST - Física - Mail
Início
HowTo Google Wikipedia Youtube Gmail

Linux: Comandos da shell


Sumário
1. Introdução
2. Pipelines (pipe): Encadear processos num só comando
3. Redirecionamento da escrita e leitura
4. 'cat' :- Permite criar, juntar e mostrar ficheiros
5. 'cd' :- Muda a pasta de trabalho para outra pasta
6. 'chattr' :- Permite definir e alterar os atributos de um ficheiro
7. 'chgrp' :- Altera o 'group' de ficheiros
8. 'chmod' :- Altera as proteções de ficheiros
9. 'chown' :- Altera o 'user' e o 'group' de ficheiros
10. 'cksum' :- Gera um checksum de 32 de um ficheiro
11. 'cmp' :- Compara dois ficheiros
12. 'cp' :- Copia ficheiros e pastas
13. 'dd' :- Copia ficheiros e cria imagens em discos flexíveis, rígidos, etc.
14. 'df' :- Mostra os 'devices' montados e seus atributos
15. 'diff' :- Compara ficheiros ou pastas e mostra as diferenças
16. 'du' :- Mostra o espaço de disco ocupado pelos ficheiros numa pasta
17. 'file' :- Determinar o tipo de dados num arquivo, isto é, o tipo de ficheiro
18. 'find' :- Pesquisa ficheiros numa pastas e sub-pastas
19. 'fuser' :- Mostra os processos que utilizam um determinado ficheiro ou 'device'
20. 'less' :- Mostra um ficheiro no ecrã. Permite usar as setas
21. 'ln' :- Cria uma ligação (link simbólico) entre ficheiros
22. 'ls' :- Lista os ficheiros da(s) pasta(s) escolhidas
23. 'lsattr' :- Mostra os atributos de um ficheiro
24. 'lsof' :- Lista os descritores dos ficheiros abertos pelos processos em execução
25. 'mkdir' :- Cria uma pasta
26. 'more' :- Mostra um ficheiro no ecrã
27. 'mv' :- Move ficheiros ou altera nome de pasta ou ficheiro
28. 'pax' :- Utilitário de arquivamento. Uma espécie de junção do 'tar' com o 'cpio'
29. 'pwd' :- Mostra no ecrã a pasta em que se encontrar
30. 'rm' :- Apaga um ou mais ficheiros (e eventualmente pastas)
31. 'rmdir' :- Remove uma pasta
32. 'split' :- Utilitário para dividir um ficheiro em partes
33. 'tee' :- Lê do 'standard input' e escreve no 'standard output'
34. 'touch' :- Serve para alterar a data e hora de um ficheiro
35. 'type' :- Mostra como um comando era usado se fosse dado na linha de comandos
36. 'umask' :- Define as permissões para os novos ficheiros e pastas
37. 'wc' :- Dá informação sobre o conteúdo de um ou mais ficheiros
38. Acções específicas por acção de comandos compostos (pinelines)
39. Links úteis
Início

1. Introdução

Há diversas shell's pelo que poderão variar um pouco os comandos. No entanto, as maiores diferenças entre elas encontram-se no modo como de escrevem os seus ficheiros de comandos (scripts).
Início

2. Pipelines (pipe): Encadear processos num só comando

Este procedimento permine executar uma sucessão de de comandando de uma só vez, usando o stdout de cada comando como stdin do comando seguinte as mensagens de erro de toda a sequência de comando vão para stderr, ou seja para a linha de comandos. Por outras palavras, estabelece canais de comunicação entre diferentes procedimentos. Denota-se por uma barra vertical, |.
Como exemplo simples pode considerar-se um comando que recebe o ficheiro 'file1.txt' substitui 'rosa' por 'cravo' e escreve-o no ficheiro 'file2.txt': mostra no ecran apenas as linhas em que existe a instrução 'while':
cat file1.txt | awk '{gsub(/rosa/,"cravo")}1 > file2.txt'
em que 'cat' mostra o ficheiro, 'awk' faz a substituição e, em seguinda o stdout é rediccionado para 'file2.txt'.
Início

3. Redirecionamento da escrita e leitura

Na linha de comandos pode fazer-se o redirecionamento da leitura e da escrita:
  • A instrução ">" permite redirecionar o standard output para um ficheiro. Exemplo:
    ls -a > dir.txt
    para se acrescentar a um ficheiro já existente pode fazer-se ">>".
    Igualmente pode redefinir-se standard input ("<") para ser lido a partir de um ficheiro
  • tee: Lê do "standard input" e escreve no "standard output" e em files.
    Exemplos:
    • $ echo "ola" | sudo tee -a teste_tee_file.txt
      (Nota: '-a' significa 'append')
Início

4. 'cat' :- Permite criar, juntar e mostrar ficheiros

Início

5. 'cd' :- Muda a pasta de trabalho para outra pasta

Início

6. 'chattr' :- Permite definir e alterar os atributos de um ficheiro

Início

7. 'chgrp' :- Altera o 'group' de ficheiros

Início

8. 'chmod' :- Altera as proteções de ficheiros

O nome deriva de change mode. Altera as proteções de ficheiros, pastas, etc.
As atribuições de proteção podem ser feitas em formato octal ou através de símbolos:
ProteçãoSímbolosOctalBinário
leitura, escrita e execuçãorwx7111
leitura e escritarw-6110
leitura e execuçãor-x5101
apenas leiturar--4100
escrita e execução-wx3011
apenas escrita-w-2010
apenas execução--x1001
nenhum---0000
Início

9. 'chown' :- Altera o 'user' e o 'group' de ficheiros

Início

10. 'cksum' :- Gera um checksum de 32 de um ficheiro

Início

11. 'cmp' :- Compara dois ficheiros

Início

12. 'cp' :- Copia ficheiros e pastas

Copia ficheiros. Se usado recursivamente (opção '-r'), também pode copiar árvores de pastas. A sua sintaxe é:
cp [Opções] origem destino
As opções mais usadas são:
OpçãoDescrição.
-iPede confirmação antes se sobrepor um ficheiro.
-f, --forceForça a copiar sem fazer perguntas.
-r, -RCopia recursivamente se for uma pasta.
Nota: é aconselhável usar a opção '-i' (perguntar) para evitar que um ficheiro apague outro, tal pode acontecer se o novo nome for igual ao de um ficheiro já existente.
Início

13. 'dd' :- Copia ficheiros e cria imagens em discos flexíveis, rígidos, etc.

Início

14. 'df' :- Mostra os 'devices' montados e seus atributos

Início

15. 'diff' :- Compara ficheiros ou pastas e mostra as diferenças

Compara ficheiros. Se usado recursivamente pode comparar o conteúdos de pastas. Tem como resultado as diferenças indicando as linhas em que elas existem. A sua sintaxe é:
diff [Opções] ficheiros
As opções mais usadas são:
OpçãoDescrição.
-rSe fizer a comparação recursiva entre pastas.
-iIgnora maiúsculas e minúsculas no conteúdo dos ficheiros.
-wIgnora todos os espaço em branco.
Início

16. 'du' :- Mostra o espaço de disco ocupado pelos ficheiros numa pasta

Início

17. 'file' :- Determinar o tipo de dados num arquivo, isto é, o tipo de ficheiro

Início

18. 'find' :- Pesquisa ficheiros numa pastas e sub-pastas

O comando 'find' permite encontrar ficheiros a partir de um dado nó da árvore das pastas. A sua sintaxe é:
find [Opções] [] [expressão]
em que 'Opções' permite tratar os links simbólicos (ver manual) e 'expressão' pode ser simplesmente o nome do ficheiro ou uma expressão regular. Algumas opções de 'expressão':
OpçãoDescrição.
-name <name>Nome do ficheiro
-iname </name>Nome do ficheiro. Ignora maiúsculas e minúsculas
-regex <regex>Expressão regular
-iregex <regex>Expressão regular. Ignora maiúsculas e minúsculas

Exemplos:

  • Como encontrar recursivamente ficheiros começados por 'Livro' na pasta '/home/Books'
    $ find /home/Books -name Livro*
  • Como encontrar recursivamente ficheiros a partir de uma certa data (23 de Novembro de 2022) na pasta '/home/Books'
    $ find /home/Books/ -type f -newermt '11/23/2022 0:00:00'
Início

19. 'fuser' :- Mostra os processos que utilizam um determinado ficheiro ou 'device'

Início

20. 'less' :- Mostra um ficheiro no ecrã. Permite usar as setas

O comando 'less' permite visualizar para a frente e para trás com as setas. Generaliza o comando 'more' que não permitia andar para trás na visualização. A sua sintaxe é:
less [Opções] ficheiro
Para andar para a frente um ecrã pode usar-se a tecla de espaço. Para sair basta escrever 'q' (quit).
Início

21. 'ln' :- Cria uma ligação (link simbólico) entre ficheiros

Início

22. 'ls' :- Lista os ficheiros da(s) pasta(s) escolhidas

O comando 'ls' mostra os ficheiros existentes numa, ou mais, pastas. A sua sintaxe é:
ls [Opções] [Pasta(s)]
Sem opções mostra simplesmente os ficheiros existentes na pasta local, ignorando aqueles que começam por ponto.
Disponibiliza um conjunto de qualificadores que permitem alterar o resultado da saída. Alguns dos mais frequentes são:
OpçãoDescrição.
-1Lista os ficheiros numa única coluna.
-a, --allMostra todos os ficheiros incluindo os que começam por ponto.
-lMostra as proteções, utilizador, grupo, tamanho e data da última alteração.
-rInverte a ordem de saída dos ficheiro.
-tOrdena a saída pela data da última alteração. Começa nos mais recentes.
Início

23. 'lsattr' :- Mostra os atributos de um ficheiro

Início

24. 'lsof' :- Lista os descritores dos ficheiros abertos pelos processos em execução

Início

25. 'mkdir' :- Cria uma pasta

Início

26. 'more' :- Mostra um ficheiro no ecrã

Início

27. 'mv' :- Move ficheiros ou altera nome de pasta ou ficheiro

A sua acção depende do tipos de argumentos. Assim, se tiver apenas dois argumentos, pode alterar o nome do primeiro para o segundo. Se o segundo for uma pasta pode mover o(s) ficheiro(s) para essa pasta. A sua sintaxe é:
mv [Opções] origem destino
Nota: é aconselhável usar a opção '-i' (perguntar) para evitar que um ficheiro apague outro, tal pode acontecer se o novo nome for igual ao de um ficheiro já existente.
Início

28. 'pax' :- Utilitário de arquivamento. Uma espécie de junção do 'tar' com o 'cpio'

Início

29. 'pwd' :- Mostra no ecrã a pasta em que se encontrar

Imprime no ecrã a pasta em que se encontrar.
Início

30. 'rm' :- Apaga um ou mais ficheiros (e eventualmente pastas)

Permite apaga um ou mais ficheiros. Se usado recursivamente (opção '-r') pode ainda apagar uma árvore de pastas. A sua sintaxe é:
rm [Opções] ficheiros
As opções mais usadas são:
OpçãoDescrição.
-iPede confirmação para cada ficheiro a apagar.
-f, --forceForça a apagar sem fazer perguntas.
-r, -RApaga recursivamente se for uma pasta.
Início

31. 'rmdir' :- Remove uma pasta

Início

32. 'split' :- Utilitário para dividir um ficheiro em partes

Início

33. 'tee' :- Lê do 'standard input' e escreve no 'standard output'

Lê do "standard input" e escreve no "standard output" e em files.
s opção mais usada é:
OpçãoDescrição.
-aSignifica que se acrescenta ao ficheiro.

Exemplo em que se diz "olá" e é acrescentado ao ficheiro 'tee_file.txt':

$ echo "ola" | sudo tee -a tee_file.txt
(Nota: '-a' significa 'append')
Início

34. 'touch' :- Serve para alterar a data e hora de um ficheiro

Início

35. 'type' :- Mostra como um comando era usado se fosse dado na linha de comandos

Início

36. 'umask' :- Define as permissões para os novos ficheiros e pastas

Início

37. 'wc' :- Dá informação sobre o conteúdo de um ou mais ficheiros

Dá informação sobre o conteúdo de um ou mais ficheiros: número de linhas, palavras e caracteres. No caso de ser mais do que um ficheiro, acrescenta o resultado da some de todos eles. A sua sintaxe é:
wc [Opções] ficheiro(s)
As opções mais usadas são:
OpçãoDescrição.
-c, --bytesDá o número de bytes.
-m, --charsDá o número de caracteres.
-l, --linesDá o número de linhas.
-L, --max-line-lengthDá o comprimento da maior linha.
-w, --wordsDá o número de palavras.
Início

38. Acções específicas por acção de comandos compostos (pinelines)

Início

39. Links úteis

Início
Footer