タグ付けされた質問 「command-history」

以前にシェルまたはその他のユーティリティで入力したコマンドを呼び出す

1
複数の履歴コマンドを再実行します
十数個のコマンドを実行しただけだと想像してください。いう... $ cd foo/ # history cmd #10000 (my history is very long) $ ... more commands ... $ cd ../ # history cmd #10012 私は、彼らがと連結再実行することができます知っている!-12 && !-11 && !-10 && (and so on) && !!、彼らが持って起こる場合だけとなって実行(そう)かを!10000 && !10001 && !10002 && (and so on)、しかし、強打とアンパサンドで、各履歴番号を手は、入力するよりも簡単な方法はありますか? おそらく私がbashで気づいていない範囲の種類がありますか? たとえば、!{10000-10012}#このようなもので、動作しているだけです。

4
後知恵でコマンド実行時間を見つける
bashプロンプトから実行時間の長いプロセスを実行しました。後知恵で、私timeはそれを実行したい、または私がそれを開始した時間を書き留めたいと思います。 この情報を遡及的に取得する方法はありますか?.bash_historyタイムスタンプを含めるようには見えません。 私の場合はMac OS Xですが、一般的なUnix / Linuxソリューションに興味があります。 明確にするために、プロセスは完了しました。どうしても必要な場合を除き、再度実行しないことをお勧めします。

4
ZSH:上下キーの検索履歴?
現在、.zshrcには次のものがあります。 bindkey '^[[A' up-line-or-search bindkey '^[[B' down-line-or-search ただし、これはスペース文字が発生する前の現在の入力の内容と一致しているようです。たとえば、sudo ls /で始まる履歴内のすべての行に一致しますがsudo、入力全体に一致する行のみに一致するようにします。(つまりsudo ls /etc一致しますが、一致しませんsudo cat /var/log/messages) 目的の動作を得るには、何を変更する必要がありますか? 関連する場合の私の.zshrc全体を以下に示します。https ://gist.github.com/919566

3
1つのsudoを使用してコマンド行を実行する
たとえば、ファイルを作成し、1行にテキストを入力する場合、>演算子を使用して出力をファイルにリダイレクトできます。 echo "something" > /path/foobar しかし、フォルダにアクセスできず、/path/sudo権限が必要な場合、sudo権限を持つ通常のユーザーと同じコマンドを実行するにはどうすればよいですか? 私は試した sudo echo "something" > /path/foobar しかし、それは機能しません。なぜなら、sudo editは、右の部分 ではなく、> 確かに、私は以前にrootになるsudo suか、tee代わりに使用することができました: echo "something" | sudo tee /path/foobar しかし、私は最後の行を置換として作業できる解決策を見つけたいと思います sudo !! 最後の行を「リサイクル」sudoして前に追加する方法はありませんか?

2
bash履歴で一連のコマンドを実行するためのショートカットはありますか?
私に次の些細な例があると仮定しますhistory: ... 76 cd ~ 77 ./generator.sh out.file 78 cp out.file ~/out/ 79 ./out/cleaner.sh . 80 ls -alnh /out ... 私は、コマンドを実行したい場合は77、78、および791つのコマンドで、このためのショートカットが存在しませんか?私は試してみましたが!77 !78 !79、実行するためにそれらをすべて1行に配置するだけです。

4
履歴コマンドが.bash_historyに保存されない場合があります
昨日、CentOS 7で多くのコマンドを発行しました。しかし、今日これらのコマンドを取得したいとき、レコードがないことがわかりました。ファイルを開いたとき.bash_history、昨日発行したコマンドはまだ見つかりませんでしたが、数日前に多くの古いコマンドを見つけました。最近のコマンドが保存されなかったのはなぜですか?履歴機能を増やすにはどうすればよいですか?

6
対話的に、bashで数字のn回の繰り返しを入力する方法
コマンドを実行したい foo --bar=baz <16 zeroes> 16個のゼロを効率的に入力するには* Alt押した1 6 0ままにすると、次のことが160回繰り返されますが、これは望んでいないことです。emacsではAlt-[number]またはを使用できますCtrl-u 1 6 Ctrl-u 0が、bash Ctrl-uでは現在入力されている行を削除し、次のゼロは行に0を追加するだけです。 私が行った場合 foo --bar=baz $(printf '0%.0s' {1..16}) その後history、上記ではなく、正確に表示されfoo --bar=baz 0000000000000000ます。すなわち、bashは私が望むように動作しません。(編集:ポイントされている、$(...)コマンド置換を使用せずにいくつかのゼロを入力したい) (*)「効率的に」の技術的定義は「with O(log n)keystrokes」、できれば16の桁数(16のすべての値)に等しい定数のキーストローク数であると思います。emacsの例は、この定義により効率的と見なされます。

2
エントリを再利用および変更したときに、bashによる履歴の編集を停止するにはどうすればよいですか?
bashの一部のインスタンスは、前のコマンドを再使用および編集するときにコマンド履歴を変更しますが、その他のインスタンスは変更しないようです。私は検索と検索を行ってきましたが、履歴内のコマンドが再利用および編集されたときに変更されないようにする方法を示すものは見つかりません。 このような質問がありますが、それは編集中の履歴に対処する方法を言っているようです。コマンドを再利用するときに履歴を編集するbashのインスタンスに出会ったのは最近です-私が使用した以前のすべてのbashシェルは、再利用時に履歴を変更しないように構成されていますコマンドを編集します。(おそらく、私は過去15年間ほど、シェルの歴史に適切な注意を払っていませんでした...) それがおそらく最良の質問です:bashに履歴を変更するように決して指示することはできません-もしそうなら、どのように?

3
BASH履歴に成功したコマンドのみを保持する
時々、コマンドの構文を誤解します。 # mysql -d test mysql: unknown option '-d' # echo $? 2 私はもう一度試して、それを正しくします: # mysql --database test Welcome to the MySQL monitor. mysql > ... エラーコードが0以外の最初のコマンドが履歴を入力するのを防ぐにはどうすればよいですか?

8
bashスクリプト内の履歴コマンド
履歴はシェル組み込みコマンドであり、BASHスクリプト内で使用できませんでした。だから、BASHスクリプトを使用してこれを達成する方法はありますか? ここで、私のスクリプトを紹介します。 #!/bin/bash history | tail -100 > /tmp/history.log cd /tmp uuencode history.log history.txt | mail -s "History log of server" hello@hel.com

3
サーバー上のすべてのユーザーでbash履歴を検索できますか?
Linuxサーバーで複数のユーザーアカウントで実行されたすべてのbashコマンドを確認したい。私が使用している特定のディストリビューションはCentOS 5.7です。サーバー上の.bash_historyファイルをグローバルに検索する方法はありますか、それともより自家製のプロセスlocate | cat | grepですか?(私はただそれを打ち込んで震えています)。

4
シェルプロンプトでUpを押すと、同じプレフィックスを持つ前のコマンドを検索します
FreeBSDの世界から来て、私は基本的にあなたが入力すると、FreeBSDの1、特に9.1バージョンのようなLinuxのターミナル振る舞いをしたいcdの端末で、矢印「アップ」を押して、あなたと歴史始めにすべてのコマンドを閲覧することができcdますせています多くの時間を稼ぎます。 Linux DebianやCentOSでこの機能を有効にして、全体を入力するように強制する方法がわかりません。誰か助けてください。


5
編集のために番号付き履歴コマンドを呼び出すにはどうすればよいですか?
頻繁に変更を検索します history | grep 'string' 履歴のコマンドのリストと履歴行番号を取得します)、たとえば history | grep 'git' 755 git status 1535 git push origin master 1570 git merge origin/one-146 1667 git reset --hard origin/master 次のように、コマンドを一度で呼び出して実行できます!nnn。 !755 git status # On branch master nothing to commit, working directory clean 私の質問は次のとおりです:番号付き履歴コマンドを呼び出して、編集のためにコマンドラインにとどまり、すぐに実行しないで、そのまま実行する方法は!ありますか?


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.