UNIXシステム管理におけるいくつかの一般的な問題と、シェルスクリプトがそれらを解決できる方法を探しています。完全に自己教育の目的のため。また、シェルスクリプトをどのように学ぶのか知りたいです。
何かを何度も行っていることに気付いたときはいつでも、スクリプトを作成してください。できるだけ怠惰に考えてください。コンピュータは、その卑劣ながらくたのすべてを行うために構築されました。忙しい仕事のようなにおいがするものには、シェルスクリプトが必要です。
個人的には、Slackwareを数年間探し回って学んだ。システムを可能な限り取り除いたときに何が起こるかを確認してください。テキストに慣れることを学びます。他の誰もがNetworkManagerに夢中になっている間に、自分でNetworkManagerを作成するのがいかに簡単かを学びましょう。確かに、ユースケースはそれほど多くないかもしれませんが、イーサネットとワイヤレスオンデマンドを介して動的に接続するだけで、何かを稼働させることができます。
私が別のスレッドで提案した3冊の本をお勧めしたいと思います。これらは私の意見ではUnixの精神に入るのに最適な本です。
最初のものは古く、非常に古いですが、簡潔で短い読み物であり、必要なシェルチョップ(正規表現、sed、パイプライン)を提供します。
2つ目は信じられないほど面白いです。
3つ目は、90年代のUnixマスターからの「最高の」トリックのコレクションです(それは私がそれを読んだときです)。この本は再編集され続けているので、多くの新しいナゲットが含まれていると確信しています。
Advanced Bash-Scripting Guide には豊富な優れた情報があり、最新の状態に保つために頻繁に更新されます。
それを学ぶ方法:コマンドラインに恋をする。定期的に使用し、manページを頻繁にプルアップしてください。頻繁に、さえ。私が最初にスクリプトを学んだとき、man bash
と入力した回数を数えることができませんでした。また、別のコマンドのマニュアルページを開いた回数も数えられませんでした。
私は監視ツールを書くことによってそれを学びました。 sshを介して多数のマシンに接続し、稼働時間、負荷、アクティブな接続の数、メモリ使用率などのデータを収集します。私のローカルマシンでは、そのデータがテキストテーブルとして表示されます。
私は、「Unixプログラミング環境」に関するMiguelの2番目の推奨事項です。それは本当に古いですが、私がシェルについて知っているほとんどすべてをどのように学んだか、そしてそのとても古いので、Amazonでほんの数ドルでそれを手に入れることができます: http://is.Gd/eiSn6
本やマニュアルを見つけて、選択したシェルをプログラミング言語のように扱ってください。 (まあ、多分cshではない...)
手始めに、Bash Shell、Bourne Shell、csh、zshなどを使用しているかどうかを確認する方法を学びます。これらのいくつかはCとC++のように互いに似ており、一見異なります。したがって、どちらと戦っているのかを知ることは、特定の状況で実際に役立つ例とマニュアルを見つけるのに役立ちます。