ウェブサイト検索
もしあなたが本番環境でLinuxシステムを運用したことがある、あるいは個人サーバーを維持したことがあるなら、ディスク容量が不足することが最も苛立たしい問題の一つであることを知っているでしょう。突然、アプリケーションが動作を停止し、データベースが新しいデータを書き込めなくなり、ログファイルが暴走する列車のように次々と埋まっていきます。
良いニュースは、Linux がディスク使用量を監視し、問題が発生する前に検知するのを驚くほど簡単にしてくれることです。必要なのは、小さなシェルスクリプト、少しのロジック、そして場合によってはメール通知(またはもしあなたが凝っているなら、Slackチャンネルへのメッセージ)だけです。
この記事では、ディスク使用量をチェックし、80%を超えた場合に警告を送信する簡単なスクリプトを作成します。
スクリプトを書く前に、dfコマンドを使用してシステム上の現在のディスク使用量を知る必要があります。
df -h-h フラグは「人間にわかりやすい」と
続きを読む →
私たちはすでにLinuxでデフォルトのBASHプロンプトをカスタマイズする方法を見てきました。このチュートリアルでは、LinuxおよびUnix系システムで特定のユーザーグループのBashプロンプトを変更する方法を学びます。
カスタムBASHプロンプトをユーザーグループに設定する前に、このアプローチの利点と欠点を理解することが重要です。
Linuxでグループ専用のコマンドプロンプトを使用することは、特定のシナリオでは有利ですが、いくつかの考慮点も伴います。ここに利点と欠点があります:
1. ユーザーの役割の識別が容易に:
インタラクティブなシェルスクリプトは、システム管理の作業をより効率的でユーザーフレンドリーにすることができます。「はい」「いいえ」「キャンセル」のプロンプトを組み込むことで、ユーザーの明示的な確認がある場合にのみスクリプトを実行させ、意図しない操作を防ぐことができます。本ガイドでは、Linuxで「はい」「いいえ」「キャンセル」のプロンプトを使用してインタラクティブなBashスクリプトを作成する方法を学びます。
Bashシェルスクリプトを書くとき、ユーザーに入力を求めることで、スクリプトをより便利にすることができます。これにより、スクリプトはよりインタラクティブでユーザーフレンドリーになります。
これを行う一つの方法は、ユーザーに入力を促し、その応答を変数に保存できる read コマンドを使用することです。
readコマンドをifやcase文などの条件文と組み合わせることで、スクリプトがユーザーの応答に基づいて異なる動作を行うようにすることができます。
このチュートリアルでは、次の内容を取り上げます:
続きを読む →
Bashのdeclareコマンドは、変数や関数を定義、変更、表示するために使用されます。Bashスクリプトにおいて、declareコマンドの主な目的は、変数や関数に属性を設定し、現在の状態を表示することです。
このチュートリアルでは、Linux 上での例を用いて、Bash スクリプトで declare コマンドを使用する方法を学びます。
declare コマンドは、特定の属性を持つ変数を定義するためによく使われます。
declare my_var="Hello, World!" echo "$my_var" 続きを読む →Fishシェルでは、functionsという専用のコマンドがあり、関数の管理および操作が可能です。しかし、BashにはFishシェルのfunctionsコマンドとまったく同じように関数を管理する組み込みコマンドはありません。ただし、Bashは同様の機能を実現するための他のツールや技術を提供しています。このチュートリアルでは、Bash関数をdeclareコマンドで効果的に管理する方法を学びます。
関数は、直接 ~/.bashrc ファイルに作成または定義することもできますし、専用のディレクトリ、例えば ~/.bash_functions の下に関数を別のファイルとして保存することもできます。
すべての関数を単一のディレクトリに保存することで、関数を整理しやすく、管理しやすくなります。
す
続きを読む →もし多くのファイルに古い情報が含まれている場合、それらを手動で更新するのは時間がかかります。古いファイルパスの修正、変数名の変更、設定値の修正など、どれであっても、Bashはgrep、sed、findのような強力なツールを提供して、この作業を自動化することができます。このガイドでは、Bashスクリプトを使って複数のファイルにわたるテキストを効率的に置換する方法を学びます。
テキスト置換の自動化は次のような場合に便利です:
各ファイルを手動で編集する代わりに、Bashスクリプトは数秒でそれを行うことができます。
例として Bash スクリプトで説明させてください。
続きを読む →もしあなたがこれまでに数百のファイルにわたって特定の単語やパスを置き換える必要があったことがあるなら、あなただけではありません。私もその経験があります - ファイルを一つずつ手動で開き、同じ変更を何度も繰り返すのです。それは遅く、退屈で、ミスが起こりやすいです。そんなとき、Bashでの一括テキスト置換がどれほど強力かを知りました。
この記事では、LinuxでBashを使用して多数のファイルにわたってテキストを一括で検索・置換する方法を、実用的な例とともに説明します。
注意: この記事は特にBASH向けに書かれていますが、他のシェルでも指示は同じだと思われます。
BashはほとんどのLinuxおよびmacOSシステムにすでに搭載されており(Windowsにも追加可能です)、grep、xargs、sedなどの強力なコマンドラインツールが付属しています。これらのツール
続きを読む →
ターミナルで同じファイル名やフォルダのパスを何度も入力していますか?もっと簡単な方法があります!このガイドでは、Bash、Fish、Zshで前回のコマンドの最後の引数を挿入するさまざまな方法を学ぶことができます。再入力不要、エラーなし!
前のコマンドの最後の引数を再利用する方法を学ぶことで、時間を節約し、入力ミスを防ぐことができます。
これらのトリックはすべて Bash で動作するはずです。いくつかは Fish、Zsh、およびその他のシェルでも動作する場合があります。さあ、始めましょう!
最後の引数は、コマンドの最後の語またはパラメーターです。例えば:
ここで、/home/user/my-long-project-name は最後の引数です。この長いパスをもう一度入力する代わりに、自動的に再利用できます。
続きを読む →
サービスが準備完了になるのを待ってから次に進む Bash スクリプトを書いたことはありますか?それはよくあるパターンです。しかし、時にはそのサービスがオンラインにならないこともあります。その場合、スクリプトは無限ループに陥り、気づかないこともあります。
この投稿では、その問題を修正する方法を紹介します。Bashでtimeoutコマンドを使う方法を学んで、この問題を回避できるようになります。
始めましょう。
timeout コマンドは、別のコマンドを時間制限付きで実行できるようにします。もしコマンドが指定された時間内に終了しない場合、timeout は自動的にそれを停止します。
これは、永久に実行され続けるプロセス、例えばループが止まらない場合や入力を待ち続けるコマンドなどを避けたい場合に役立ちます。
基本構文:
timeout [duration] [command] [arguments] 続きを読む →もしあなたがLinuxを使っている、あるいはスクリプトで作業しているなら、Bashのコマンド置換について聞いたことがあるかもしれません。最初は複雑に聞こえるかもしれませんが、これはシンプルで強力なツールです。あるコマンドを別のコマンドの中で実行し、その出力を即座に利用することができます。この詳細なガイドは、それを理解し、実際の状況で適用する手助けをしてくれます。
コマンド置換は、bashで強力な機能であり、一つのコマンドの出力を取得して、別のコマンドの入力として使用したり、変数に割り当てたりすることができます。
簡単に言うと、コマンド置換は、コマンドの出力を取得して、別のコマンドに挿入できるようにするものです。これは、あるコマンドの結果を別のコマンドに「差し込む」方法だと考えてください。
コマンド置換には2つの構文があります: