序文
私たちはしばしば学ぶために何を学ぶために最後で、その後のLinux、多くの人は、Linuxを学ぶためにそれを言うまたはLinuxを学ぶべきであると言われて聞いて?
なぜLinuxのを学びます
あなたが学びたい理由で、何の答え、見てみましょうを学習する前に。まず、我々は多くのサーバーは、Linuxシステムを使用していることであると認識する必要がありますが、Linuxの基本的な使用を理解せず、開発者やサーバアプリケーションのメンテナとして、どのように開発するか、またはそれを維持するために?
もちろん、また可能あなたは、Linuxの背の高いに聞いたこと、または(Windowsユーザーは、ナイフを下に置く)開発者に、より親しみやすいLinuxは、これは余談であること。
私の意見では、主に二つの理由のためにLinuxを学びます
-
使用標準C / C ++は、 書き込みアプリケーションにLinux上で実行すること
-
このようPythonやJavaのWebサービスプログラムとしてLinux上で展開されたアプリケーションの書き込み、
-
それをチェックアウト。我々はすべて知っているように、Linuxのオープンソースは、窓はそうではありません。
Pythonのために、それは彼らが実際にLinux用の需要、Javaは、Java仮想マシンを持って、Pythonインタプリタを持っているが、高C / C ++来るではありません。そうであっても、Linuxのは、Python / Java開発者が学ぶことは価値があります。あなたはC / C ++開発を行っているので、Linuxは必須である場合は、現在それによって支配恐怖VC6を覚えていますか?
Linuxの学習方向
そして、一般的には、Linuxはそれを学ぶためには何かを学ぶために、言いましたか?異なる方向に、コンテンツを学習するように略いくつかの方向に分割され、異なっています。
-
運用・保守、Linuxサーバのメンテナンス
-
アプリケーション開発、アプリケーション開発のLinux
-
低レベルの開発
私自身は、方向のためのLinuxアプリケーションの開発、運用・保守を行うため、基本的な方向を約だけで簡単にここでは、非常に理解していません。
主な操作とメンテナンスの必要性は、あなたが考えることができる、などの基本的なLinuxサーバの展開、監視、構成、管理を学ぶために、これらのマシンは、あなたが、チューブ、7 * 24時間を行うには徒歩でライブラリを削除しないことに、通常のサービスを(保護するために行きます)、良い点あなたの友人の7月24日運用・保守はそう。友達にも正しいか私とサプリメントへのメッセージの運用・保守を歓迎しました。
下層の現像uboot、このような基礎となるカーネル関連コンテンツとしてのファイルシステムを理解する必要性が、主な仕事は、カーネルモジュールのカスタマイズ(例えば、メモリ管理、プロセススケジューリングなど)などのファイルシステム、ドライバ開発を切断含むことができます。全体的に、基本的な開発要件は比較的高いです。
アプリケーション開発には、どのように位置Linuxアプリケーションの問題へとそうで、Linux上で動作するアプリケーションを開発する方法を学ぶための自然な必要性です。
出典:公共プログラミング真珠[いいえ]
著者:ミスターライ
Webサイトします。https://www.yanbinghu.com
どのようなLinuxのアプリケーション開発研究
Linuxはコマンドベースに学習の多くをすること、ひいてはなぜPilipalaはそんなにノックする必要があり、さえ感じる完全なものに、少しマウスポイントを退屈早期に疑問を学ぶのだろうか?ここでは、追加することを歓迎している2つの理由は、以下のとおりです。
-
資源の理由から、Linuxサーバの大半グラフィカルインターフェイスなし
-
容易に自動化されたコマンドライン、スクリプトへの書き込みの一連の操作の代わりに、手動で
そして私はいくつかの段階にそれを分けて学習です。
-
基本的な使用
-
開発とデバッグ
-
システムの理解
これらの3つの段階が、知識の蓄積の要件と同じではありませんが、全体的に厳密に区別を持っていませんでした。
ウィンドウのクラス、そして、あなたは何のウィンドウを学ぶために勉強しますか?
-
スイッチ?
-
アンインストールソフトウェアをインストールしますか?このようなビデオプレーヤー、音楽プレーヤーのインストールなど(あなたはこのようなものをインストールしたい理由は?)。
-
どのようにオープンソフトウェアにインストールされていますか?あなたは、インターネットブラウザを開くと、エディタ書かれた文書を開きます
-
どのようにあなたのデータを保存するには?移動、作成、削除、など
-
オフィスソフトウェアを使用する方法
-
......
意図的に学ぶために行くされていない考えていないようでしたか?
だから、Linuxはまた、類似している学習のため、これらの最も一般的には、使用することを学ぶことです、
-
どのようにスイッチへ
-
どのようにインターネット
-
コマンドラインを開く方法
-
コマンドラインを使用してソフトウェアのインストールをアンインストールする方法
-
どのようにテキスト編集に
-
、移動、削除ファイルを作成する方法
-
ファイル解凍し、ファイルの内容を表示する方法
-
......
この段階では、コマンドラインへの変換グラフィカルインタフェースから最も困難です。
その後の第二段階は、あなたが学ぶ必要があります:
-
Linuxのアプリケーションを作成する方法
-
あなたのプログラムをコンパイルまたはビルドする方法
-
あなたのプログラムを実行する方法
-
どのようにロケータバグ
第三段階は、長い学習プロセスが必要であるが、彼らには、サービスの開発のためのものです:
-
すべてがファイルであることを理解し、実践
-
ELFファイル、Linuxのメインの実行可能ファイル形式
-
などのプロセスのスケジューリング、メモリ管理、仮想メモリ、ファイルシステム、などのLinuxの主要なメカニズムの基本的な原理は、書き込みLinuxアプリケーションから、どのようにプラットフォーム、それの主なメカニズムを理解していないだろうか?
より困難な問題は、より多くのこれらの基本的な知識を必要とします。
この記事はから来ている:公共プログラミング真珠[いいえ]
方法を学ぶために?
私たちは、私の個人的な勧告を与えるためだけにここに、同じ、すべての人の状況は同じではありませんである私たちの最大の関心事になりました。
第一段階では、最初のような小さな目標を設定することができます(ゲームをプレイしていても)いくつかの時間のためのLinuxの下で、あなたの毎日の活動を行うことを学ぶ、ドキュメント、動画を見ると、その上の書き込みなどを、。また、お勧め:
-
彼らは解決しやすい問題が発生したとき、などのUbuntu、CentOSの、として、主流のリリースを選択
-
あなたがそれを投げると、仮想マシンがLinux環境ので、ウィンドウ内に設置しました
この時間の間に、あなたが知っておく必要があるかもしれません
-
apt-getまたはyumをインストールし使用するか、アンインストールソフトウェア
-
使用タール、解凍、郵便番号、GZ extractコマンド、他のインストールパッケージ
-
動作環境を理解し、コマンドを実行することを学ぶ方法
ここでは、掘削されたインターネットまたは買いの本を介した学習教材を検索することができます。あなたは仮想マシンまたはドッキングウィンドウをインストールしたくない場合は、数介しすることができ、オンラインでのLinuxを経験します。
第二段階は、主にも参照することができ、ここでコマンドを学習し、非常に多くを学ぶために、物事のこの段階で、メインステージである「鳥兄弟のLinuxプライベートキッチン。」しかし、学ぶためのオブジェクトを保持しているお勧めの初期段階ではあるのLinuxでの完全なプログラムを書く方法をあなたが学ぶ必要があるこれを達成するために、
-
CDタッチCPのMVのRM LS、見つける、ディレクトリ変更、作成、コピー、移動、削除、表示、検索、など
-
ライト・コードへのvi / vimのは、https://www.openvim.com/sオンライントレーニングサイトがあります
-
コンパイルされたコードをGCC、後者は、メイクファイルcmakeのビルドツールなどを習得する必要があるかもしれません
-
バージョン管理は、Gitは現在、必要なツールであり、学習教材は、プロのgit gitのチュートリアルや公式を推奨しました
-
gdbデバッガは、「参照GDBデバッグガイド」
-
最も基本的な印刷を観察するだけでなく、問題を見つけて、だけでなく、知っておく必要がありますどのように表示するプロセス情報(PS)に、(netstatコマンドSS)ネットワーク接続情報を表示する方法を強制的にプロセス(キルを-9)を停止する方法を、ケースファイルのオープンプロセスを表示する方法(lsofは)、どのように多くの姿勢ビューのテキストファイルに(猫、尾、より多くの、より少ない ) というように。
-
スクリプトは、Linuxの学習、学習スクリプトをシェルする必要があり、それはあなたが多くの場合、文句なしに物事を行うことができ、前提はあなたが調子よということです。「Linuxのコマンドラインシェルおよびスクリプト聖書は、」1つのチュートリアルをチューニングされています。また、いくつかの「あり必携シェル知識」
このコマンドは、非常に多くのプロセスに関与しているが、それぞれの細かい学校に行くことをお勧めしませんまず、このようなコマンドがあることができることを知っているあなたはすぐに使用を見つける必要があるときなどによると、その後、manコマンドのマニュアルを表示します。要するに、あなたの目標は順調に発展してデバッグを行うことであることを覚えて、この目標を達成するために、その過程であなた自然にゆっくりと物事の多くと接触しているでしょう。
しかし、それは、Linuxアプリケーションの開発は、Linuxでの書き込みコードに持っていないことに留意する必要がある、あなたは、WindowsのWindowsとLinux、その後、使い慣れたツール間で共有ファイルへのサンバや他のツールを使用することを選択することもできますし、より多くのことを考えます強力な書き込みコードに適切なツール、デバッグは、Linuxでコンパイルすることができます。もちろん、あなたもLinuxでIDEを選択することができ、またはvimの曲は可能ものです。
第三段階の要件は、することにより、このような「Linuxカーネルの設計と実装」として、その後のことができます、あなたは(などなど、「現代オペレーティングシステム」として、「オペレーティングシステム」、)オペレーティングシステムに関連するコースを研究している必要があります。この時間が比較的高く、概念学習関連の他の本「Linuxカーネルを理解する」「で、深さのLinuxカーネルアーキテクチャ」は、また、ソースコードを読むことによって、詳細な調査を行うことができ、最終的に、あなたは、ヒープとスタック、メモリ管理、プロセススケジューリング、仮想メモリ、ファイルシステム、などを理解する必要があります関連する知識。
もちろん、学ぶためのコマンドは、例えば、readelfが、NM、IPCS、iostatの、のために、また必要不可欠である objdumpの、無料、CHRT、PMAP、アップタイム、トップ、pidstat ようにと。
これらは、Linux関連の学習コンテンツと三相の勧告され、実際には同期学習他の関連コンテンツは、コンテンツ関連データ構造とアルゴリズム、システムは、プログラミング、コンピュータネットワークや他の学習を含め、また非常に重要であり、それ以外の結果はまだコマンドの多くを見ます無知に見えるように強制されます。
最後に、それはお勧め、その後の練習です。
概要
私の限られた知識に限られ、上記参照のための個人的な意見や提案が唯一、Linuxを勉強したい理由についてウェルカムメッセージの話は、何を学んでいるのですか?
推奨読書:
より多くのLinux / C / C ++ / Pythonの/ゴー/アルゴリズム/ツールおよびその他のオリジナル技術記事のための社会的関心のプログラミング真珠[番号]。背景古典的な電子書籍やビデオリソースへの無料アクセス