web-dev-qa-db-ja.com

お気に入りのUNIXコマンドラインエイリアス?

お気に入りのコマンドラインエイリアス(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 ='クリア '
39
anon
function s()
{
    screen -t "$@" /usr/bin/ssh "$@"
}

新しい画面タブでホストに接続し、デバイス名をタブタイトルとします。

12
Murali Suriar

これまで言及されていない私のお気に入り:

alias l='ls'
alias u='cd ..'
alias uu='cd ../..'
alias uuu='cd ../../..'
alias uuuu='cd ../../../..'

私は通常、単に物事を短くするだけのエイリアスのファンではありませんが、私はlsを非常に多く入力し、lは片手で十分です。

11
C Pirate

私がログインするすべてのシステム(自分、ルート、または誰でも)でそれらが設定されることを保証することはできないので、ありません。

8
TCampbell

なし、私は基本的にそれをあきらめたので、毎日システム間を頻繁に切り替えます。

7
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; }
6
z8000

私の「エイリアスリスト」の合計内容は次のとおりです。

私は「通常」は動作しないUNIXマシンを修正するのに十分な時間を費やしました(ソフトウェアハウスの社内UNIX管理者であったことの欠点の1つは、最終的に顧客サイトに行き着くためです)。私が行うのは「unalias -a」です。これは、通常の運用管理者が誤ってつづりを誤操作しないようにするためです。その後、カスタマイズするのが面倒です。

これも私の通常の使い方に引き継がれています。

6
Vatine

これらの厄介な同僚のために:

alias ls=rm
4
Mark Harrison

ここには必要ない多くのエイリアスがあります:

エイリアスc = 'clear'

[Ctrl] + [L]を押すだけで置き換えることができます

エイリアスmroe = 'more'

および類似:zshはデフォルトでスペル修正を提供し、bashは拡張機能でそれを行います

エイリアスsomething = "history | grep $ @"

[Ctrl] + [R]を押すと、bash/zshで同じことが行われます

back = 'cd $ OLDPWD'

すべてのシェルで同じことができます

cd-
4
Skaarj

これらは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
4
Alex J

ここに私のお気に入りのいくつかがあります。 (いくつかは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 :)
4
Tom
jldugger @ jldugger:〜$エイリアス
エイリアスls = 'ls --color = auto' 
エイリアスyoutube-dl = 'youtube-dl -t 
3
jldugger
alias perg='grep -rni --exclude=\*.svn\*'
alias df='df -kTh'
alias ll="ls -l --group-directories-first"
3
alias cdd='cd /wherever/my/current/project/is'
3
chaos
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'
2
GNUix

p = 'ps auxww | grep -v grep | grep'

2
disserman

古いPerlスクリプトで何かを検索する場合:

alias searchperl 'find /place1 /place2 /place3 -name "*.pl" | xargs grep

自分にファイルをメールで送信:

alias mailthis 'mail -s mailthis [email protected] < '
2
mmarchin

私の最高のコレクションのいくつか:)

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"
1
insidepower
1
scripter

コマンドラインからすばやく計算します。展開を避けるために、乗算には「x」を使用します。

function math
{       
    echo "scale=2 ; $*" | sed -e "s:x:*:g" | sed -e "s:,::g" | bc
}


$ math 12,537.2 x 4
50148.8
1
Gerald Combs

パイルに追加するいくつかの追加:

# 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'
1
yalestar
history | awk '{print $2}' | awk 'BEGIN {FS="|"} {print $1}' | sort | uniq -c | sort -nr | head -10

履歴で最もよく使用されるコマンドのトップ10を表示します。

1
pete
alias viewpw='aespipe -d < ~/.passwd.aes > ~/.passwd.dec && more ~/.passwd.dec && shred -u ~/.passwd.dec'

すべてのパスワードを覚えている方法...

1
aultl
back='cd $OLDPWD'

「$」を入力するのは本当に嫌いです...

1
user27388

これはほとんどのLinuxデスクトップで動作します:

alias go='xdg-open'

Windowsの開始コマンドと同様に、登録されたアプリケーションでドキュメントまたはフォルダーを開きます。

1
amarillion

さらに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でテストされています。

1
Skaarj
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
1
daeltar
alias l='ls --color=auto -lsah'
alias ..='cd ..'

他のシステムではよく見逃します

1
lImbus

これは私のお気に入りのエイリアスです。

エイリアスresume = 'screen -D -R'

私のWindowsワークステーションが毎週末自動的に再起動した後、それは非常に便利であることがわかります(会社のポリシー)。

1
fletchnj

私の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を覚えているだけです。

1
JamesHannah

これが私のお気に入りです。Subversionに関連するものを除いて、現在のディレクトリと子ディレクトリのすべてのPythonコードで何かを見つけるために:

alias greppy="find . | grep -v [.]svn | grep [.]py$ | xargs grep "

1
Joel

新しいエイリアスの作成がとても簡単になるので、おそらく私のお気に入りです:

alias realias='vim ~/.bash_aliases;source ~/.bash_aliases'
1
Telemachus
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()"'
1
Jorge Bernal

私も持っています:

alias dmeasg='dmesg'

よく間違えて入力したので、そのエイリアスを作成しました。

0
Mnementh

ほとんどのサーバーは、パブリックVLANでSSHをリッスンしません。オフィスから離れているとき、ラップトップでトンネルを開いたままにしておくことに煩わされることはありません。

zugzug() { ssh -A -p <non_standard_port> -t <proxy_server> ssh $1; }

これは関数であり、エイリアスではありませんが、非常に貴重です。

0
Cade

同じシステムを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
}

0
Aaron Copley
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'
0
jet
0
bhagya

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'
0
alias t="rlog -L -l -R RCS/*"
0
Ray Tayek
    alias pd=pushd
    alias so="echo ^O"
    alias sy='rsync -vaH'
    alias tcem='echo -ne "\033[?25h"'
    alias tt='traceroute -I'
    alias x=type
0
sendmoreinfo

いくつかの選択肢の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'
0
Andy

エイリアスではなく関数です。手動で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 $@
}
0
olle
#. 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エイリアスも好きではありません。

0
Xerxes
alias uab='unison -rsync -auto -batch'

unison を使用して、設定の同期、ニュースグループメッセージの開封/未開封などを行っています。

0
hayalci

私たちは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 '

0
Jason Tan

このディレクトリ内のすべてのファイルを一覧表示し、人間が読めるファイルサイズで並べ替えます。

alias sizes="du --max-depth=1 -k | sort -nr | cut -f2 | xargs -d '\n' du -sh"

ディスク領域が非常に限られている一部のサーバーでは、これを頻繁に使用しています。

0
bryan kennedy
alias svndiff='svn diff --diff-cmd=colordiff'
alias df='df -h'

1行目はcolordiffを使用してsvn diff出力を色分けしています

0
Epeius
alias memusage='ps -o rss,command -waxc | sort -n'
alias ssq='svn status -q'
alias up='cd ..'
0
Andy Lester

数値の列を合計するには、これを.bashrcに入れます。ファイル名を2番目のラッグメントとして指定すると、std-inではなく、そのファイルの渡された列番号が合計されます。

 sumcol(){
 awk "BEGIN {SUM = 0} {SUM + =\$$ 1} END {print SUM}" $ 2 
} 
0
jftuga

エイリアスがあまりないので、どこかからコピーしました。

alias dirf='find . -type d | sed -e "s/[^-][^\/]*\//  |/g" -e "s/|\([^ ]\)/|-\1/"
0
chmeee

イカのログファイルをリアルタイムで表示する

エイリアスproxy = 'tail -f /usr/local/squid/var/logs/access.log'

0
Jindrich