Escolar Documentos
Profissional Documentos
Cultura Documentos
Melo
Comandos do Linux
Se o Linux que você utiliza entra direto no modo gráfico ao ser inicializado, é possível inserir comandos no sistema através de uma aplicação de terminal. Esse recurso é
facilmente localizável em qualquer distribuição.
Se o computador que você acessa não estiver com o modo gráfico ativado, será possível digitar comandos diretamente, bastando se logar. Quando o comando é inserido, cabe ao
interpretador de comandos (também conhecido como shell) executá-lo. O Linux conta com mais de um, sendo os mais conhecidos o bash e o sh.
Quando um terminal é acessado, uma informação aparece no campo de inserção de comandos. É importante saber interpretá-la. Para isso, veja os exemplos abaixo:
Exemplo 1: [root@proffabricio /root]#
Exemplo 2: [proffabricio@prof /]$
Observação: dependendo de sua distribuição e de seu shell, a linha de comandos pode ter um formato ligeiramente diferente do que é mostrado nos exemplos. No Ubuntu
Linux, por exemplo, o segundo exemplo fica na seguinte forma:
proffabricio@prof: ~$
Nos exemplos, a palavra existente antes do símbolo @ diz qual o nome do usuário que está usando o terminal (lembre-se de que no Linux é necessário ter um usuário para
utilizar o sistema). Os nomes que aparecem depois do @ indicam o computador que está sendo acessado seguido do diretório.
O caractere que aparece no final indica qual o poder do usuário. Se o símbolo for #, significa que usuário tem poderes de administrador (root). Por outro lado, se o símbolo for $,
significa que este é um usuário comum, incapaz de acessar todos os recursos que um administrador acessa. Independente de qual seja, é depois do caractere que o usuário pode
digitar os comandos.
Os comandos básicos do Linux
Agora que você já sabe como agir em um terminal, vamos aos comandos do Linux mais comuns. Para utilizá-los, basta digitá-los e pressionar a tecla Enter de seu teclado. É
importante frisar que, dependendo de sua distribuição Linux, um ou outro comando pode estar indisponível. Além disso, alguns comandos só podem ser executados por usuários
com privilégios de administrador.
A relação a seguir mostra os comandos seguidos de uma descrição:
bg: colocar a tarefa em background (segundo plano).
cal: exibe um calendário;
cat arquivo: mostra o conteúdo de um arquivo. Por exemplo, para ver o arquivo concurso.txt, basta digitar cat concurso.txt. Utilizado, também para concatenar arquivos
exibindo o resultado na tela. Basta digitar: $ cat arquivo1 > arquivo2
cd diretório: abre um diretório. Por exemplo, para abrir a pasta /mnt, basta digitar cd /mnt. Para ir ao diretório raiz a partir de qualquer outro, digite apenas cd;
Cd~: funciona como o "home", ou seja, vai pro diretório do usuário, que está em home. O comando cd $home também executará a mesma função.
Obs.: Para saber quem é o dono e qual o grupo que é o proprietário da pasta, basta dar o comando:
# ls -l /
Desta forma você poderá ver os proprietários das pastas e dos arquivos.
Exemplo: passar o diretório mp3 que pertence a root, mas quero que o novo dono seja a daia, então digite:
Onde daia é a nova proprietária da pasta mp3 e /mp3 é o diretório que foi mudado o proprietário, lembrando que da forma como foi executado o comando acima, ele alterou
somente do diretório /mp3, as sub-pastas dentro dele continuam com o proprietário antigo.
Outro exemplo é alterar o grupo que pertence o diretório. Por exemplo, o diretório /mp3 pertence a daia e o grupo é root. Quero que pertença ao grupo inf, fica assim:
Exemplo de uso:
up
Marca a interface "up". Habilita a interface depois de um "ifconfig down". Ocorre automaticamente quando configurado o endereço em uma interface. Configurando este
"Flag", não há efeito se o ifconfig estiver "down".
down
Marca a interface "down". Quando uma interface está marcada down, o sistema não tentara transmitir mensagens através daquelas interfaces. Se possível, a interface será
resetada para desabilitar a recepção. Esta ação não desabilitará o roteador usando a interface.
netmask mask
Especifica como o endereço restringe, subdividindo redes dentro de sub-redes. Mask inclui partes de redes do endereço local, e partes de sub-redes no qual é trazido do endereço
do campo do host. Mask podem ser especificadas como um único número hexadecimal com um dominante 0x, com uma notação do endereço da internet, ou com um psedo-
rede de nome de redes listada no arquivo db/networks. Mask contém 1's para cada bit posicionado no endereço de 32 bit que são usados para a rede e a parte da sub-rede, e 0's
para a parte do host. Mask deveria conter no mínimo uma parcela padrão da rede, e um campo da sub-rede deveria ser contigua com a parcela da rede.
broadcast
Especifica o endereço que representa brodcast para a rede. O default do endereço brodcast é o endereço com uma parte do host de todos os 1's.
arp
Habilita o uso da resolução do endereço do protocolo entre o mapeamento no nível de endereçamento da rede e o nível de link da rede (default). Isto é implementado
correntemente entre o mapeamento TCP/IP e o endereçamento ethernet com 10 Mb/s.
-arp
Desabilita o uso da resolução do endereço do protocolo.
auto-revarp
Usa o endereço reverso da resolução do protocolo (RARP), automaticamente para adquirir um endereço para esta interface.
plumb
Abre um dispositivo associado com um nome de interface e configura o TCP/IP para o uso do dispositivo. A interface não mostrará a saida do ifconfig-a.
private
Diz ao roteador in.routed daemon que a interface não deveria ser utilizadas.
-private
trailers
Este "flag" é utilizado para causar um "non-standard" encapsulado de pacotes inet em certos níveis de link. Drivers fornecidos com esta liberação não utilizará este "flag", mas
ele é ignorado por compatibilidade.
-trailers
metric n
Configura o roteador métrico da interface para n, default 0. O roteador métric é utilizado pelo protocolo de roteamento com um alto metrics, que tem o efeito de fazer um
roteador menos favorável; metrics são contadores adicionados a host, para destinos de redes e host.
mtu n
Configura o máximo de unidades de transmissões da interface para n. Para muitos tipos de redes o mtu tem um alto limite, por exemplo, 1500 para Ethernet.
Prof. Fabrício M. Melo
$ tail /etc/passwd
É possível também especificar o número de linhas a serem exibidas, ao invés das dez linhas que o comando adota como padrão:
$ tail -n 20 /etc/passwd
Uma diretiva muito útil é "-f", que permite a visualização dinâmica de um arquivo, ou seja, as linhas são exibidas na tela na medida em que são geradas.
OBS: O comando head faz justamente o inverso do tail.
tar arquivo.tar.gz: extrai um arquivo compactado em tar.gz;
Na linha acima, tar é o comando. Em parâmetros, é possível utilizar várias opções. Eis as principais:
-c - cria um novo arquivo tar;-t - exibe o conteúdo de um arquivo tar;-p - mantém as permissões originais do(s) arquivo(s);-r - adiciona arquivos a um arquivo tar existente;-f -
permite especificar o arquivo tar a ser utilizado;-v - exibe detalhes da operação;-w - pede confirmação antes de cada ação no comando;-x - extrai arquivos de um arquivo tar
existente;-z - comprime o arquivo tar resultante com o gzip;-C - especifica o diretório dos arquivos a serem armazenados (note que, neste caso, a letra é maiúscula).
telnet: ativa o serviço de Telnet em uma máquina. Para acessar esse computador a partir de outros por Telnet, basta digitar telnet nomedamáquina ou telnet IP. Por exemplo:
telnet 192.168.0.10. Após abrir o Telnet, digite help para conhecer suas funções;
top: exibe a lista dos processos, conforme os recursos de memória consumidos;
touch: O comando touch é usado para criar arquivos. Além disso ele ainda pode mudar a data e a hora de acesso e ou modificação de arquivos.
As opções mais usadas são:-a: Muda somente a data e a hora de acesso para a atual.-m: Muda somente a data e a hora de modificação para a atual.-t datahora : Muda a hora e a
data para o datahora definidos.
Exemplos:fabriciomelo@Tux:$ touch arquivo1
Criei um arquivo de nome arquivo1.
uname: mostra informações do sistema operacional e do computador. Digite uname -a para obter mais detalhes;
useradd usuário: cria uma nova conta usuário, por exemplo, useradd aluno cria o usuário aluno;
userdel usuário: apaga a conta do usuário especificado;
uptime: mostra a quantas horas seu computador está ligado;
vi: inicia o editor de textos vi.
whereis nome: procura pelo binário do arquivo indicado, útil para conhecer seu diretório ou se ele existe no sistema;
w: mostra os usuários logados atualmente no computador (útil para servidores);
wc: faz a contagem em unidade do conteúdo de um arquivo, linhas, caracteres e palavras.
who: mostra quem está usando o sistema.
Whoami: listar o nome da conta associada ao login atual.
Finalizando
Praticamente todos os comandos citados possuem parâmetros que permitem incrementar suas funcionalidades. Por exemplo, se você digitar o comando ls com o parâmetro -R
(ls -R), este mostrará todos os arquivos do diretório, inclusive os ocultos.
A melhor forma de conhecer os parâmetros adicionais de cada comando é consultando as informações de ajuda. Para isso, pode-se usar o recurso --help. Veja o exemplo para o
comando ls:
ls --help
Também é possível utilizar o comando man (desde que seu conteúdo esteja instalado), que geralmente fornece informações mais detalhadas. Par usar o man para obter detalhes
do comando cp, por exemplo, a sintaxe é:
man cp
Se você estiver utilizando o bash, pode-se aplicar o comando help ou info da mesma forma que o comando man:
help cp
info cp
Assim como conhecer os comandos básicos do Linux é importante, também o é saber como acessar seus recursos de ajuda, pois isso te desobriga de decorar as seqüências das
funcionalidades extras. Sabendo usar todos os recursos, você certamente terá boa produtividade em suas tarefas no Linux.
Redirecionar a entrada ou saída de um programa
Os programas em unix tratam a entrada de dados e a saída de dados como se fossem arquivos. Dentro de um programa em C, arquivos abertos são chamados streams. Tres
streams padrão são abertos automaticamente abertos quando um programa inicia a sua execução. São eles o stdin, usado para a entrada de dados, o stdout usado para a saída de
dados, e o stderr usado para escrever mensagens de erro. Normalmente estes tres streams acessam o console. O console não é um arquivo strictu-sensu. Ele é na verdade
conjunto teclado-video do computador (teclado para a leitura e video para operações de escrita). O stdin e o stdout podem ser redirecionados de ou para arquivos usado-se os
símbolos > (redireciona a entrada stdin) e < (redireciona a saída stdout).
Por exemplo o comando:
meuprograma < minhaentrada
ececuta um programa chamado meuprograma, sendo que os dados de entrada são retirados do arquivo minhaentrada em vez de serem fornecidos pelo usuário usando o teclado.
Prof. Fabrício M. Melo
Os resultados que um programa escreve podem ser armazenados em um arquivo em vez de serem escritos no video redirecionando-se a saída do programa, como no exemplo a
sequir:
meuprograma > arquivodesaida
Os resultados do meuprograma são armazenados no arquivodesaida.
O redirecionamento para a saída com >> acrescenta dados ao final de um arquivo, em vez de substitui-lo por um novo.
A saída de erro stderr pode ser redirecionada com o operador 2>.
Também se pode conectar diretamente a saída de um programa à entrada de outro usando o operador |, como no exemplo a seguir:
programa1 | programa2
Os resultados escritos pelo programa1 são usados como dados de entrada para o programa2.
No sistema operacional Linux, a barra invertida (\) é pouco utilizada. Na utilização para designar diretórios, como por exemplo, a barra comum (/) é utilizada. No Linux a barra
invertida possui apenas duas finalidades, sendo a primeira delas proteger um caractere que possui um significado especial (curingas e metacaracteres), para que o mesmo seja
interpretado como um caractere comum. E a segunda, indicar que um comando irá continuar na próxima linha.