1.最後のコマンドを!!で実行します。
タイトルがすべてを物語っています。ターミナルに次のように入力するだけです...
!!
…最後に入力したコマンドを再実行します。 このトリックは、入力するのを忘れたときに非常に役立ちます sudo 初めに。 その場合、次のように入力する必要があります。
sudo !!
このトリックを最大限に活用するためのより複雑な方法を見つけるには、これを読むことをお勧めします 古い投稿.
2.最後のコマンドを実行しますが、入力エラーを修正します
このトリックは、単純なタイプミスでコマンドを入力するときに非常に役立ちます。 たとえば、次のように実行します。
エコー "desdelinuxz"
次のように入力して修正できます。
^z
3.テキストエディタを呼び出して、長いコマンドを入力します
ターミナルで無限のコマンドを入力する必要がある場合があります。 その場合、nanoやemacsなどの単純なテキストエディタの助けが役立つことがあります。
エディタを開くには、を押すだけです Ctrl + x + e ターミナルで。 これまでに入力したテキストは、開くとテキストエディタにコピーされます。
その一部として、使用されるエディターは$ EDITOR変数で指定されたものになります。 この構成を変更するには、...を実行することができます。
エディターのエクスポート= nano
…nanoをお好みのエディターに置き換えます。
4.履歴に保存せずにコマンドを実行します
真のハッカーはこのトリックを無視することはできません。 誰もが知っているように、bashは実行されたコマンドの履歴を保存します。これは、キーボードの矢印または Ctrlキー+ R (実行するには 逆検索 歴史の中で)。
この場合、入力したコマンドが履歴に保存されないようにするために必要なことは、前にスペースを置くことです。
コマンド
5.コマンドの最後のパラメーターを自動的に配置します
以前に実行されたコマンドが
cp file.txt / var / www / wp-content / uploads / 2009/03 /
問題のディレクトリにアクセスするには、コマンドを入力できます cd 続いて Alt +。 o Esc +。 :
cd'ALT +。 '
これは、入力するための短縮された方法です。
cd / var / www / wp-content / uploads / 2009/03 /
6.指定した時間にコマンドを実行します
はい、はい、それはそれが存在するものです cron。 ただし、特定の時間にXNUMX回だけ実行するコマンドを実行したい場合があります。
コマンドを実行したいとします ls -l 真夜中に。 その場合、次の方法で実行する必要があります。
エコー "ls -l" | 真夜中に
7.外部IPを取得します
によって提供されるサービスのおかげで http://ifconfig.me/ ターミナルから直接、インターネット接続のさまざまなデータを知ることができます。
curl ifconfig.me/ip // IPアドレスcurlifconfig.me/host//リモートサーバーcurlifconfig.me/ua//ユーザーエージェントcurlifconfig.me/port//ポート
8. Ctrl + uおよびCtrl + yの使用方法を学ぶ
コマンドを入力し始めて、何か他のことをする必要がある前にそれを思い出したことは何回ありましたか? そうですね、ある種のカットアンドペーストを実行して、後で半分残ったコマンドを簡単に再入力できるようにすることができます。
あなたが書き始めたとしましょう...
cd /ホーム/ユーザー
そして、現在のディレクトリで何かをチェックする前に、それを思い出しました。 その場合はプレス Ctrl + u (それは「カット」のようなものになります)。
最初に実行する必要のあるコマンドを入力します。 仮定します...
ls -l
...そしてを押します Ctrl + y (「貼り付け」のように機能します)。
9.ターミナルを簡単に掃除します
とともに Ctrl + l ターミナルは簡単に掃除できます。
10.ディレクトリに移動し、コマンドを実行して、現在のディレクトリに戻ります
このトリックは喜びです。 現在のディレクトリを離れずに一連のコマンドを実行するには、それらを括弧で囲んでグループ化します。 ほとんどの人が知っているように、一連のコマンドを実行するには、&&を使用してそれらを連結する必要があります。 これらの概念を使用して、次のようなものを実行できます。
(cd / tmp && ls)
このコマンドの結果(括弧に注意)は、フォルダー内のファイルとディレクトリのリストになります。 / tmpに。 現在のディレクトリを離れることなくすべて。 宝石!
ヤパ。 最もよく使用されるコマンドを一覧表示します
それらを見るために 最もよく使用されるコマンド 以下を実行するだけです。
歴史| awk '{a [$ 2] ++} END {for(i in a){print a [i] "" i}}' | 並べ替え-rn | 頭
私の場合、勝者は次のとおりです。
450 yaourt 415 sudo 132 git 99 cd 70 leafpad 70 killall 68 ls 52 pacman 50 xrandr 45 top
このサーバーのようなターミナルファンの場合は、次のサイトにアクセスすることをお勧めします コマンドラインフ。 また、なぜ、見るのをやめないでください アーカイブ 私たちのブログから。
正直なところ、このように始まった多くのファイルが私に滑り込むので、inputrcで大文字を省略して使用したものがありました。
最も重要なもののXNUMXつは、番号付きリストを返すhistoryコマンドだと思います
使用したコマンドのうち、いずれかを使用する場合は、次の行を使用してください。
!22
履歴にある22番のコマンドを実行します😀
オートコンプリートを使用してコマンドを検索するには、
Ctrl + r
また、常にCtrl + rを使用して最後のコマンドを繰り返します。 最後のものが表示されたら、Up Pag(上矢印)を押して履歴をスクロールして戻ることができます。
ご挨拶。
良い記事。 それらのヒントを共有していただきありがとうございます。
私が毎日使用している「fg」を共有したいと思います。これにより、「Ctrl + z」で以前に停止したアプリケーションを開くことができます。
そして、「bg」を使用して、それらをバックグラウンドに送信します🙂
あなたを見てください...良いトリック! 共有していただきありがとうございます。
抱擁! ポール。
素晴らしい投稿です。彼らは常にあなたが知っていて最終的に忘れていたことを思い出させますが、それは本当に役に立ちます。
ターミナルチートはいつでも大歓迎です。
信じられないことに、コマンドにスペースを追加することが履歴から省略されていることを知りませんでした。
どうもありがとうございました、ご挨拶!!
オートコンプリートフィルタリング履歴を使用するには、$ HOME /.inputrcファイルを追加します
"\ E [5〜":履歴-検索-後方
"\ E [6〜":履歴-検索-転送
たとえば、ある時点で使用したもの:
$ cd / one / path / long / than / / shit
そして今、あなたはそれを再び使いたいと思う、あなたはしなければならない:
$ cd
次に、「PageUp」または「PageDown」キーを押して、「cd」で始まる履歴内のすべてのコマンドをナビゲートします。
または…。 何も編集せずに、Ctrl + Rを押してからcdを押し(「cd」で何かを検索する場合)、Ctrl + Rを繰り返し押すと、目的のコマンドが表示されるまで、それを含むすべてのコマンドが表示されます。 明らかに、それが直前のものである場合、あなたはそれを手に入れるでしょう。
非常に良い!
実際には、現在のディレクトリを離れることなくディレクトリを一覧表示するには、ls / tmpで十分です。
「;」を使用してコマンドを連結することもできます。 例n°10のように、次のようになります。
(cd / tmp; ls)
よろしく
「;」 「&&」(および)とは動作が異なります。command-1&& command-2を実行すると、最初のコマンドの出力が「0」の場合、つまりエラーが発生しない場合にのみ、XNUMX番目のコマンドが実行されます。 セミコロンの場合、最初のコマンドの出力に関係なく、XNUMX番目のコマンドが実行されます。 拡張するには、演算子«||»があります(または)この場合、XNUMX番目のコマンドは、最初のコマンドが出力でエラーをスローした場合にのみ実行されます。 ご挨拶。
履歴を記憶する各行に日付と時刻があるように、通常のユーザーまたはルートの〜.bashrcに環境変数があります。
#nano .bashrc
エクスポートHISTTIMEFORMAT =»%F%T»
#歴史
492 2014-09-02 14:25:57 revdep-rebuild -i -v
493 2014-09-02 14:31:14 eclean-dist -d
494 2014-09-02 14:31:23 localepurge -v
495 2014-09-02:14:31など-更新
496 2014-09-02 14:31:54出現–depclean –ふり
497 2014-09-02:14:39更新b
それが節約する行の量のためのより多くのオプションがあります、私はそれらをテストしています。
とても良い投稿です。 本当にとても便利です。 履歴に保存せずにコマンドを実行するというトリック4は、Ubuntuでのみ機能し、Debianでもcentosでも機能しませんでした。
Archではなくraspbianで機能しました。
メルヴェイユ!!
こんにちは、
コマンドを実行する前にスペースを入れて、コマンドが機能しないために履歴に登録されないようにする方法..。
[ユーザー@ホスト/] $ ls -l
合計104
dr-xr-xr-x。 2ルートルート4096Aug 21 03:55 bin
dr-xr-xr-x。 5ルートルート3072月20日17:26ブート
drwxr-xr-x。 2ルートルート4096 9年2013月XNUMX日cgroup
[ユーザー@ホスト/] $履歴
1024 ls
1025 ls
1026の歴史
1027 ls -l
1028の歴史
興味深い記事..
拝啓
申し訳ありませんが、すべての投稿を読んでいないため、
テストもcentosで行われます。
Ctrl + UおよびCtrl + Yで適切です。
私のシステムでは、変数を$ 5に変更することで、最もよく使用されるコマンドのリストが機能しました。
出力例:
1122 須藤
362 ls
279クリア
214 cd
142掘る
141ヨーグルト
130 ヴンスタット
122 mv
112 ヴィム
112履歴
これは、.bashrcファイルに次の行があるためです。
#履歴コマンドに日付を表示する
export HISTTIMEFORMAT = '%F%T:'
このあたりの多くは、同時に複数の端末を利用しているとほぼ確信しています。
さて、それが端末のトリックだと言うかどうかはわかりませんが、私は通常多くのウィンドウを持っているか、画面を使用して複数の端末を開いているので、これにより、それらの端末のXNUMXつに入力されたコマンドが有効になります。すべて。
これは.bashrcファイルに含まれます。
HISTSIZE = 90000
HISTFILESIZE = $ HISTSIZE
HISTCONTROL = ignorespace:ignoredups
履歴(){
_bash_history_sync
組み込みの履歴 "$ @"
}
_bash_history_sync(){
組み込みの履歴-a#1
HISTFILESIZE = $ HISTSIZE#2
組み込みの履歴-c#3
組み込みの履歴-r#4
}
PROMPT_COMMAND = _bash_history_sync
とても良い貢献です! 合格していただきありがとうございます。
抱擁! ポール。
記事おめでとうございます。
非常に実用的で、いくつかのコマンドを学びました。
私はすでにこれらの問題についていくらか「経験」していますが、これらのトリックは常に高く評価されているので…トリックのトランクのために!!!
素晴らしい、トリックのおかげで、彼らは本当に便利です😀
コンソールのパスは不可解です😉
control + uとcontrol + yを押すコツは、シェルではなく、ttyの構成に依存します。 Linuxでの今日まで、ttyは非常に複雑なエンティティであり、実際、私はそれらの動作を調査しており、見た目よりもはるかに多くのインとアウトがあることを確認できます。 ttyには、ステータスを変更するいくつかの制御文字があります。たとえば、バイナリファイルをキャットすることが時々あり、すべての「ガベージ」が画面に表示された後、プロンプトが奇妙であるか、別のコーディングがあります。 これは、ランダムファイルではtty制御文字に遭遇する可能性が高いためです。
たとえば、これをシェルで実行します。
「33c」を印刷
これにより、画面がクリアされます(クリアを実行したかのように)。
画面をクリアするためのcontrol + Lなどの他の組み合わせは、使用されているシェル自体からのものであり、クラシック/ bin / shシェルは通常この機能を備えていません。
さらに、今日、Linuxでファイルとソケットを処理するための複雑なオプションがたくさんあります。 たとえば、open()を使用してttyデバイスを開くと、AIO(非同期入力/出力)モードで、入力バッファーに使用可能なデータがあるたびに、プロセスはSIGIOを受信します。
たとえば、bashが行を読み取ってコマンドを実行するだけで機能する場合(スクリプトの実行時と同じように)、control + Lを押すと、この文字シーケンスはコマンドの一部として含まれますが、bashには制御があります入力のバッファのはそれを検出することができます。
たとえば、プログラミング時に、fcntlを使用して非ブロッキング入力バッファーを取得することがあります。これはncursesライブラリーでも使用しました(プログラムでncursesを開始する前にコントロールttyを操作します)。
Saludos!
最初にスペースを操作しなかった人のために、そしておそらくそれをメモに追加するために、コマンドの前に追加された文字が履歴で無視されるように構成されているHISTIGNOREと呼ばれる変数があります。
一部のインストールでは、この変数は
ご挨拶と良い投稿! お気に入りに直接!
コメントで私もいくつかの興味深いものを見たことに注意してください.. !!
すべて本当にとても便利です。 ありがとうございました。