Linux オペレーティング システムは、1991 年に Linus Torvalds によって趣味のプロジェクトとして開始されましたが、スーパーコンピューター、Web サーバー、スマートフォン、その他多くのテクノロジーを動かす有力なプレーヤーに成長しました。
Linux は、その安定性、セキュリティ、およびリソースの効率的な使用により好まれています。 Linux の使用と需要はここ数年で拡大しており、この傾向はすぐに止まることはありません。
2021 年に Statista は、 プロの開発者の 47% が Linux を使用していると報告しました。同年の 第 9 回年次オープンソース求人レポートでは、 Linux の開発と管理が、採用担当マネージャーと開発者から 2 番目に需要の高いスキルであることが示されました。
Linux のスキルは、ソフトウェア開発、システム管理、DevOps、ネットワーク管理、セキュリティ エンジニアリング、データ サイエンスなどの分野で非常に重要です。したがって、これらの分野のいずれかに興味がある場合は、Linux のスキルについて面接を受ける可能性があります。
準備を助けるために、Linux 面接で遭遇する可能性が高い主な質問とその回答をいくつか紹介します。
Linuxとは何ですか?
答え :Linux は、1991 年に Linux Torvalds によって開発され、GNU General Public License (GPL) に基づいてリリースされた無料のオープンソース オペレーティング システムです。
Linux を使用する理由
回答 : Linux オペレーティング システムを使用すると、いくつかの利点があります。まず、Linux は安全性が高く、マルウェア攻撃の影響をほぼ完全に受けません。
また、Linux は安定性、信頼性が高く、クラッシュすることがほとんどないため、多くのサーバーで Linux が使用されています。 Linux には軽量で RAM とメモリの消費量が少なく、古いマシンでも使用できるという利点もあります。
何よりも、Linux は無料のオープンソースであり、定期的に更新され、高度にカスタマイズ可能であるため、ユーザーはニーズに合わせてオペレーティング システムのあらゆるものを微調整できます。ハッカー向け、プログラマー向け、さらには一般ユーザー向けに最適化されたさまざまなディストリビューションもあります。
Linux OS の基本コンポーネントは何ですか?
回答: Linux OS は 3 つの基本コンポーネントで構成されています。
- カーネル: これは Linux OS のコアコンポーネントです。これは Linux OS の最下層であり、コンピューターのハードウェアと直接対話します。カーネルは、CPU、メモリ、ストレージなどのハードウェア リソースを割り当てて管理し、OS の他の部分やコンピュータ上で実行されているプログラムにサービスを提供します。
- シェル: これは、ユーザーがオペレーティング システムと対話してプログラムを実行できるようにするコマンド ライン インターフェイスです。ユーザーとカーネル間のインターフェイスとして機能します。ユーザーのコマンドを解釈して実行します。
- アプリケーション: これらのプログラムはオペレーティング システム上で実行され、Web ブラウジング、ワードプロセッサ、音楽再生などの特定の機能を提供します。
カーネル、シェル、アプリケーションが Linux オペレーティング システムを構成します。
Linux の方が安全だと考えられるのはなぜですか?
回答: Linux を安全にする重要な要素は、そのオープンソースの性質です。多くの開発者は定期的に Linux コードを調べており、バグや脆弱性が見つかると Linux フォーラムに提起され、数日で対処されます。
さらに、Linux がアクセス許可と特権を管理する方法により、デフォルトでは root アクセスが通常のユーザーに与えられなくなります。
これにより、ウイルスによる被害が制限されます。ハッカーは多くのユーザーがいるオペレーティング システムをターゲットにすることを好むため、日常ユーザーによる使用数が少ないこともセキュリティに貢献します。
Linux カーネルとは何ですか?
回答: これは、Linux オペレーティング システムの最下層とそのコア コンポーネントです。カーネルは、ハードウェアと Linux OS の他の部分の間に位置します。カーネルはコンピュータのハードウェアと対話し、メモリ、CPU、ストレージなどのハードウェア リソースを管理します。
また、さまざまなタスクやプロセスに必要なリソースが確実に割り当てられ、スムーズかつ効率的に実行されます。
Linux と Unix の違いは何ですか?
回答: Linux は Linus Torvalds によって開発された無料のオープンソース オペレーティング システムですが、Unix は AT&T によって開発されたポータブルで独自のマルチタスク、マルチユーザー オペレーティング システムです。 Linux とは異なり、Unix はオープンソースではありません。
GUIとは何ですか?
回答: グラフィカル ユーザー インターフェイス (GUI) は、ウィンドウ、アイコン、メニュー、ポインター、スクロール バー (WIMPS) などのグラフィカル要素を通じてユーザーがオペレーティング システムと対話できるようにするオペレーティング システムのユーザー インターフェイスです。
グラフィック要素は、マウス、スタイラス、トラックボール、またはタッチ スクリーン上の指などのポインティング デバイスを介して操作されます。
CLIとは何ですか?
回答: コマンド ライン インターフェイス (CLI) は、ユーザーがターミナルにテキスト文字列としてコマンドを入力することによって、コンピューター システムと対話できるようにするテキスト ベースのユーザー インターフェイスです。
コンピュータ システムは、渡されたコマンドを実行するか、要求された情報を表示することによって応答します。
Linux シェルについて説明します 。
回答: Linux シェルは、コマンド ライン インターフェイスを通じて入力されたコマンドを解釈して実行するプログラムで、ユーザーが OS と対話してコンピュータを制御できるようにします。
シェルは人間が判読できる形式でコマンドを受け取り、それをカーネルが理解できる形式に解釈して、実行のためにカーネルに渡します。
Linux のシェルの種類 。
回答: Linux にはいくつかの種類のシェルがあり、それぞれが特定の用途に最適化されています。 Linux のさまざまな種類のシェルには次のものがあります。
- Bourne Shell は sh と表記されます。
- Bash として表される Bourne Again シェル
- C シェルは次のように表されます。 csh として
- ksh として表される KornShell
- Z シェルは zsh として表されます
- 魚 として示されたフレンドリーなインタラクティブシェル
- Debian Almquist シェルは ダッシュ で示されます
- TENEX C シェルは tcsh として示されます
上記は、一般的な Linux シェルの一部です。
シェルスクリプトとは何ですか?
回答: これは、Linux シェルによって実行される一連のコマンドが出現順に記述されたテキスト ファイルです。
シェル スクリプトには、コマンドライン インターフェイスに一度に 1 つずつ入力する必要があるコマンドが含まれています。シェル スクリプトは、反復的なタスクを自動化したり、バッチ ジョブを実行したりする場合に役立ちます。
Linux でのファイル権限について説明します 。
回答: Linux には 3 種類のファイル権限があります。
- 読み取り (r): この権限により、ユーザーはファイルを開いて内容を読み取ったり、ディレクトリの内容を表示したりすることができます。ただし、ユーザーはディレクトリのファイルやコンテンツを変更することはできません。
- 書き込み (w): ファイルに対する書き込み権限により、ユーザーはファイルの内容を変更できます。ディレクトリに対する書き込み権限により、ユーザーはディレクトリ内のファイルを追加、削除、名前変更できます。
- 実行 (x): ユーザーがファイルをプログラムとして実行できるようにします。 Linux では、ユーザーは実行権限を持たない限りプログラムを実行できません。
上記は、Linux オペレーティング システムのファイル タイプを構成します。
Linux でアクセス許可を付与するにはどうすればよいですか?
回答: Linux で権限を付与するには、「モード変更」を意味する chmod コマンドが使用されます。 chmod は、 ファイルまたはディレクトリのアクセス許可を変更するために使用されます。
権限は、グループ (g)、ユーザー (u)、その他 (o)、およびすべてのユーザー (a) を含む、さまざまなユーザーのセットに付与できます。これらのユーザーのアクセス許可は、読み取り (r)、書き込み (w)、および実行 ( x ) アクセス許可を追加 (+) または減算 (-) することで付与できます。
付与権限を変更する構文は次のとおりです。
chmod permissions file/directory-name
Linux でファイルが保存されている場所を見つける方法?
回答: Linux でファイルが保存されている場所を見つけるには、まず次のコマンドを実行します。
find <fileName>
使用可能なディレクトリでファイルを検索します。入力した fileName のファイルが見つかった場合は、次のコマンドを実行できます。
realpath <fileName>
ファイルの保存場所への絶対パスを検索します。
Linux でディレクトリを削除するにはどうすればよいですか?
回答: Linux でディレクトリを削除するには、 rmdir コマンドを使用できます。このコマンドは「remove directory」の略で、空のディレクトリを削除するために使用されます。
たとえば、test という空のディレクトリを削除するには、次のコマンドを実行します。
rmdir test
空ではないディレクトリを削除するには、 -r フラグを指定して rm を実行します。
rm -r sample
スワップスペースとは何ですか?
回答: これはハード ドライブ上の予約領域で、通常はパーティションの形式で、RAM がいっぱいになったときに Linux オペレーティング システムによって使用されます。
より多くのメモリが必要で、RAM がいっぱい、非アクティブ、またはアクセス頻度が低い場合、ページは RAM から削除され、スワップ領域に格納され、RAM 内でより多くのプロセスのための領域が解放されます。
リロって何ですか?
回答: Linux ローダー (LILO) は、Linux オペレーティング システム用のブートローダーです。ブートローダーは、オペレーティング システムをメモリにロードし、コンピュータの電源を入れた後に起動するプログラムです。
コンピュータの電源がオンになると、LILO は Linux カーネルとその他の必要なプログラムを見つけてメモリにロードします。それが完了すると、Linux カーネルが起動します。
リダイレクトとは何ですか?
回答: これは、標準入力のソース (通常はキーボード) と、標準出力と標準エラーの出力先 (通常は画面) を変更することです。
たとえば、リダイレクトを通じて入力をファイルから取得したり、出力やエラー情報をファイルに保存したりできます。
コマンドのグループ化とは何ですか?
回答: 複数のコマンドを 1 つのユニットとしてまとめて実行する方法です。グループ化すると、複数のコマンドを 1 つのブロックとして実行できます。
グループ化では、多くの場合、リダイレクトやパイピングなどの機能を使用して、より複雑なスクリプトを作成し、タスクを自動化します。
ステートレス Linux サーバーとは何ですか?
回答: このサーバーは、状態情報やデータをローカルに保存しません。すべてのデータ ストレージはクライアント側で行われ、サーバーには提供されるデータの記録がありません。
ネットワークボンディングとは何ですか?
回答: これは、複数のネットワーク インターフェイスを 1 つのインターフェイスにコンパイルする手法です。これにより、ネットワーク帯域幅、スループット、バックアップ接続が増加し、ネットワークのパフォーマンスが向上します。
grepコマンドとは何ですか?
回答: グローバル正規表現 print (Grep) コマンドは、ファイル内のパターンを検索し、パターンを含むすべてのファイル行を表示するために使用されるコマンド ライン ツールです。検索されるパターンは正規表現であり、通常は文字列です。
デーモンとは何ですか?
回答: デーモンは、ユーザーの介入なしにバックグラウンドで実行されるユーティリティ プログラムです。デーモンは、周辺機器の監視やシステム メンテナンスの実行などのタスクを実行します。デーモンは OS がスムーズに動作することを保証します。
シンボリックリンクとは何ですか?
回答: シンボリック リンク (シンボリック リンクまたはソフト リンクとも呼ばれます) は、別のファイルまたはディレクトリを指す Linux OS のファイルの種類です。これは、Windows オペレーティング システムのショートカットに相当します。
シンボリック リンクを使用すると、シンボリック リンクがなければ困難または不便だったファイルへのアクセシビリティが向上します。
環境変数とは何ですか?
回答: これらはシェルに設定される動的変数で、プログラムの実行に必要な情報を保存したり、ユーザーのニーズに合わせて動作を設定したりするために使用されます。
いくつかの環境変数の例には、システムにデフォルト言語を格納する LANG が含まれます。 TEMP は、一時ファイルに使用されるディレクトリと、現在のユーザーのホーム ディレクトリを示す HOME を示します。
ファイルの内容を確認するための Bash コマンドと dos コマンドの区別 。
回答: bash シェルでは、ファイルの内容を表示するために使用できるコマンドは次のとおりです。
- cat – ファイルの内容を画面に出力します。
- nl – cat に似ていますが、 表示されるコンテンツの先頭に行番号が追加されます。
- less – ファイルの内容を一度に 1 ページ (画面) ずつ読み取ります。
- head – ファイルの最初の 10 行を画面に出力します。
- tail – ファイルの最後の 10 行を画面に出力します。
dos シェルでは、次のコマンドを使用してファイルの内容を表示できます。
- type – ファイルの内容を変更せずに表示します。
- more – ファイルの内容を一度に 1 画面ずつ表示します
Bash シェルと dos シェルには、ファイルの内容を表示するために使用される異なるコマンドがあります。
Linux ディストリビューションに名前を付けます。
回答: Linux ディストリビューションは、パッケージ化されてユーザーに配布される、Linux シェル上に構築された Linux のバージョンです。
一般的な Linux ディストリビューションには、Ubuntu、Fedora、Debian、CentOS、Arch Linux、Red Hat Enterprise Linux、Mint Linux などがあります。
Linux のさまざまなプロセス状態とは何ですか?
回答: Linux の主なプロセス状態には次のものがあります。
- 実行中 – プロセスは現在 CPU によって実行されています
- スリープ中 – プロセスは現在利用できないリソースを待っています。
- 停止 – プロセスはプロセッサまたはシグナルによって終了されました
- ゾンビ – プロセスは終了しましたが、その親プロセスはまだリソースを空にしていません
上記は Linux の主なプロセス状態を構成します。
Linux のさまざまなプロセス管理システム コールとは何ですか?
回答: さまざまなプロセス管理システム コールには次のものがあります。
- fork() – 新しいプロセスを作成するために使用されます
- kill() – 実行中のプロセスを終了するシグナルを送信するために使用されます。
- wait() – 子プロセスが終了するまで呼び出しプロセスの実行を一時停止します。
- exec() – プログラムを現在のプロセスにロードして実行します。
- exit() – プログラムの実行を終了します
上記は Linux における主なプロセス管理システム コールです。
プロセスのステータスを確認するにはどうすればよいですか?
回答: プロセスのステータスを確認するには、 「ps」 コマンドを実行して、Linux システム内のすべてのアクティブなプロセスの現在のステータスを確認します。
特定のプロセスの詳細を表示するには、次のコマンドを実行します。
ps -p <processID>
Linux で実行中のプロセスを停止するには?
回答: Linux で実行中のプロセスを停止するには、次のコマンドを実行します。
kill <processID>
ID を使用して実行中のプロセスを強制終了します。次のコマンドを実行して、実行中のプロセスをその名前で停止することもできます。
killall <processName>
大文字と小文字の区別はコマンドにどのような影響を与えますか?
回答: Linux OS では、コマンドは大文字と小文字が区別されます。つまり、シェルは、大文字と小文字が異なる場合に記述されたコマンドを別のものとして扱います。
たとえば、コマンド ‘rmdir’ は ‘RMDIR’ と同じではありません。 Linux OS では、コマンドライン コマンドは通常小文字で書かれます。
Linuxで使用されているメモリの量を確認するコマンドは何ですか?
回答: free コマンドを実行すると、システム内の使用済みスペースの量と空きスペースが表示されます。コマンドでさまざまなフラグを使用して、さまざまなタイプの情報を表示できます。
lsコマンドとは何ですか?
回答: これはディレクトリの内容を一覧表示するコマンドです。
psコマンドとは何ですか?
回答: ps コマンドは、現在アクティブなプロセスに関する情報を表示します。
netstatコマンドとは何ですか?
回答: これは、システム上のネットワーク接続に関する情報を表示するために使用されるコマンドです。現在アクティブなネットワーク接続に関する情報が表示されます。
cpコマンドとは何ですか?
回答: これは、ファイルとディレクトリをコピーするために使用されるコマンドです。
mkdirとは何ですか?
回答: これは、Linux でディレクトリを作成するために使用されるコマンドです。
猫コマンドとは何ですか?
回答: これは、ファイルの内容の表示、新しいファイルの作成、他のコマンドの出力のリダイレクト、複数のファイルの連結、および画面への出力の表示に使用されるコマンドです。
最後の言葉
Linux の面接の質問と回答に関するこの記事は、今後の面接に合格するのに役立ちます。
幸運を祈ります! 👍