Comandos Linux
2
Comandos Unix/Linux Comandos – Comandos para manipulação de diretórios – Comandos para manipulação de ficheiros
3
Todos os comandos estão descritos no manual online que acompanha quase todas as distribuições do linux Estes manuais contêm uma descrição dos comandos/programas e detalhes sobre o modo de utilização das opções, documentando também os parâmetros utilizados em alguns ficheiros de configuração
4
A utilização do manual é feita da seguinte forma: man [secção] [comando/ficheiro]
Secção: é a secção do manual que será aberta; quando omitida, mostra a primeira secção do comando encontrada; Comando/ficheiro: comando/ficheiro que deseja pesquisar;
5
Teclas de navegação nas páginas do manual: – q - sai da página do manual; – PageDown ou f / PageUp ou W - muda de página (25 linhas acima/abaixo) – (k)/(e) – 1 linha acima/abaixo – r – atualiza o ecrã – p ou g – início da página – h – ajuda sobre as opções da página do manual – s – guarda (por exemplo: /tmp/ls)
Exemplo: – man ls
6
Os comandos são ordens dadas ao sistema operativos para executar uma determinada tarefa Cada comando tem uma função específica, pelo que se deve conhecer a sua função de forma a escolher o mais adequado para determinada tarefa, exemplos: – ls – mostra os ficheiros de um diretório – cd – para mudar de diretório
7
Um comando aceita opções e parâmetros Opções – as opções são utilizadas para controlar a forma como o comando será executado, exemplo: – ls –l – ls --all
Parâmetros – identificam o caminho, a origem, o destino, a entrada-padrão ou a saída-padrão, que será passado ao comando, exemplo: – ls /media /media: é o parâmetro passado ao comando ls
8
Existem dois tipos de comando: – Comandos internos: localizados dentro do interpretador de comandos e não no disco. São carregados com o interpretador na memória RAM. Quando executa um comando o interpretador verifica primeiro se se trata de um comando interno. Exemplos (cd, exit, echo, bg, fg, source, help) – Comando externos: são comandos que estão localizados no disco. Os comandos são procurados no disco usando o path e são executados logo que sejam encontrados
9
A Prompt representa o aviso apresentado na linha de execução de comandos
A Prompt do utilizador root é identificada pelo símbolo # e a dos restantes utilizadores pelo símbolo $ Utilizando as setas (,) pode-se recuperar os comandos digitados anteriormente As imagens do ecrã podem ser recuperadas utilizando as teclas SHIFT PgUp/PgDown
10
Outros atalhos: – Backspace: apaga um caráter à esquerda do cursor – Del: apaga o caráter acima do cursor – CTRL+A: move o cursor para o inicio da linha de comandos – CTRL+E: move o cursor para o fim da linha de comandos – CTRL+U: apaga o que estiver à esquerda do cursor. O conteúdo apagado é copiado para utilizar com o CTRL+Y – CTRL+K: apaga o que estiver à direita do cursor. O conteúdo apagado é copiado para utilizar com o CTRL+Y – CTRL+L: limpa o ecrã e também o texto que estiver a ser digitado na linha de comandos – CTRL+Y: coloca o texto que foi apagado na posição do cursor
11
O interpretador de comandos também conhecido por shell é o programa responsável por interpretar as instruções enviadas pelo utilizador e os seus programas ao kernel Executa comandos lidos do dispositivo de entrada padrão (teclado) ou de um ficheiro executável É a principal ligação entre o utilizador, os programas e o kernel O Linux possui diversos tipos de interpretadores de comandos (bash, ash, csh, tcsh, sh. Etc.)
12
Os comandos podem ser enviados para o interpretador de forma: – Interativa: os comandos são digitados na prompt e passados ao interpretador de comandos um a um. Neste modo, o computador depende do utilizador para executar uma tarefa e ou o próximo comando – Não interativa: neste modo, o computador executa os comandos de acordo com um script criado previamente pelo utilizados. A ordem de execução dos comandos é a definida na rotina do script
13
O shell bash permite ainda completar os nomes dos comandos, basta pressionar a tecla TAB após digitar os carateres iniciais do comando O comando é completado e acrescentado um espaço No caso de o comando não ser encontrado o interpretador de comandos emite um beep Exemplo: – ech [TAB] – exi [TAB] – sour [TAB]
14
Login: entrada no sistema através da introdução do nome do utilizador e da password Logout: saída do sistema que também pode ser feita utilizando os comandos CTRL+ALT+DEL, ou quando o sistema é reiniciado ou desligado
15
Os carateres especiais são recursos utilizados para especificar um ou mais ficheiros ou diretórios do sistema de uma só vez São três os caracteres especiais em Linux Caráter
* ? []
Significado Substitui um ou mais carateres
Substitui apenas um caráter Sequência de um ou mais carateres pertencentes ao conjunto
16
Na listagem são apenas mostrados os ficheiros do diretório /bin que começam com a letra g Tendo o * depois da letra g substituído um conjunto variável de carateres
17
Na listagem são apenas mostrados os ficheiros do diretório /sbin cujo segundo caráter é a letra c Tendo o ? antes da letra c substituído exatamente um caráter e o * depois da letra c substituído um conjunto variável de carateres
18
Na listagem são apenas mostrados os ficheiros do diretório /sbin cujo nome possui apenas 3 caracteres Tendo os ??? substituído exatamente três carateres
19
ls [opções] [path]: mostra a listagem dos ficheiros contidos num diretório Opções
Descrição
-a ou --all
Lista todos os ficheiros de um diretório, incluindo os ocultos
-A, --almost-all
Lista todos os ficheiros de um diretório, incluindo os ocultos com exceção do diretório atual e o nível anterior
-B, --ignore-backups Não lista os ficheiros que terminam com ~[Backup]
--color=PARAM
Mostra os ficheiros em cores diferentes, de acordo com o tipo de ficheiro, onde PARAM: Never- nunca lista a cores(o mesmo que não usar o parâmetro --color); Always- lista a cores de acordo com o tipo de ficheiro; Auto- lista a cores apenas a listagem que estiver num terminal.
-d, --directory
Lista os nomes dos diretórios em vez dos conteúdos
20
Opções
Descrição
-f
Não classifica a listagem
-G,--no-group
Oculta a coluna de grupo do ficheiro
-h,--human-readable Mostra o tamanho dos ficheiros em kBytes, Mbytes e Gbytes -H
O mesmo que –h, mas usa unidades de 1000 em vez de 1024 para especificar kBytes, Mbytes e Gbytes
-l
Usa o formato longo para listagem de ficheiros. Lista as permissões, data de modificação, donos, grupos, etc.
-n
Usa a identificação de utilizador e grupo numérico em vez dos nomes
-L, --dereference
Lista o ficheiro original e não o link referente ao ficheiro
-o
Usa a listagem longa sem donos dos ficheiros (mesmo que lG)
-p
Inclui um caráter no final de cada ficheiro; útil para identificar um diretório na listagem
-R
Lista diretórios e subdiretórios recursivamente
21
Uma listagem feita com o comando ls -l é mostrada da seguinte forma:
drwx------
São as permissões de acesso ao ficheiro liveuser. O primeiro (da esquerda) indica que se trata de um diretório, se não tiver um d é um ficheiro normal. Caso se trate de um diretório, mostra a quantidade de subdiretórios que contém (25), no caso de um ficheiro aparece 1.
liveuser
Nome do dono do diretório liveuser
liveuser
Nome do grupo a que o diretório liveuser pertence
4096
Tamanho do diretório (em bytes)
Nov 22 14:43
Data da criação/última modificação do ficheiro
liveuser
Nome do diretório
22
cd [diretório] – change directory mudar de diretório (para entrar num diretório é necessário ter permissão de execução) Exemplos: – – – – –
cd ou cd~ (retorna ao diretório home do utilizador) cd / (vai para o diretório raiz) cd – (retorna ao diretório acedido anteriormente) cd .. (sobe um nível na hierarquia dos diretórios) cd ../[diretório] (sobe um nível na hierarquia dos diretórios e entra imediatamente no diretório especificado [diretório])
23
pwd – print working directory, mostra o nome e o caminho do diretório atual
24
mkdir [opções] [path/diretório]– make directory, cria um diretório path
Caminho onde o diretório será criado
diretório
Nome do diretório que será criado
--verbose
Mostra uma mensagem para cada diretório criado. As mensagens de erro serão mostradas mesmo que esta opção não seja usada.
Exemplos: – mkdir /tmp/teste (cria um diretório em /tmp com o nome de teste) – mkdir /tmp/teste /tmp/teste1 /tmp/teste2 (cria os diretórios teste,teste1,teste2 no diretório /tmp)
25
rm [path/diretório]– remove directory, remove diretórios e ficheiros (para remover num diretório deve ter permissão de escrita e este deve estar vazio) path
Caminho onde o diretório que será removido
diretório Nome do diretório que será removido
É necessário que esteja um nível acima do(s) diretório(s) que será(ão) removido(s) Para remover diretórios não vazios deve-se utilizar o comando:
rm -r
26
Por exemplo, para remover o diretório /tmp/teste deve-se encontrar o diretório /tmp e executar o comando:
– rm teste Para remover o ficheiro /tmp/config.conf deve-se encontrar o diretório /tmp e executar o comando:
– rm config.conf Ou caso o utilizador não esteja no diretório /tmp pode usar o caminho absoluto:
– rm /tmp/config.conf
27
cat [opções] [diretório/ficheiro]– mostra o conteúdo de um ficheiro binário ou texto diretório/ficheiro
Localização do ficheiro que deseja visualizar o conteúdo Opções
-n, --number
Mostra o número das linhas enquanto o conteúdo do ficheiro é apresentado
-s, --squeeze – blank
Não mostra mais que uma linha branca entre um parágrafo e outro
-
Lé a entrada-padrão
Exemplos:
– cat /tmp/tree.txt O comando cat trabalha com ficheiros de texto, para trabalhar com ficheiros compactados com gzip poderá usar o comando zcat
28
tac [opções] [diretório/ficheiro]– mostra o conteúdo de um ficheiro binário ou texto por ordem inversa more [diretório/ficheiro]– permite visualizar o conteúdo de um ficheiro com paragens, página a página
29
rm [opções][path][ficheiro/diretório]– remove e apaga ficheiros, podendo também apagar diretórios vazios ou que contenham ficheiros path
Localização do ficheiro que deseja apagar. Se omitido, assume que o ficheiro se encontra no diretório atual
ficheiro/diretório
Nome do ficheiro a ser apagado
Opções -i, --interactive
Pergunta antes de remover; ativada por padrão
-v, --verbose
Mostra os ficheiros à medida que são removidos
-r, --recursive
Usado para remover ficheiros em subdiretórios. Esta opção também pode ser utilizada para remover subdiretórios
-f, --force
Remove os ficheiros sem perguntar
30
O comando rm deve ser utilizado com cuidado uma vez que os ficheiros e diretórios apagados não poderão ser recuperados Exemplos: – rm teste.txt (apaga o ficheiro teste.txt no diretório atual) – rm *.txt (apaga do diretório atual todos os ficheiros com extensão .txt) – rm *.txt teste.novo (apaga do diretório atual todos os ficheiros com extensão .txt e o ficheiro teste.novo) – rm –rf /tmp/teste/* (apaga todos os ficheiros e subdiretórios do diretório /tmp/teste incluindo o subdiretório teste)
31
cp [opções][origem][destino]– copia ficheiros da [origem] para o [destino] origem
Ficheiro a ser copiado. Podem ser especificados mais de um ficheiro utilizando o caráter especial *
destino
O caminho ou nome do ficheiro onde será copiado. Se o destino for um diretório, os ficheiros de origem serão copiados para dentro do diretório. Opções
-i, --interactive
Pergunta antes de substituir um ficheiro existente
-v, --verbose
Mostra os ficheiros enquanto são copiados
-r
Copia ficheiros dos diretórios e subdiretórios da origem para o destino. É recomendável usar –R em vez de -r
-R, --recursive
Copia ficheiros e subdiretórios (como a opção -r) e também os ficheiros especiais FIFO e dispositivos
-f, --force
Não pergunta, substitui todos os ficheiros caso já existam.
32
Exemplos: – cp teste.txt teste1.txt (copia o ficheiro teste.txt para teste1.txt) – cp teste.txt /tmp (copia o ficheiro teste.txt para dentro do diretório /tmp) – cp * /tmp (copia todos os ficheiros do diretório atual para /tmp) – cp /bin/* (copia todos os ficheiros do diretório /bin para o diretório em que nos encontramos no momento) – cp –R/bin /tmp (copia o diretório /bin e todos os ficheiros /subdiretórios existentes para o diretório /tmp) – cp –R /bin/* /tmp (copia todos os ficheiros do diretório /bin e todos os ficheiros/subdiretórios para /tmp)
33
mv [opções][origem][destino]– move ou muda o nome de ficheiros e diretórios O processo é semelhante ao cp mas o ficheiro de origem é apagado origem
Ficheiro / diretório de origem
destino
Local onde será movido ou para onde será mudado o nome do ficheiro / diretório Opções
-i, --interactive
Pergunta antes de substituir; é o padrão
-v, --verbose
Mostra os ficheiros que estão a ser movidos
-f, --force
Substitui o ficheiro de destino sem perguntar
34
O comando mv copia um ficheiro da origem para o destino mas, após a cópia, o ficheiro de origem é apagado Exemplos: – mv teste.txt teste1.txt (muda o nome do ficheiro teste.txt para teste1.txt) – mv teste.txt /tmp (move o ficheiro teste.txt para /tmp) – mv teste.txt teste.new (se o ficheiro teste.new já existisse, copia o ficheiro teste.txt por cima do existente teste.new e apaga teste.txt após terminar a cópia)
35
SÁ, João Paulo, CARVALHO, Rui, CORREIA e SILVA, Teotónio, Sistemas Operativos, 1ª Edição, Porto Editora, 2010.