Categorias
Linux

Encontre arquivos perdidos

Alguma vez você salvou um arquivo, talvez um download, e então não conseguiu encontrá-lo? Talvez você o tenha salvo em um diretório diferente ou com um nome incomum.

O comando find é útil aqui:

find ~ -type f -mtime 0

e mostrará todos os arquivos do seu diretório home que forão modificados ou criados hoje. Por padrão, find conta dias a partir da meia-noite, então o valor 0 siginifica hoje.

Você deve ter usado a opção -name com o find antes, mas ele pode fazer muito mais. Estas opções podem ser combinadas, então, se o elusivo download foi um arquivo MP3, você pode reduzir a pesquisa com:

find ~ -type f -mtime 0 -iname '*.mp3'

As aspas simples são necessárias para para evitar que o shell fique tentando expandir o coringa, e -iname torna a combinação insensível ao caso.

Permissões incorretas podem causar erros obscuros algumas vezes. Você pode, por exemplo, ter criado um arquivo no seu diretório pessoal enquanto trabalhava como root. Para encontrar arquivos e diretórios que não peretencem a você, use:

find ~ ! -user ${USER}

O shell define a variável de ambiente USER para o usuário atual, e um ! muda o resultado para o próximo teste, então este comando encontra qualquer coisa no atual diretório do usuário que não pertencem a este usuário. Você pode até usar o find para corrigir permissões

find ~ ! -user $USER -exec sudo chown ${USER}:"{}" \;

A página man do find explica o uso de -exec e muitas outras possibilidades.

Categorias
Linux

A maneira fácil de compartilhar arquivos

O compartilhamento de arquivos com Samba ou NFS é fácil desde que você tenha tudo previamente configurando em ambos os computadores, mas e se você quer apenas transferir um arquivo para outro computador na rede sem o trabalho de configurar programas? Se o arquivos é pequeno, você pode enviá-lo por e-mail. Se os computadores estão na mesma sala e o uso do compartimento USB é permitido nos computadores, você pode usar a porta USB, mas há também outra opção.

Woof é um script Python que pode ser executado em qualquer computador com Linux (ou similar). O nome é um acrônimo para Web Offer One File (A Teia Oferece Um Arquivo), que o define muito bem, como se o fosse um servidor web a um clique. Não há nada a instalar; apenas baixe o script de www.home.unix-ag.org/simon/woof.html e o defina como executável, então compartilhe o arquivo digitando:

./woof /pasta/do/meuarquivo

Isto irá responder com uma URL que pode ser digitada em um navegador em outro computador na rede - nenhum programa além do navegador é necessário. Woof irá disponibilizar o arquivo para aquele computador e então retirá-lo (você pode usar a opção -c para deixá-lo disponível por mais de uma vez). Woof disponibiliza também um diretório, como:

./woof -z /um/diretorio

O diretório será compactado com gzip tarball e enviado, e você pode substituir -z por -j ou -u para ter um arquivo bzip ou tarball descompactado. Se outros gostarem do Woof e quiserem usá-lo, você pode até mesmo dar-lhes uma cópia com:

./woof -s
Categorias
Linux

Controle remoto do MPlayer

Há dois tipos de pessoas neste mundo: aquelas que pensam que o MPlayer é o melhor tocador de mídia na história da existência, e aqueles que estão errados. Uma das características menos conhecidas é a possibilidades de controlá-lo pelo console, um script shell ou até mesmo através da rede. O segredo para este truque está na opção -slave do MPlayer, que diz ao programa para aceitar comandos do stdin stream ao invés das teclas de teclado. Combinar isso com a opção -input e comandos serão lidos de um arquivo ou um FIFO. por exemplo, teste isto num terminal:

mkfifo ~/mplayer-control
mplayer -slave -input file=/home/user/mplayer-control
filetoplay

Então, em outro terminal ou de um script, entre:

echo "pause" >~/mplayer-control

Este comando irá interromper a execução corrente do MPlayer, e ao soltar o comando novamente irá recomeçar a gravação. Note que você tem que dar o caminho completo do arquivo de controle para o MPlayer, com /home/user e daí em diante, porque ~/mplayer-control apenas não irá funcionar. Há vários outros comandos que você pode enviar para o MPlayer - de fato, qualquer operação de teclado no programa dispara um comando que você pode usar no seu script de controle. Você pode até operar o MPlayer de outro computador através da rede usando SSH ou Netcat. Veja este exemplo:

ssh user@host "echo pause >mplayer-control"

Aqui, nós nos autenticamos numa máquina remota (servidor) com o nome de usuário e executamos um comando para enviar a interrupção para o arquivo de controle do MPlayer da máquina remota. É claro, isto pode ser feito muito mais rápido se você tem a chave de autenticação de SSH habilitada para que você não precisa entrar com a senha a cada vez.

Categorias
Spam

A internet brasileira que não tem conivência com o spam

Vou pedir licença ao meu amigo Elildo de me basear no título dele, mas o fato que me alegra é que enquanto a Locaweb mantém uma conivência com o spam, a iniciativa do CGI.br contra o spam tem rendido frutos e aceitação.

O fato é que o spam não agrada, ou melhor, não agrada a ninguém com exceção daquele que envia e aquele que ganha por ser permissivo a essa prática. Mas ainda há vários que se preocupam com a diginidade e em prestar um serviço com excelência para seus clientes e também para a sociedade.

O UOL, um gigante do setor, numa atitude digna de apalusos, se comprometeu e, a partir de 05/01/2010, bloqueou a porta 25 para envio de e-mail, que não exige autenticação e pode ser explorada para envio de spams com facilidade, usando oficialmente a porta 587 para envios de mensagens. O Brasil realmente precisa de outras iniciativas assim:

Entre as fontes que indicam o Brasil como usado para envio de spam, e que foram listadas pelo CGI.br, estão as listas da Composite Blocking List (CBL). Na quinta-feira (7/1), o Brasil estava em segundo lugar na lista, com 12,28% de domínios que foram flagrados enviando spam (por PCs ou mal configurados, ou vulneráveis por código malicioso). Nesse ranking, o país ficou atrás apenas da Índia, com 15%.

A empresa de harware para redes Cisco chegou a afirmar, em relatório, que o Brasil era líder mundial de spam. Mas o relatório, que avaliou em 7,7% a participação do país no envio das mensagens, baseou sua contagem apenas no país de instalação dos servidores que deram origem ao envio, e não nos reais remetentes, que podem ter disparado o envio de outro país.

(Fonte: IDG Now)

Categorias
Technology

Frase

"A frase mais deliciosa de se ouvir na ciência, aquela que anuncia descobertas, não é Eureka, mas... Que engraçado"

Isaac Asimov, em Luciano Pinheiro

Categorias
Linux

Faça suas próprias Bash wormholes

Até mesmo para o Bash aficionado, o comando mkfifo é provavelmente um dos menos usados em sua coleção. Ele cria um sinal para compartilhamento de dados, conectando dois serviços em execução com um tipo de wormhole de linha de comando. Os dados enviadas no final de uma aparecerá instantaneamente na outra.

Antes de olharmos como usá-lo, é válido lembrar como nós tipicamente vemos canalização (ou pipes). Se você está acostumado a usar o shell para qualquer coisa diferente de assustar seus amigos com cat /dev/random, você estará acostumado com a idéia de canalização. Na maioria das vezes é usado para redirecionar a saída de um programa para a entrada de outro. Um uso comum é quando texto demais na saída de um comando para ler. Canalizando a saída em outro - normalmente também menor ou maior - permite que você interrompa e pagine através da saída em seu próprio tempo:

cat /var/log/messages | less

Nesta intância, a canalização é temporariamente criada para a execução de um único comando, mas usando mkinfo é possível criar canalizações persistentes que você pode usar em tarefas similares.

A parte 'fifo' do comando referencia à natureza da canalização - os dados que é o primeiro a entrar é o primeiro a sair. Criar a própria canalização é uma tão simples quando digitar mkfifo, seguido do nome pelo qual você quer chamá-lo. É igualmente possível definir as permissões para a canalização (usando o parâmetro --mode) para restringir o acesso. Uma vez criada a canalização você precisa apenas direcionar os dados por ela. Aqui está um pequeno exemplo. Primeiro criamos a canalização e usamos tail -f para processar a saída de qualquer dado que é enviado para ela:

mkfifo fifo_pipe
tail -f fifo_pipe

O próximo passo, normalmente por outro terminal ou conta de usuário (caso a permissão tenha sido definida), é enviar dados para a canalização. Digitando echo "Um teste" >> fifo_pipe irá enviar a mensagem de teste, que terá a saída processada pelo comando tail que anexamos à canalização.

Categorias
Linux

Truques de linha de comando

Todo mundo sabe que a resposta para a questão da vida, do universo e para tudo é "42", mas pela primeira vez nós podemos desvendar a questão. É esta: quantos truques de linha de comando um homem deve memorizar? Veja, interfaces gráficas são boas e agradáveis, mas quando você quer ter um trabalho realmente feito está na hora de transferir para o terminal.

E então nós exprememos nossas células cerebrais, cavamos através de pilhas empoeiradas de coisas antigas da Linux Format, tudo com o objetivo de trazer isto a você: 42 novos impressionantes truques de linha de comando que pensamos que você deveria passar para a memória. Nós tentamos inlcuir alguns que são mais fáceis para nossos, hum, leitores menos experientes aproveitarem, mas pensamos que até mesmo um veterano e cascudo de Linux aprenderá alguma coisa nova nos truques a seguir.

(https://www.tuxradar.com/content/command-line-tricks-smart-geeks)

  1. Faça suas próprias Bash wormholes
  2. Controle remoto do MPlayer
  3. A maneira fácil de compartilhar arquivos
  4. Encontre arquivos perdidos
  5. Gulosos por tráfego de banda
  6. Conserte senhas corrompidas com chroot
  7. SSH sem senha
  8. Bloqueie os script kiddies
  9. Recupere espaço em disco
  10. Crie pacotes
  11. Ponha seus cds em ordem
  12. SSH reverso
  13. Apelidos para comando de exclusão segura
  14. Manipule os codecs
  15. Descomprimindo o tar de maneira inteligente
  16. Velhos favoritos do bash
  17. Janela remota
  18. Oirartnocoa
  19. Papéis-de-parede do Gconf
  20. Nice, nice, baby
  21. SSH pelo proxy
  22. Evitando múltiplos terminais – Trabalhando com telas
  23. Melhor que navegador
  24. Matando os zumbis
  25. Chaves seguras
  26. Uma lição de history
  27. Ganhando argumentos
  28. Convert e mogrify
  29. Avante com o Bash
  30. Mensagens de texto
  31. Linux sux
  32. Renomear e prenomear
  33. Simples teste de falha
  34. Resolvendo resolv.conf
  35. Redirecionando o editor
  36. Brincando com o horário
  37. Matando o tempo
  38. Ressurreição de Lázaro
  39. Pinte por números
  40. Capturas de tela garantidas
  41. O grande escape SSH
  42. Redirecionando as massas
Categorias
Negócios

Frase

Se Bill Gates tivesse nascido no Rio e começado seu negócio numa garagem, provavelmente estaria vendendo CDs piratas na Avenida Rio Branco.

Eduardo Giannetti

Categorias
Política

O negócio é ter bons contatos

noname

Categorias
Conhecimento

Frase

É necessário curar o brasileiro de seu ancestral desamor pelo trabalho e do seu espírito lúdico costumaz.

Juscelino Kubitschek