Você está na página 1de 10

3 Comandos bsicos

Nesta seo sero abordados alguns comandos essenciais para operao de um sistema Linux, que como qualquer sistema operacional oferece vrias alternativas para executar tarefas bsicas de ambiente, manipulao de arquivos e diretrios. Para posicionar o leitor cabe uma explanao do termo shell que ser utilizado diversas vezes neste texto. Pode-se denominar shell todo interpretador de comandos e/ou ambiente para acessar facilidades de um sistema. O termo est mais relacionado com a interface textual/comandos de um sistema operacional, um exemplo bem conhecido o Prompt de comando no Windows, no Linux temos bash, csh, zsh, tcsh entre outros. Quando este texto utilizar a expresso em um shell , deve-se considerar que os comandos/ferramentas devem ser executados dentro de um shell (e.g.: bash) quer seja na interface textual ou na interface grfica. Outra forma de representar esta expresso neste texto ser [root@asterix root]#. No ambiente grfico, um shell disponibilizado atravs de emuladores de terminais como konsole e xterm como mostra a figura abaixo:

prompt do shell para o super usurio root

Figura 1: O cone em destaque inicia o aplicativo Konsole (KDE) que fornece um shell

Para o leitor que j possui traquejo com o ambiente e comandos do MS-DOS ou equivalente, interessante utilizar a Tabela 3-1 como uma referncia rpida. Ainda que no represente uma equivalncia total entre comandos do MS-DOS e do Linux, certamente ser um facilitador da assimilao/uso destes comandos no Linux. Os comandos do Linux so em geral muito mais complexos e poderosos do que os do MSDOS. O que a Tabela 3-1 representa a similaridade, ou seja, um comando no Linux faz pelo menos o que o comando do MS-DOS faz.

Tabela 3-1: Exemplos de similaridade entre comandos MS-DOS e Linux Comando no MS-DOS ATTRIB CD CLS COPY DATE DEL DELTREE DIR ECHO EDIT HELP MD MORE MOVE PRINT RD REN SORT TIME TYPE VER XCOPY /S Similar no Linux chmod cd clear cp date rm rm -r ls echo mcedit, vi, pico man mkdir more, less mv lp, lpr rmdir mv sort date cat uname a cp r Funo no Linux Alterar restries de acesso a arquivos e diretrios Caminhar entre diretrios Limpar a tela Copiar arquivos e diretrios Mostrar/alterar data do sistema Remover arquivos Remover diretrios recursivamente Listar arquivos/diretrios Imprimir texto na sada padro Editores de texto Consulta manuais disponveis no sistema Criar diretrio Visualizar arquivos, pausa na sada de comandos Mover arquivos/diretrios Mandar arquivos para fila de impresso Remover diretrio vazios Renomear arquivos Ordenar entrada padro, arquivos Date Listar contedo de arquivos Mostrar verso do sistema em uso Copiar diretrios recursivamente

Importante Por conveno, na descrio da sintaxe de comandos, foram utilizados alguns caracteres para envolver parmetros de um comando. Estes caracteres somente agregam significado descrio da sintaxe, portanto no devem ser includos na digitao do comando: <param> : a presena de param obrigatria em um comando. [param]: a presena de param opcional em um comando.

3.1.1 Ajuda do sistema


Para obter ajuda sobre comandos, servios, dispositivos, arquivos de configurao, entre outras informaes, pode-se utilizar em um shell o comando man ou no ambiente grfico a ferramenta xman para caminhar entres as diferentes sees de manuais, que so tradicionalmente divididas em 8 sees principais, como mostra a Tabela 3-2.
Tabela 3-2: Sees de manuais do UNIX Nmero 1 2 3 4 5 6 7 8 Descrio Comandos de usurio Chamadas de sistema Subrotinas (programao) Dispositivos Formatos de arquivos Jogos Miscelnea Administrao do sistema

man Consulta os manuais on-line do sistema

Sintaxe: man [-adfkwP] [seo] <nome>


Opes -a -f -k -P paginador -w seo nome Descrio Encontra todas as pginas que coincidam com o padro Equivalente ao comando whatis Equivalente ao comando apropos Indica um programa alternativo a ser usado para mostrar as pginas Mostra a localizao fsica das pginas Especifica em qual seo dos manuais buscar a informao O man mostrar ajuda referente a um nome

No exemplo: [root@asterix root]# man rpm, o manual do comando rpm ser consultado. Neste caso, a palavra rpm foi utilizada no parmetro <nome> presente na sintaxe do comando. Outra forma de obter ajuda acessar a documentao disponvel no diretrio /usr/share/doc. Muitos pacotes de software instalam documentao adicional (no somente pginas do man) neste local.

3.2 Manipulando arquivos e diretrios


cd Muda o diretrio de trabalho, ou diretrio corrente

Sintaxe: cd [diretrio] Sem parmetros, o diretrio HOME (casa) do usurio ser acessado. Se usarmos ~user o diretrio HOME de user ser acessado. Se ao invs disso utilizarmos o caractere -, ser retornado ao ltimo diretrio acessado.
chgrp Muda o grupo de um arquivo ou diretrio

Sintaxe: chgrp [-Rcvf] <grupo> <arquivo> [arquivo ...] A mudana pode ser efetuada pelo administrador do sistema (um super-usurio) ou pelo dono do arquivo. O grupo pode ser especificado pelo seu nmero de identificao (ID) ou pelo seu nome.
Opes -c -f -R -v Descrio Mostra informaes sobre os arquivos modificados No mostra mensagens de erro Muda o grupo de arquivos nos subdiretrios (recursivamente) Descreve detalhadamente as alteraes de atributos

chmod Muda as permisses de acesso de arquivos ou diretrios especificados

Sintaxe: chmod [-Rcvf] <modo> <arquivo> [arquivo...] Esse comando pode ser usado pelo administrador do sistema ou pelo proprietrio do arquivo. As permisses podem ser especificadas numericamente (formato octal) ou por uma string. Essa string consiste na designao do proprietrio (owner u), grupo (group g), ou outros (other o), se (all - a) for utilizado as permisses para dono, grupo e outros sero alteradas. Para isso usa-se o sinal de + para marcar um atributo ou para desmarcar um atributo. Ainda existe o sinal = que define as permisses para os arquivos, zerando as outras.

Opes -c -f modo -R -v

Descrio Mostra o nome dos arquivos que esto com a permisso sendo alterada No mostra mensagens de erro Pode assumir modo simblico ou absoluto Altera a permisso em subdiretrios (recursivamente) Descreve cada mudana, de maneira detalhada

Modo simblico: O modo simblico uma lista de expresses [identificador...] operando [valor], separadas por vrgula.
Identificador u g o a Operando + = Valor r w x X s t Descrio Permisses para o dono do arquivo Permisses para o grupo do arquivo Permisses para outros grupos Todos os anteriores (all). Padro se o identificador for omitido Descrio Adiciona permisso s permisses existentes no arquivo Retira permisso das permisses existentes no arquivo Marca uma permisso zerando as demais Descrio Permisso para leitura Permisso para escrita Permisso para execuo (ou acesso para diretrios) Permisso para execuo se o arquivo for um diretrio ou j houver permisso para o usurio Bit setgid se atribudo ao grupo, setuid se atribudo ao dono Bit sticky

na

forma

Modo absoluto: As permisses neste modo so representadas por um nmero octal de quatro dgitos, na forma EUGO.
Dgito E U G O Significado Atributos especiais Permisses para o dono do arquivo Permisses para o grupo do arquivo Permisses para outros grupos

Para os dgitos UGO temos a seguinte interpretao:


Permisses R permisso de leitura W permisso de gravao X permisso de execuo Valor octal 4 2 1

Para o dgito E temos a seguinte representao:


Significado Nenhum atributo ligado Bit sticky ligado Bit setgid ligado Bit setuid ligado Valor octal 0 1 2 4

Atributos especiais:
Bit setuid setgid sticky Significado O arquivo executado como se fosse invocado pelo proprietrio; no faz sentido para diretrios O arquivo executado sob seu grupo, mesmo que o usurio invocador no participe do dele; todo arquivo criado em um diretrio setgid criado com o mesmo grupo do diretrio Um arquivo criado sob um diretrio com o bit sticky ligado pode ser removido ou renomeado apenas pelo proprietrio (ou o root). Em arquivos executveis o bit sticky faz com que estes arquivos sejam mantidos na rea de swap do sistema

chown Muda o proprietrio e opcionalmente o grupo de um arquivo ou diretrio

Sintaxe: chown [-Rcvf] [dono][[:.]grupo] arquivos Dono e o grupo podem ser especificados por seu ID ou por seus nomes.
Opes -c -f -R -v Descrio Mostra o nome dos arquivos que o dono est sendo alterado No mostra mensagens de erro Altera o dono dos arquivos nos subdiretrios (recursivamente) Descreve cada mudana de maneira detalhada

cp Copia um ou vrios arquivos

Sintaxe: cp [-abdfilprsuxvPS] <arquivo> [arquivo...] <destino> Quando vrios arquivos estiverem sendo copiados, destino deve se referir a um diretrio.
Opes -a -b -d -f -i -l -P Descrio Preserva as caractersticas originais do arquivo sempre que possvel Cria um backup dos arquivos antes de sobrescrev-los Copia o link, no o arquivo ao qual foi feita referncia Fora a cpia e sobrescrita de arquivos Pede a confirmao antes de sobrescrever um arquivo existente Cria hard links e no cpias dos arquivos Copia arquivos criando tambm os elementos (diretrios) intermedirios do caminho (path) -p Tambm copia as permisses e data de modificao dos arquivos -r, -R Copia o contedo do diretrio e seus subdiretrios (recursivamente) -s Cria links simblicos em vez de copiar arquivos. O caminho at os arquivos fonte deve ser absoluto -S sufixo Anexa no nome dos arquivos de backup a extenso definida por sufixo -u Previne a sobrescrita de arquivos com o mesmo nome quando o destino tem data mais recente -v Mostra o nome de cada arquivo antes de copi-lo -x Copia somente os arquivos que estiverem no mesmo sistema de arquivos do diretrio corrente ls lista o contedo do diretrio

Sintaxe: ls [opes] [arquivo...]


Opes -C -F -R Descrio Lista arquivos em colunas, ordenados verticalmente. Sufixa o nome de cada diretrio com '/', cada nome de FIFO com '|', e cada nome de executvel com '*'. Lista os diretrios encontrados, recursivamente.

-a -c -i -l

-r -t -u -1

Inclue os arquivos com o nome iniciando com '.' na listagem. Usa o tempo de alterao ao invs do tempo de modificao para ordenar (com -t) ou listar (com -l). Precede a sada para o arquivo pelo seu nmero serial (nmero do inode). Lista no formato longo o tipo e modo de acesso do arquivo, o nmero de ligaes para o arquivo, o nome do proprietrio, o nome do grupo, o tamanho do arquivo (em bytes), o rtulo de tempo, e o nome do arquivo. Os tipos de arquivos podem ser: - para um arquivo comum, d para um diretrio, b para um dispositivo de bloco, c para um dispositivo de caractere, l para uma ligao simblica, p para um FIFO, s para um socket. Por padro, o rtulo de tempo exibido aquele da ltima modificao; as opes -c e -u selecionam outros dois rtulos de tempo. Para arquivos de dispositivos especiais o tamanho do campo geralmente substitudo pelos nmeros de dispositivos maior e menor. Inverte a ordem da ordenao. Ordena a exibio pelo rtulo de tempo. Usa o tempo do ltimo acesso no lugar do tempo de modificao para ordenar (com -t) ou listar (com -l). Para sada em coluna simples.

mkdir Cria diretrios

Sintaxe: mkdir [-pm] <diretrio> [diretrio...]


Opes Descrio -m mode Cria um novo diretrio com as especificaes de permisses -p Se um caminho de diretrios for especificado onde algum subdiretrio no existir, ele ento tambm ser criado. mount Monta novos sistemas de arquivos na rvore de diretrios

Sintaxe: mount [opes] [origem] [ponto_montagem] Um sistema de arquivos anexado no diretrio definido por ponto_montagem. Parmetros no especificados sero lidos de /etc/fstab.
Opes -a -f -n -r -t tipo -v Descrio Monta todos os sistemas de arquivos especificados em /etc/fstab Efetua uma montagem falsa. Para efeito de testes Suprime entradas em /etc/mtab O sistemas de arquivos montado com o status de somente leitura Define o tipo do sistema de arquivos (ext2, nfs, iso9660, vfat, smbfs) Mostra mensagens de sada

mv Move ou renomeia arquivos ou diretrios

Sintaxe: mv [-bfiuSv] <arquivo> [arquivo...] <destino>


Opes -b -f -i -u -S extenso -v Descrio Cria uma cpia de segurana dos arquivos que sero sobrescritos No pede confirmao antes de sobrescrever um arquivo j existente Pede confirmao antes de mover um arquivo que ir sobrescrever outro S sobrescreve arquivos ou links que sejam mais antigos que a origem Define a extenso a ser usada para criar os arquivos de backup Mostra detalhes da operao

Exemplo: [root@asterix root]# mv apostila apostila.old

pwd Mostra o diretrio corrente

Sintaxe: pwd
rm Remove arquivos

Sintaxe: rm [-firRv] <arquivo> [arquivo...]


Opes -f -i -r -v Descrio Efetua a eliminao sem solicitar confirmao Solicita confirmao antes de remover Causa a remoo de todos os arquivos e subdiretrios abaixo do diretrio especificado (inclusive o prprio) Imprime o nome de cada arquivo antes de remov-lo

rmdir Remove diretrios vazios

Sintaxe: rmdir [-p] <diretrio> [diretrio...]


Opes -p Descrio Remove tambm os diretrios intermedirios, se os mesmos estiverem vazios

3.3 Editor de texto em um shell


3.3.1 mcedit
pPr-requisitos: Para utilizar este editor verifique se os pacotes necessrios esto instalados executando o seguinte comando em um shell: rpm q mc O mcedit o editor mais indicado para usurios oriundos do MS-DOS/Win que utilizavam o Edit, principalmente quando acessado a partir da interface texto (console do Linux). Apesar de no fornecer compatibilidade com as teclas de acesso a funes do Edit, sua semelhana e teclas de funes deixam o usurio mais confortvel neste ambiente. Sintaxe: mcedit [nome_arquivo] A parte superior da tela do mcedit possui uma barra de status que apresenta informaes referentes edio3. Quando a tecla <F9> pressionada o mcedit substitui esta barra de status por uma barra de menus, que oferece acesso a todas as operaes do mcedit. Na parte inferior o mcedit apresenta a lista de teclas de atalho <Fn> e as operaes associadas, servindo de referncia rpida durante o uso do editor. A Tabela 3-3 apresenta uma lista com algumas operaes e suas teclas de atalho.
Tabela 3-3: Teclas de acesso a funes do mcedit Tecla F2 F3 F4 <Shift>+<movimentao> Console Linux (interface texto) Finalidade Salvar o arquivo atual Pressione para marcar o ponto inicial e final de uma seleo. A rea selecionada poder ser copiada, movida, ou apagada. A seleo tambm pode ser feita com o mouse. Acesso janela Substituir. Digite a expresso a ser pesquisada e sua substituio e pressione <Enter>

informaes referentes edio: coluna, linha atual, total de linhas, caractere atual, total de caracteres, cdigo do caractere na tabela ASCII, valor em hexadecimal

F5 F6 F7 F8 F9 F10 F12 Ctrl-u

<Ctrl> + <Ins> (copia) <Shift> + <Ins> (cola) <Shift> + <Del> (recorta) <Shift> + <Ins> (cola)

Copia a rea selecionada para a posio do cursor. Move a rea selecionada para a posio do cursor. Acesso janela Procurar. Digite a expresso a ser pesquisada e pressione <Enter> Apaga a rea selecionada ou a linha atual. Acesso a barra de menus Sair do mcedit. Salvar arquivo como (digite o nome do arquivo quando surgir a janela Salvar). Desfaz a ltima ao efetuada.

<Ctrl> + <Del>

3.4 Exerccios propostos


Ao contrrio da crena de muitos usurios de interface grfica, a interface textual/comandos (neste caso o shell bash) do Linux oferece uma ampla variedade de comandos para manipular arquivos e diretrios bem como ferramentas para utilizar facilidades do sistema. Na verdade, as operaes em um shell so, na grande maioria das vezes, mais rpidas por no impor o peso computacional de interagir com o usurio atravs de um ambiente grfico. Por este motivo, sero exercitados alguns comandos bsicos da interface textual do Linux, visando tornar seu dia-a-dia mais produtivo. Para completar esta tarefa podero ser utilizados: as descries de sintaxe de comandos bsicos do tpico 3 e a ajuda on-line do sistema (man comando); Faa o login como usurio root, realizando as atividades no shell padro do sistema: 2. Acesse diferentes diretrios, usando o comando cd; a. Verifique qual o diretrio atual/corrente (comando pwd) b. Entre no diretrio /etc/init.d (cd /etc/init.d) c. Volte ao seu diretrio home (somente cd) d. Volte ao diretrio anterior ao diretrio atual (cd -) 3. Liste os arquivos do diretrio atual (comando ls) a. Verifique o significado das cores (para facilitar use a opo F, ls -F); b. Utilize diferentes opes para obter listagem mais completas (ls -l), de todos os arquivos (ls -la), em ordem de tempo (ls -lat), em ordem reversa (ls -latr); c. Utilize coringas: ? * (ls latr n*) d. Liste os arquivos do diretrio (/etc/init.d/) (ls la /etc/init.d/) 4. Manipule diretrios (criao e remoo) a. Crie o diretrio /util/transf usando o comando mkdir Isto pode ser feito de diferentes maneiras: i. mkdir /util ; cd /util ; mkdir transf ii. Usando a opo -p: mkdir p /util/transf b. Crie o diretrio temp dentro do diretrio acima criado

i. mkdir /util/transf/temp c. Remova o diretrio temp (rmdir /util/transf/temp/) 5. Copie arquivos e diretrios usando o comando cp a. Crie um arquivo qualquer, no diretrio home de seu usurio (/root), usando o editor mcedit ; por exemplo: mcedit teste.txt b. Copie este arquivo para o diretrio /util/transf i. cp teste.txt /util/transf/ c. Entre no diretrio /util (cd /util) d. Copie o diretrio transf para o diretrio /root i. cp r trans /root/ 6. Remova arquivo e diretrios usando o comando rm a. Entre no diretrio /root/trans (cd /root/trans) b. Remova a cpia do arquivo que voc criou com o editor mcedit i. rm teste.txt c. Acesse o diretrio /root . i. Como voc est no diretrio /root/trans basta executar cd .. d. Remova o diretrio transf de seu diretrio /root (rm r transf) 7. Mova arquivos e diretrios usando o comando mv a. Copiando arquivos mantm-se o original, quando usamos o mv o original alterado de posio ou nome; b. Crie o diretrio temp dentro do diretrio /root (mkdir /root/temp/) c. Mova este diretrio temp para o diretrio (mv temp /util/transf/) d. Entre no diretrio /util/transf (cd /util/transf/) e. Altere o nome do diretrio temp para tmp (mv temp tmp) 8. Visualize o contedo de arquivos com more ou less a. Volte para o diretrio home (cd) b. Veja o contedo do arquivo .Xdefaults i. less .Xdefaults ii. more .Xdefaults c. Verifique qual ferramenta de visualizao oferece maior facilidade de uso i. Tente percorrer o arquivo com as teclas de movimentao 9. Manipule os processos com ps, top, kill a. Mostre os processos de sua sesso shell com o comando ps (note que a sada padro do comando ps exibe 4 colunas, entre as quais o nmero do processo PID, e CMD comando executado para disparar o processo) b. Execute a ferramenta top e coloque seu processo em background

i. Isso pode ser feito com a ferramenta top em execuo com CTRL+Z seguido de bg ii. Ou na linha de comando top & c. Mostre novamente os processos de sua sesso; d. Mate o processo referente ferramenta top (kill PID) e. Veja o que acontece quando voc efetua o kill -9 no nmero de processo (coluna PID) referente ao bash (coluna CMD) 10. Faa novamente o login como usurio root para alterar sua senha a. O comando passwd altera a senha do usurio atualmente logado; b. O usurio root pode alterar a senha de outros usurios usando o comando: passwd nome_do_usurio 11. Explore o editor mcedit, ele poder ser til em outras atividades 12. Para finalizar sua sesso shell utilize o comando exit

Você também pode gostar