便利なbashエイリアスと最もよく使用されるコマンドのリストの生成


10

私が見つかりました。この記事はあなたのbashの履歴をソートし、あなたが最もを使用どのコマンドを参照する簡単な方法を議論します:

cut -f1 -d" " .bash_history | sort | uniq -c | sort -nr | head -n 30

エイリアスを作成する必要があるタスクと、完全にcronjobで削除する必要があるタスクについて、本当に目が開かれます。

仕事の時間を節約できる、推奨されるコマンドラインエイリアスのServerFaultリストを参照してください。あなたはどれだけ持ってる?

私たちの間では、この投稿を読んだすべてのユーザーを少なくとも1日10分保存できると思います。(もちろん、最初の日は、仕事をするのではなく、ServerFaultを読むのにすべての時間を浪費します!)


記録として、スーパーユーザーには、superuser.com
questions / 7083 / useful

回答:


7

私はさまざまなマシンを扱っているので、私のお気に入りの1つは、頻繁にSSHで接続する必要がある各マシンのエイリアスです。

alias claudius="ssh dinomite@claudius"

また、良いセットアップに便利です.ssh/configし、sshのキーも簡単マシンの中でホッピングを行うこと。

私のお気に入りのエイリアスのもう1つは、ディレクトリを上に移動するためのものです。

alias ..="cd .."
alias ...="cd ../.."
alias ....="cd ../../.."
alias .....="cd ../../../.."

そして、一般的に使用されるバリエーションls(およびタイプミス)のいくつか:

alias ll="ls -l"
alias lo="ls -o"alias lh="ls -lh"
alias la="ls -la"
alias sl="ls"
alias l="ls"
alias s="ls"

私はほとんど常に欲しいegrep

alias grep="egrep"

すべてのセクションからmanページを取得する

alias man="man -a"

私は自分の各ディスクのサイズを見つけるのと同じawkように、出力の特定の列を取得するために出力をパイピングしていることがよくありましたdf -h | awk '{print $2}'。これを簡単にするためfawkに、.bashrcに関数を作成しました。

function fawk {
    first="awk '{print "
    last="}'"
    cmd="${first}\$${1}${last}"
    eval $cmd
}

df -h|fawk 2これで実行できるので、タイピングの手間が省けます。

私は多くのPerlを使用しており、システムにインストールされているモジュールのバージョンを知る必要があります。

function perlmodver {
    perl -M$1 -e 'print "Version " .
        $ARGV[0]->VERSION . " of " . $ARGV[0] .
        " is installed.\n"' $1
}

3

私は通常、すべてを入力するのが好きです。私がすぐに使用しているコマンドのことをすべて忘れてしまうからです。私は間違っている可能性があることはわかっていますが、Commandlinefuのすべてのコマンドを.bashrcに貼り付けたばかりの場合は、システムについてそれほど詳しくはないと思います。

私が最高だと言っているのではなく、Linuxについて知っておくべきことはすべて知っている、ということではありません。それだけでなく、単に学びたいと言っているだけで、使用して学んだことを覚えています。

(特に大きな関数の場合は、エイリアスを保存する時間の節約に感謝しているわけではありませんが、スクリプトの方が優れているかどうかを確認する必要があります)、個人的には使用しません(少なくとも常にありません)。

そうは言っても、Commandlinefuにはエイリアス用の特別なタグがあります。見る価値があります。

また、これは良いものだと思います:

   alias less='less -FSRX'

これは、出力が画面よりも大きい場合にのみ、使用量を減らします。


2

いつものお気に入り:

alias server_name='ssh -v -l username ip_address'

説明はいらないですよね?:-)


5
.ssh / configは何のためのものですか?:-P Host server_name Hostname 1.2.3.4 User username etc
vartec

bash_completionとtabを使用すると、sshエイリアスの束を設定する代わりに、tabがうまく機能するように見えます
Clayton Stanley

2

alias lt='ls -lhart'

  • l = long:h =人間が読めるサイズ:a = all:r =逆ソート:t =時間ソート
  • 最新のファイルをプロンプトの真下に配置します

alias active='grep -v -e "^$" -e"^ *#"'

  • 空白またはコメント化されていない行のみを表示します
  • 例:アクティブな/etc/httpd/conf/httpd.conf

alias svi='sudo vim'

alias scr='screen -Rd'


ニース、特にsudo vim
astropanic 2010

1

私はこのようないくつかを持っていることを認めなければなりません。

alias sl=ls

私のタイプミスと戦うために:-)

私も持っています

alias aliases='xterm -e vim ~/.bash_aliases;reload'
alias reload='. ~/.bash_aliases'

新しいものを追加するのはとても簡単です。



1
for host in `awk '{ print $1 }' ~/.hostsILogIntoAllTheTime`; do
  alias $host='ssx '$host
done 

ホスト名を入力して、ホストにログオンします。注:ssx自体はエイリアスです。

ssx='ssh -Y'

共有キーと組み合わせると、かなり滑らかになります。


1

特にsudoプレフィックスを使用して、apt-getとapt-cacheのすべてをdebian / * buntuに置くのは面倒なので、次のようにします。

alias apti='sudo apt-get install'
alias aptr='sudo apt-get remove'
alias apts='apt-cache search'



0

このページで、awkを使用してcsv(実際にはtsv)ファイルのn番目の列を表示するエイリアスを作成する方法を探していました。上記のfawk関数は、まさに私が欲しかったものです。オプションの2番目の引数であるファイル名を追加するように少し変更したので、パイプだけでなく、通常はawkのように使用できます。

function fawk {
    first="awk '{print "
    last="}' $2"
    cmd="${first}\$${1}${last}"
    echo $cmd
    eval $cmd
}

ありがとう!


0

これはエイリアスではありませんが、ssh接続にエイリアスを設定している人を見ると役立つ場合があります。

opensshパッケージには、シンボリックリンクを介して機能するssh-argv0と呼ばれるバイナリがあります。

したがって、次のようなことをすると:

sudo ln -s /usr/bin/ssh-argv0 /usr/local/bin/user@ssh.server.com

$ PATHに/ usr / local / binがあれば、ユーザー「user」としてssh.server.comに接続でき、これをシェルプロンプトに書き込みます。

 $ user@ssh.server.com 

0

Drew Stephensの回答の+1。私が使用している彼がカバーしなかった唯一のものは、私が定期的にアクセスする必要があるさまざまなドットファイルに次のようなエイリアスを付けることです。

alias dotz='vi ~/.zshrc'

オンザフライのadd-alias関数でさらに一歩進んでください:

function add-alias {
echo "alias $1=\047$2\047" >> ~/.zshrc
}
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.