最高のLinuxチュートリアル

Linuxは、Linuxカーネルを中心に構築されたフリーでオープンソースのソフトウェアオペレーティングシステムディストリビューションのファミリーを広く意味する名前です。

Linuxカーネルは、すべてのLinuxディストリビューションが使用するオペレーティングシステムカーネルであり、1991年9月17日にLinuxTorvaldsによって最初にリリースされました。

多くのLinuxディストリビューションでは、名前に「Linux」という単語が使用されています。Free Software Foundationは、GNU / Linuxという名前を使用して、オペレーティングシステムファミリと特定のディストリビューションを指し、ほとんどのLinuxディストリビューションはLinuxカーネルだけでなく、カーネルだけでなく共通していることを強調しています。多数のユーティリティとライブラリがあり、その大部分はGNUプロジェクトからのものです。

Linuxの開発は、フリーでオープンソースのソフトウェアコラボレーションの最も顕著な例の1つです。基礎となるソースコードは、GNU General Public Licenseなどのそれぞれのライセンスの条件の下で、誰でも商業的または非商業的に使用、変更、および配布することができます。

Linuxは、MINIXオペレーティングシステムのクローンとして最初に開始されました。オープンソースの貢献者がカーネルに追加され、ハードウェアの互換性が拡張されました。Linuxのハードウェアサポートと無料ライセンスにより、Linuxは90年代半ばにデスクトップおよびサーバーコンピューティングに人気のある選択肢となりました。今日、Linuxは世界で最も人気のあるオペレーティングシステムです。これは、世界のサーバーの90%に電力を供給し、Googleで人気のあるAndroidオペレーティングシステムの基盤となっています。

DebianやUbuntuなど、パーソナルコンピュータで実行するように設計されたLinuxのバージョンも多数あります。さらに重要なことに、これらの異なるバージョンのLinux(ディストリビューションと呼ばれる)を使用すると、ユーザーはさまざまな程度のパーソナライズとオペレーティングシステムの制御を行うことができます。これは、ユーザーが自分の要望やニーズに基づいてLinuxディストリビューションを選択できることを意味します。

高度な侵入テストと監査に使用されるKaliLinuxもあります。700以上のツールがあり、効率的に使用するには、コマンドラインの使用方法を知っている必要があります。初心者にはお勧めできません。

Linuxの人気のあるディストリビューションは次のとおりです。

  • Ubuntu
  • Linux Mint
  • CentOS
  • RHEL
  • Arch Linux

パッケージタイプは高レベルのディストリビューションに分割されており、Debian(.deb)とRed Hat(.rpm)が最も一般的に使用されている2つです。ただし、Pacman(Arch Linuxで使用)やPetGet(Puppy Linux)などの他にもあります。

Linuxディストリビューションもすべての形状とサイズで提供され、すべてではないにしてもほとんどの場合、「ライブCD」環境と呼ばれる環境でCD / DVDを介して直接実行する機能、またはマザーボードがUSBからの起動をサポートしている場合はUSBを介して直接実行する機能を提供します。

Linuxの詳細については、freeCodeCampの創設者であるQuincyLarsonの記事「Linuxis25」を参照してください。Linuxに関する25の驚くべき事実で祝いましょう。

そこにある最高のLinuxチュートリアルのいくつか

最も一般的なコマンドの多くをカバーするこのコマンドラインクラッシュコースを見ることができます。

または、さまざまなコマンドラインツールとコマンドをカバーするBrianaのBashチュートリアル。

Linuxのいくつかの利点

継続的かつ効率的な改善。

Linuxの更新は、開発者のグローバルなコラボレーションを通じて行われます。このタイプのサポートにより、バグが文書化され、はるかに迅速に解決されます。また、開発者はエンドユーザーでもあるため、ユーザーのニーズを満たし、適切に実行されるように設計されていることを確認するための適切な動機があります。

リスクが少ない。

ソフトウェアはそれが与えられたサポートと同じくらい良いだけです。これを想像してみてください。ソフトウェアの一部がXYZ社によって作成され、その後、破産したり、サポートを停止することを決定した別の会社に買収されたりします。ソフトウェアには改善や修正が見られないため、その有用性は必然的に侵食されて消滅します。

Linuxは単一のエンティティまたは会社によって所有および運営されていないため、このような状況は発生しません。それ以上に、誰でも自由にそれを手に入れて貢献することができます。Linuxの圧倒的な人気と使用により、Linuxのサポートが失われるリスクはほとんどありません。

軽量。

システム上で実行するためのLinuxの要件は、WindowsやMacの要件よりもはるかに低くなっています。適切なLinuxディストリビューションがあれば、ユーザーは控えめなセットアップを行うことができ、Linuxはシステムに価値をもたらします。ディスク容量とメモリフットプリントも低くなる可能性があります。PentiumファミリにまでさかのぼるCPUに適したディストリビューションもあれば、128MBのRAMとほぼ同じ量のディスクスペースが必要なディストリビューションもあります。

初心者から上級ユーザーまで、詳細に文書化されています。

Linuxには、知識と支援を喜んで共有する人々の活発なコミュニティがあります(FreeCodeCampのように!)。Linuxには、コマンド、ライブラリ、標準などに関するドキュメントを提供するコマンドラインユーティリティが組み込まれています(マニュアルページと情報ページ)。また、Linux Documentation Project、LinuxQuestions、ServerFaultなどのさまざまな形式でインターネット上で利用可能なドキュメントがあります。 、およびThe ArchWiki。

ドキュメントに加えて、AskUbuntuやRedditのr / linuxquestionsなど、初心者が質問できる便利で歓迎的なコミュニティがたくさんあります。

IT業界で認められている自習型の認定資格があります(CompTIAのLinux +およびLPIのLPICテスト)。必須ではありませんが、Cを学習すると、ユーザーはLinuxコードを確認して、何が実行されているかを確認できます。

ビジネス支援。

世界は重要なシステムをサポートするLinuxに依存しているため、需要がなくなることはありません。これは、Linuxへの貢献を支援する人々だけでなく、Linuxをサポートする人々(Jobs!)にとっても重要です。LinuxのサポートはITにおいてより重要になりますが、開発者としての知識を持っていると、Linuxはより丸みを帯びて便利になります(つまり、フルスタック開発者)。

他のオペレーティングシステムとの相互運用性。

Linuxは、NTFSおよびHFS +ファイルシステム(WindowsおよびMacで使用)のドライバーサポートと、Windowsマシンでのファイル/印刷サービスのサポート用のSambaを備えています。

より良いハードウェアサポート。

他のOSの場合、通常、ユーザーは製造元のWebサイトにアクセスして、さまざまなタイプのハードウェアのドライバーサポートを取得する必要があります。Linuxカーネルは、プラグアンドプレイを介してハードウェアの大部分を自動的にサポートします(主にオープンソースコミュニティのため)。一部のメーカーは、ディストリビューションのソフトウェアリポジトリを介して、または提供されているバイナリを手動でインストールすることで簡単にインストールできる独自のドライバのLinuxバージョンも開発しています。

ソフトウェアの可用性/互換性。

Linuxには、利用可能なアプリケーションの豊富なセットがあります。Officeアプリケーション、Webブラウザ(GoogleChromeおよびMozillaFirefox)、メディアプレーヤー、画像/ビデオ処理などがあります。ビデオゲームの場合、Steamは多くのサポートされているゲームがあるLinuxで実行されます。WindowsアプリケーションはLinux内でも実行できます(詳細については、Wineを参照してください)。

開発用に構築されています。

Linuxはもともと開発者によって開発者のために作られたので、彼らは彼らが使用するようになるツールを完成させるために多くの時間と労力を費やしてきました。

プログラミングと管理の両方のさまざまなタスクに使用できる強力なシェルを備えています(BashはLinuxで最も一般的で、デフォルトの選択肢です)。

Linuxにはgeditに相当する「メモ帳」がありますが、VimやEmacsなどのより強力でカスタマイズ可能なテキストベースのエディターも提供します(推奨されるLinuxユーザーはこれらのエディターの少なくとも1つを知っている必要があります)。

いくつか例を挙げると、Atom、Aptana / Eclipse、Sublime、KomodoIDEなどのWeb開発に利用できるIDEもあります。Linuxは、Apacheなどのソフトウェアを利用してテスト用のローカルWebサーバー、バージョン管理用のGit、およびNode.js / Ruby / SaSS / Herokuなどの他のツール/言語をすべてLinuxでサポートし、次のことができるコマンドラインツールを使用できます。 GUIの代わりに使用されます。

カスタマイズ可能。

Linuxでは、ユーザーはデスクトップのデザインやテーマを変更したり、ウィジェットを追加したりできます。これらの変更は、デスクトップ環境で行うことができます。環境が異なれば、オプションのセットも異なります。人気のあるものには、KDE、GNOME、XFCE、Pantheonがあります。

それは無料です。

それを打ち負かすのは難しい!

Linux入門

ディストリビューションの選択

今日、選択できるLinuxディストリビューションにはさまざまな種類があり、Linuxの世界では1つを選択することが大きな関心事です。使いやすいOSを考慮すると、このカテゴリの上位の犬は次のとおりです。

  • Ubuntu-安定したDebianシステムの派生物であるUbuntuは、使いやすく最新の環境で成長します。
  • Mint-UbuntuとDebianに基づいており、このOSには、UbuntuのPPA互換性、aptパッケージマネージャーなどの優れた機能があります。ベースのミントディストリビューションは、Windowsを思い出させます。これは、Windowsを使用するユーザーにとって優れた特性です。
  • Trisquel-プロプライエタリソフトウェアを避け、完全にフリーソフトウェアのみを利用することに焦点を当てたUbuntuから派生したディストリビューション。Trisquelは、フリーソフトウェアファウンデーション(FSF)によって承認されています。

インストール

ほとんどのLinuxディストリビューションは、インストールの各ステップの間にすべての情報が表示されるため、インストールが非常に簡単です。

注意すべき重要なステップの1つは、新しいLinuxディストリビューションをインストールする場所を決定するときです。最初のユーザーの場合は、「ガイド付き」オプションを選択することをお勧めします。これにより、すべての作業が自動的に行われます。

すべての手順を注意深く読み、新しいディストリビューション用にHDDにいくらかのスペースを残すことを忘れないでください-最小で約30Gbがあればいいと思います。

恐ろしいターミナル

Linuxの端末は恐れることはありません。実際、練習すれば非常に使いやすく、日常のタスクを大幅に自動化できます。

Debian / Ubuntuおよびその派生物では、CLI(Comman Line Interface)を開くためのショートカットは「Ctrl + Alt + T」です。ターミナルを開いて、いくつかのコマンドを試してみましょう。

cd(ディレクトリの変更)-cdコマンドは、Linuxのコマンドラインで最もよく使用するコマンドの1つです。これにより、作業ディレクトリを変更できます。これを使用して、ファイルシステムの階層内を移動します。

cd

cdコマンドを単独で使用すると、現在のディレクトリが「/ home / mark」のように「/ home / username」にあるユーザーのホームディレクトリに変更されます。

ls(リスト)-このコマンドは、現在のディレクトリのコンテンツを一覧表示します。また、ファイル情報の一覧表示にも使用できます。

ls

これで、自宅にディレクトリが表示されます。

10シンプルで便利なLinuxコマンド

ここにリストされているコマンドは基本的なものであり、すぐに始めるのに役立ちます。しかし、それらは強力でもあり、Linuxの専門知識が拡大しても引き続き有用です。

  1. manそれに続くコマンドのマニュアルを表示します。これは、なじみのないコマンドがどのように機能するかを理解しようとするときに非常に役立ちます。たとえばman lslsコマンドについて知っておく必要があるすべての情報を入力します。q終了するように入力します。
  2. echoこれにより、指定したテキストが取得され、画面、ファイル、または別のコマンドのどこかに送信されます。例:echo "hello!"
  3. catテキストファイルの内容を表示するには、と入力するだけですcat myfile
  4. findそれはそれが言うことをします、そしてそれはそれが得意です。これを使用して、パス、サイズ、日付、所有者、およびその他の便利なフィルターの束でファイルを検索します。例:find . -type f -mtime -1h # List files in this directory modified in the past hour
  5. date何時か知りたいときに日付を入力するだけです。例:date "+It's %l:%m%p on %A"。スクリプトで使用して、現在の日付に従ってファイルに名前を付けます。
  6. lsこのディレクトリには何がありますか?lsいくつかの便利なフラグと組み合わせて、ディレクトリの内容を日付とサイズで表示および並べ替えます。また、出力をフォーマットするための多くのオプションがあります。
  7. pwdここはどこ?Linuxは、特に何かを削除するときに、容赦がない場合があります。コマンドを発行する前に、自分がどこにいるかを確認してください。
  8. rmこのコマンドは、ディレクトリではなくファイルを削除します。rm file.txt「file.txt」という名前のファイルが存在し、現在のディレクトリにある限り、そのファイルは削除されます。
  9. mvこのコマンドを使用して、コマンドラインでファイルを移動します。このmvコマンドを使用して、ファイルの名前を変更することもできます。たとえば、ファイルの名前を「text」から「new」に変更する場合は、を実行するだけmv text newです。
  10. mailLinuxのメールプログラムは見栄えが良くありませんが、非常に役立ちます。メッセージを作成し、テキスト、受信者、添付ファイルをすべて1つのコマンドで追加できます。例:echo "We're having a great time." | mail -s "Wish you were here!" -A postcard.png -t [email protected]
  11. cut区切り文字が含まれる文字列がある場合は、を使用cutして特定のフィールドを除外します。例:echo "this, that, and the other" | cut -d, -f2 # "that"
  12. grep特定の文字列を含むテキスト行を検索するには、grepを使用します。例:grep 'root' /etc/passwd # root:x:0:0:root:/root:/bin/bash
  13. sedsedテキストの一部の部分文字列を検索して変更するために使用します。例:echo "this, that, and the other" | sed 's/that/those/' # "this, those, and the other"
  14. shutdownシステムをシャットダウンし、電源をオフにします。例:shutdown -h nowシステムをすぐにシャットダウンします。shutdown -h +55分後にシステムをシャットダウンします。
  15. lessless [filename]ファイルの内容を表示し、それらをナビゲートするために使用します。デフォルトでlessは、ファイルをページごとに調べます。

これらのコマンドは、スクリプトおよびコマンドラインで使用してください。これらはすべて非常に強力なコマンドであり、Linuxのメインページにはそれぞれについてより多くの情報があります。

また、システム管理者が使用する重要なコマンドは次のとおりです。

  1. uptime :システムの実行時間と現在ログインしているユーザーの数を示します。また、1、5、および15分間隔の負荷平均も表示します。
  2. w:現在ログインしているユーザーとそのプロセスを負荷平均とともに表示します。ログイン名、tty名、リモートホスト、ログイン時間、アイドル時間、JCPU、PCPU、コマンド、およびプロセスも表示されます。
  3. users:現在ログインしているユーザーを表示します。このコマンドには、ヘルプとバージョン以外のパラメーターはありません。
  4. who:ユーザー名、日付、時刻、ホスト情報を返すだけです。whoコマンドはwコマンドに似ています。wとは異なり、ユーザーが行っていることを印刷しないのは誰ですか。
  5. whoami:現在のユーザーの名前を出力します。「whoami」を使用して、現在のユーザーを表示することもできます。rootとしてログインしている場合、sudoコマンド「whoami」を使用すると、rootが現在のユーザーとして返されます。ログインしている正確なユーザーを知りたい場合は、「whoami」を使用してください。
  6. ls :ファイルのリストを人間が読める形式で表示します。
  7. crontab :crontabコマンドと-lオプションを使用して、現在のユーザーのスケジュールされたジョブを一覧表示します。
  8. less:ファイルをすばやく表示できます。ページを上下に移動できます。'q'を押して、lessウィンドウを終了します。
  9. more:ファイルをすばやく表示し、詳細をパーセンテージで表示できます。ページを上下に移動できます。「q」を押して、その他のウィンドウを終了します。
  10. cp :同じモードを維持しながら、ファイルをソースから宛先にコピーします。

これらは、adiminstratorによって頻繁に使用されるコマンドのリストです。これは完全なリストではありませんが、必要なときに参照するコマンドのコンパクトなリストです。

すべてのLinuxユーザーが知っておくべき一般的な用語。

  • Distro:「ディストリビューション」の短縮語です。ディストリビューションは、Redhat、Fedora、Ubuntu、DebianなどのGNU / Linuxオペレーティングシステムの特定のブランドです。
  • シェル:これは、コマンド入力を読み取り、指定されたコマンドを実行するプログラムです。カーソルの前にあるドル記号( `$ ')は、シェルプロンプトと呼ばれます。これは、システムの準備ができており、コマンド形式の入力を待機していることを示しています。
  • CLI:コマンドラインインターフェイスの略です。これは、ユーザーがテキストコマンドを使用してLinuxOSと対話するために必要なサービスを提供するシンプルなユーザーインターフェイスです。これにより、ユーザーは複雑なハードウェアの詳細を知る必要がなくなります。
  • GUI:グラフィックユーザーインターフェイスの略です。これは、ポイントアンドクリックを可能にするウィンドウ、アイコン、画像(一般にグラフィックス)で構成されるLinuxシステムの一部です。
  • ターミナル: Linuxシェルにアクセスするために使用されるアプリケーションです。
  • カーネル:これはLinuxシステムのコアであり、「頭脳」と呼ぶことができます。カーネルは、コンピューターのリソースを制御し、コンピューターのハードウェアと直接対話することによって、それらがどのように使用されるかを決定します。
  • Tux: Linuxの公式マスコット。これは通常Linuxに関連付けられているペンギンです。黄色と黒のペンギンをオンラインで見たことがあれば、タックスを見たことがあるでしょう。
  • ルート:スーパーユーザーとも呼ばれ、Linuxマシンの管理者の「デフォルト」ユーザー名です。通常、Linuxターミナルでは「#」記号で表されます。
  • コマンド: Linuxマシンに(ターミナルに入力することによって)何をすべきか(つまり、必要な結果を得るために)指示するテキスト入力または指示です。
  • リポジトリ:リポジトリ(または略して「リポジトリ」)は、通常オンラインでホストされるディストリビューションのソフトウェアパッケージのコレクションです。ソフトウェアプログラムは、パッケージマネージャーに追加されたときに、ディストリビューションによって提供されるデフォルトのリポジトリとサードパーティのリポジトリの両方からインストールできます。
  • パッケージマネージャー:アプリやその他のアプリケーション管理機能を検索、インストール、更新、削除できるようにするソフトウェアプログラムです。すべてのディストリビューションには、エンドパッケージマネージャー(Ubuntuソフトウェアセンターなど)のグラフィックと、「apt-get」などのコマンドラインパッケージ管理ツールがあります。
  • 依存関係:依存関係は、インストールするプログラムが実行する必要のあるソフトウェアプログラムです。プログラムがインストールされると、デフォルトのパッケージマネージャーに依存関係のリストが表示され、既にインストールされているかどうかが確認され、インストールされていない場合はリポジトリからダウンロードされます。