(Parte 3 de 5)

Arquivos executáveis e execução de programas

Neste sistema, diferentemente da grande maioria de sistemas que se encontra, arquivos não precisam ter extensão necessariamente. Sendo assim, arquivos executáveis não tem uma extensão como exe ou com. Então você deve estar se perguntando: "Mas como eu diferenciarei um arquivo executável de um arquivo comum?". Bem, eu te respondo, existem duas maneiras: a primeira, após executar o comando ls (veja a seguir) você obterá uma lista, bem colorida, de arquivos e diretórios. Os arquivos executáveis geralmente são verdes.

Porém o sistema onde você está pode não estar configurado para aparecer cores no comando ls, aí a coisa fica um pouco mais chata. Existe um parâmetro, que quando passado ao ls, te dá uma lista detalhada dos atributos do arquivos, sendo um deles as permissões. Nesta string de permissões, caso o arquivo seja executável, a primeira letra dela será um "x".

Para a execução de programas que estejam em diretórios padrões, configurados na variável de ambiente PATH (esta variável indica onde o interpretador de comandos deve procurar por programas ao ser digitado um comando), basta digitar o nome do arquivo e teclar <enter>, porém, caso o executável esteja no diretório atual, deve acrescentar um "./" antes do nome do arquivo a ser executado. Ex: ./teste executaria o arquivo teste.

O Linux diferencia arquivos que se pode executar através das permissões já comentadas, porém o que acontece se eu configurar um arquivo que não seja realmente um executável para poder ser executado e executá-lo? Simplesmente acontecerá um erro e nada mais; assim como em qualquer sistema, arquivos executáveis tem toda uma estrutura diferente de outros arquivos.

Comandos de navegação no sistema de arquivos

Tarefa árdua para uns, prazerosa para outros, a verdade sobre o modo texto é que ele é mais rápido, em algumas tarefas é mais prático e ocupa bem menos memória que o modo gráfico. Porém se paga o preço de não ter uma interface bonita e de muitas vezes não se ter a praticidade que o modo gráfico oferece.

Chegamos, após ter logado, em um prompt que espera que digitemos algum comando e apertamos <enter>. Vejamos alguns comandos e o que qual seu efeito no sistema.

Nota: Ao ler estes comandos, sempre que ver escrita a palavra arquivo como parâmetro, subentende-se que se pode usar um wildcard (explicado no comando ls)

cd - O mais básico dos comandos, o cd (change directory) nos muda de diretório atual, levando para o diretório passado como parâmetro. No sistema de arquivos usado pelo Linux, os diretórios são separados por barras comuns (/, a mesma da representação de datas) e não temos o conceito de drives (como c:, d:, etc), o diretório raíz do sistema de arquivos é o diretório "/". Para irmos para o diretório /home/bolha digitaríamos o seguinte:

cd /home/bolha

Uso geral deste comando:

cd [diretorio]

ls - Este comando lista todos os arquivos que estão presentes no diretório atual. Usado sem nenhum parâmetro ele não mostra arquivos ocultos. Como parâmetro, este comando pode receber o nome de um arquivo ou um wildcard, que na verdade é um caractere especial que tem efeitos um pouco diferentes do normal. Veja:

Supondo que no diretório atual existam os arquivos arq1, arq2, arq3, Arq3, teste. Se você digitar um ls, ele te retornará o seguinte:

arq1 teste

arq2

arq3

Arq3

Agora, experimente digitar ls a* e ele te mostrará o seguinte em nosso caso:

arq1 arq3

arq2

Como se pode reparar, o Linux diferencia maiúsculas de minúsculas em seu sistema de arquivos e em praticamente todo o sistema. O caractere * digitado por nós no comando anterior é o wildcard que citei que você poderia usar. Para localizar obter uma lista mais completa dos arquivos existentes no diretório atual adicione como parâmetro para o comando um "-l", assim, além do nome dos arquivos, serão também listados a data de criação, as permissões, o dono, o tamanho em bytes entre outros dados. Caso seja adicionado também o parâmetro "-a", teremos em nossa lista todos os arquivos, inclusive os ocultos.

Um fato interessante em Linux é que para transformar um arquivo em oculto, não precisamos editar suas propriedades com algum outro comando muito misterioso, mas sim somente adicionar um "." (ponto) antes do nome do arquivo. Por exemplo, o arquivo ".estou_escondido" seria um arquivo oculto.

Uso geral:

ls [arquivo] [parâmetros]

cp - Efetua cópia de um arquivo de origem para um local de destino. Por padrão, na maioria das distribuiçõe de Linux, os comandos assumem que você tem certeza do que está fazendo, portanto se estiver copiando um arquivo para um diretório onde existe outro do mesmo nome, provavelmente este será sobrescrito sem você ser avisado antes. Uso geral desse comando:

cp <arquivo de origem> <[diretorio de destino] ou [arquivo de destino]>

rm - Apaga um arquivo ou um diretório com este comando. Preste atenção, pois este comando, assim como o cp, também não lhe pergunta se deseja realmente apagar o arquivo escolhido. Para apagar um diretório, deve ser usado o parâmetro -r (recursivo), ou seja, apaga todos os arquivos dentro de cada subdiretório do diretório selecionado, inclusivo os subdiretórios.

Uso geral:

rm [-r] <arquivo ou diretório>

mv - O mv, além de mover arquivos, também serve para renomeá-los, aceitando tanto nome de arquivos quanto diretórios. O procedimento para renomear um arquivo é o mesmo que mover.

Por exemplo: para voce mover um arquivo do diretório atual para o diretório /home/bolha por exemplo, você digitaria o seguinte:

mv arquivo /home/bolha

Caso queira executar a mesma operação, porém mudando o nome do arquivo para arquivo.teste, seria feito o seguinte:

mv arquivo /home/bolha/arquivo.teste

O uso geral deste comando é:

mv <arquivo ou diretório origem> <diretorio destino> [-R]

mkdir - Este comando permite que você crie diretórios, contanto que não exista outro no mesmo local com o mesmo nome e você tenha permissão para escrever no local determinado. Você pode passar como parâmetro todo um caminho onde deseja criar um diretório ou simplesmente o nome do diretório que deseja criar, assim criando no local atual.

O uso geral deste comando é:

mkdir <diretorio a ser criado>

Darei um exemplo dos dois tipos de uso a seguir:

mkdir /home/bolha/novo_diretorio

mkdir novo_diretorio

pwd - O pwd, mesmo sendo simples do jeito que é, pode ser realmente útil para as tarefas cotianas do sistemal. Ele simplesmente exibe todo o caminho do diretório atual.

Uso geral:

pwd

Supondo que estejamos em /home/bolha/novo_diretorio, ao executar este comando obteremos exatamente o mesmo na tela: /home/bolha/novo_diretorio

cat - Não, não é um gato. Este comando serve para você visualizar qualquer tipo de arquivo na tela. É uma exibição simples e sem pausas, sendo prático somente para arquivos pequenos. Atenção: este comando não se encaixa da definição da palavra arquivo dita acima; aqui você somente poderá usar um arquivo mesmo como parâmetro.

Uso geral:

cat <nome do arquivo>

more - O more é outro comando para visualização de arquivos, um pouco mais arrojado que o cat; caso o arquivo a ser visualizado tem mais linhas do que possa ser exibido na tela, este programa cuida de fazer paginação, esperando que apertemos <ENTER> para exibir a linha seguinte ou <q> para que a visualização seja cancelada.

O uso geral deste comando é:

more <nome do arquivo>

less - Mais um visualizador de arquivos, dessa vez que permite uma navegação total pelas linhas do arquivo através das setas do teclado (cima, baixo, direita e esquerda).

O uso geral deste comando é o seguinte:

less <nome do arquivo>

Comandos de rede

Um dos vários potenciais do Linux é o seu uso em redes; o Linux suporta os mais diversos tipos de protocolos, tem todos os tipos de servidores de rede (um dos mais usados servidores de internet roda no Linux, o Apache), possuí vários comandos para a administração de redes e inclusive possui suporte a firewall no núcleo do sistema. Notavelmente os serviços de rede do Linux, assim como dos sistemas operacionais comerciais, possuem diversos bugs, porém a diferença é a rapidez com que são solucionado e a dificuldade da exploração desses problemas.

Bem, apesar da grande quantidade de serviços e comandos de rede, veremos somente alguns comandos básicos para redes.

ping - Este grande conhecido de todos que mechem em ambientes de rede nos ajuda a ver se uma máquina está disponível na rede. Basta executar o comando ping seguido do nome da máquina ou, de preferência seu IP. Existem vários parâmetros que podem ser passados para este comando, como o tamanho do pacote ICMP que será enviado, o número de tentativas, entre outros, porém, como visamos dar uma explicação básica, não entrarei em maiores detalhes quanto a esses parâmetros. Grande parte dos comandos em linux, caso você passe o parâmetro "-h" ou "--help", lhe mostrará uma lista completa de cada parâmetros que poderá ser usado e sua descrição.

Uso geral:

ping <nome/IP computador destino>

traceroute - Este comando traça a rota de um pacote até seu destino, mostrando todos os roeadores por onde passou.

Uso geral:

traceroute <IP computador destino>

netstat - Comando que exibe para você todas as conexões TCP/IP ativas com outros computadores e seus estados.

Uso geral:

netstat [parâmetros]

who - Quando executado, o comando who mostra quem está logado na máquina, em que termnal virtual está logado e a data do log-in.

(Parte 3 de 5)

Comentários