お気に入りのコマンドラインエイリアス(bash/sh/tcsh)エイリアスは何ですか?ここにいくつかあります。
alias lsr = 'ls -lrt' alias gon = 'cd $ HOME/Notes' alias devdb = 'mysql -h dev --user = x --password = secret dbname ' alias ec =' rm *〜 '; #emacs cleanup alias h = 'history' alias eb = 'exec bash'; #Solarisはデフォルトでsh alias mr = 'more' alias mroe = 'more' alias qd = 'echo export DISPLAY = $ DISPLAY' aliasになる場合がありますralias = '。 $ HOME/.alias '; #エイリアスを再読み込み エイリアス, = 'cd ../..' エイリアス.. =' cd .. ' エイリアスc ='クリア '
function s()
{
screen -t "$@" /usr/bin/ssh "$@"
}
新しい画面タブでホストに接続し、デバイス名をタブタイトルとします。
これまで言及されていない私のお気に入り:
alias l='ls'
alias u='cd ..'
alias uu='cd ../..'
alias uuu='cd ../../..'
alias uuuu='cd ../../../..'
私は通常、単に物事を短くするだけのエイリアスのファンではありませんが、私はlsを非常に多く入力し、lは片手で十分です。
私がログインするすべてのシステム(自分、ルート、または誰でも)でそれらが設定されることを保証することはできないので、ありません。
なし、私は基本的にそれをあきらめたので、毎日システム間を頻繁に切り替えます。
alias rm 'mv -f \!* $WASTEBASKET'
alias unrm 'mv $WASTEBASKET/\!* .'
多くの人が反対することは知っていますが、私はlikeセーフティネットです。 (そしてtcshの使用を許してみてください。)
ただし、これと多少似たものは非合法化されるべきです:
alias rm 'rm -i'
そのエイリアスを持つシステムでトレーニングを受けた人がrm *
他のいくつかのシステムでは、どのファイルを削除するかについての質問を受けることを期待していて、彼らはそこに座って、想定されていることを正確に実行するのを見ます。
編集:
一部のコメントでは、move-to-wastebasketエイリアスを「-i」フラグと比較して、類似していると述べています。しかし、私には重要な違いがあります。 「-i」を使用すると、コマンドを使用するたびに確認プロンプトが表示され、期待どおりの信頼できるものになります。一方、ごみ箱ソリューションは、実際にミスをしてファイルの削除を取り消す必要があるまで、標準のrmとまったく同じように機能します。トランクの補助輪とスペアタイヤの違いに少し似ています。
alias ..="cd .."
alias ...="cd ../.."
# mkdir and enter it immediately thereafter
mcd() { mkdir $1 && cd $1; }
# when entering a directory, list the contents.
cd() { builtin cd "$@" && ls; }
私の「エイリアスリスト」の合計内容は次のとおりです。
私は「通常」は動作しないUNIXマシンを修正するのに十分な時間を費やしました(ソフトウェアハウスの社内UNIX管理者であったことの欠点の1つは、最終的に顧客サイトに行き着くためです)。私が行うのは「unalias -a」です。これは、通常の運用管理者が誤ってつづりを誤操作しないようにするためです。その後、カスタマイズするのが面倒です。
これも私の通常の使い方に引き継がれています。
これらの厄介な同僚のために:
alias ls=rm
ここには必要ない多くのエイリアスがあります:
エイリアスc = 'clear'
[Ctrl] + [L]を押すだけで置き換えることができます
エイリアスmroe = 'more'
および類似:zshはデフォルトでスペル修正を提供し、bashは拡張機能でそれを行います
エイリアスsomething = "history | grep $ @"
[Ctrl] + [R]を押すと、bash/zshで同じことが行われます
back = 'cd $ OLDPWD'
すべてのシェルで同じことができます
cd-
これらはzsh用ですが、簡単に別のシェルに移植できると思います。
Sudo() { [[ $1 == (vi|vim) ]] && shift && sudoedit "$@" || command Sudo "$@"; } # Sudo vi/vim => sudoedit
wst() { TZ=Australia/Perth date } # get local time no matter what server I'm on
FULLHOST=`hostname -f` 2>/dev/null || FULLHOST=`hostname` # reasonably portable, always gets a DHCP suffix too (if one exists)
SHORTHOST=`echo $FULLHOST | cut -d. -f1-2` # get the first two segments of hostname, which I used in my Shell Prompt
ここに私のお気に入りのいくつかがあります。 (いくつかはZSH固有です。)
alias ls='ls -F --color=auto'
alias l='ls'
alias ll='ls -ahl'
alias ..='cd ..'
alias ...='cd ../..'
alias mv='mv -i'
alias mmv='noglob zmv -W'
alias mcp='mmv -C'
mkcd() {
if [ $1 = "" ]; then
echo "Usage: mkcd <dir>"
else
mkdir -p $1
cd $1
fi
}
# ZSH global aliases for piping
alias -g H="| head"
alias -g T="| tail"
alias -g C="| wc -l"
alias -g L="| less"
alias -g G="| grep"
alias -g S="| sed -e"
alias -g A="| awk"
# Subversion related
alias ss='svn status'
alias sd='svn diff'
alias sc='svn commit'
# Git related
alias gs='git status'
alias gc='git commit'
alias ga='git add'
alias Gd='git diff'
alias gb='git branch'
alias gl='git log'
alias gsb='git show-branch'
alias gco='git checkout'
alias gg='git grep'
alias gk='gitk --all'
alias gr='git rebase'
alias gri='git rebase --interactive'
alias gcp='git cherry-pick'
alias grm='git rm'
fortune -s # Add to your profile to brighten your day :)
jldugger @ jldugger:〜$エイリアス エイリアスls = 'ls --color = auto' エイリアスyoutube-dl = 'youtube-dl -t
alias perg='grep -rni --exclude=\*.svn\*'
alias df='df -kTh'
alias ll="ls -l --group-directories-first"
alias cdd='cd /wherever/my/current/project/is'
alias ls="ls --color=auto -A -h -i -s --group-directories-first -l"
alias screen="screen -U"
alias sscreen="~/Projects/bin/start_screen.sh"
alias gst='git status'
alias gl='git pull'
alias gp='git Push'
alias Gd='git diff | emacs'
alias gc='git commit -v'
alias gca='git commit -v -a'
alias gb='git branch'
alias gba='git branch -a'
p = 'ps auxww | grep -v grep | grep'
古いPerlスクリプトで何かを検索する場合:
alias searchperl 'find /place1 /place2 /place3 -name "*.pl" | xargs grep
自分にファイルをメールで送信:
alias mailthis 'mail -s mailthis [email protected] < '
私の最高のコレクションのいくつか:)
alias cdd="cd .."
alias lss="ls -ctrl"
alias nn="nautilus . &"
alias pp="popd"
alias p="pushd"
alias g="gvim --servername `hostname` --remote"
alias findd="find . -name"
コマンドラインからすばやく計算します。展開を避けるために、乗算には「x」を使用します。
function math
{
echo "scale=2 ; $*" | sed -e "s:x:*:g" | sed -e "s:,::g" | bc
}
$ math 12,537.2 x 4
50148.8
パイルに追加するいくつかの追加:
# little bit more readable PATH
alias path='echo -e ${PATH//:/\\n}'
# like others, I find these more efficient than
# typing cd ../../ etc
alias up='cd ..'
alias 2up='cd ../../'
alias 3up='cd ../../../'
alias 4up='cd ../../../../'
# found myself always mistyping this, so...
alias findy='find . -name'
alias targz='tar -xzvf'
alias hg='history | grep '
alias cls='clear'
# handy for the xclip tool
alias xclip='xclip -selection c'
# quick directory listing
alias ldir='ls -d */'
alias mys='mysql -uroot -psecret name-of-frequently-used-DB'
alias trash='mv -t ~/.local/share/Trash/files --backup=t'
alias vb='vim ~/.bashrc'
alias +='pushd .'
alias _='popd'
history | awk '{print $2}' | awk 'BEGIN {FS="|"} {print $1}' | sort | uniq -c | sort -nr | head -10
履歴で最もよく使用されるコマンドのトップ10を表示します。
alias viewpw='aespipe -d < ~/.passwd.aes > ~/.passwd.dec && more ~/.passwd.dec && shred -u ~/.passwd.dec'
すべてのパスワードを覚えている方法...
back='cd $OLDPWD'
「$」を入力するのは本当に嫌いです...
これはほとんどのLinuxデスクトップで動作します:
alias go='xdg-open'
Windowsの開始コマンドと同様に、登録されたアプリケーションでドキュメントまたはフォルダーを開きます。
さらに2つのシェル関数。私はソースコードや設定ファイルで検索するときによく使います。
FFind() {
if [ -n "$1" ] ; then
if [ -n "$2" ] ; then
local testVar="$1"
shift
find . -type f \
-and '(' -not -path '*.git*' ')' \
-and '(' -not -path '*.svn*' ')' \
-and '(' -not -path '*.hg*' ')' \
-and '(' "$@" ')' \
-exec grep --color=always -I -i -F -H -n "${testVar}" {} ';'
else
find . -type f \
-and '(' -not -path '*.git*' ')' \
-and '(' -not -path '*.svn*' ')' \
-and '(' -not -path '*.hg*' ')' \
-exec grep --color=always -I -i -F -H -n "$1" {} ';'
fi
fi
}
EFind() {
if [ -n "$1" ] ; then
if [ -n "$2" ] ; then
local testVar="$1"
shift
find . -type f \
-and '(' -not -path '*.git*' ')' \
-and '(' -not -path '*.svn*' ')' \
-and '(' -not -path '*.hg*' ')' \
-and '(' "$@" ')' \
-exec grep --color=always -I -i -E -H -n -m 1 "${testVar}" {} ';'
else
find . -type f \
-and '(' -not -path '*.git*' ')' \
-and '(' -not -path '*.svn*' ')' \
-and '(' -not -path '*.hg*' ')' \
-exec grep --color=always -I -i -E -H -n -m 1 "$1" {} ';'
fi
fi
}
使用法:
FFind elephant
現在のディレクトリ内のすべてのテキストファイルを再帰的に検索して、文字列elehantを探します。 Subverion、git、またはMercurialによって作成されたファイルを無視します。バイナリファイルを無視します。
FFind 'ele.*phant' -name '*.c' -or -name '*.h'
現在のディレクトリ内のすべてのcコードファイルを再帰的に検索して、文字列 'ele。* hant'を検索します(正規表現によるマッチングは行いません)。 Subverion、git、またはMercurialによって作成されたファイルを無視します。
EFind 'mo*use' -name '*.Java'
現在のディレクトリにあるすべてのJavaコードファイルを再帰的に検索して、文字列museまたはmouseまたはmoouseまたは...を探します。Subverion、git、またはMercurialによって作成されたファイルを無視します。
Bashとzshでテストされています。
if [ "$(uname)"="darwin" ]; then
EDITOR=mate
PATH=$PATH:~/.bin
alias sleep_hdd='Sudo pmset -a hibernatemode 1'
alias sleep_ram='Sudo pmset -a hibernatemode 0'
alias sleep_combined='Sudo pmset -a hibernatemode 3'
alias cdproj='cd ~/Projects/Web'
alias e='mate'
alias vboxheadless='VBoxHeadless -startvm '
alias subash='Sudo bash'
fi
if [ "$(uname)" = "SunOS" ]; then
alias ls='ls -F'
alias e='vim'
alias subash='pfexec bash'
fi
alias l='ls --color=auto -lsah'
alias ..='cd ..'
他のシステムではよく見逃します
これは私のお気に入りのエイリアスです。
エイリアスresume = 'screen -D -R'
私のWindowsワークステーションが毎週末自動的に再起動した後、それは非常に便利であることがわかります(会社のポリシー)。
私のbashrcから抜粋したもの:
alias grep='grep --color=auto'
alias egrep='grep -E --color=auto'
alias e='$EDITOR'
alias g='git'
alias csort='sort | uniq -c | sort -n' # column sort piped data
alias sl='ls' # fat fingers
一般に、私は通常、システムが使用するパッケージマネージャーをbashrcに認識させ、apt
およびyum
としてエイリアスを設定します。
apt search foo
yum install foo
apt update
完璧ではありませんが、yumとaptitudeの一般的なアクションのほとんどは同じです。より複雑なことを実行しようとしているときは、使用しているOSを覚えているだけです。
これが私のお気に入りです。Subversionに関連するものを除いて、現在のディレクトリと子ディレクトリのすべてのPythonコードで何かを見つけるために:
alias greppy="find . | grep -v [.]svn | grep [.]py$ | xargs grep "
新しいエイリアスの作成がとても簡単になるので、おそらく私のお気に入りです:
alias realias='vim ~/.bash_aliases;source ~/.bash_aliases'
alias dsclean='find . -name .DS_Store -exec rm \{\} \;'
alias l='ls -lh'
alias ls='ls -G'
# Depends on your specific router
alias myip='curl -sn http://192.168.1.1/wancfg.cmd?action=view | grep td | tail -1 | tr -d '\''/<>a-z '\'''
# Start/stop local mysql installation
alias myserver='Sudo /usr/local/mysql/support-files/mysql.server'
alias rssh='ssh -l root'
alias sc='./script/console'
alias sr='screen -r'
alias ss='./script/server'
alias sss='screen ./script/server'
alias up='svn up'
alias webshare='python -c "import SimpleHTTPServer;SimpleHTTPServer.test()"'
私も持っています:
alias dmeasg='dmesg'
よく間違えて入力したので、そのエイリアスを作成しました。
ほとんどのサーバーは、パブリックVLANでSSHをリッスンしません。オフィスから離れているとき、ラップトップでトンネルを開いたままにしておくことに煩わされることはありません。
zugzug() { ssh -A -p <non_standard_port> -t <proxy_server> ssh $1; }
これは関数であり、エイリアスではありませんが、非常に貴重です。
同じシステムを1日に5回以上再構築する場合があります。これにより、known_hostsからのエントリの削除を高速化できます。
remove-known-Host() {
local Host=$1
grep -v $Host ~/.ssh/known_hosts > ~/.ssh/known_hosts.tmp
mv ~/.ssh/known_hosts.tmp ~/.ssh/known_hosts
}
alias agc='df -h; apt-get autoclean ; apt-get clean ; apt-get autoremove ; df -h'
alias agi='apt-get install '
alias acs='apt-cache search '
alias agdu='apt-get update ; apt-get dist-upgrade'
RedHatベースのシステム(例: RHEL、CentOS、Fedoraには次のエイリアスがあります。
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mc='. /usr/libexec/mc/mc-wrapper.sh'
alias vi='vim'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
alias t="rlog -L -l -R RCS/*"
alias pd=pushd
alias so="echo ^O"
alias sy='rsync -vaH'
alias tcem='echo -ne "\033[?25h"'
alias tt='traceroute -I'
alias x=type
いくつかの選択肢のLAMP関連スニペット:
Apache:現在の活動
alias Apache_status='watch -n1 "/etc/init.d/httpd fullstatus | egrep \"GET|POST\""'
Apache:設定を確認し、問題がなければ正常に再起動します
alias graceful='/etc/init.d/httpd configtest && /etc/init.d/httpd graceful && echo Gracefully Done'
プロセス情報を取得する
alias pinfo='/root/procinfo'
redhatリリース情報
alias about='cat /etc/redhat-release && cat /proc/version && uname -a' alias
挿入モードでvimを起動します(反対意見!)
alias vi='vim -c startinsert'
drbdアクティビティと結合されたNICの状態を監視する
alias cluster='watch -d -n0.2 cat /proc/drbd /proc/net/bonding/bond0'
エイリアスではなく関数です。手動でsshdをチェックするのが嫌なので、再起動後に.zshrcにssh-to-answerを待つ関数があります。
function wssh () {
local Host=$1
shift
local PORT=$1
if [[ -z $PORT ]]; then
PORT=22
else
shift
fi
echo -n "Polling Host $Host on port $PORT for ssh connection"
while ! nc -z -w 2 $Host $PORT &>/dev/null; do
for i in `jot 2 1`; do
echo -n "."
sleep 2
done
done
echo "\nConnection establihed!"
ssh -p$PORT $Host $@
}
#. Darwin:
. : source
ls : ls -G -F
resize : osascript << EOF
tell app "Terminal"
set number of rows of first window to 25
set number of columns of first window to 80
set custom title of first window to "${PROFILE}"
end tell
EOF
#. Linux:
. : source
ls : ls --color=auto -F -X -h
...一般的には、私はエイリアスを使いすぎるのは好きではありませんが、依存するようになり、自分で作成した場合にのみ存在するものを使用することを学びます。他の人のマシンにジャンプすると、少しでも障害を感じます。そのため、私の一般的なアドバイスは、エイリアスを非常に軽く使用することです。
たとえば、ls
からls -F
へのエイリアスは問題ではありませんが、ls -l
などへのエイリアスです。同じ理由で、これらのll for ls -l
エイリアスも好きではありません。
alias uab='unison -rsync -auto -batch'
unison を使用して、設定の同期、ニュースグループメッセージの開封/未開封などを行っています。
私たちはrdpを少し使用する傾向があります。これは、Windowsを介して特定のサービスにしかアクセスできないためです。
alias rdt='rdesktop -d UOFA -g 1024x768 -u '
使い方は
rdt <win_username> <winhost>
私たちのものの多くはLDAPにあるので、ディレクトリマネージャーが役立つので検索してください(適切に設定された/etc/openldap/ldap.conf
):
alias dmsearch='ldapsearch -x -LLL -D"<directory_admin_bind_dn>" -W '
alias budate='date +%Y%m%d-%H%M'
例cp -p some-conf.comf someconf-'budate'.conf
NB単一引用符をバッククォートで置き換えます。Serverfaultでは、バックティックリテラルを入力できず、バッククォートをエスケープする方法を見つけることができません。
alias psg='ps aux|grep '
このディレクトリ内のすべてのファイルを一覧表示し、人間が読めるファイルサイズで並べ替えます。
alias sizes="du --max-depth=1 -k | sort -nr | cut -f2 | xargs -d '\n' du -sh"
ディスク領域が非常に限られている一部のサーバーでは、これを頻繁に使用しています。
alias svndiff='svn diff --diff-cmd=colordiff'
alias df='df -h'
1行目はcolordiffを使用してsvn diff出力を色分けしています
alias memusage='ps -o rss,command -waxc | sort -n'
alias ssq='svn status -q'
alias up='cd ..'
数値の列を合計するには、これを.bashrcに入れます。ファイル名を2番目のラッグメントとして指定すると、std-inではなく、そのファイルの渡された列番号が合計されます。
sumcol(){ awk "BEGIN {SUM = 0} {SUM + =\$$ 1} END {print SUM}" $ 2 }
エイリアスがあまりないので、どこかからコピーしました。
alias dirf='find . -type d | sed -e "s/[^-][^\/]*\// |/g" -e "s/|\([^ ]\)/|-\1/"
イカのログファイルをリアルタイムで表示する
エイリアスproxy = 'tail -f /usr/local/squid/var/logs/access.log'