1

Unix のさまざまなフレーバーでさまざまなパス名が何を意味するかについての参照を持っている人はいますか? 可能であれば、Solaris、RHEL、および SLES をリストに含めてください。

たとえば、私が収集したものから /lib はディストリビューションの標準ライブラリであり、変更されることはありません (これは正しいですか? または、時々新しいバージョンを取得しますか?)、/usr/local はシステム管理者によってインストールされたアプリ用です。しかし、これが正しいかどうかはわかりませんし、 /usr/lib と /lib (前者はシステム管理者がインストールしたライブラリ用ですか?) と /sbin と /bin などの違いについてもまだ不明です...ありがとう。

4

4 に答える 4

7

これらはすべてkdubois.netから直接コピーされます。そのウェブサイトに賛成票を投じてください。

/home — これは、1 人のユーザーに固有の情報を含むすべてのディレクトリとファイルが存在する場所です。システムの各ユーザーには、そのユーザーの名前と一致する /home 内のディレクトリを付与する必要があります。通常、各ユーザーのプロファイルには、定期的に扱うすべてのファイルが含まれています。ドキュメント、メディア、および設定はすべて、/home/$USERNAME ディレクトリ内に配置するのが最適です。

/etc — これは通常、システムがシステム構成ファイルを保存する場所です。ネットワーク、グラフィカル X サーバー、およびその他の多くのシステム機能の設定は、このフォルダーにあります。中をのぞいてみましょう。グラフィカル X サーバーは、すべての構成を X11/ ディレクトリ内に保持します。ファイル mtab には、cron 設定が格納されます。Debian システムを使用している場合、apt を構成するファイルは apt/ ディレクトリにあります。このフォルダには他にもたくさんのシステム設定があるので、できればそれらについて学んでみてください。/etc ディレクトリ内の何かをいじるときは注意してください!

/ブート— このフォルダには、コンピュータの起動に必要なものが含まれています。最低限、GRUB や LILO などのブートローダー (起動時にポップアップし、OS を選択できるメニュー) とカーネルのイメージが含まれています。多くの場合、初期 RAM ディスクもここに含まれます。私は GRUB に慣れているので、grub を使用した /boot ディレクトリがどのように機能するかについて少し詳しく説明します。起動時に、システムは /boot/grub/menu.lst を調べて、このセッションで必要なシステムを起動する方法を決定しようとします。menu.lst には、どのカーネル ブート イメージを使用するか、およびどの初期 RAM ディスクを使用するかについての仕様があります。次に、GRUB はシステムについて通知された内容を取得し、カーネルを起動して起動します。起動オプションをいじらない限り、おそらく /boot を頻繁に扱うことはないでしょうが、これは Linux システムの重要な部分です。

/bin — これには、システム全体の基本的なバイナリ実行可能ファイルが含まれています。ファイルの解凍やディレクトリの移動などの基本的なツールがここに含まれています。たとえば、「cd」、「ls」、「ip」、「cat」、およびその他の一般的な基本的な Linux 標準であるプログラムがここに含まれています。

/mntおよび/media — 使用するシステムに応じて、これら 2 つのフォルダーは、/ ファイルシステム以外のファイルシステムをマウントする場所です。Ubuntu (私が通常ラップトップでブログを書いているディストリビューション) を見ると、USB メモリ スティック、CD、または新しいハード ドライブを接続すると、/media ディレクトリの下にマウントされます。

/dev— これには、システムのすべてのデバイス ノードが含まれます。カーネルによって検出されたすべてのハードウェアは、エントリとしてここに配置されます。最新の Linux システムでは、このフォルダーは主に Udev によって管理され、このディレクトリの自動構成と作成に役立ちます。このディレクトリ内のものを強制的に削除することは、強くお勧めできません。:-D. このフォルダーは、コンパイルしたばかりのドライバーが機能しているかどうかを確認したり、システムがハードウェアとして認識しているものを確認したりするのに非常に役立ちます。たとえば、hd1、hd2 などは PATA ハード ドライブ、sd1、sd2 などは SCSI ドライブ、ram はシステム RAM、video0 は通常、ある種の TV チューナーです。厳密に言えば、/dev 内のすべての項目はシステムの物理コンポーネントではありませんが、ほとんどの項目は物理コンポーネントです。各デバイスはファイルのように扱われます。この概念は、ベテランのオープン ソース関係者にはなじみ深いものですが、Windows から新たに改宗した人にとっては奇妙な概念です。これにより、膨大なレベルの抽象化が取り除かれ、グラフィック カードへの書き込みが期末レポートの作成と同じになります。カーネルは、デバイスがデータを適切に処理するために必要な実際の手順を処理します。ここから巧妙なトリックが生まれます。たとえば、/dev/video0 (私の Hauppauge TV チューナー) を cat して、1 つのコマンドでテレビ番組を録画できます。(cat /dev/video0 > show.mpg)。dev ディレクトリを尊重してください。:-D

/lost+found — EXT ファイルシステムに問題が発生した場合、孤立したファイルや問題のあるファイルがここに配置されます。このフォルダについて考える必要がないことを願っています。:-)

/sbin — 「システム バイナリ」の連結。通常、このフォルダーには、ネットワーク構成用の ifconfig などの高レベルのシステム ユーティリティが含まれます。/bin と /sbin の境界は、私には常に少し曖昧でしたが、sbin ユーティリティは、DHCP IP アドレスを取得するための dhclient やディスクをフォーマットするための mkfs など、より高度な機能を実行するように常に見えます。

/root — これはスーパーユーザー (ルートユーザー) のホームフォルダーです。そのような単純な。

/tmp — ご想像のとおり、このフォルダーには一時ファイルが格納されます。Mozilla Firefox が現在のダウンロードをキャッシュする必要がある場合、ダウンロードが完了するまで部分的なファイルを /tmp に保存し、それを /tmp から選択したダウンロード場所にコピーできます。優れたプログラムは /tmp の使用が終了すると自分でクリーンアップしますが、その内容は再起動時に自動的に削除されるため、パフォーマンスの問題が発生するまで、時間が経つにつれてこのフォルダーが膨張することを心配する必要はありません。

/lib — これにはすべてのシステム ライブラリが含まれます。中を見ると、大量の.soが見つかりますファイル。これらは、他のプログラムの実行に必要なライブラリです。これに興味がある場合は、「ldd /bin/echo」と入力してください (echo は、テキストを出力するための単純なユーティリティです)。システムは、echo がリンクされているライブラリ、つまり ld-linux.so.2 と libc.so.6 と linux-gate.so.1 を返します。ldd はどのプログラムでも動作します。システム ライブラリの名前を変更すると、システムが破損します。プログラムは、ライブラリにある重要なコンポーネントにアクセスする必要があるときに、どこを見ればよいかわかりません。ほとんどすべてが libc.so.6 と ld-linux.so.2 にリンクしているため、これの名前を変更すると、システムが確実に破壊されます。パッケージ マネージャーはすべてを適切に管理しているため、システム ライブラリについて過度に心配する必要はありません。ただし、コードをコンパイルしたり、Linux の開発を手伝ったりすると、ライブラリに関する問題があちこちで発生する可能性があります。

/srv — 多くの場合、このフォルダーは Web サーバーで使用され、インターネット経由でアクセスできる情報を格納します。

/proc — これはおそらく失敗すべきではないミッション クリティカルなフォルダーです。カーネルはこれを使用して、プロセス (実行中のプログラムなど) の情報を整理します。

/opt — オプション。多くの場合、システム管理者はこのフォルダーを使用して、手動で簡単に削除したいプログラムをインストールします。たとえば、私の gnome ベースのシステムでは、フォルダー全体を簡単に削除できるように、KDE ​​のライブラリーを /opt にインストールしました。ソフトウェアをコンパイルするとき、デフォルトのインストールでは、ライブラリ、バイナリ、および構成ファイルがディレクトリ全体に分散されるため、インストーラーにすべてを /opt に配置するように指示することで、プログラムをインストールできますが、削除できる場所に残すことができます。一度にすべて。

/var — このフォルダーには、システム状態情報を含む重要なファイルが含まれています。たとえば、グラフィカル サーバーのエラー ログはこのフォルダーに含まれています。

/usr— おそらく / にある私のお気に入りのフォルダーです。通常、システムを動作させることよりもユーザー向けのプログラムは、/usr にインストールされます。通常、GNOME または KDE はこのフォルダーにインストールされ、日常的に使用する多くのプログラム (Firefox、Evolution、Gedit など) がここにあります。/usr に降りると、/ にあるのと同じようなフォルダーがたくさん見つかります。この理由は、/ ディレクトリを大量のファイルで実際に混乱させることなく、プログラムをルートのような一連のフォルダー (インストーラーが期待しているように) にインストールできるためです。システムのリンカは、/lib と /usr/lib の両方を参照することを認識しているため、/usr/lib にインストールされているライブラリは、/lib にあるライブラリと同じように簡単に見つかります。同じく、/usr/bin 内のバイナリは、システムが両方のパスを調べることを認識しているため、/bin と同じくらい簡単に見つかります。/usr/local には、さらに別のルートのようなディレクトリが含まれています! これは、/usr のルートのようなフォルダーと同じ理由ですが、システム管理者がより永続的なプログラム (通常は個人的にコンパイルしたもの) をインストールすることを目的としています。これらすべてを実行する理由は、少し漠然としていたり​​恣意的なものに思えるかもしれませんが、システムの編成や新しいソフトウェアの開発に取り掛かる場合、実際には非常に役立ちます。

于 2009-02-04T16:18:11.417 に答える
6

ほとんどのLinuxディストリビューションは、ファイルシステム階層標準FHSに準拠しています(少なくともほとんどの場合)。その大部分は、かなり長い間UNIXに当てはまるルールであり(、、/usr... /var)、その他はかなり新しいものです(/media、...)。

私が最初に混乱したことの1つは、物事がどこに行くのかという一見ランダムな分布と/bin同様/usr/binに、/libそして両方の存在です。/usr/libこの分割の背後にある理由は、ルートと/usrは異なるストレージ(リモートの可能性がある)からマウントされる可能性があり、何らかのシステム障害が発生した場合にシステム全体を稼働させるのに十分な最小限のシステムが含まれている必要があるためです。/bin/lib

したがって、Gnome、GIMPなど/usrは必須ではないので入れることができますが、シェルfsckなどのファイルシステムツールは非ディレクトリに存在する必要があります。mkfsshusr

于 2009-02-04T16:20:59.087 に答える
3

Mac OS Xでは、/homeはに置き換えられ/Users/mntはに置き換えられ/Volumesます。

于 2009-02-04T16:28:26.760 に答える
1

上記以外のことを追加するだけです:

/home — user home directories, e.g.
          /home/bob
          /home/mary
          etc.

ユーザーが と も持っていると便利な場合が~/etcあり~/bin ます。(もちろんユーザー次第)

/etc— 構成ファイル、起動スクリプト。一部の (古い) Unix バージョンでは、いくつかのバイナリがここに貼り付けられていたため、歴史的にコンテンツの厳密な強制があったことはないと思います。現在、これは「構成ファイル」を意味します。

/mnt- より多くのファイルシステムをマウントする場所

/sbin— システム バイナリ、またはサーバー バイナリ、デーモンを実行するには、スーパーユーザーになる必要がある場合があります ( /bin ではなく)。

/root— ルートのホーム ディレクトリ。私が見た Unix の 1 つのバージョンでは、ルートのホーム ディレクトリが / であり、そこに物が散らばっていました。これはよりきれいです:)

于 2011-01-24T16:55:59.080 に答える