.vimrcをさらしたついでに.bashrcも
ついでなんでさらしてみた。
bashrc
# .bashrc # User specific aliases and functions # Source global definitions if [ -f /etc/bashrc ]; then . /etc/bashrc fi if [ -f ~/.bash_aliases ]; then . ~/.bash_aliases fi export PATH="/usr/local/bin:${PATH}" export PATH="/usr/share/colorgcc/:${PATH}" export PATH="${HOME}/bin:${PATH}" export PATH="/usr/lib/ccache/bin/:${PATH}" #export PATH="/usr/local/texlive/bin/:${PATH}" #export PATH="${PATH}:/usr/java/default/bin/" #export PATH="${PATH}:/home/goth/bin/flex_sdk/bin" export CPLUS_INCLUDE_PATH="${CPLUS_INCLUDE_PATH}:/usr/local/include" export CPLUS_INCLUDE_PATH="${CPLUS_INCLUDE_PATH}:/usr/lib/qt3/includ" export CPLUS_INCLUDE_PATH="${CPLUS_INCLUDE_PATH}:/usr/local/include/opencv" export LIBRARY_PATH="${LIBRARY_PATH}:/usr/local/lib" export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/usr/local/lib" export DYLD_LIBRARY_PATH="${DYLD_LIBRARY_PATH}:/usr/local/lib" export PKG_CONFIG_PATH="${PKG_CONFIG_PATH}:/usr/local/lib/pkgconfig" export CLASSPATH=".:/usr/java/default/lib/:/usr/share/java/junit.jar" export HC="ghc" export HFLAGS="-Wall" export GHCRTS="" export RUBYOPT="rubygems" export EDITOR="vim" export ESC="$(echo -en '\033')" export COLOUR_RED="$(echo -en '\033[31m')" export COLOUR_GREEN="$(echo -en '\033[32m')" export COLOUR_YELLOW="$(echo -en '\033[33m')" export COLOUR_BLUE="$(echo -en '\033[34m')" export COLOUR_CYAN="$(echo -en '\033[35m')" export COLOUR_MAGENTA="$(echo -en '\033[36m')" export COLOUR_WHITE="$(echo -en '\033[37m')" export COLOUR_HIGHLIGHT_RED="$(echo -en '\033[31;1m')" export COLOUR_HIGHLIGHT_GREEN="$(echo -en '\033[32;1m')" export COLOUR_HIGHLIGHT_YELLOW="$(echo -en '\033[33;1m')" export COLOUR_HIGHLIGHT_BLUE="$(echo -en '\033[34;1m')" export COLOUR_HIGHLIGHT_CYAN="$(echo -en '\033[35;1m')" export COLOUR_HIGHLIGHT_MAGENTA="$(echo -en '\033[36;1m')" export COLOUR_HIGHLIGHT_WHITE="$(echo -en '\033[37;1m')" export COLOUR_DEFAULT="$(echo -en '\033[m')" PS_USER="\[\e[33m\]\u\[\e[0m\]" PS_HOST="\[\e[32m\]\h\[\e[0m\]" PS_WORK="\[\e[37;1m\]\W\[\e[0m\]" PS_SCREEN="" PS_SSH="" PS_ATODE="" if [ -n "${PARTTY_SESSION}" ] ; then PS_HOST="\[\e[32m\]${PARTTY_SESSION}!\[\e[0m\]" fi if [ -n "${WINDOW}" ] ; then PS_SCREEN="(\[\e[35m\]${WINDOW}\[\e[0m\])" fi if [ -n "${SSH_CLIENT}" ] ; then PS_SSH="(\[\e[36m\]`echo ${SSH_CLIENT} | sed 's/ [0-9]\+ [0-9]\+$//g'`\[\e[0m\])" fi if [ -f ~/.atode ]; then PS_ATODE="(\`cat ~/.atode | wc -l\`)" fi export PS1="[${PS_USER}${PS_SCREEN}@${PS_HOST}${PS_SSH}${PS_ATODE} ${PS_WORK}]\$ " export HISTSIZE=5000
.bash_aliases
# vim: syntax=sh LANG=UTF-8 if [ -f ~/bin/network_settings ]; then . ~/bin/network_settings fi alias cd-='cd -' alias cd..='cd ..' alias realcwd='cd -P .' alias cp='cp -iv' alias mv='mv -iv' alias rm='rm -iv' alias mkmkc='cp ~/.Makefiles/Makefile_c ./Makefile' alias mkmkcc='cp ~/.Makefiles/Makefile_cc ./Makefile' alias mkmkjava='cp ~/.Makefiles/Makefile_java ./Makefile' alias mkmkrecursive='cp ~/.Makefiles/Makefile_recursive ./Makefile' alias mkmkv='cp ~/.Makefiles/Makefile_v ./Makefile' alias mkmkhs='cp ~/.Makefiles/Makefile_hs ./Makefile' alias md='mkdir' alias rd='rmdir' alias cal='cal -m3' alias ftp='ftp -i' alias tomorrow='date -d1day' alias yesterday='date -d1day+ago' alias today='date' alias date6='date +%y%m%d' alias date8='date +%Y%m%d' alias date6s='date +%y/%m/%d' alias date8s='date +%Y/%m/%d' alias time6='date +%H%M%S' alias time6s='date +%H-%M-%S' alias df='df -h -x supermount' alias du='du -hc' alias g++='g++ -Wall' alias gcc='gcc -Wall' alias euc2sjis='iconv -f euc-jp -t sjis' alias euc2utf='iconv -f euc-jp -t utf-8' alias sjis2euc='iconv -f sjis -t euc-jp' alias sjis2utf='iconv -f sjis -t utf-8' alias utf2euc='iconv -f utf-8 -t euc-jp' alias utf2sjis='iconv -f utf-8 -t sjis' alias ls1='\ls -1' alias lsd='ls -dv */' alias l='ls' alias lal='ls -Falv' alias lg='ls -Fgv' alias lla='ls -Flav' alias lad='ls -adv */' alias la='ls -av' alias lld='ls -ldv */' alias ll='ls -lv' alias lll='ls -lv' alias m='make -j3' alias mn='make clean' alias mm='make clean;make -j3' alias mi='make install' alias mu='make uninstall' alias reload='. ~/.bashrc' alias vivimrc='vim ~/.vimrc' alias viscreen='vim ~/.screenrc' alias vibashrc='vim ~/.bashrc' alias vialiases='vim ~/.bash_aliases' alias viinputrc='vim ~/.inputrc' alias viwgetrc='vim ~/.wgetrc' alias vighci='vim ~/.ghci' alias viatode='vim ~/.atode' alias viirbrc='vim ~/.irbrc' alias f='pushd' alias b='popd' alias sc='screen -U -D -RR' export SSH_AUTH_SOCK=${HOME}/.ssh/auth.sock alias sa='eval $(ssh-agent -a ${SSH_AUTH_SOCK}) && ssh-add' alias sudo='sudo -p sudo' alias Open='kfmclient exec' alias find1f='find -maxdepth 1 -type f' alias find1d='find -maxdepth 1 -type d ! -name .' alias find1='find -maxdepth 1 ! -name .' alias Clock='watch -tn 1 date +"%T" \| jabanner -w \${COLUMNS}' alias Clock2="watch -tn 1 date -d \\\"now -\$(date -d \"now\" +\"%s\")sec -9hour\\\" +\"%T\" \| jabanner -w \${COLUMNS}" alias xrandrVGA='xrandr --output VGA' alias xrandrLVDS='xrandr --output LVDS' alias imadoki='ssh -p XXX XXX' alias nomikai='source ~/.settings/nomikai' alias visys_partty='partty-host visys.podzone.net -s goth -w XXX -r ""' alias local_partty='partty-host localhost -s goth -w XXX -r ""' alias local_partty_server='cd ~/test/partty/; partty-gate >/dev/null 2>&1 & partty-server>/dev/null 2>&1 &' alias atode?='atode -l' alias dekita='atode -k' alias emacs='vim' alias nano='vim' alias vi='vim'
bashrc
外部ファイルの読み込み
if [ -f /etc/bashrc ]; then . /etc/bashrc fi if [ -f ~/.bash_aliases ]; then . ~/.bash_aliases fi
まぁ、これは。
よくやる手じゃないでしょうか?
/etc/bashrcはデフォで書いてあった設定。
aliasesの方は追加。
PATHとかの設定。
export PATH="/usr/local/bin:${PATH}" export PATH="/usr/share/colorgcc/:${PATH}" export PATH="${HOME}/bin:${PATH}" export PATH="/usr/lib/ccache/bin/:${PATH}" #export PATH="/usr/local/texlive/bin/:${PATH}" #export PATH="${PATH}:/usr/java/default/bin/" #export PATH="${PATH}:/home/goth/bin/flex_sdk/bin" export CPLUS_INCLUDE_PATH="${CPLUS_INCLUDE_PATH}:/usr/local/include" export CPLUS_INCLUDE_PATH="${CPLUS_INCLUDE_PATH}:/usr/lib/qt3/includ" export CPLUS_INCLUDE_PATH="${CPLUS_INCLUDE_PATH}:/usr/local/include/opencv" export LIBRARY_PATH="${LIBRARY_PATH}:/usr/local/lib" export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/usr/local/lib" export DYLD_LIBRARY_PATH="${DYLD_LIBRARY_PATH}:/usr/local/lib" export PKG_CONFIG_PATH="${PKG_CONFIG_PATH}:/usr/local/lib/pkgconfig" export CLASSPATH=".:/usr/java/default/lib/:/usr/share/java/junit.jar"
まぁ、色々と。
テキトーに書いた設定。とか。
export RUBYOPT="rubygems" export EDITOR="vim" export HISTSIZE=5000
テキトー。
色。
export ESC="$(echo -en '\033')" export COLOUR_RED="$(echo -en '\033[31m')" export COLOUR_GREEN="$(echo -en '\033[32m')" export COLOUR_YELLOW="$(echo -en '\033[33m')" export COLOUR_BLUE="$(echo -en '\033[34m')" export COLOUR_CYAN="$(echo -en '\033[35m')" export COLOUR_MAGENTA="$(echo -en '\033[36m')" export COLOUR_WHITE="$(echo -en '\033[37m')" export COLOUR_HIGHLIGHT_RED="$(echo -en '\033[31;1m')" export COLOUR_HIGHLIGHT_GREEN="$(echo -en '\033[32;1m')" export COLOUR_HIGHLIGHT_YELLOW="$(echo -en '\033[33;1m')" export COLOUR_HIGHLIGHT_BLUE="$(echo -en '\033[34;1m')" export COLOUR_HIGHLIGHT_CYAN="$(echo -en '\033[35;1m')" export COLOUR_HIGHLIGHT_MAGENTA="$(echo -en '\033[36;1m')" export COLOUR_HIGHLIGHT_WHITE="$(echo -en '\033[37;1m')" export COLOUR_DEFAULT="$(echo -en '\033[m')"
時々欲しくなる変数。
英国英語なのは仕様。
PSの設定。
PS_USER="\[\e[33m\]\u\[\e[0m\]" PS_HOST="\[\e[32m\]\h\[\e[0m\]" PS_WORK="\[\e[37;1m\]\W\[\e[0m\]" PS_SCREEN="" PS_SSH="" PS_ATODE="" if [ -n "${PARTTY_SESSION}" ] ; then PS_HOST="\[\e[32m\]${PARTTY_SESSION}!\[\e[0m\]" fi if [ -n "${WINDOW}" ] ; then PS_SCREEN="(\[\e[35m\]${WINDOW}\[\e[0m\])" fi if [ -n "${SSH_CLIENT}" ] ; then PS_SSH="(\[\e[36m\]`echo ${SSH_CLIENT} | sed 's/ [0-9]\+ [0-9]\+$//g'`\[\e[0m\])" fi if [ -f ~/.atode ]; then PS_ATODE="(\`cat ~/.atode | wc -l\`)" fi export PS1="[${PS_USER}${PS_SCREEN}@${PS_HOST}${PS_SSH}${PS_ATODE} ${PS_WORK}]\$ "
じつは一番気合入れて書いた部分。
PS1をパーツ毎にバラしているので結構綺麗に書けてる気がする。
PS_SCREENはscreen張った時のWindow番号。
PS_SSHはsshで入ったときのアクセス元IP。
PS_ATODEはatodeの件数。
PS_HOSTはpartty!している最中にはエクスクラメーションマークつけてる。
.bash_aliases
で、.bashrcから読み込まれているaliasをまとめたファイル。
外部ファイルの読み込み。
if [ -f ~/bin/network_settings ]; then . ~/bin/network_settings fi
cd
alias cd-='cd -' alias cd..='cd ..' alias realcwd='cd -P .'
上二つ単にスペース入れ忘れを許容するだけ。
realcwdは結構便利。
シンボリックリンクとかたどりまくってpwdがカオスってきた時とか有効。
物理パスに移動する。
うちの場合授業毎のディレクトリが
lrwxrwxrwx 1 goth goth 19 2008-05-12 10:22 1Fr4 -> 情報科学実験I/ lrwxrwxrwx 1 goth goth 19 2008-05-14 21:01 1Fr5 -> 情報科学実験I/ lrwxrwxrwx 1 goth goth 19 2008-04-14 10:21 L412503 -> 情報科学実験I/ drwxr-xr-x 7 goth goth 4096 2008-05-15 18:09 情報科学実験I/
という感じで科目番号やら"(学期)(曜日)(時限)"でアクセスできたり、とかしててシンボリックリンク地獄なんで時々使う。
まぁ、あればあるで便利だと思う。
cp/mv/rm
alias cp='cp -iv' alias mv='mv -iv' alias rm='rm -iv'
問い合わせ+詳細
デフォです。
makefiles
alias mkmkc='cp ~/.Makefiles/Makefile_c ./Makefile' alias mkmkcc='cp ~/.Makefiles/Makefile_cc ./Makefile' alias mkmkjava='cp ~/.Makefiles/Makefile_java ./Makefile' alias mkmkrecursive='cp ~/.Makefiles/Makefile_recursive ./Makefile' alias mkmkv='cp ~/.Makefiles/Makefile_v ./Makefile' alias mkmkhs='cp ~/.Makefiles/Makefile_hs ./Makefile'
makefileの雛形をカレントディレクトリにコピーする。
なんか.vとかもう使わねーようなaliasも...(д
雛形とか言ったけど正確には汎用makefileを置いておいてある。
CFLAGS=-Wall SRCS=$(wildcard *.c) OBJS=$(SRCS:.c=.o) BINS=$(SRCS:.c=) .PHONY: all clean all: $(BINS) clean: $(RM) $(OBJS) $(BINS)
ってな感じで1ソース1バイナリな汎用Makefile。
授業レベルならこれでok
mkdir/rmdir
alias md='mkdir' alias rd='rmdir'
略称。
でも使ってないや、これ。
cal
alias cal='cal -m3'
特に他意はない
ftp
alias ftp='ftp -i'
書いただけ。
date
alias tomorrow='date -d1day' alias yesterday='date -d1day+ago' alias today='date' alias date6='date +%y%m%d' alias date8='date +%Y%m%d' alias date6s='date +%y/%m/%d' alias date8s='date +%Y/%m/%d' alias time6='date +%H%M%S' alias time6s='date +%H-%M-%S'
前者3つはタダのギャグ。便利ちゃー便利だけど。
で、あとのは時々使うかな?とか思って書いたもの。
$ rpm -qa > $(date8).packages
みたく時々rpmパッケージのログ取ったりするとき便利。
iconv
alias euc2sjis='iconv -f euc-jp -t sjis' alias euc2utf='iconv -f euc-jp -t utf-8' alias sjis2euc='iconv -f sjis -t euc-jp' alias sjis2utf='iconv -f sjis -t utf-8' alias utf2euc='iconv -f utf-8 -t euc-jp' alias utf2sjis='iconv -f utf-8 -t sjis'
ls
alias ls1='\ls -1' alias lsd='ls -dv */' alias l='ls' alias lal='ls -Falv' alias lg='ls -Fgv' alias lla='ls -Flav' alias lad='ls -adv */' alias la='ls -av' alias lld='ls -ldv */' alias ll='ls -lv' alias lll='ls -lv'
どこぞの誰かのlsのaliasに比べればマシ。
どこぞの誰かさんはlsのtypoする度にaliasに追加するらしい。
何やってもls。
sl叩いてもls。
つまらん。
make
alias m='make -j3' alias mn='make clean' alias mm='make clean;make -j3' alias mi='make install' alias mu='make uninstall'
makeのalias
mmはよく叩く。
あとmi。
便利そうで以外に使わない。
大体make installするときはsudoなんでrootのaliasに加えないと使えない...(д
設定ファイルいじったり。
alias reload='. ~/.bashrc' alias vivimrc='vim ~/.vimrc' alias viscreen='vim ~/.screenrc' alias vibashrc='vim ~/.bashrc' alias vialiases='vim ~/.bash_aliases' alias viinputrc='vim ~/.inputrc' alias viwgetrc='vim ~/.wgetrc' alias vighci='vim ~/.ghci' alias viatode='vim ~/.atode' alias viirbrc='vim ~/.irbrc'
visudoのノリ。
書いておくと便利。
vibashしてvialiasesして、reloadして...。よくある流れ。
pusd/popd
alias f='pushd' alias b='popd'
あ、これ使ったことねぇや。
screen
alias sc='screen -U -D -RR'
オプションが覚えられないのでaliasにした。
ssh-agent
export SSH_AUTH_SOCK=${HOME}/.ssh/auth.sock alias sa='eval $(ssh-agent -a ${SSH_AUTH_SOCK}) && ssh-add'
keycain使えって話か?
まぁいいや。
find
alias find1f='find -maxdepth 1 -type f' alias find1d='find -maxdepth 1 -type d ! -name .' alias find1='find -maxdepth 1 ! -name .'
よく使う組み合わせとか。
具体的には-maxdepthって打つの面度だけ。
jabanner
alias Clock='watch -tn 1 date +"%T" \| jabanner -w \${COLUMNS}' alias Clock2="watch -tn 1 date -d \\\"now -\$(date -d \"now\" +\"%s\")sec -9hour\\\" +\"%T\" \| jabanner -w \${COLUMNS}"
カップラーメンのタイマーにどうぞ。
jabannerのデモで時々使う。
地味に便利であったりする。
xrandr
alias xrandrVGA='xrandr --output VGA' alias xrandrLVDS='xrandr --output LVDS'
そういやxrandrって以外に知られていない?
ウチのまわりだとよく「Linuxでデュアルディスプレどうすんの」的な質問が時々。
まぁ、そのへん。
ssh/partty
alias imadoki='ssh -p XXX XXX' alias nomikai='source ~/.settings/nomikai' alias visys_partty='partty-host visys.podzone.net -s goth -w XXX -r ""' alias local_partty='partty-host localhost -s goth -w XXX -r ""' alias local_partty_server='cd ~/test/partty/; partty-gate >/dev/null 2>&1 & partty-server>/dev/null 2>&1 &'
imadokiはとあるサーバーへのssh。
ってあれ?もうあのサーバー死んでたっけ?
nomikaiはpartty様aliasやらなんやら。
parttyしたらnomikaiだぜ。
まぁ、あとはparttyに繋いだり立てたり。
タダのギャグ。
alias emacs='vim' alias nano='vim' alias vi='vim'
...他意はございません。
タダのギャグであって、その他のエディタを愚弄するとか、そういうのじゃないとです。
こんな感じ