13の時間を節約するLinuxターミナルのトリックを使うべきです
13. 前のコマンドをsudoで実行する
私たち全員がその経験をしています。コマンドを入力して、Enterを押したら「許可が拒否されました」というメッセージが表示されます。sudoを前に付けるのを忘れたことに気づきます。すべてを再入力する代わりに、ちょっとした便利なトリックを使うことができます:
sudo !!これはシェルに最後のコマンドを再実行させるもので、今回はsudoを使います。!!記号はBashの履歴展開の一部です。これは前のコマンド全体に展開されます。ですので、最後のコマンドがapt updateだった場合、!!と入力することで実際にapt updateが実行されます。そしてsudo !!は次のようになります:
sudo apt update特にワークフローに没頭していて権限を昇格させるのを忘れてしまったときに、本当に時間を節約できます。
12. 痕跡を残さずにコマンドを実行する
ここに私のコマンド履歴の一例があります。
今、スペースで始まるコマンドを実行した後、それは履歴に追加されなくなります。
ご覧のように、最後のエコーコマンドは見つかりません。このトリックは、HISTCONTROLというBashの機能に依存しています。デフォルトでは、多くのシステムのHISTCONTROLは、ignorespaceまたはignorebothに設定されています。これらの設定は、Bashに対して、履歴を書き込む際に空白で始まるコマンドを無視するよう指示します。
11. 前のコマンドからの論証を使用する
長いファイル名を入力した後、次のコマンドで再度その名前を使用する必要がありますか? コピー&ペースト(または再入力)の代わりに、Alt+ピリオド(.)を押すと、カーソルの位置に前のコマンドの最後の引数が挿入されます。 これはほとんどのBashシェルで機能し、同じファイルやディレクトリに対して何度も作業するコマンドに特に便利です。
例えば、次のコマンドを発行することがあります。
mkdir really_long_directory_name_with_underscores
その後、cdと入力してAlt+.を押すことで、先ほど作成したディレクトリに移動できます。
もう一つの一般的な状況は、アーカイブファイルを抽出した後にそれを削除したい場合です。このコマンドを実行した場合:
tar -xvf archive_name.tar.gz
単にrmと入力し、Alt+.を押してアーカイブを削除することができます。このショートカットを複数回押すことで、以前のコマンドからの引数を循環させることができます。
10. 前のコマンドの単語を別の単語に置き換えます
^wrong^rightこれは、あなたの前のコマンドの最初の「wrong」を「right」に置き換え、更新されたコマンドをすぐに実行します。例えば、google.comをpingしようとしたが、誤ってping goggle.comとタイプしてしまったとしましょう。そうするには、次のようにしてください:
^goggle^google
Bashが実行します:
ping google.comこれは、迅速に修正する必要があるタイプミスが一度だけ発生した場合に便利です。
9. カーソルの前後の文字を入れ替える
もしあなたが速いタイピストなら、おそらく間違ったキーを押して、次のようなことを入力してしまったことでしょう:
sl実際にタイプしたかった時は:
lsはい、それは非常に一般的なタイプミスであり、実際に画面上を走る列車を表示するコマンドラインジョークツール「sl」と呼ばれるものがあります。
grpe file.txtあなたはgrepと言いたかったのです。カーソルをpの上に置いて、Ctrl+Tを押すと、次のようになります:
grep file.txtそれは小さなトリックで、1日に20回使っている自分に気づくまで些細なことのように感じます。
8. エイリアスの使用
現実を見てみましょう。一部のLinuxコマンドは本当に長いです。そして、頻繁にそれらを実行する場合、同じフラグやフルパスを入力するのはイライラします。間違えやすいことも言うまでもありません。そこで、エイリアスが登場します。エイリアスを使用すると、より複雑または頻繁に使用されるコマンドのためにシンプルな名前を使って、自分のコマンドのショートカットを作成できます。
エイリアスを作成するのは簡単です:
alias shortname='actual command here'
いつも走っているとしましょう:
ls -lah --color=autoこのようにして、簡単にエイリアスを作成できます:
alias ll='ls -lah --color=auto'7. 出力を列形式で整形する
Linuxでは、コマンドラインでデータを扱う必要がよくあります。時々、出力がかなり混乱することがあります。幸いなことに、columnコマンドがあります。このコマンドは、その混沌を整った、読みやすいデータの表に変えることができます。columnコマンドは、テキストを整然とした列にフォーマットし、ホワイトスペースやカスタム区切り文字に基づいてうまく整列させます。リスト、CSV、コロン区切りのデータなどを扱う際にぴったりです。
一般的な例を見てみましょう。通常、Linux上でプロセスをリストするためには次のようにします。
ps aux列コマンドを使用してさらにフォーマットすることができます:
ps aux | head -10 | column -t6. 複数のコマンドを連続して実行する
時々、いくつかのコマンドを連続して実行したい場合があります。一度に1つずつ入力して待つ代わりに、単一の行でそれらを連結することができます。その後、それらが無条件に実行されるか、前のコマンドが成功した場合のみ実行されるかを制御します。
セミコロン(;)は、コマンドを連結して、成功や失敗に関係なく、一つずつ実行させることができる。
echo "Updating..." ; sudo apt update ; echo "Done!"この例では、たとえapt updateが失敗しても、最後にecho "Done!"はまだ実行されます。
sudo apt update && sudo apt upgrade&& の後のコマンドは、それ以前のコマンドが成功した場合のみ実行されます。&& の反対は || (二つの縦棒)演算子です。この記号を使用して二つのコマンドを組み合わせると、左側のコマンドが失敗した場合にのみ右側のコマンドが実行されます。&& と || を使用することで、Bash スクリプトの問題をデバッグするのに役立ちます。
5. パスワードの代わりに指紋を使用する
sudoを実行したり画面のロックを解除するたびにパスワードを入力していますか?それは安全ですが、何度も繰り返すうちに面倒に感じ始めます。もしあなたのノートパソコンに指紋リーダーがあるなら、パスワードを入力する代わりにそれを使って認証できます。
これらの手順はUbuntuおよびその派生版に向けられています。他のディストリビューションでは手順が異なる場合があります。
まず、必要なパッケージをインストールします:
sudo apt install fprintd libpam-fprintdその後、このコマンドを実行して指紋をスキャンしてください:
fprintd-enroll次に、sudoのPAM設定ファイルを開きます:
sudo nano /etc/pam.d/sudoこの行を上に追加してください:
auth sufficient pam_fprintd.sosudoコマンドを実行して指紋をテストします。システムはパスワードを要求する代わりに、指紋をスキャンするように促します。
4. 前のディレクトリに戻る
私はしばしば二つのディレクトリ間を行き来することがあります。フルパスを繰り返し入力するのは煩わしいです。だから、このすごく便利なトリックは私にとって救いの手でした。
cd -このコマンドは、Linuxファイルシステムの戻るボタンのように、前の作業ディレクトリに移動します。例えば、あなたが次のような場所から始めたとします:
/home/user/projects/website3. ターミナルをフリーズおよびアンフリーズする
もしあなたが習慣でターミナルでCtrl+Sを押して何かを保存しようとした場合、ターミナルがフリーズしてしまったことに気づいたかもしれません。しかし、心配しないでください。あなたのシステムはクラッシュしていませんし、キーボードも壊れていません。Linuxのターミナルでは、Ctrl+SはXOFFと呼ばれるソフトウェアフロー制御信号を送信します。これによってターミナルは出力を一時停止し、実質的にフリーズするのです。
端末を解除するには、Ctrl+Qを押すだけです。これにより、出力を再開させる信号であるXONが送信され、端末が瞬時に解除されます。
しかし、これはなぜ存在するのでしょうか?これは、端末が遅いシリアルラインを介して通信していた時代のレガシー機能です。スクリーンをオーバーフローする前にスクロールテキストを一時停止できました。しかし、現在では、何かを保存しようとしたり、早く入力しようとしたりする人々にとって、ほとんど罠となっています。
2. ターミナル画面をクリアする
あなたはターミナルセッションの奥深くにいて、画面はコマンド、ログ、エラーメッセージ、あるいはあなたが作成した混乱で埋め尽くされています。スクロールすることもできますし、「clear」と手動で入力することもできます。でも、もっと早い方法があります。Ctrl+Lを押すだけです。これでターミナルの画面が瞬時にクリアされます。
clearコマンドを使用することとこのショートカットを使用することの違いは、clearコマンドを使用すると、過去のコマンドを見るために上にスクロールできなくなることです。Ctrl+Lを使用すると、過去に発行したコマンドを上にスクロールして見ることができ、これは便利です。
1. ネストされたディレクトリを作成する
プロジェクトを始めるとき、入れ子になった複数のディレクトリを作成する必要があるとしましょう。親ディレクトリを作成してからサブディレクトリを作成するのは非常に面倒です。代わりに、mkdirコマンドで-pフラグを使用することを考えてみてください。これにより、一つのコマンドで親ディレクトリ内にサブディレクトリを作成することができます。
mkdir -p rootfolder/client/componentsさて、1つのディレクトリの下に複数のサブディレクトリを作成したいとしましょう。それはサブディレクトリを波かっこで囲むことによって実現できます。
mkdir -p rootfolder/{client/components,server}私はこれらのターミナルトリックが非常に役立つことを見つけました。これらの小さな宝石のそれぞれが、あなたのLinux体験をより速く、よりクリーンに、そしてより楽しめるものにします。Linuxターミナルを学ぶ価値を高めるトリックは他にもたくさんあります。










