bash履歴を使用してコマンドラインの生産性を向上させる方法

Linuxのコマンドラインに慣れていなくても、熟練したベテランであっても、テキストベースの蛇行を本格的なマラソンに変えるのに役立ちます。時間を節約し、生産性を高め、Linux-Fuを一気に高めましょう!

これらのトリックの大部分は何らかの形で「歴史」コマンドを利用していますので、最初にそれをカバーしましょう。ちょうどタイプしてください

歴史

それは簡単です!あなたは次のように出力されます

ヒストリから特定のコマンドを実行するには、感嘆符を入力してから履歴のリストにあるコマンドの番号を入力するだけです。ここでは、コマンド番号510を再実行します。

510

ところで、感嘆符は、口語的に「バン」と呼ばれます。

また、コマンドが実行されてからどれぐらい前にコマンドを参照することもできます。次に、3つ前のコマンドをタイプしたものを実行しましょう。

-3

以前のコマンドを再実行したいとしましょう。 2つの感嘆符を入力してください。これは、スーパーユーザー権限を必要とするコマンドを実行して、それを忘れた場合に最適です。ちょうどそれに古い “sudo bang bang”治療を与える

sudo !!

最後に使用した引数でコマンドを実行したいとしましょう。それを入力するのは面倒です。最後の引数を自動的に代用するには、 “bang dollar”を使用してください。

cd!$

2つの引数を持つコマンドを実行し、最初のコマンドを実行する場合はどうなりますか?救助のための「バングキャレット」!これは、設定ファイルのバックアップを作成し、それを編集したいときにうまく動作します。

ナノ!^

次に、履歴から特定のコマンドを検索しましょう。 Ctrl + Rキーを押すと、入力した内容が逆方向に検索されます。入力すると自動的に完了し、矢印キーでスクロールして探している特定のインスタンスを見つけることができます。

特定のキーワードを使用して実行した最後のコマンドが分かっている場合は、検索プロセスをスキップして、少なくとも1つのキーを押すことができます。

キーワード

さて、電源置換のために:前のメソッドと同様のものを使用して、最後の特定のコマンドに引数を代入することができます。コロンと引数の数を追加するだけです。

ls!ln:2

ここでは、最後の ‘ln’コマンドから2番目の引数を置き換えました。

ご覧のとおり、Ctrl + Rルックアップを使用して、その引数がどこから来たのかを説明しました。

履歴を消去したい場合は、これを使用してください

歴史-c

履歴をすべて無効にしたい場合は、これを使用してください

HISTSIZE = 0

再度有効にするには、その値を0から別の値に変更するだけです(デフォルトは通常500または1000です)。

しかし、なぜあなたはすべてか何かの間で選択すべきですか?次のコマンドを使用して、スペースを含むコマンドが履歴に記録されていないことを確認します。

HISTCONTROL = ignorespace

4行目の行では、「cd」コマンドの前にスペースを入れます。

また、パイプ(|)と ‘tail’コマンドを使用して最後の4つの履歴エントリのみをリストしました。あなたは4を他に変えて同じ効果を得ることができます。

私はバッシュの歴史を愛しています。私が好きではないものは重複です。重複するエントリを無視するには、次のコマンドを使用します。

HISTCONTROL = ignoredups

‘ignorespace’と ‘ignoredups’の両方を使いたい場合は、 ‘ignoreboth’を使う必要があります。

HISTCONTROL =無視する

あなたのためのおまけとしてHow-To Geek読者、私は以下の完全に無関係なコマンドを含める

cat / dev / urandom |ヘキサダンプ-C | grep “ca fe”

これは、ランダムな文字と値を特定の形式で連続的に生成します。これは治療上の理由から目を引くのがうれしいです。

あなたが仕事に忙しい時間を過ごしたり、すぐにコーヒーを飲んだりしたいときに便利です。この1人、あまりにも責任を負わないでください。;-)

あなたはどのトリックを好きですか?私たちはここにリストしなかったお気に入りを持っていますか?コメントにあなたの考えを共有してください!

私はまた検索を好きであり、^古い^新しいコマンドを置き換えることで、間違いを修正することができます。

ありがとう。非常に助けてください。

私は毎日このサイトが好きです。あなたの偉大な成果は、私がLinux上で完全に動くことを可能にしました。これは素晴らしいものです、それは来てください!

矢印キーを使用しても履歴をスクロールすることはできません(少なくともFedora 14ではない)。反復してCTRL-Rを押すと、そのようになります。

使用することができます、alt +。またはesc +。 !$の代わりに前のコマンドの最後の引数を置くことができます。 !^の代わりにalt + 1 +を使用することもできます。最初の引数alt + 2 +を配置します。 2番目の引数を配置し、すぐにそうする.. alt + 0 +。コマンド名を配置します。

問題は$です、コマンドが実行されるまであなたは何が分からないのです!$はです。 bashは$!が展開されるとすぐに実行を開始します。しかし、実行する前に何を知りたければ、次のトリックを使用してください。

#ls howtogeek;#shopt -s histverify;#cd!$;#cd howtogeek

もう1つの方法は、私たちのほとんどが知らないと思う次のマジックスペーストリックを使用することです

#バインドスペース:magic-space;#cd!$

それは何を置きます!$です。

完了!

みんな、2回目のトリックのために、打ち込んだ後に!$スペースバーを打つことを忘れないでください

私はcat / dev / urandomをテストしました。ヘキサダンプ-C | cat / dev / urandomのような恋人とgrep “ca fe”ヘキサダンプ-C | grep “12 14 28 32″、実行中はhtop画面を見ていたが、リソースを消費しないと言ったが、10分後にhtopはプロセッサーとメモリーが大丈夫だと言ったが、

$センサー

acpitz-virtual-0;アダプタ:仮想デバイス; temp1:+ 98.5℃(crit = + 100.0℃)

私はそのプロセスを抹殺し、温度は約45℃で正常になった。

それは特定のハードウェアについてですか?私はDell Vostro 3500 – Ubuntu 10.10を持っています

そのポストをありがとう、私はそれを楽しんだ。

Allways bashの履歴を削除!クラックされたシステムを理解するための最初の手がかりは、bashの履歴を読むことです

投稿と回答に感謝します!

私は、SurfManが私のUbuntu 10.10システムで言ったことを確認することができます。

非常に多くのトリック

生産に持ち込まれたことはありませんでしたが、Spaceballs続編のタイトルはSpaceballs III:Spaceballs IIの検索になる予定でした。