30以上のよくあるLinuxインタビューの質問と回答[2023]
公開: 2023-01-03Linux オペレーティング システムは、1991 年に Linus Torvalds によって趣味のプロジェクトとして開始されましたが、スーパーコンピューター、Web サーバー、スマートフォン、およびその他の多くのテクノロジを強化する主要なプレーヤーに成長しました。
Linux は、その安定性、セキュリティ、およびリソースの効率的な使用のために好まれています。 Linux の使用と需要は年々増加しており、この傾向がすぐに止まるわけではありません。
2021 年に Statista は、プロの開発者の 47% が Linux を使用していると報告しました。 同年、第 9 回年次オープン ソース ジョブ レポートは、Linux の開発と管理が、採用マネージャーと開発者によって 2 番目に需要の高いスキルであることを示しました。
Linux のスキルは、ソフトウェア開発、システム管理、DevOps、ネットワーク管理、セキュリティ エンジニアリング、データ サイエンスなどにおいて非常に重要です。 したがって、これらの分野のいずれかに興味がある場合は、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 がパーミッションと特権を管理する方法により、ルート アクセス権がデフォルトで通常のユーザーに付与されないようになっています。
これにより、ウイルスによる被害を最小限に抑えることができます。 ハッカーは多くのユーザーがいるオペレーティング システムをターゲットにすることを好むため、日常のユーザーによる使用数が少ないこともセキュリティに貢献しています。
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 シェルは、 shとして示されます。
- Bashとして示される Bourne Again シェル
- Cシェルは cshとして
- kshとして示される KornShell
- zshとして示される Z シェル
- 魚として示されるフレンドリーなインタラクティブシェル
- ダッシュで示される Debian Almquist シェル
- tcshとして示される TENEX C シェル
上記は、一般的な 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>
使用可能なディレクトリでファイルを検索します。 入力したファイル名を持つファイルが見つかった場合は、次を実行できます。
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 コマンドとは何ですか?
回答:グローバル正規表現の印刷 (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 面接の質問と回答に関するこの記事は、次の面接で成功するのに役立ちます。
頑張ってください!