O comando grep

O grep pode ser visto como uma forma simplificada de consulta a um banco de dados em texto puro, em que cada linha representa um registro.
O utilitário pode ser usado para retirar um conjunto de strings (cadeias de caracteres) do resultado de um comando dado ou de um arquivo texto, por mais longo que seja.
Este artigo reúne uma coletânea de exemplos, que irão ajudar a entender bem o funcionamento do grep.

LEIA MAIS:

Use a caixa de busca para descobrir outros artigos que fazem uso de exemplos com o comando grep.

Exemplo básico de uso do comando grep

Para pedir uma lista dos processos em execução na máquina, podemos usar o comando ‘ps aux’.
Mas a lista pode ser muito extensa e você só quer saber (por exemplo) do ‘NetworkManager’:


ps aux | grep -i net

Observe que ele exibe e destaca todas as strings contendo a cadeia de caracteres “net” (veja a imagem, abaixo).
Captura de tela de 2013-02-22 13:42:27
Entenda o que foi feito:

  • O comando ps aux exibe todos os processos em execução.
  • O operador | redireciona os resultados do comando ps para o grep, que filtra as ocorrências de “net” do resultado.
  • O parâmetro -i, pede ao programa que ignore se as letras estão em maiúsculas/minúsculas.

Use o grep para filtrar resultados de arquivos de log do sistema

Certos arquivos de log do sistema são muito extensos e podem conter uma quantidade imensurável de informações irrelevantes pra sua situação.
O grep pode ajudar a encontrar “uma agulha no palheiro”.
Vejamos, como exemplo o arquivo de log /var/log/dmesg que contém informações atuais do que está ocorrendo no seu sistema.
Vamos visualizar seu conteúdo – deixando de fora tudo o que não se refere à nossa interface de rede eth0:


cat /var/log/dmesg | grep eth0

Captura de tela de 2013-02-22 14:09:19

Use o egrep para filtrar resultados com operadores lógicos

Outros comandos, como lshw, também retornam uma lista muito extensa e podem demorar muito para finalizar.
O interessante, aqui, é direcionar o resultado do comando para um arquivo texto, que será usado com muito mais facilidade.
Com o seguinte comando, você cria o arquivo lshw.log contendo o resultado do lshw:


sudo lshw > lshw.log

Este procedimento traz as vantagens de não precisar mais invocar o sudo, para obter o resultado do lshw e a velocidade com que o sistema lê e exibe o texto do lshw.log.
A seguir vamos usar uma versão diferente do grep, o egrep, para filtrar os resultados que se referem às nossas interfaces de rede eth0 e wlan0:


egrep -C 2 -i '(eth|wlan)0' lshw.log

Olha a explicação do comando acima:

  • -C 2 — inclui as 2 linhas acima e as 2 linhas abaixo daquela em que foi encontrada a string desejada.
    Assim você sabe em que contexto o resultado está inserido.
  • -i — desativa a sensibilidade às ‘caixas’, ou seja, tanto faz se os caracteres estiverem em minúsculas ou maiúsculas.
  • o operador lógico | ou pipe — Desde que a string termine com ‘0’, tanto faz que seja ‘eth0’ ou ‘wlan0’.
    Assim, ficam incluídos os resultados referentes à interface de rede a cabo e sem fio.

Captura de tela de 2013-02-22 14:34:04

LEIA MAIS:

Como encontrar arquivos com o comando grep

Você pode usar o utilitário também para encontrar arquivos de texto pelo seu conteúdo.
Para pesquisar recursivamente no diretório atual por arquivos que contenham a palavra “firefox”, use-o da seguinte forma:


grep -iR 'firefox' *.conf

comando grep para encontrar arquivos por conteúdo

Conclusão

Como dicas finais, ao fazer a pesquisa dentro de arquivos grandes, gosto de usar os parâmetros ‘-n’ e ‘--color‘.
O primeiro numera as linhas, tornando mais fácil, ao abrir o arquivo, encontrar algo que eu desejo alterar.
O segundo mostra a saída do comando em cores, o que também ajuda a discernir melhor os resultados.
Você pode obter mais informações sobre o comando ao executar o seu manual:


man grep

Divirta-se!

MySQL: comandos básicos

O objetivo deste curto tutorial é introduzir os primeiros conceitos, de forma bem objetiva e com exemplos práticos, a quem está tendo o seu primeiro contato com o MySQL ou precisa apenas obter uma referência rápida sobre como lidar com criação/remoção de bancos de dados, tabelas e registros, entre outras tarefas básicas.
mysql logo
No meio do texto, há links para outros artigos em que os comandos são abordados com maior profundidade.

NOTAS
  • Não esqueça de sempre terminar o comando com um ‘;’ (ponto e vírgula), ou ele não funcionará;
  • Tenha em mente o limite de 64 caracteres para nomes de bancos de dados;
  • Para evitar problemas ao mover dados entre servidores de diferentes sistemas operacionais use apenas letras minúsculas, alfanuméricas e underscores nos nomes dos bancos e das tabelas;
  • E, sim, você pode escrever tudo em letras minúsculas – tanto os comandos, como as variáveis. O cliente MySQL não é sensível à caixa das letras. Este tutorial as usa apenas para tornar mais fácil a leitura e a compreensão;

ad-receias-geek-funcoes-data-hora-512x120

Comandos MySQL

Após a instalação completa do MySQL, alguns programas, que fazem parte do pacote, ajudam a conectar ao servidor e a realizar todas as tarefas administrativas. O cliente mysql é o principal deles e é nele que este artigo manterá o foco.

Como conectar ao MySQL

Conecte-se ao servidor MySQL com o seguinte comando:

mysql -h NOME-DO-SERVIDOR -u NOME-DO-USUARIO

Após dar o comando, o sistema vai pedir a sua senha de usuário.
Dica: Se você instalou o MySQL no seu próprio PC, pode usar localhost no lugar de NOME-DO-SERVIDOR.
No exemplo, a seguir, veja como se conectar como root:

mysql -u root -p

Se não foi você quem fez a instalação, pode precisar contatar o administrador do banco de dados para saber que valores usar para conectar ao servidor MySQL.
Em servidores remotos, você provavelmente precisará usar o SSH para se conectar ao MySQL.

Como criar um banco de dados no MySQL

O comando para criar um banco de dados é este:

CREATE DATABASE nome-do-banco;

Para ver todos os bancos de dados existentes no servidor:

SHOW DATABASES;

Em um exemplo prático, a criação do banco de dados testes, ficaria assim:

CREATE DATABASE testes;

Você pode exibir os bancos de dados criados, através do comando SHOW:

SHOW DATABASES;

Antes de criar uma tabela ou realizar qualquer operação, é necessário selecionar o banco de dados que vai ser usado:

USE testes;
LEIA MAIS:

Como criar uma tabela no MySQL

Como já foi dito, antes de criar uma tabela, você precisa indicar o banco de dados a ser usado – dentro do qual vai criar uma tabela. Que tal usarmos o exemplo do tópico anterior?

USE testes;

Agora, vamos criar uma tabela dentro dele, com o nome clientes:

CREATE TABLE `clientes` (
  `idCliente` mediumint(8) unsigned NOT NULL auto_increment,
  `nomeEmpresa` varchar(255),
  `nomeDiretor` varchar(255) default NULL,
  `numEmpregados` mediumint default NULL,
  PRIMARY KEY (`idCliente`)
) AUTO_INCREMENT=1;

Você pode pedir pro sistema exibir todas as tabelas presentes no banco de dados selecionado:

SHOW tables;

Para obter informações sobre uma tabela, você pode usar o comando DESCRIBE ou DESC:

DESCRIBE clientes;

Como inserir mais dados em uma tabela

Vamos “povoar” mais a nossa tabela com alguns dados:

INSERT INTO `clientes` (`idCliente`,`nomeEmpresa`,`nomeDiretor`,`numEmpregados`) VALUES (1,"Malesuada Inc.","Johnny Pedd",4847);
INSERT INTO `clientes` (`idCliente`,`nomeEmpresa`,`nomeDiretor`,`numEmpregados`) VALUES (2,"Aliquam Inc.","Al Capino",4135);
INSERT INTO `clientes` (`idCliente`,`nomeEmpresa`,`nomeDiretor`,`numEmpregados`) VALUES (3,"Union Carbide","Robert Ne Diro",3755);
INSERT INTO `clientes` (`idCliente`,`nomeEmpresa`,`nomeDiretor`,`numEmpregados`) VALUES (4,"Magna Carta Ltda.","Wenzel Dashington",3071);
INSERT INTO `clientes` (`idCliente`,`nomeEmpresa`,`nomeDiretor`,`numEmpregados`) VALUES (5,"Nunc Corp.","",3859);
INSERT INTO `clientes` (`idCliente`,`nomeEmpresa`,`nomeDiretor`,`numEmpregados`) VALUES (6,"In Company","Macaulay Bulkin",4440);

Lembra que o campo idCliente foi criado com o parâmetro auto_increment. Seu preenchimento é automático. Você não precisa informar o seu valor, portanto:

INSERT INTO `clientes`
(`idCliente`,`nomeEmpresa`,`nomeDiretor`,`numEmpregados`)
VALUES ('',"GameCorp.","Din Viesel",2071);
LEIA MAIS:

Como ver os registros na tabela com o comando SELECT

Tal como o nome sugere, o comando SELECT seleciona e exibe os registros gravados na tabela.
A maneira mais simples de usá-lo é essa:

SELECT * FROM clientes;

Você pode refinar a pesquisa de inúmeras maneiras.
Se quiser ver apenas o conteúdo dos campos id_cliente e nome_empresa, use-o assim:

SELECT id_cliente, nome_empresa FROM clientes;
SAIBA MAIS

Como remover um registro de uma tabela

A sintaxe do comando para apagar um registro é:

DELETE FROM nome-da-tabela WHERE nome-da-coluna=texto;

Veja um exemplo prático de uso do comando DELETE:

DELETE FROM clientes WHERE nomeEmpresa = 'GameCorp';

Com este comando, TODOS os registros que tiverem nomeEmpresa = 'GameCorp' serão eliminados. Neste caso, há apenas 1. Mas vamos imaginar que houvesse 10 ou 100 registros em que o nomeEmpresa fosse igual a GameCorp. Neste caso, seria necessário usar outro campo como referência para encontrar o registro que eu desejo eliminar. No nosso caso, há o campo idCliente, que é único – ele não se repete dentro da tabela:

DELETE FROM clientes WHERE idCliente = 7;

Como remover uma tabela ou um banco de dados

Seja cuidadoso(a). O comando DROP apaga permanentemente uma tabela ou um banco de dados. Veja como usar o DROP para eliminar uma tabela:

DROP TABLE nome-da-tabela;

ou, como remover um banco de dados:

DROP DATABASE nome-do-banco;

Como limpar uma tabela

Para limpar uma tabela, use o comando TRUNCATE. Internamente, ele remove a tabela primeiro e, depois, a recria com a mesma estrutura – só que sem os dados. Se houver um contador AUTO_INCREMENT, na tabela em questão, ele é zerado e recolocado. Veja como funciona:

TRUNCATE TABLE nome-da-tabela;

Como alterar um registro no MySQL

Aqui, o comando UPDATE entra em ação. Vamos ver como usá-lo para alterar o valor de um campo dentro de um registro:

UPDATE clientes SET numEmpregados=1999 WHERE idCliente = 1;
LEIA MAIS:

RunKeeper: Configuração básica no celular

Vamos abordar, neste post, as configurações disponíveis no aplicativo RunKeeper para smartphones. É bom fazer alguns ajustes, antes de começar a usá-lo – tais como a unidade de medida, a frequência do feedback sonoro etc.
RunKeeper botão de configuraçãoClique no ícone de configuração, no canto superior direito, na tela principal, para chegar ao menu.
O menu de configuração é composto por mais de 20 itens. Nem todos estão relacionados à configuração do aplicativo. Vamos ver os principais.

Mais sobre o RunKeeper

Unidades de medida

RunKeeper Unidades de Medida km ou MilhasPor ser desenvolvido em Boston (EUA), a unidade de medida da distância percorrida padrão do aplicativo é a milha. Vamos mudar para um sistema decente.
Isto pode ser alterado no menu “Unidades de distância” (distance units, na versão em inglês). Escolha Km, dentro deste menu.

Sinais de Áudio

Aqui podemos configurar o relatório periódico (feedback) de áudio que o aplicativo fornece durante as atividades.
No menu “Cronometragem de áudio”, você pode escolher se deseja disparar o sinal de áudio após o decurso de um intervalo de tempo (Por Tempo) e/ou de uma distância percorrida (Por Distância).
Por exemplo, a cada 15 minutos de atividade, o aplicativo dispara o sinal de áudio que informa (com voz humana) a distância percorrida, o ritmo do treino etc.

Ajuste do sinal de áudio por tempo

  • Selecione “Sinais de áudio”, no menu de configurações;
  • Selecione “Por Tempo”;
  • Escolha o intervalo que julgar adequado;
  • Escolha “Nenhum” se desejar desativar este sinal.

Ajuste do sinal de áudio por distância percorrida

  • Dentro de “Sinais de áudio”, selecione “Por Distância”;
  • Escolha um intervalo adequado à sua necessidade;
  • Escolha “Nenhum” para desativar este sinal

Seleção das informações

Logo abaixo das trigger options, ou seja, as condições em que o relatório audível será “disparado”, há uma lista de opções de informações que você pode escolher. Entre as principais, estão:RunKeeper Configurar sinais de áudio

  • Tempo;
  • Distância percorrida;
  • Ritmo médio do treino;
  • Ritmo/velocidade da série atual – para quem utiliza uma rotina predefinida de exercícios, com várias séries, esta opção dá o feedback de cada uma destas séries;
  • etc.

Há opções de medição do batimento cardíaco (Heart Rate), mas será necessário ter um acessório medidor para recolher estes dados. O próprio site do RunKeeper vende alguns modelos de acessórios compatíveis.

Tela Primária

RunKeeper tela principal
Aqui se escolhe o que deverá ser mostrado no painel principal – se o ritmo ou a velocidade no treino.
O ritmo (pace) é o tempo (em minutos) que você leva para completar um determinado percurso (em quilômetros).

Outros itens

A maioria dos itens do menu de configuração, se não são autoexplicativos, são facilmente dedutíveis ou, através da tentativa e erro, rapidamente um usuário consegue descobrir sua aplicabilidade. Acho interessante, portanto, abordar apenas mais dois itens.

Pausa automática

Liga/desliga a pausa automática. Quando o programa “percebe” que você está parado, ele pausa o monitoramento. Pode ser muito útil em caso de ter que atender a um telefonema ou, distraidamente, parar para conversar com alguém. A pausa automática não permite ao aplicativo “contabilizar” o tempo que você saiu da atividade.

Configurações de compartilhamento

Esta seção trata de um dos recursos mais queridos nos aplicativos de monitoramento de atividades. Selecione quem pode ver suas atividades, seus mapas e conecte o aplicativo ao Twitter e ao Facebook.
Dica: O site do RunKeeper permite conectar o aplicativo ao Foursquare e você pode ganhar medalhas (badges) relativas às atividades.

Primeiros passos com o RunKeeper

Vou mostrar passo a passo como iniciar suas atividades com o RunKeeper, um aplicativo de monitoramento de atividades físicas, que usa o GPS do seu celular e outros sensores para medir o seu desempenho.
Segundo o site do aplicativo no Google Play, ele já conta com mais de uma dezena de milhões de usuários cadastrados.
Some-se a isso o fato de a Samsung disponibilizar a versão Premium do produto (por 1 ano) no Galaxy S5.
Tão logo você o tenha instalado, faça o cadastro no site. Sugiro fazer o login com sua conta do Facebook — isto torna mais fácil compartilhar as suas atividades, mais tarde, se assim o desejar.

LEIA MAIS:

Monitoramento de atividades físicas – Leia outros artigos no site sobre o RunKeeper. Veja como resolver problemas, como configurar e personalizar as rotinas de treinamento.
Conheça o Runtastic: um outro app para monitoramento de suas atividades físicas.

A Interface inicial

Tela inicial do RunKeeperOs desenvolvedores fizeram uma interface bem espartana, se comparada a outros aplicativos semelhantes. Isto não é ruim, uma vez que o objetivo é permitir que você possa começar logo a monitorar a sua atividade.
Eu recomendo se familiarizar com o aplicativo antes de começar a usá-lo pra valer.

Principais itens da tela inicial

  • Tipo de atividade – onde se escolhe a atividade que se quer que seja monitorada: corrida, caminhada, mountain biking etc;
  • Rota – Você pode escolher uma rota predefinida para seguir. O site do RunKeeper tem uma ferramenta que te permite criar rotas para as suas atividades (como a corrida, por exemplo) em cima de um mapa da sua cidade;
  • Rotina de exercícios – opcionalmente, você pode escolher uma das rotinas predefinidas que já vem instaladas. Você pode alterar as rotinas existentes para que elas se adequem às suas necessidades ou criar novas;
  • Transmissão ao vivo – permite que seus amigos acompanhem ao vivo a sua atividade. É muito gratificante, quando se está em uma maratona, receber algumas palavras de força. Esta opção só está disponível para os assinantes.

Finalmente, o botão verde ao final, permite iniciar a atividade, assim que for clicado. Mas antes de falar da próxima tela, é interessante que a gente fale rapidamente do uso do GPS.

O GPS

Se você esqueceu de ligar o GPS, o botão de início – aquele verde, na parte inferior da tela, estará lá pedindo para que você o faça agora. Ao clicar em Ativar o GPS, o aplicativo o levará à tela de configuração do aparelho, na seção de configuração do GPS:
Ativar GPS no RunKeeper
Se o sinal do GPS estiver fraco, o RunKeeper irá avisar em uma tela informativa. Se você estiver em local descoberto, este problema provavelmente será resolvido sem a sua interferência. É seguro clicar em “Continue” e seguir com os exercícios.
Depois que o GPS estiver ligado e o seu sinal estiver sendo recebido pelo seu aparelho, o botão principal muda para “Iniciar Atividade”.
Há casos em que o uso do GPS será desnecessário ou inviável – se você estiver correndo sobre uma esteira, por exemplo. Neste caso, é provável que esta lhe forneça todos os dados sobre a sua atividade física – e você poderá fornecê-los manualmente ao RunKeeper. Neste caso, clique no botão ‘+‘, no canto superior direito da tela inicial do programa e, em seguida, toque na opção “Entrada manual”.

Durante o treinamento

Feitos os ajustes iniciais, após clicar em “Iniciar Atividade”, vamos ao painel de monitoramento do RunKeeper que exibe as informações do andamento da atividade.
shot_000014A tela, na figura abaixo, é padrão do RunKeeper, mas pode ser configurada para exibir outros indicadores que o atleta considerar mais relevantes.
A tela padrão exibe, em tamanho grande, os números referentes ao tempo de exercício, distância percorrida (em milhas ou Km) e ritmo atual. Outros indicadores, como média de velocidade ou ritmo e calorias queimadas, estão em tamanho pequeno.
A partir deste painel é possível pausar a atividade – o que evita que os 15 minutos que ‘aquele sujeito chato’ fez você perder com fofocas durante o trajeto sejam contabilizados 😛 O mesmo botão que pausa, serve para recomeçar o monitoramento. O aplicativo permite automatizar a pausa, ao “perceber” que você está parado. No caso de o telefone tocar, a pausa é automática.

Outros itens

No canto superior direito, há um ícone que permite acessar configurações do tema. Abaixo deste, o botão que leva à câmera.
Note que, mesmo ao apertar o botão “Home” do seu celular, ele não desativa o RunKeeper. Isto permite que você “saia” do aplicativo para realizar alguma outra tarefa no seu aparelho e depois retorno ao ponto em que parou.
Se você não estiver muito familiarizado com as teclas do seu aparelho, leia esta rápida introdução ao Android

Fotos durante o treino

Pra quem gosta muito de compartilhar os seus momentos com os amigos, é possível tirar fotos durante a sessão de treinamento. A tela de monitoramento tem um ícone de uma câmera, no canto superior à esquerda que permite ativar a câmera do seu aparelho.

Fim da atividade e o feedback

Ao terminar o exercício, não esqueça de tocar o botão vermelho “Parar”. Ao finalizar a atividade, o aplicativo vai lhe fornecer um relatório audível de suas atividades, que também pode ser personalizado nas configurações para retirar os dados que não interessam e manter ou introduzir os que lhe são mais relevantes.

Compartilhamento

Eu tenho a impressão de que de tudo o que eu escrevi até aqui, esta é a parte que mais interessa à maioria das pessoas…
Ao final do relatório do RunKeeper, ele vai exibir a tela de relatório final com um mapa do trajeto percorrido e algumas opções para compartilhar sua atividade no Twitter ou no Facebook – é possivel compartilhar no Foursquare também e ganhar “medalhas”. Tudo isto é opcional – você não é obrigado a compartilhar o que fez com ninguém. Pode apenas salvar a atividade e sair do aplicativo, se quiser.
Medalha do Foursquare para RunKeeper warmup-badge
Compartilhando as atividades do RunKeeperPode escrever alguma observação para complementar o post do RunKeeper sobre a atividade realizada, escolher os amigos que ‘participaram’ da atividade e as redes sociais nas quais as informações serão depositadas.
Enfim, toque o botão verde “Salvar Atividade” e aguarde a finalização. Em seguida, os dados gerais desta atividade serão exibidos. Use o botão voltar para sair do programa.
Todas as atividades realizadas, desde que não sejam descartadas, são armazenadas no banco de dados do RunKeeper. Desta forma, o aplicativo mantém na web um histórico sobre seus exercícios, ao qual só você e as pessoas que você escolher têm acesso.

Mais sobre o RunKeeper

Bom treino pra você!

Altere as cores dos nomes dos diretórios, no terminal

Esta não é uma dica que exija algum conhecimento avançado de Linux, embora seja voltado para quem usa o terminal para executar alguns comandos — especialmente se for pra ver os conteúdos dos diretórios.
O problema aqui é que os nomes dos diretórios, quando coloridos, costumam vir em azul escuro – o que é ótimo para quem usa um terminal, como o xterm, com o fundo branco.
Mas atrapalha a visibilidade para quem usa um tema de fundo escuro no console.
No Ubuntu, o aplicativo de terminal padrão tem fundo preto, o que dificulta a leitura de letras azul escuro ou, azul com fundo verde (o que depende das permissões destes diretórios).
Captura de tela de 2013-02-07 22:31:10
Neste post vou mostrar como alterar a cor das letras dos nomes dos diretórios para amarelo claro — mas você pode experimentar e optar por outras colorações.
Readéque os exemplos à sua preferência.

  1. Abra o arquivo ~/.bashrc com o seu editor favorito
  2. Inclua ao final do arquivo o seguinte código:
    LS_COLORS='di=1;33';export LS_COLORS
    # altera a cor de exibição dos nomes de diretórios para amarelo forte.

Caso você não goste muito desta opção de cor (1;33), há outras, como você pode ver abaixo.

  • Azul = 34
  • Verde = 32
  • Verde Claro = 1;32
  • Ciano = 36 — usada para exibição de links
  • Vermelho = 31
  • Púrpura = 35
  • Marrom = 33
  • Amarelo = 1;33
  • Branco = 1;37
  • Cinza Claro = 0;37
  • Preto = 30
  • Cinza escuro = 1;30

O primeiro número determina a intensidade ou a variação da cor:

  • 0 — nenhuma
  • 1 — negrito
  • 2 — normal
  • 3 — clareado
  • 4 — sublinhado

O valor após o ponto e vírgula (;) determina a cor a ser usada.
Depois de feitas, as alterações só terão efeito depois de reiniciar a sessão.

Como ver as alterações no console sem reiniciar a sessão

Vamos simplificar as coisas a ponto de bastar iniciar um novo terminal (Ctrl+Alt+T) para ver as alterações.
Para isto, é necessário incluir a linha if [ -f ~/.bashrc ]; then . ~/.bashrc; fi no arquivo .bash_profile:

echo "if [ -f ~/.bashrc ]; then . ~/.bashrc; fi" >> ~/.bash_profile
# Este codigo pode ser removido quando os ajustes de lscolors estiverem finalizados.

Leia mais sobre o LS_COLORS aqui.
Toda vez que você abrir um novo terminal (ou shell), o .bash_profile, presente no seu diretório home, é executado. A linha, que incluímos força a leitura adicional do arquivo de configuração .bashrc seja lido.