All work and no play makes Jack a dull boy
Mostrando postagens com marcador terminal. Mostrar todas as postagens
Mostrando postagens com marcador terminal. Mostrar todas as postagens

quarta-feira, 28 de dezembro de 2016

Copiar último comando no terminal

Pra manter o estilo, vamos direto ao ponto

Coloque o seguinte alias no seu ~/.bashrc ou ~/.bash_profile (ou onde quer que você aloca essas coisas):
alias copyLastCmd='fc -ln -1 | awk '{$1=$1}1' | pbcopy '
=]
Fonte

domingo, 16 de outubro de 2016

criar e enviar patch do git

Como fazer para criar e enviar um patch do git? Por que você faria isso? Ora pense que talvez você precie enviar por email ou, por exemplo, como aplicação num ticket de um projeto open source como o Django.
Vou demonstrar aqui como fazer a partir de um diff.

git diff <commit_inicial> <commit_final> > arquivo_do_patch
Caso você apenas queira aplicar baseado no diff referente ao último commit, faça: (digamos que o hash desse commit seja 5fbd9)

git diff 5fbd9 > arquivo_do_patch
Caso queira aplicar o patch em algum lugar:
git apply arquivo_do_patch
Fácil, né!?

terça-feira, 16 de agosto de 2016

Colar sem auto indentação no vi / vim

Se você não é usuário tão frequente assim do vi / vim, muito provavelmente já passou pela dificuldade de colar trecos de código que contenham qualquer indentação.

Se na origem é algo como
asd {
   qwe
}

Quando você cola vira:
asd {
        qwe
              }

A solução é bem fácil e prática. Antes de colar o texto, faça:
:set paste
Isso habilitará o modo paste. Cole. Pra desabilitar o modo paste, faça:
:set nopaste

=]

Fonte

quinta-feira, 23 de junho de 2016

git autocomplete no terminal do mac

Se você tem interesse em habilitar o autocomplete do git no bash do seu Mac OS, eis os passos que você pode tomar:
curl https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.bash -o ~/.git-completion.bash

Depois do download, altere seu arquivo ~/.bash_profile inserindo:
if [ -f ~/.git-completion.bash ]; then
  . ~/.git-completion.bash
fi

Como sempre, em toda alteração no bash_profile, execute e seja feliz:
source ~/.bash_profile

=]

terça-feira, 20 de outubro de 2015

deletar arquivos no terminal por intervalo de datas

Para deletar arquivos filtrando por um período de datas específico, usar o find é a saída:
find ./ -type f -newermt 2015-01-01 ! -newermt 2015-08-01 -delete

O find possui o parâmetro -delete tornando mais simples esse tipo de operação.

=]

terça-feira, 18 de agosto de 2015

encontrar arquivo ou pasta usando o terminal

Para encontrar arquivos no terminal, por exemplo, no Ubuntu ou mesmo no OSX há uma forma simples.

Suponha que a busca seja pelo error.log:
$ find ~/ -type f -name "error.log"

Ou se fosse por uma pasta (duas formas):
$ find ~/ -type d -name NOME_PASTA

$ find ./ -type d | grep NOME_PASTA

Fonte

quinta-feira, 6 de agosto de 2015

vi / vim: abrir um arquivo direto numa função ou número de linha

Como fazer para abrir um arquivo usando o VIM ou VI e ir para uma linha específica?

O editor VI / VIM suporta comandos executados na seguinte sintaxe:
vi +comando NomeArquivo
ou
vi +numerodalinha NomeArquivo
ou
vi +/TermoQueVoceProcura NomeArquivo

Para abrir, por exemplo, um arquivo e ir para a linha 15907:
$ vim +15907 dump.sql

Para abrir o arquivo e ir direto para uma função chamada xablau(), digite:
$ vim +/xablau views.py

Fonte

segunda-feira, 27 de julho de 2015

grep excluindo pasta

Como fazer um grep mas quer excluir alguma pasta da busca?

Simples, simples
$ grep "alguma coisa" -Rn ./ | grep -v essa_pasta_nao

=]

quinta-feira, 29 de janeiro de 2015

ping com porta

Como fazer se você quiser dar um ping especificando uma porta?

Não dá.

Veja o que o help do ping mostra:
$ ping google.com 80
usage: ping [-AaDdfnoQqRrv] [-b boundif] [-c count] [-G sweepmaxsize]
            [-g sweepminsize] [-h sweepincrsize] [-i wait] [−k trafficclass]
            [-l preload] [-M mask | time] [-m ttl] [-p pattern]
            [-S src_addr] [-s packetsize] [-t timeout][-W waittime] [-z tos]
            host

Para isso use o telnet.

$ telnet google.com 80
Trying 74.125.226.48...
Connected to google.com.
Escape character is '^]'.

terça-feira, 4 de novembro de 2014

Trocar editor de texto default do crontab

Como trocar o editor default do crontab?

Segue com o exemplo de trocar do nano para usar o vim.
CentOS
$ export VISUAL=vim

Ubuntu
$ export EDITOR=vim

Mas se for a primeira vez que você tente editar o crontab, a saída poderá ser assim:
$ crontab -e
no crontab for jonatascd - using an empty one

Select an editor.  To change later, run 'select-editor'.

  1. /bin/ed
  2. /bin/nano       <---- easiest
  3. /usr/bin/vim/tiny

Choose 1-3 [2]:

Com um simples 'Enter' você confirma que usará o nano, ou digite um número para indicar sua opção.

=]

sexta-feira, 11 de outubro de 2013

grep em tipos de arquivos

Imagina que você está em um projeto Django eu precisa buscar por 'ajax' em todos os arquivos, exceto os arquivos javascript .

Como fazer grep em certos tipos de arquivos?

$ grep 'ajax' --exclude=*.js -Rn ./

nesse caso inclui, por costume, os parâmetros R e n:
- R ou r é para buscar recursivamente
- n mostra o número da linha

Caso o grep apenas em arquivos python:

$ grep 'ajax' --include=*.py -Rn ./