Renato Destéfani Bassi

www.renatobassi.com.br

Shell Script – Expressões Aritméticas

A contrução de uma expressão aritmética via Shell é bem simples: $((…)).

Exemplo:

$ echo $((2+3))
6

$ echo $((2*3-2/2+3))
8

$ NUM=44
$ echo &((NUM*2))
88

Recebimento de Parâmetros via Shell Script

Os scripts podem ser preparados para receber alguns dados via linha de comando. Dentro do script algumas variáveis são definidas automaticamente. O nome do script que está sendo criado, fica armazenado na variável “$0” O primeiro argumento passado é armazenado na variável “$1“, o segundo é armazenado na variável “$2” e assim por diante.

Para saber a quantidade de argumentos recebidos na linha de comando, utiliza-se a variável “$” e, para saber todos os parâmetros passados, utiliza-se “$*

Exemplo:

#!/bin/bash
#Recebimento de parâmetros

echo “O nome desse script é : $0″
echo “Quantidade de argumentos recebidos: $#”
echo “Primeiro argumento recebido :$1″
echo “Segundo argumento recebido: $2″
echo “Todos argumentos recebidos: $*”

Acompanhe o resultado, se for passado esta linha de comando o terminal:

$ ./argumentos um dois três

Resultado:

O nome desse script é : ./argumento
Quantidade de argumentos recebidos: 3
Primeiro argumento recebido : um”
Segundo argumento recebido: dois
Todos argumentos recebidos: um dois três

Assim, é possível criar scripts que tenham opções como –help, –version e dentre outras.

Meu Primeiro Shell Script

1. Criar o arquivo

Use o Nano, Vi, Pico o outro editor de texto para colocar os comandos dentro de um arquivo.

2. Chamado do Shell

A primeira linha do script deve ser:

#!/bin/bash

3. Tornar um script Executável

$ chmod +x nome_do_script

Como criar senha de root no Ubuntu

Ao instalar o Ubuntu, o sistema pedirá para colocar uma senha, mas esta senha não será a de root. Este usuário criado tem as seguintes permissões:  dialout, adm, video, floppy, audio, cdrom,di , plugdev, lp (recursos de um usuário avançado).

Para criar o usuário root precisamos digitar o seguinte comando

$ sudo passwd root

O sistema irá pedir a senha do seu usuário, e depois a senha do root. Para acessar como usuário root, basta digitar:

$su

 

O que é DNS?

DNS = Domain Name System (“Nome do Domínio no Sistema”)

O DNS é um sistema que rotula endereços de IP para um nome de domínio, ou seja, é possível atribuir um IP (192.168.0.1) a um nome (localhost).

Este é um recurso muito utilizado em TCP/IP, que permite que um usuário localize um computador na rede pelo nome, ao invés de ficar decorando o IP de cada computador.

Se não existisse o DNS, imaginem ficar decorando os IPs de todos os locais. Ao invés de acessar o “google” pelo nome, teríamos que ficar decorando o IP, por exemplo, 192.168.5.1.

Lista de comandos do CHKDSK

Segue abaixo uma lista de comandos do chkdsk:

  • /F: Corrige erros no disco. O disco deve ser bloqueado. Se chkdsk não puder bloquear a unidade, será exibida uma mensagem perguntando se você deseja verificar a unidade na próxima vez que reiniciar o computador.
  • /V: Exibe o nome de todos os arquivos contidos em cada pasta à medida que o disco é verificado.
  • /R: Localiza setores defeituosos e recupera informações legíveis. O disco deve ser bloqueado.
  • /X: Use esta opção somente com o NTFS. Ela força primeiro a desmontagem do volume, se necessário. Todos os identificadores abertos para a unidade serão invalidados. A opção /x também inclui a funcionalidade da opção /f.
  • /I: Use esta opção somente com o NTFS. Efetua uma verificação menos rígida das entradas de índice, reduzindo o tempo necessário para a execução de chkdsk.
  • /C: Use esta opção somente com o NTFS. Ela ignora a verificação de ciclos dentro da estrutura de pastas, reduzindo o tempo necessário para a execução de chkdsk.
  • /L: [:tamanho] Use esta opção somente com o NTFS. Ela utilizará o tamanho digitado por você em vez do tamanho do arquivo de log. Se você omitir o parâmetro de tamanho, /l exibirá o tamanho atual.
  • /?: Exibe informações de ajuda no prompt de comando.

Erro ao iniciar o Windows

De vez em quando algum computador na empresa ou mesmo em casa para de funcionar. Normalmente o Windows para de iniciar ou aparece a  famosa “Tela Azul”. Um procedimento que quase sempre funciona é a reparação do Windows através das linhas de comando do DOS.

  1. Insira o Cd do Windows original (de acordo com a distribuição instalada no computador)
  2. Dê boot pelo CD (troca-se o boot na BIOS)
  3. Após iniciar o boot pelo CD, a primeira tela que aparece, clique em reparar(r) que irá entrar no DOS.
  4. Entre na unidade que deseja reparar (Ex. c:)
  5. Digite “chkdsk /r/f ” (irá passaro ScanDisk, localiza todos os setores defeituosos e recupera e corrige os erros do disco)
  6. Após feito o ScanDisc, reinicie o computador, se for problema de disco e/ou algum arquivo do Sistema Operacional que foi danificado, ele será corrigido.

Esse procedimento pode ser feito em qualquer versão do Windows que estiver instalada no computador.

Monitorar Squid pelo terminal

Para monitorar as páginas acessadas pelos colaboradores de uma empresa, utiliza-se o Squid. Pelo terminal linux é possível monitorar as páginas acessadas.

Para acompanhar instantaneamente os acessos digite:

#tail -f /var/log/squid/access.log

Posso monitorar um Ip específico em uma rede usando o grep:

#tail -f /var/log/squid/access.log | grep ip_que_deseja_monitorar

Se precisar desses dados para alguma audiencia ou mesmo para passar para um arquivo, existe um comando que joga as informações em um arquivo ao invés da tela:

#cat /var/log/squid/access.log | grep ip_que_deseja_monitorar  > relatorio_ip

Em alguns servidores o DHCP atribui Ip automático para as máquinas, podendo atribuir um Ip diferente cada vez que se conecta ao servidor. O controle dos computadores é feito pelo MAC da placa de rede e, podemos visualizar qual o ip de cada máquina:

#arp -a

Com esses comandos, é possível monitorar o que um determinado usuário está fazendo na internet, podendo até mesmo fazer um possível bloqueio dos sites que atrapalham o rendimento dos colaboradores.

O que é o Squid?

O Squid é um proxy que permite conexão entre o servidor linux e várias máquinas cliente de uma empresa (estações de trabalho), permitindo que essas máquinas tenham acesso a internet através dos browsers (IE, Chrome, Firefox, Safari…). Softwares como MSN, ICQ e email, é feito através de outro software.

Na máquina cliente a única configuração necessária é feita no browser , na configuração de conexão, definindo qual é o endereço do proxy.

No servidor linux a instalação e configuração não é dificíl, e o seu benéfício é bastante alto. No Squid é possível fazer controle e bloqueio de sites, bloqueando a url ou até mesmo algumas palavras específicas, aumentando a segurança e o controle de acesso.

gcc: error trying to exec ‘cc1plus’: execvp: No such file or directory

Ao tentar compilar um programa em C++ no Devian/Ubuntu , ocorreu o seguinte erro:

gcc: error tying to exec ‘cc1plus’: execvp: No such file or directory

Depois de ter vasculhado a internet descobri que eu não tinha instalado o g++

Para instalar:

apt-get install g++

O arquivo tem cerca de 21.3mb