Existe algo que você não pode viver sem e tornará minha vida muito mais fácil? Aqui estão algumas que eu uso ('diskspace' e 'folders' são particularmente úteis).
# some more ls aliases
alias ll='ls -alh'
alias la='ls -A'
alias l='ls -CFlh'
alias woo='fortune'
alias lsd="ls -alF | grep /$"
# This is GOLD for finding out what is taking so much space on your drives!
alias diskspace="du -S | sort -n -r |more"
# Command line mplayer movie watching for the win.
alias mp="mplayer -fs"
# Show me the size (sorted) of only the folders in this directory
alias folders="find . -maxdepth 1 -type d -print | xargs du -sk | sort -rn"
# This will keep you sane when you're about to smash the keyboard again.
alias frak="fortune"
# This is where you put your hand rolled scripts (remember to chmod them)
PATH="$HOME/bin:$PATH"
Respostas:
Eu tenho um pequeno script que extrai arquivos, encontrei-o em algum lugar na rede:
fonte
Como eu uso tantas máquinas diferentes, o meu
.bashrc
sempre define o prompt de comando para incluir, entre outras coisas, o nome do servidor no qual estou conectado no momento. Dessa forma, quando eu tenho três níveis de profundidade no telnet / ssh, não digito a coisa errada na janela errada. É realmente uma merdarm -rf .
na janela errada! (Nota: Em casa, o telnet está desativado em todas as máquinas. No trabalho, o ssh nem sempre está ativado e não tenho acesso root a muitas máquinas.)Eu tenho um script
~/bin/setprompt
que é executado pelo meu.bashrc
, que contém:Esse script define o prompt como o nome do host, seguido por
:)
se o último comando foi bem-sucedido e:(
se o último comando falhou.fonte
A cor das páginas de manual em menos facilita a leitura das páginas de manual:
Páginas de manual coloridas também podem ser obtidas instalando a maioria e usando-a como variável de ambiente MANPAGER. Se você deseja usar este pager não apenas para o homem, use a variável PAGER, assim:
fonte
Não há mais cd ../../../ .. mas até 4
Aumenta muitos diretórios conforme o número passado como argumento, se nenhum aumenta 1 por padrão (encontrado em um link em um comentário no stackoverflow.com e modificado um pouco)
fonte
alias ..='cd ..' alias ...='cd ../..' alias ....='cd ../../..' alias .....='cd ../../../..'
Eu lido com muitas máquinas diferentes, então uma das minhas favoritas são aliases para cada máquina que eu preciso fazer SSH frequentemente para:
Também é útil configurar teclas boas
.ssh/config
e ssh para tornar o salto entre máquinas ainda mais fácil.Outro dos meus apelidos favoritos é para mover diretórios:
E alguns para variações comumente usadas de
ls
(e erros de digitação):O histórico pode ser muito útil, mas, por padrão, na maioria das distribuições, seu histórico é deslumbrado com a saída de cada shell e, para começar, não é muito importante. Eu gosto de ter 10.000 linhas de história:
Dessa forma, se eu souber que já fiz algo antes, mas não consigo lembrar os detalhes, um rápido
history | grep foo
ajudará a estimular minha memória.Muitas vezes eu me via canalizando a saída
awk
para obter uma determinada coluna da saída, comodf -h | awk '{print $2}'
para encontrar o tamanho de cada um dos meus discos. Para facilitar isso, criei uma funçãofawk
no meu .bashrc:Agora posso executar o
df -h|fawk 2
que economiza um pouco de digitação.Se você precisar especificar um delimitador ( por exemplo ,
awk -F:
para/etc/passwd
), essa função obviamente não pode lidar com isso. A versão ligeiramente revisada nesta essência pode lidar comawk
argumentos arbitrários antes do número do campo (mas ainda requer a entrada de stdin).fonte
Bashrc criptografado em GPG
Tenho certeza de que todos temos coisas que gostaríamos de colocar em nosso bashrc que não queremos que sejam facilmente legíveis por sudoers. Minha solução para isso é:
Eu tenho um agente GPG que faz isso, então só tenho que digitar a senha da minha chave privada uma vez a cada poucas horas. Você ainda precisa confiar um pouco nos usuários do sistema, porque suas variáveis, funções e aliases que você define podem ser extraídos da RAM. No entanto, eu uso isso principalmente para o meu laptop. Se for roubado, não quero que alguém veja facilmente coisas como:
fonte
MYsql < garbagecollect.sql
, em vez demysql -uadmin -psecret < garbagecollect.sql
este é um recurso incrível para isso:
mostre-nos seu .bashrc
fonte
Eu costumava configurá-las em todo o lugar, mas depois percebi que era melhor lembrar como fazê-las 'manualmente', porque isso significava que 1) entenderia completamente o que estava acontecendo e 2) teria acesso a esses recursos, mesmo que meu .bashrc personalizado não foi instalado.
A única coisa que uso aliases atualmente é reduzir a digitação repetitiva de linhas realmente longas (por exemplo,
alias myhost='ssh -T [email protected] screen -dAr'
)fonte
Os liners e pequenos scripts por aí poderiam continuar para sempre. Eu recomendo o homem bash e escrever as coisas você mesmo. Algumas boas coisas curtas sobre bash em http://www.commandlinefu.com . Aqui estão algumas coisas.
fonte
history -p
truque.Uma pequena dica para o Bash se você é um administrador de sistemas e trabalha muito com privilégios de root:
Isso impedirá que você destrua acidentalmente o conteúdo de um arquivo já existente, se você redirecionar a saída (> nome do arquivo). Você sempre pode forçar a substituição com> | filename.
fonte
Eu tenho o seguinte no meu bashrc
Em uma máquina local, ele se parece com:
mas em um controle remoto (através do ssh) é:
fonte
Eu tive isso no meu .bashrc por um tempo e achei útil. Se você estiver entrando na caixa, a tela é iniciada automaticamente quando você faz o login, assim quando sua conexão de rede é interrompida ou o que quer que seja, você não perde o que estava fazendo. Deve ser colocado no final.
fonte
Quantos aliases
fortune
você precisa, afinal?Eu gosto de criar um
cdd
alias que me leve a onde quer que eu esteja atualmente trabalhando mais nesse servidor.PATH
redefinição realmente pertence.bash_profile
, não.bashrc
.Em um servidor em que eu uso rotineiramente um grande conjunto de
screen
s, meu.bashrc
terá:(Os
screen
s foram configurados com, por exemploscreen -U -S chaos1
,.)fonte
Entre outras coisas, defino alguns padrões por menos, evito fechar acidentalmente meu terminal e habilito a navegação direta no histórico:
fonte
export IGNOREEOF="2"
Eu tenho alguns bits:
fonte
cd -
vez de bdAdapte todos os logs em / var / log
fonte
Para ter cores para todos os comandos grep, como grep, egrep e zgrep, tenho o seguinte no meu .bashrc
fonte
O alias das 'pastas' é ótimo! Eu o modifiquei um pouco para que diretórios com espaços não causem erros.
fonte
Eu ecoaria o comentário do @ pjz sobre saber as coisas manualmente, em vez de configurá-las. Especialmente se você acessar várias máquinas, como eu sempre pareço fazer.
Então, um que eu definitivamente conheço é
set -o vi
porque conheço os comandos de edição do vi no bash e não conheço os do emacs (além disso, Ctrl + A interferescreen
). Em minhas próprias caixas, eu coloquei isso.bashrc
Também acho que tenho que incluir,
export EDITOR=vim
porque várias distribuições recentes são padronizadas para nano, o que é mais irritante para ser jogado por um utilitário que precisa que você edite algo, quando eu esperava o vi. : - /Eu também altero meu prompt. Descobri há muito tempo que adicionar o último código de erro é útil o suficiente para que eu goste. E eu gosto do nome completo do caminho no prompt. E o
screen
número atual também. E faz sentido incluir o usuário e o nome do host atuais. Meu prompt éPS1='\u@\h $PWD $WINDOW [$?] \$ '
fonte
Faça uma verificação do bash para ver se o tamanho da janela mudou (evita que a edição de linhas fique estranha se você redimensionar a janela do terminal)
Este é meu favorito. Faz com que o bash seja anexado ao histórico em vez de substituí- lo. Normalmente, quando você inicia o bash, ele carrega o histórico na memória e, quando você o fecha, o grava. Isso significa que, se você carregar duas conchas, use as duas e feche as duas, a última que você fechou substituirá todas as alterações.
Esse trecho faz com que, antes de tudo, apenas acrescente alterações (em vez de sobrescrever com todo o buffer) e, em seguida, faça com que, após cada comando, escreva as alterações. Na verdade, você obtém um .bash_history com atualização ao vivo; portanto, se você iniciar um novo terminal, terá todos os comandos do histórico de outras sessões em execução.
fonte
Shell-fu.org .bashrc 's coleção
fonte
Aqui estão as minas:
fonte
Estes são os meus favoritos:
Eu gosto de ter um histórico de linha de comando que nunca esquece.
Infelizmente, algum tempo atrás, lancei um shell do cron que não lia .bashrc de alguma forma e reduzi tudo para 500 linhas, destruindo ao longo de um ano de história. Então, eu recomendo que eles usem / etc / bashrc.
fonte
Aqui estão alguns dos meus favoritos:
fonte
Eu uso isso cerca de 20 vezes por dia para entrar no último diretório alterado:
Esses dois mantêm marcadores permanentes de diretórios usados com freqüência:
fonte
De Automatizando a Administração Linux e Unix por Kirk Bauer (ótimo livro!)
A nova linha no início é minha, eu gosto de ter uma linha clara entre a saída anterior e o prompt. O resto é:
\ u = nome de usuário
\ h = host
\ w = diretório de trabalho
$? = último código de retorno
fonte
Eu compilo várias coisas manualmente em $ HOME / local, então tenho este pequeno trecho:
Eu também tenho meu cliente IRC no meu servidor rodando na tela, então eu tenho isso (não é uma coisa .bashrc, mas ainda é útil)
fonte
Eu uso meu bashrc em várias máquinas, então eu tenho esse pequeno trecho para garantir que o LS seja colorido. Isso irá corrigi-lo em máquinas OSX, talvez até * BSD se você ajustar a linha de uname.
Além disso, eu tenho um comando para fazer backup de um arquivo, útil se você estiver prestes a alterar um arquivo de configuração e quiser fazer uma cópia rápida antes da mão.
fonte
Este é um dos meus favoritos:
Se eu esqueci de me autenticar, isso permite que eu faça isso sem ter que desperdiçar minha digitação fazendo o ssh-add após a sessão ssh.
fonte
Alguns bons
Faça com que o SSH complete automaticamente o nome do host para o qual você ssh (se estiver em sua configuração ou histórico)
Algumas configurações úteis de conclusão do bash
Alguns úteis para o Mac OS X
fonte