シェルコマンドを学び、中級レベルに到達しようとしています。
オンラインLinuxフォーラムでは、高度なLinuxユーザーになるにはスクリプトを知る必要があることに一般的に同意します。私は個人的にオペレーティングシステムのスクリプトを書いた経験がなく、誇大広告が何であるかわかりません。
私が理解しているように、これはシステム管理者が一連のコピーコマンドを実行してバックアップを作成する便利な方法です。
この理解は正しいですか?スクリプトを実行するために一般的に使用される高度なタスクの種類は何ですか?
1から10までの尺度では、1は過大評価され、10はすべてのLinux問題に対する万能歯磨き粉です。 Linuxスクリプトはどこにありますか?
答え1
スクリプトはプログラミングの一形態に過ぎません。それだけだ、魔法はない。
今日、フル機能の最新のLinuxディストリビューションを使用すると、ほぼ排他的にグラフィカルインターフェイスを使用してシステムを管理できます。これらのツールが必要な作業を実行している場合は本当に大丈夫です。
これで、これらのインターフェイスが実行する必要があるタスクを扱わない場合、またはシェルを介してのみアクセスできるシステムでスリープしている間にバックグラウンドでインターフェイスを実行する必要があります。それから他のものを使用する必要があります。
Unix型システムでは、「その他の項目」の始点はシェルとシェルスクリプトです。
Linuxシステムは、シェル用の非常に大きなユーティリティツールボックスを提供します。ファイル管理(ファイルのコピー、移動、検索、比較など)とテキストファイルの操作(印刷、変更、比較、分析など)の内容は非常に一般的です。なぜなら、Unixファミリーシステムはすべてファイルとほとんどのソフトウェアに関するものだからです。 (およびオペレーティングシステム))設定ファイルはプレーンテキストです。
必要に応じてこれらのことを学び始めます。次に、関心のあるツール(メディア変換、データベース、Webサイト管理、システム監視...リストは無限)を調べます。
バックアップは自動化が非常に必要な作業の1つです。ただし、すべての反復操作は自動化され、自動化されなければなりません。
メディアプレーヤーで使用するためにすべてのFLACファイルをMP3に変換する必要がありますか?スクリプトを一度作成すると、次回は単一のコマンドでスクリプトを作成できます。
ウェブサイトにアップロードする最近の休暇の写真のサムネイルが必要ですか?スクリプトを書く! (そこにいる間はWebサイトアップデートスクリプトも作成してください。)
古いログファイルをクリーンアップする必要がありますか?スクリプトを作成してください。とにかく来週に戻らなければなりません。
サーバーファームでパフォーマンス指標の美しいグラフを作成する必要がありますか?データ収集とグラフ生成をスクリプト化すると、必要に応じて最新のデータを取得できます。
(上記のすべての場合に既存のツールを使用して重い作業を実行する場合、スクリプトは次のように見えるようにすべてのツールを1つにまとめる必要があります。あなた彼らがそうしたいと思います。 )
シェルやLinuxだけでなく、スクリプト言語を知ることは、他のプログラミング言語を知っているのと同じです。もっと知るほど、必要に応じて使用できる巨大なツールセットを持つことになり、より効率的になります。それは何かを達成することを選択します。
「誇張された」要素はありません。必要な作業がある場合は、ツールボックスから最適なツールを選択して作業を完了してください。 Unix型システムでは、ツールボックスにシェルといくつかのスクリプト言語がないと、多くの喜びが見逃されます。
ただし、グラフィカルインターフェイスを使用して必要なすべての操作を実行できる場合は問題ありません。
答え2
いいえ、これらの理解は正しくありません。「スクリプト」を「Linuxでの使いやすさ」に関連付けるために1〜10の尺度を使用することは意味がありません。
スクリプトを管理者がバックアップを自動化できると誤って分類することで、私の車にスペアタイヤを持ち歩くのはどれほど便利ですか?」
Linuxシステムのスクリプトは、車を一緒に固定するすべてのナット、ボルト、ロッド、ブラケット、クランプと溶接、ターゲットを目的地に移動するすべてのワイヤ、ホース、ギア、シャフト、およびほとんどの機械の実行に近いです。それを組み立てる工場です。
スクリプト技術を持たないLinux管理者は、レンチのない自動車整備士のようなものです。おそらく彼らは車を運転してダッシュボードのボタンを押すかもしれませんが、ラジオをプログラムできるからといって整備士になるわけではありません。これにはツールが必要です。
答え3
技術的な内容ではない質問なので、技術的な内容はできるだけ省略してスクリプトに対する私の考えを書いてみましょう。
1から10までの尺度:あなたがしたいことに応じて5から10の間であると言いたいです。
コンピュータが数分でできることを実行するのに数時間または数日を費やさないのに少し役に立つものから必要なものまでさまざまです。スクリプトの重要な点は、特に繰り返し(退屈な)作業や複雑な作業(オタナや邪魔によって人的エラーが発生しやすく、重要なステップを忘れやすい作業)を自動化することです。
(IMO、スクリプティングの2番目のポイントは、有用なトラブルシューティング技術を開発し、問題を論理的かつ体系的に考え、分析する練習です。
おそらく、Linuxの初心者としてスクリプトについて知っておくべき最も重要なことは、スクリプトがしばしば同じことをする必要があるときはいつでも同じコマンドシーケンスを繰り返し入力する必要がある迷惑なことから始まります。したがって、これらのコマンドをファイルに保存し、最初のスクリプトを作成しました。
後でスクリプトがコマンドラインから引数を取得するように変更できます(ハードコードされたファイル名などを使用する代わりに)。後で、状況に応じて、スクリプトが2つ以上の異なるタスクのうちの1つを実行したい場合があります。 then;else、Case文、while、forループなど
スクリプトを学ぶことは段階的なプロセスです。小さくてシンプルなものから始めて、徐々に複雑なことをする方法を学ぶことができます。簡単なタスクを実行する方法を学ぶことは、テキストエディタにコマンドを入力して保存する方法を学ぶのと同じくらい簡単です。 「うまく」するには数ヶ月または数年かかることがあり、真にマスターするには一生かかることがあります。私は20年以上にわたってawk、sed、grepなどの一般的なLinuxツールを使用してshスクリプトとbashスクリプトを作成してきましたが、まだ新しいものと新しい/改善された作業方法やあいまいですが、非常に便利なツールオプションを学んでいます。 。長年使ってきました。
私はいつも新しいことを学ぶことができるという事実が大好きです。実際、これがスクリプトを書く3番目の理由だと思います。繰り返して退屈な作業がある場合は、これを行うためのスクリプトを作成すると、人的エラーの範囲が大幅に減るだけでなく、作業を実行できるようになります。地獄でできるもっと面白いこと。 2〜3時間で手動でできたことを良いスクリプトを書くのに2〜3時間かかりますが、退屈したり疲れたりすることはありません。ボーナスとして、後で同様の作業を自動化するのに役立つツールもあります。まず第一に、私は将来的に使用できる新しい、興味深いことを学んだり、私のスキルをさらに磨いたことがあります。
答え4
スクリプトはLinux哲学の基本部分です。
Windowsのような逆の状況を例にしてみましょう。簡単に言えば、シェルスクリプトはLinuxとWindowsの違いの3分の1です。
- Linuxはオープンソース。 Windowsではそうではありません。
- Linuxは無料。 Windowsではそうではありません。
- Linuxにはパイプを使用できるように設計されたシェル構造があります。他のコマンドに変換されたコマンド:Linuxコマンドはしばしばより大きなもののコンポーネントになります。台本。 WindowsにはWindowsのみがあります。