Ir ao conteúdo
  • Cadastre-se

Comandos básicos do LINUX e shell script.


Posts recomendados

Muitos usuários navegadores da internet não estão acostumadas a usar comando de linha em suas programações. O tradicional Windows com sua interface gráfica deixou as novas gerações viciadas nela. Este é um artigo que visa mostrar a importânsia do uso do comando de linha e o básico dos principais comandos linux.

Há muitos recursos de um computador que só são acessados por comando de linha. A interface digitada é a que menos ocupa espaço e menos onera o processamento de um micro. Há situações em que você só terá disponível este recurso (quando não há como ter acesso à interface gráfica). Quem quer aprender isto precisará memorizar uns poucos comandos e ter disponível para consulta um resumo dos outros comandos menos usados. Além isto, você precisará de um pouco de organização, um caderno de anotações e um computador com um linux rodando. (cont!)

Comandos são ordens que passamos ao sistema operacional para executar uma determinada tarefa.

Tudo que direi asseguir é relativo ao interpretador de comandos Bash ou sh (no linux existem outros interpretadores como o csh).

No linux todo comando é digitado com caractéres minúsculos (diferente do DOS, que não distingue minúsculas de maiúsculas). Cuidado deve ser tomado na correta digitação, qualquer diferença na ortografia do comando pode originar execuções indesejadas ou o não reconhecimento do mesmo pelo Bash. Todo comando é individualizado colocando um espaço no fim, separando o que vem asseguir (ex.: ls -la).

Se há a esquerda do cursor o caracter #, isto significa que o usuário é o "root" ou administrador (este pode fazer tudo, se não conseguir, poderá alterar as configurações para que consiga executar qualquer comando). Se o caracter à esquerda do cursor for um $ significa que o usuário não é o root e, portanto, terá limitações de acesso (que o root estabelecer para cada usuário).

Há os comandos internos do Bash (que não estão em nenhum diretório /bin ou /sbin ou /usr/bin ou /usr/sbin) ex.: cd, exit, echo, bg, fg, source, help.

Os comandos externos e arquivos executáveis ficam nos tais diretórios (/bin ...).

Você porerá repetir os comando executados anteriormente, sem precisar digitá-los novamente, precionando as teclas do cursor para cima ou para baixo (escolhendo qual reusar). Diferentemente do DOS, no LINUX os comandos externos (ou programas ou utilitários) podem ser executados em qualquer diretório (o Bash tem todos os caminhos pré-configurados em um arquivo próprio; há alguns programas que não estão neste arquivo, há exceções!).

Primeiro e mais importante é o comando "man". Com ele você poderá ter acesso a definição de quase todos os recursos disponíveis no seu linux (eles ficam no diretório /usr/man/...). A sintaxe é: man "nome do comando" ( ex.: man ls). Aviso: normalmente todas as páginas do man (ou manual) estão escritas em inglês! Use as teclas do cursor para mover pelos textos. Para finalizar a sua consulta no man aperte a tecla "q". Aviso 2: no linux, muitos programas usam diferentes formas de sair (tecla q ou ctrl+q ou esc ou ctrl+c ou ...). Melhor consultar o manual antes de por prá rodá-lo. (cont)

Na minha opinião, os pricipais comandos linux são:

1- Listar as pastas e arquivos do diretório corrente: ls -la |more (obs.: o |more foi colocado aí para que você possa ver aos poucos, cada vez que aperta a técla de espaço, sem perder informação);

2- Mudar de diretório: cd / (diretório principal ou raiz), cd .. (diretório anterior);

3- Ver arquivos:

more (página a página para frete).

less (para frent ou para trás).

cat (more concatenando).

zmore ou zless (para arquivos comprimidos).

hexdump -D (para ver arquivos binários);

bpe (arquivos binários);

Obs.: ao ver um arquivo binário com o more ou com o less ou com cat, poderá a tela ficar bagunçada ou ilegível! Para limpar a tela digite (mesmo sem ver o que tá digitando) clear e dê return;

4- Limpar a tela: clear;

5- Copiar arquivos: cp arq destino ex.: cp pacman.exe /tmp (copiar o arquivo pacman.exe do diretório corrente para a pasta /tmp);

6- Copiar diretórios e tudo que estiver dentro dele: cp -R dir destino;

7- Apagar arquivo: rm;

8- Renomear ou mover: mv;

9- Mudar atributos de arquivo ou diretório: chmod XYZ (X-do root, Y-do 2o, Z-de outros: 0 não tem permissão, 1 executar, 2 alterar, 3 altera e executar, 4 ler, 5 ler e executar, 6 ler e alterar, 7 tudo) (ex.: chmod 777 readme.txt

=>todo mundo poderá fazer o que quiser com o arquivo readme.txt!) ;

10- Criar diretório: mkdir;

11- Espaço ocupado: du;

12- Espaço vago: df;

13- Mostra que tipo é dado arquivo: file (ex.: file readme.txt

=> resultado na tela deve ser arquivo texto simples);

14- Particionamento de mídias: cfdisk ou fdisk /dev/(dispositivo) (ex.: cfdisk /dev/hdb1) (obs.: o disco ou dispositvos devem estar desmontados para usar estes programas);

15- Montagem de mídias (para que possa ser acessada a partir de um ponto de montagem dado ou na pasta /mnt): mount /dev/(nome do dispositivo) (ex.: mount /dev/sda1);

16- Para desmontagem: umount /dev/(nome) (ex.: umount /dev/sda1);

17- Para formatar uma partição de uma mídia: mkfs ou mkfs.ext2 ou mkfs.ext3 (ex.: mkfs.ext3 /dev/hdb2) (a mídia tem que estar desmontada e a partição adequada ao tipo de formatação);

18- Ajuda ou pesquisa:

top : todos processos ou programas que estejam rodando;

dmseg |more: log de tudo que ocorreu no boot;

man : manual do SO;

apropos: dado um termo ou abreviatura, lista os possíveis comandos relativos;

whatis ou help: ajuda intera de um dado comando ou programa;

tecla tab: adivinha qual o comando, dado o início da digitção deste (ou mostra as possibilidades);

free: mostra uso da ram;

19- Comparação entre arquivos: cmp;

20- Procura por um araquio: find ;

21- Alterar a data e a hora do sistema: date -s hh:mm:ss ;

22- Apagar diretório: rmdir;

23- Checar periférico: fsck ;

24- Editores de texto: joe, cm, vi;

25- Parar um programa descontrolado (verificar o pid com o "top" ou "ps"): kill pid ;

26- Controle de processos: fg, jobs, fg, bg, reset;

27- Mudança de usuário ou identidade: su ou sudo;

28- Criar link para arquivos ou diretórios: link ou ln;

29- Imprimir arquivo: lpr .

Há muitos outros programas e comandos, para saber de cada um consulte o manual! (cont)

Errata:

1- O certo para ver arquivos binários é: hexdump -C ;

2- Para consertar a tela (disse clear é errado!) use: reset ;

3- O nome do editor é mc (e não cm!);

4- Para sair do editor vi ou vim digite: :Q (no modo de comando); o melhor editor de texto, no meu ver, é o joe (para sair dele use ctrl+k+q). Se não tiver ele em seu SO, basta ir ao site de sua distro, baixar o pacote do joe e instalá-lo;

Obs.: Desculpem-me, vou tentar não errar mais!

No linux todos os arquivos ou diretórios ocultos começam com um ponto no início. Palavras que tem espaços ou caractéres especiais (de controle) devem estar entre aspas. Ex.: mv readme.txt "leia isto!.txt" (o nome do arquivo readme.txt será mudado para "leia isto!.txt". Isto não é uma boa prática!).

Para fazer que um comando seja executado em segundo plano (sem esperar a volta do cursor), basta acrescentar o caracter & no fim do mesmo. Ex.: aplay music.wav & =>a música ficará tocando e o cursor (prompt) ficará disponível para você continuar a teclar e a executar outros programas).

Para interromper um comando ou quando o cursor sumir ou demorar em voltar, use: ctrl+c (tecla "ctrl" junto com a tecla "c") para interromper um programa que roda em primeiro plano; ou alt+F3 ou ctrl+alt+F3 para abrir um novo terminal (3); ou ctrl+z para suspender a atual tarefa (na volta do cursor use um kill simples para matar o processo suspenso). Podem haver várias tarefas suspensas (n). Aí, será preciso especificar qual: jobs n (reativar), bg n (reativa em segundo plano), kill %n (mata), fg n (volta para primeiro plano).

Curingas ou "Expansão de nome" ou encadeamento (execução em sequência):

* Tudo a mais ex.: ls a* (lista todos ítens que começam com "a");

[x1 x2 ...] Lista de caractéres ex.: ls [a e]* (lista tudo que começa com "a" ou com "e");

[x1-x2] Faixa de caractéres ex.: ls [a-d]* (lista tudo que inicia por "a", "b", "c" ou "d");

! Exceto. Ex.: ls [!m]* (listará tudo, menos o que começa com "m");

? Qualquer caracter. Ex.: ls a??e (listará um arquivo que começa com "a" seguido de dois caracteres quaisquer e termina com "e").

Para executar várias músicas em sequência use: ex.: ogg123 /tmp/*.ogg & (tocará, em sequência, todas as músicas codificadas em ogg, terminadas com ".ogg", que existam no diretório /tmp e liberando o cursor de imediato);

O programa que roda em segundo plano não pode ficar colocando dados na tela. Isto atrapalharia o que você estiver digitando! Daí, altere os comando para que não imprimam nada na tela enquando estão rodando. Assim o comando ficaria assim:

aplay -q musica.wav & (o atributo -q é que manda o comando não imprimir nada. Consulte o manual de cada comando, pois, o atributo que faz isto pode ser outro!). Quando inicia qualquer programa em segundo plano, será exibido na tela o número dele e seu pid (convém anotá-los, caso queira suspendê-lo, ou mudá-lo para primeiro plano, etc).

Por padrão, os comandos recebem dados do teclado e imprimem o resultado na tela. Podemos alterar isto através de caractéres de redirecionamento de E/S:

< muda a entrada para um arquivo ou dispositivo especificado (ex.: sort < /etc/fstab);

> muda a saida ou destino para um arquivo ou dispositivo especificado (ex.: ls > /tmp/lista.txt isto vai colocar a listagem do diretório corrente em um arquivo lista.txt que está no diretório /tmp ou, se não houver, será criado lá);

>> O mesmo que ">" só que o conteúdo será acrescentado e não atualizado;

| Duto. A saída do comando anteror será entregue ao programa ou comando seguinte

(ex.: ls |more).

As vezes você dá entrada em um comado e o Bash fica esperando a complementação! Ex: ls | (o bash apresentará uma | e o cursor para você completar o comando faltante! Neste caso more e "return").

Quem fez o Bash tem um senso de humor incomum! Atente para os avisos de erros ou comentários que ele mostra ou não mostra!

Até aqui, mostrei cerca de 50 comandos básicos do linux. Há pelo menos mais outros 350! Em uma pequena distro linux como a Slax, somando comandos e programas, há mais de 1500 arquivos (quase todos documentados no man)!

Quando precisamos dar entrada a vários comandos em sequência e repetidamente, será hora de aprender a criar um aquivo texto chamado de Bash-shell-script. O Bash executará sequencialmente todos os comandos que você colocou neste arquivo. Aliás, há mais um monte de comandos a descrever (o que torna o shell script como uma linguagem parecida com o basic, pascal ou C)!

Primeiro, será preciso ter um programa editor de texto como o Joe (para uso no modo texto) ou o programa Kate (para uso no modo gráfico). Há um monte de outros editores de texto, a escolha é sua! Você pode construir seu shell sript como se tivesse digitando na linha de comandos. Após isto, é só salvar o arquivo texto e alterar as premissões deste para: chmod 777 "nome do arquivo" . E, executá-lo com: ./"nome do arquivo".

Comandos para um script mais avaçado:

1) # Tudo que estiver após o "#" até o fim da linha (com o "return") será considerado comentário e, portanto, sem intuito de comando. Exceto a primeira linha de comentário, que serve para identificar que tipo de shell script tal arquivo trata. Ex.: #!/bin/bash ;

2) Para colocar um texto na tela use: echo "texto qualquer" ;

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • mês depois...

Olá, prezado Alexandre!

Realmente, o formato deste texto está cheio de erros ortográficos e de redação! Más, o mais importante é a comunicação. Creio que o mais importante eu consegui transmitir: as ferramentas e todos os recursos foram explicitados. É como ocorre na bíblia: compete a cada um ser autodidata e dar o máximo de si para decifrar este tópico. Vocé mesmo pode contribuir para o enrriquecimento dele! Estou de braços abertos para a sua ajuda ou de todo colega! Meu celular tá com vírus e quase não consigo fazer este post! Abração!

Link para o comentário
Compartilhar em outros sites

Entendido. A sintaxe e a estruturação tá, também, um purgante! Difícil é agradar a todos. Minha intenção não é fazer textos poéticos. Sou a favor da linguagem técnica e precisa. Más, por mais que eu releia os meus textos, antes de publicá-los, sempre aparecem outros erros (após a postagem). Sou nota baixa em redação! Merêço voltar para o primário (mesmo que eles não me aceitem lá!).

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

@Ronaldo brandao mafra, eu dei uma sugestão para seu trabalho ficar mais atraente aos olhos. Isso significa atrair mais leitores, tender a deixar mais gente satisfeita com a leitura, e gostando do que você escreve. Você investiu tempo na criação disso! Agora, se você prefere fechar-se e não acatar sugestões construtivas, o problema é seu.

Link para o comentário
Compartilhar em outros sites

Ok, você é rápido na resposta! Você sabe que não tenho condições de reeditar o que publiquei. Se quer me ajudar, dou carta branca para você apagar e reeditar todo este tópico do seu jeito. Ou seja mais explícito em suas observações. Desde já, tô grato pelo seu interêsse e diálogo.

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Enviei o trabalho (formatado/apresentado) e o código-fonte para você, em duas mensagens privadas numa mesma conversação. Pegue o código lá e edite/substitua seu post original com ele, em BBCode Mode.

 

Porque eu não quero que vejam o shell do Linux como algo obscuro...

Link para o comentário
Compartilhar em outros sites

Alexandre,

recebi, no meu email, todas as modificações que você propõe. Tá tudo muito bom. Más, não faço a mínima ideia de como editá-lo ou substituir o texto atual pelo que você corrigiu. Quanto ao shell-script ficar obscuro: se há interêsse podemos continuar a descrever os comandos mais usados (é uma linguagem de programação como qualquer outra, com suas particularidades). Você não tem condições de apagar tudo que está neste tópico e colocar o texto que você corrigiu? Daí, poderia continuar a acrescentar texto novo (sobre shell-script) e de acordo com seu formato.

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

recebi, no meu email, todas as modificações que você propõe. Tá tudo muito bom. Más, não faço a mínima ideia de como editá-lo ou substituir o texto atual pelo que você corrigiu.

Eu vou escrever um tutorial com imagens e lhe passar.

 

Quanto ao shell-script ficar obscuro: se há interêsse podemos continuar a descrever os comandos mais usados (é uma linguagem de programação como qualquer outra, com suas particularidades).

Refiro-me à forma de apresentar, não a quantidade de informações. Fazer de uma forma que as pessoas, olhando, não tendam achar a coisa "de outro planeta". O aspecto visual do material de "estudo" é importante, mesmo tratando-se de comandos.

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Eu vou escrever um tutorial com imagens e lhe passar.

 

Feito!Editando o código-fonte de um tópico do Clube do Hardware

 

Qualquer dúvida, por favor, pergunte lá. Depois podemos pedir a um moderador para excluir toda essa nossa conversação. Ou partes dela que ficaram OFF-TOPIC.

Link para o comentário
Compartilhar em outros sites

Alexandre,

meu único acesso à internet é por um celular Nokia X2. Ele possue apenas 2,75G (tecnologia EDGE de celular), não tem recursos de criptografação, todo procedimento de comunicação com meu E-mail é manual (não há sinal de novas mensagens que chegam lá). Seu tutorial deve ser útil para quem tem acesso à rede por um PC. Portanto, continuo de mãos e pés amarrados para executar o que propõe (aliás, a tela de meu celular é minúscula e não há como dar zoom nas imágens de seu tutorial).

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

@Ronaldo brandao mafra, o tutorial que apontei em mensagem anterior apenas lhe ensina a "editar" posts (este tópico). Sei que você pode editar posts se usar um computador. Não sei se equivalente é possível caso você use smartphone para acessar o fórum. Como você deve ter visto, eu lhe enviei por mensagem privada uma nova versão formatada de seu tutorial. Eu não vou publicá-la por minha própria conta. O autor é você. Eu apenas fiz uma revisão geral e formatação. Quando você for usar o GNU/Linux (objeto do seu tutorial), poderá realizar as pendências.

 

Na parte inferior do tutorial, as mesmas três imagens provavelmente podem ser encontradas como "miniatura". Tente clicá-las. Talvez haja nisso a possibilidade de visualizá-las adequadamente num dispositivo móvel. Não testei.

Link para o comentário
Compartilhar em outros sites

Fico grato pelo seu esforço, apreço e empenho. Suas mensagens estão arquivadas. Tô aguardando respostas para um tópico sobre "sugestões" para, a partir de um celular (e não smartfone), poder reeditar um post existente. Este é o meu caso. Se conseguir algo, com certeza, seu trabalho e seu nome estará lá. Por hora, não tenho outro recurso, a não ser esperar.

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Assumi erradamente que se tratava de um smartphone.

 

Não há previsão de quando você acessará o Fórum do Clube do Hardware pela interface desktop?

 

Você escreveu todo o tutorial a partir desse celular? Se foi, desculpe-me mas eu preciso dizer/opinar para o seu bem: isso é perda de tempo; aproveite melhor o seu tempo!

Link para o comentário
Compartilhar em outros sites

Este não é só um caso particular! Há milhões de cidadãos que estão na mesma situação que me encontro: só tem um pobre celular para acessar e enviar suas msgs pela rede. Se não fossem os recursos dos programas fornecidos pelos sites (foruns, blogs e provedores de e-mail ) não haveria nem como postar textos aqui! Meu computador só opera "of line"!

Link para o comentário
Compartilhar em outros sites

Ok, Regis! É nesta hora que a gente sente a responsabilidade de ser autor de algum livro ou texto! O @alexandre.mbm fez uma revisão deste tópico! Já disse para ele colocar tudo o que ele fez aqui. Mas, ele acha que terei de refazer todo o texto! Estamos em um forum de debates ou não? Deixem o pessoal ver o seu trabalho! Posso ter iniciado este tópico, mas, não sou dono dele (eu o dei plenamente). Passo a passo chegaremos a um consenso!

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Deixando claro que eu fiz isso acreditando o autor original do texto ser @Ronaldo brandao mafra. Ele me autorizou, acima.

 

Muitos que navegam a Internet não estão acostumados a usar a linha de comando. O Windows viciou as novas gerações em sua interface gráfica. Este é um artigo que visa mostrar a importância da linha de e os principais comandos Linux básicos.

Há muito em um computador que somente é utilizável por linha de comando. É modo de interface mais leve. Há situações em que só existe ele (quando não há como ter acesso à interface gráfica). Quem quer aprendê-lo, precisará memorizar alguns poucos comandos, e ter disponível para consulta um resumo de outros que são menos usados.

Para as dicas abaixo, você precisará de um pouco de organização, um caderno de anotações, e um computador executando GNU/Linux.

Comandos são "ordens" que o operador (você) passa ao sistema operacional, para executar determinada tarefa.
Tudo que direi a seguir é relativo ao interpretador de comandos Bash ou sh. Existem outros interpretadores para Linux, tal como o csh.

Um comando deve ser digitado diferenciando-se minúsculas e maiúsculas; diferente do DOS, que não distingue minúsculas de maiúsculas. A digitação deve ser precisa. Qualquer diferença na ortografia pode ocasionar execuções indesejadas ou o não reconhecimento do comando pelo interpretador.

Comandos são separados por caractere de espaço. Ex.: ls -la

Se à esquerda do cursor você tem um caractere #, isso significa que o usuário é o root ou administrador. Este pode fazer tudo! Se não tem alguma permissão, pode atribuí-la a si mesmo, e assim consegue executar qualquer comando.

Se à esquerda do cursor você tem um caractere $, isso significa que o usuário não é o root e, portanto, terá limitações de acesso — aquelas que o root estabelecer para cada usuário ou grupo de usuários.

Existem comandos internos do interpretador Bash. Ou seja, eles não são programas localizados em diretórios como /bin, /sbin, /usr/bin ou /usr/sbin. Exemplos: cd, exit, echo, bg, fg, source, help.

Você pode repetir comando executados anteriormente, sem precisar digitá-los outra vez. Pressione as teclas de cursor seta para cima ou seta para baixo, escolhendo no histórico qual comando reusar. Diferentemente do DOS, no LINUX os comandos externos (programas ou utilitários) podem ser executados em qualquer diretório. O Bash tem os caminhos para eles reconhecidos previamente em um arquivo de configuração. Alguns programas não estão neste arquivo, entretanto.

Primeiramente, conheça o comando que eu julgo como o mais importante: man. Com ele você poderá ter acesso à definição de quase todos os utilitários disponíveis no modo texto de sua instalação GNU/Linux. É o "manual".

Sintaxe: man (comando)

Exemplo: man ls

Infelizmente, muitas vezes as páginas do man estão escritas em inglês!

Use as teclas do cursor para mover-se pelos textos. Para sair do manual, tecle q.

Em Linux, muitos programas usam variadas formas de "sair". Às vezes é teclar q. Outras vezes, Control+q. Ou ESC. Ou Control+c. Por isso, é melhor você sempre consultar o manual antes, para não ficar sempre saber como sair do programa.

Na minha opinião, os principais comandos do Linux são:

1) Listar as pastas e arquivos do diretório corrente
 

ls -la


Se você quer ver o resultado aos poucos, à medida que teclar Space, adicione o more com um pipe:
 

ls -la | more


Curingas ou "expansão de nome":
 

ls a*


Nomes de arquivos e diretórios que começam com 'a'.

Lista de caracteres:


ls [a e]*


Nomes de arquivos e diretórios que começam com 'a' ou 'e'.

Faixa de caracteres:
 

ls [a-d]*


Nomes de arquivos e diretórios que começam com 'a', 'b', 'c' ou 'd'.

Negação:
 

ls [!m]*


Nomes de arquivos e diretórios que começam com 'm'.

Qualquer caractere:
 

ls a??e


Nomes de arquivos e diretórios que começam com 'a' seguido de dois caracteres quaisquer, e termina com 'e'.

2) Mudar de diretório
 

cd /

 

Vai para o diretório principal ou "raiz" do sistema.
 

cd ..


Vai para o diretório que é pai do diretório atual.

3) Ver arquivos


more


Explicado no item 1 (acima). Percorre o arquivo linha a linha, sempre pra frente.


less


É como visualizador. Percorre o arquivo linha a linha, para frente ou para trás. Para sair, tecle q.
 

cat


É como um more ligeiro, que percorre todo o arquivo de uma vez, até o final. No caso de arquivos longos, serve mais como etapa inicial (de leitura do arquivo) para outros comandos.


zmore

 

zless


Equivalentes para arquivos comprimidos (o que é indicado pela letra 'z' que inicia seus nome).


hexdump -D

hexdump -C


Para ver arquivos binários.
 

bpe


Também para ver arquivos binários.

Se você tentar visualizar um arquivo binário usando more, less ou cat, pode acontecer da tela ficar bagunçada ou ilegível! Para limpá-la, digite (mesmo sem ver o que está digitando):
 

clear

reset

 

E tecle ENTER.


4) Limpar a tela
 

clear

 

Explicado no final do item anterior.

5) Copiar arquivos

Sintaxe:
 

cp (origem) (destino)


Exemplo:
 

cp pacman.exe /tmp


Copia o arquivo pacman.exe do diretório atual para o diretório /tmp.

6) Copiar diretórios e tudo que estiver dentro dele

Sintaxe:
 

cp -R (diretório) (destino)

 

7) Apagar arquivo

 

rm


8) Renomear ou mover arquivo

 

mv


Num sistema GNU/Linux, os nomes de todos os arquivos ou diretórios ocultos iniciam com um ponto (.). Nomes com espaços ou caracteres especiais (de controle) devem estar entre aspas.

Exemplo:
 

mv readme.txt "leia isto!.txt"


O nome do arquivo readme.txt será mudado para "leia isto!.txt". Mas saiba que essa não é uma boa prática!

9) Alterar permissões de arquivo ou diretório
 

chmod (X)(Y)(Z)


Significado:
 

X: permissões do root

Y: permissões do usuário

Z: permissões de outros


Valores:

 

0: não tem permissão

1: pode executar

2: pode alterar

3: pode alterar e executar

4: pode ler

5: pode ler e executar

6: pode ler e alterar

7: pode tudo (com o arquivo ou diretório em questão)


Exemplo:
 

chmod 777 readme.txt


Significa que todo mundo poderá fazer o que quiser com o arquivo readme.txt.

10) Criar diretório
 

mkdir

 

11) Espaço ocupado

 

du

 

12) Espaço vago

 

df


13) Tipo do arquivo

Sintaxe:

 

file (arquivo)


Exemplo:
 

file readme.txt

 

O resultado deve ser a informação: arquivo texto simples.

14) Particionamento de HD
 

cfdisk

Ou:
 

fdisk /dev/(dispositivo)

Exmeplo:
 

cfdisk /dev/hdb1


Para o uso desses programas, o disco ou dispositivo deve estar desmontado .

15) Montagem de unidades de armazenamento

Para que possa ser acessada a partir de um ponto de montagem dado ou na pasta /mnt):
 

mount /dev/(nome do dispositivo)


Exemplo:
 

mount /dev/sda1


"Montar" é necessário para que a unidade de armazenamento possa ser acessada. O acesso é feito justamente a partir do ponto de montagem dado, ou de subdiretórios de /mnt.

16) Desmontagem
 

umount /dev/(nome)

 

Exemplo:
 

umount /dev/sda1

 

17) Formatar uma partição

 

mkfs


Ou:
 

mkfs.ext2


Ou:
 

mkfs.ext3

 

Exemplo:
 

mkfs.ext3 /dev/hdb2


A mídia tem que estar desmontada e a partição precisa ser adequada ao tipo de formatação.

18) Comando de ajuda, consulta ou monitoração


top


Mostra todos processos ou programas que estão executando.


dmseg | more


Exibe o log de tudo que ocorreu durante boot.


man


Manual do sistema operacional.


apropos


Dado um termo ou abreviatura, lista os possíveis comandos correlacionados.


whatis


Ou:
 

help

 

Toda a "Ajuda" para um dado comando ou programa.

Tecla TAB.

Adivinha o resto do comando, dado um início de digitação. Ou seja, auto-completa o que você está digitando. Se nesse meio tempo a tecla TAB for acionada outra vez, lista as possibilidades já encontradas e que completam a cadeia de caracteres já digitada.
 

free

 

Exibe o uso da memória RAM.

19) Comparação entre arquivos
 

cmp


20) Procurar arquivo

 

find

 

21) Alterar a data e a hora do sistema

 

date -s hh:mm:ss

 

22) Apagar diretório

 

rmdir

 

23) Checar sistema de arquivos

 

fsck

 

24) Editores de texto

 

joe

 

Para sair dele, use Control+k+q.

É o melhor editor de texto, ao meu ver. Ainda que ele possa não vir instalado por padrão, quase todas as distribuições permitem adicioná-lo facilmente, através do sistema de pacotes.
 

cm

mc

 

vi


Para sair do editor vi ou vim digite :q no modo de comando.

25) Parar um programa descontrolado

Verificar o PID com o top ou ps. Depois:
 

kill pid

 

26) Controle de processos

 

fg

 

jobs

 

fg

 

bg

 

reset

 

Para interromper um comando, ou quando o cursor sumir ou demorar a voltar, use Control+c. Isso interrompe um programa que esteja executando em primeiro plano.

Você também pode fazer Alt+F3 ou Control+Alt+F3, para abrir um novo terminal. Ou Control+z para suspender a tarefa atual. Quando da volta do cursor, use o comando kill para matar o processo que agora está suspenso.

Pode haver várias tarefas suspensas. Nesse caso, será necessário especificar qual:
 

jobs (n)

 

Para reativar de PID=n.
 

bg (n)

 

Para colocar em segundo plano a tarefa de PID=n.
 

kill %(n)

 

Para matat a tarefa de PID=n.
 

fg (n)


Para trazer para o primeiro plano a tarefa de PID=n.

27) Mudança de usuário ou identidade
 

su


Ou:
 

sudo


28) Criar link para arquivo ou diretório

 

link


Ou:
 

ln


29) Imprimir arquivo

 

lpr


Há muitos outros programas e comandos. Para conhecer cada um, consulte o manual (man)!

Para fazer com que um comando seja executado em segundo plano (sem esperar a volta do cursor), basta acrescentar o caracter & no fim do mesmo.

Exemplo:
 

aplay music.wav &

 

A música ficará tocando e o cursor (prompt) estará logo disponível para você continuar a passar comandos.
Para executar várias músicas em sequência:
 

ogg123 /tmp/*.ogg &


Isso tocará, na sequência, todos os arquivos com extensão .ogg que existem no diretório /tmp, e em segundo plano, liberando o cursor imediatamente.

O programa que executa em segundo plano não pode ficar colocando dados na tela. Isso atrapalharia o operador que está usando o primeiro plano. Por isso, é recomendo alterar o comando para que ele imprima na tela enquanto esta executa. O comando anterior então ficaria assim:


aplay -q musica.wav &


O parâmetro -q determina que o comando nada deve imprimir. Consulte o manual de cada comando para saber essas coisas. Até por que os parâmetros de cada comando podem ter dignificados diferentes

Quando se inicia qualquer programa em segundo plano, é exibido na tela o número dele, e seu PID. Convém anotá-los, para o caso de você querer suspender o programa ou passá-lo para para primeiro plano.

Por padrão, comandos recebem dados do teclado e imprimem resultado na tela. Pode-se alterar isso fazendo-se declarações com caracteres de redirecionamento de E/S (entrada e saída):

< muda a entrada para um arquivo ou dispositivo especificado. Exemplo: sort < /etc/fstab
> muda a saída ou destino para um arquivo ou dispositivo especificado. Exemplo: ls > /tmp/lista.txt

No último exemplo, uma listagem do diretório atual vai ser gravada em um arquivo lista.txt dentro do diretório /tmp. Se o tal arquivo não existir, ele será criado.
>> faz o mesmo que >, só que o conteúdo é "acrescentado" ao arquivo, e não "atualizado" (substituído)
| é o caractere de pipe. Com ele, a saída do comando anterior é entregue ao comando seguinte. Exemplo:
 

ls | more


Às vezes, é o caso do interpretador Bash ficar esperando uma complementação para um dado comando. Por exemplo, se você faz apenas ls | invés do que está no exemplo acima, o Bash lhe apresenta uma | e o cursor fica esperando você completar o comando o que falta. Nesse exemplo, o que falta é escrever more e teclar ENTER.

Quem fez o Bash tem um senso de humor incomum! Preste atenção nos avisos sobre os erros, ou nos comentários que ele mostra ou não mostra!

Até aqui, mostrei cerca de 50 comandos básicos do Linux. Há pelo menos mais outros 350! Em uma pequena distribuição Linux tal como a Slax, somando-se comandos e aplicativos, há mais de 1500 arquivos, quase todos documentados no man!

Quando precisamos executar vários comandos em sequência e repetidamente, já é hora de aprendermos a criar um arquivo texto chamado de shell script Bash. O Bash executará sequencialmente todos os comandos contido em tal arquivo.

Existe uma infinidade de comandos e combinações de comandos. Isso torna shell script algo como uma linguagem de programação parecida com o Basic, Pascal ou C.

Para programar em shell script, você precisa ter um programa editor de texto tal como o Joe (para uso no modo texto) ou o Kate (para uso no modo gráfico). Existe um monte de outros editores de texto. Escolha o seu!

Você pode escrever seu shell script como se estivesse digitando a sequência de comandos na linha de comandos. Salve o arquivo texto e altere as permissões dele:
 

chmod 777 (arquivo)


Então execute-o:
 

./(arquivo)


Ou:
 

bash (arquivo)

 

Comandos para um script mais elaborado:

 

1)

#


Tudo que estiver após o '#', até o final da linha, será considerado comentário, portanto, sem intuito de comando. Exceto a primeira linha de comentário, que serve para identificar o tipo da shell script e pode ser assiim:
 

#!/bin/bash ;


2)


echo "texto qualquer";


Para colocar um texto na tela.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • 1 ano depois...
Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...