YASI: Mais uma introdução à linha de comando

Apesar da interface gráfica ser muito mais fácil de usar, é bom você ter pelo menos uma boa noção de como as coisas funcionam pelo prompt de comando, isso vai lhe dar um domínio muito maior sobre o sistema.

Vamos então a um guia rápido dos comandos básicos do terminal. Este post foi carinhosamente apelidado de YASI (Yet Another Shell Intro), ou “mais uma introdução à linha de comando” 🙂

Comandos básicos: Começando do básico, o comando cd permite navegar entre os diretórios. Ao abrir o terminal, você começa dentro do seu diretório home (como “/home/gdh”) e pode acessar outros diretórios diretamente especificando-os no comando, como em “cd /etc” ou “cd /mnt/cdrom”. Para subir um diretório use “cd ..” e, para voltar ao home, digite simplesmente “cd”, sem parâmetro algum. Sempre que quiser confirmar em qual diretório está, use o comando “pwd“.

Em seguida temos o ls, que serve para listar os arquivos dentro da pasta. Na maioria das distribuições, a listagem aparece colorida, permitindo diferenciar as pastas e os diferentes tipos de arquivos. As pastas aparecem em azul, os links em azul claro, os arquivos compactados em vermelho, as imagens em rosa, os executáveis em verde e os arquivos de texto e outros formatos em preto.

Para incluir os arquivos ocultos (que no Linux começam com “.”), use “ls -a“. Para ver mais detalhes sobre cada arquivo, incluindo o tamanho, permissões de acesso e dono, use “ls -lh“. Para incluir os ocultos, adicione o “a”, como em “ls -lha“. A ordem dos parâmetros não altera o resultado do comando. Tanto faz digitar “ls -lha” ou “ls -alh”, você pode simplesmente decorar os parâmetros na ordem que achar mais fácil de lembrar.

Para copiar arquivos de uma pasta para a outra usamos o cp, especificando o nome do arquivo e a pasta para onde ele vai, como em “cp arquivo.zip /mnt/sda1/”. Se você quiser copiar um arquivo que está em outra pasta para o diretório atual, inclua a localização completa do arquivo e em seguida o “./” (que representa o diretório atual), como em “cp /mnt/cdrom/video.avi ./”. Você pode também usar o “*” como curinga para copair vários arquivos. Para copiar todos os arquivos da pasta atual para a pasta “/mnt/hda6”, por exemplo, use “cp * /mnt/hda6”.

O cp é por padrão um comando bastante chato e difícil de entender, já que por default ele omite pastas, altera a permissão dos arquivos e assim por diante. Um parâmetro bastante útil é o “-a”, que faz com que o cp sempre copie recursivamente, mantenha as permissões do arquivo original e preserve os links simbólicos que encontrar pelo caminho. Em resumo, faz o cp se comportar de uma forma mais simples e lógica. Para copiar uma pasta do CD-ROM para o diretório atual, por exemplo, você poderia usar “cp -a /mnt/cdrom/musicas ./”.

O cp faz par com o mv, que serve tanto para mover quanto para renomear arquivos. Para mover o arquivo foto.png para a pasta “/mnt/hda6/”, o comando seria “mv foto.png /mnt/hda6”. Para renomear um arquivo, basta especificar o nome original e o novo, como em “mv antigo.txt novo.txt”.

Para criar diretórios, usamos o comando “mkdir“, como em “mkdir arquivos” (que cria a pasta arquivos no diretório atual) ou “mkdir /mnt/sda6/arquivos”. É possível também criar pastas recursivamente, criando se necessário todas as pastas necessárias até chegar a que você pediu, adicionando o parâmetro “-p” como em “mkdir -p /mnt/hda6/arquivos/novos/2009”. Mesmo que a pasta “novos” não exista, ela será criada.

Em seguida temos o rm, que serve tanto para remover arquivos quanto diretórios, de acordo com os parâmetros usados. Para remover um arquivo simples, basta usá-lo diretamente, como em “rm arquivo”. Para que ele remova sem pedir a confirmação, adicione o parâmetro “-f”, como em “rm -f arquivo”. Para remover uma pasta e todos os arquivos e diretórios dentro dela, adicione o parâmetro “-r”, como em “rm -rf arquivos/”.

Tome cuidado ao usar o “-rf”, pois ele não pede confirmação, deleta os arquivos diretamente, sem escalas. Respire fundo e verifique se realmente está deletando a pasta certa antes de confirmar o comando.

É possível também usar caracteres curingas na hora de remover arquivos. Para remover todos que possuírem a extensão “.jpg”, use “rm -f *.jpg”. Para remover todos os arquivos que começarem com “img”, use “rm -f img*”. Você pode usar também o “?” quando quiser usar o curinga para apenas um caractere específico. Se você quiser remover os arquivos “doc1.txt”, “doc2.txt” e “doc3.txt”, você poderia usar o comando “rm -f doc?.txt”.

Temos também o comando rmdir, uma variação do mkdir, que permite remover diretórios. A diferença entre ele e o “rm -rf” é que o rmdir só remove diretórios vazios. Acostume-se a usá-lo no lugar do “rm -rf” ao deletar uma pasta que acha que está vazia, assim você evita acidentes.

Para verificar o espaço em disco disponível, use o df. Ele mostra o espaço disponível (assim como outras informações, incluindo a capacidade e o diretório de montagem) de cada uma das partições do sistema, incluindo pendrives e outros dispositivos de armazenamento que estejam montados. Ele faz par com o free, que permite checar rapidamente o uso da memória RAM (ignore a primeira linha e veja diretamente a linha “-/+ buffers/cache”, que mostra o uso real, descartando o usado pelo cache de disco).

Outro comando útil é o du, que permite ver uma lista com o espaço ocupado por cada pasta dentro do diretório atual. Para facilitar, use sempre o “du -h“, que exibe o tamanho dos arquivos de forma amigável, escrevendo “2,8G” ao invés de “2876322”, por exemplo.

Você também pode executar uma fila de comandos de uma vez. Basta separá-los por ponto e vírgula, como em “ls; pwd” ou “cd /mnt/arquivos; ls

Localizando arquivos e comandos:Uma forma rápida de localizar arquivos é usar o comando locate, que permite realizar buscas de forma quase instantânea. Para procurar um arquivo, simplesmente use “locate arquivo” (funciona também se você especificar também apenas parte do nome, ou usar o asterisco para encontrar arquivos de determinadas extensões).

O locate é tão rápido pois executa a busca dentro de uma base de dados, que é gerada ao rodar o comando “updatedb“. A desvantagem dessa abordagem é que você precisa rodar o updatedb (como root) de vez em quando, a fim de incluir as últimas modificações.

Se você está procurando por um programa, experimente o comando “which“, uma variante do locate que mostra apenas executáveis.

Temos também o find, que também permite localizar arquivos, mas funciona da forma tradicional, realmente vasculhando os diretórios em busca dos arquivos. Embora seja lento ao procurar em diretórios com muitos arquivos e subdiretórios, o find é eficiente se você souber previamente onde procurar. Por exemplo, o diretório “/etc” concentra as configurações do sistema. Se você estiver procurando pelo arquivo “smb.conf” (onde é armazenada a configuração do Samba), você poderia ir direto à fonte, usando o comando “find /etc -name smb.conf”.

Note que além do diretório onde ele vai procurar (/etc no exemplo), você deve usar o parâmetro “-name” antes de indicar o nome do arquivo que está procurando. Omitindo o diretório, ele simplesmente procura dentro do diretório atual. Você pode também fazer buscas por todos os arquivos com uma determinada extensão, como em “find /mnt/hda6 -name *.mp3”.

Assim como outros comandos do terminal, o find pode ser usado de forma mais amigável através de ferramentas gráficas. No KDE, você pode usar o kfind. Através dele você pode procurar pelo nome ou tipo de arquivo (você pode fazer uma busca incluindo apenas arquivos de imagem, por exemplo), procurar dentro de pastas específicas ou localizar arquivos pertencentes a um determinado usuário ou grupo do sistema, ou até mesmo procurar por arquivos modificados recentemente. No Gnome, você pode utilizar o gnome-search-tool, disponível no “Locais > Pesquisar por arquivos”.

Assim como no caso dos nomes de arquivos, você pode completar os comandos usando a tecla Tab, o que reduz a necessidade de realmente decorá-los. Outra dica é usar o comando apropos para ajudar a localizar comandos quando você tem apenas uma vaga idéia do nome. Basta chamá-lo incluindo algumas letras que façam parte do comando (não importa se do começo ou do final), como em “apropos keyg” ou “apropos ogg”. Ele mostra uma lista com todos os comandos que contêm os caracteres especificados no nome, juntamente com uma pequena descrição.

Desligando: Assim como no Windows, você precisa desligar o sistema corretamente para evitar perda de arquivos e danos à estrutura das partições (sem falar em evitar o chato fsck no boot seguinte). Além das opções nos menus do KDE ou Gnome, você pode desligar via terminal, usando os comandos halt (desligar) e reboot (reiniciar). Existe também o Ctrl+Alt+Del, que se executado em um dos terminais de texto puro reinicia o micro e, se pressionado dentro do ambiente gráfico abre (na maioria das distribuições) o diálogo com as opções de desligar e reiniciar.

Informações sobre o hardware: Como comentei no post sobre os diretórios, a pasta “/proc” não armazena arquivos, mas sim informações sobre o hardware e sobre a configuração do sistema. Embora seja possível ver o conteúdo dos arquivos usando qualquer editor de texto (como no caso do “cat /proc/cpuinfo”), a maior parte das informações são crípticas demais para qualquer ser humano normal.

Se você quer apenas descobrir qual é o chipset da placa wireless ou da placa de som, por exemplo, pode ver uma listagem resumida do hardware da máquina usando o comando lspci. Para os dispositivos USB (que não aparecem na lista do lspci), temos o lsusb.

Dois outros comandos relacionados são o lshal (que mostra todos os componentes detectados pelo HAL, responsável por detectar o hardware e carregar os módulos apropriados) e o lshw que mostra uma longa lista de detalhes sobre a máquina, lembrando um pouco o gerenciador de dispositivos do Windows, porém em modo texto. Complementando, temos o clássico “uname -a“, que permite verificar rapidamente qual versão do kernel está sendo usada.

Rede: O comando básico para gerenciar a configuração de rede no Linux é o ifconfig. Quando chamado sem argumentos ele mostra a configuração atual da rede (o que o torna uma opção para verificar rapidamente qual endereço IP seu PC está usando, ou se ele obteve a configuração corretamente a partir do servidor DHCP), mas ele pode ser usado também para alterar a configuração da rede rapidamente. Ao digitar “ifconfig eth0 192.168.1.2”, por exemplo, você troca o endereço da placa eth0.

Ele é complementado pelo iwconfig, que se aplica às placas wireless. Ao chamá-lo sem argumentos, ele mostra a configuração atual, incluindo o SSID da rede, o endereço MAC do ponto de acesso, a qualidade do sinal e a velocidade atual de transmissão, mas ele pode ser usado também para configurar a rede Wi-Fi manualmente.

Sobre o Autor

Redes Sociais:

Deixe seu comentário

X