質問
さまざまな種類の Unix でのさまざまなパス名が何を意味するかについて参照している人はいますか?可能であれば、Solaris、RHEL、および SLES をリストに含めてください。
例えば私が収集したものによると、/lib はディストリビューションの標準ライブラリであり、決して変更されません (これは正しいですか?)それとも新しいバージョンを時々入手しますか?)、/usr/local はシステム管理者によってインストールされたアプリ用などです。しかし、これが正しいかどうかはわかりませんし、/usr/lib と /lib (前者は sysadmin がインストールしたライブラリ用?) と /sbin と /bin などの違いもまだわかりません...ありがとう。
解決
ほとんどのLinuxディストリビューションは、はFilesystem Hierarchy Standard FHS を(少なくとも主に)従ってください。それの大きな部分は、他の人が(/usr
、...)かなり新しいです、単に(/var
、/media
、...)かなりの時間のためにUNIXのために真となっているルールです。
私は、最初は混乱したことの一つは、/bin
と/usr/bin
の両方の存在だけでなく、ものがどこに行くのseeeminglyランダムに分布して/lib
と/usr/lib
です。このスプリットの背後にある理由は、いくつかのシステム障害が発生した場合に、システム全体稼働を取得するのに十分である最小限のシステムが含まれている必要があり/usr
と/bin
よう/lib
がルートとは別のストレージ(可能なリモート)からマウントされるかもしれないということです。
Gnomeの、GIMPだから、というように、彼らは本質的ではないとして、/usr
に行くが、そのようなfsck
やmkfs
だけでなく、シェルsh
としてファイルシステムのツールは、非usr
ディレクトリに存在する必要がありますすることができます。
他のヒント
これらはすべてから直接コピーされています kdubois.net. 。そのウェブサイトに賛成票を投じてください。
/家 — ここには、1 人のユーザーに固有の情報を含むすべてのディレクトリとファイルが存在します。システムの各ユーザーには、そのユーザーの名前と一致する /home 内のディレクトリが付与される必要があります。通常、各ユーザーのプロファイルには、定期的に扱うすべてのファイルが含まれており、ドキュメント、メディア、設定はすべて /home/$USERNAME ディレクトリ内に配置するのが最適です。
/等 — これは、システムが通常、システム構成ファイルを保存する場所です。ネットワーク、グラフィカル 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 システムの重要な部分であり、常に知識を持っておくと良いでしょう。
/置き場 — これには、システム全体の基本的なバイナリ実行可能ファイルが含まれます。ファイルの解凍やディレクトリの移動などの基本ツールがここに含まれています。たとえば、「cd」、「ls」、「ip」、「cat」、および普遍的な基本 Linux 標準であるその他のプログラムがここに含まれています。
/mnt そして /メディア — 使用するシステムに応じて、これら 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
/紛失+発見 — EXT ファイルシステムに問題が発生すると、孤立したファイルや問題のあるファイルはすべてここに配置されます。このフォルダーについて考える必要がなくなるといいのですが。:-)
/sbin — 「システム バイナリ」を連結したもの。このフォルダーには通常、ネットワーク構成用の ifconfig などの高レベルのシステム ユーティリティが含まれています。/bin と /sbin に入る内容の境界は私にとって常に少し曖昧でしたが、sbin ユーティリティは常に、DHCP IP アドレスを取得する dhclient やディスクをフォーマットする mkfs など、より高度な機能を実行しているように見えます。
/根 — これはスーパーユーザー (root ユーザー) のホーム フォルダーです。そのような単純な。
/tmp — ご想像のとおり、このフォルダーには一時ファイルが保存されています。Mozilla Firefox が現在のダウンロードをキャッシュする必要がある場合、ダウンロードが完了するまで部分的なファイルを /tmp に保存し、その後、それを /tmp から選択したダウンロード場所にコピーします。優れたプログラムは /tmp の使用が終了すると自動的にクリーンアップしますが、その内容は再起動時に自動的に削除されるため、パフォーマンスの問題が発生するまでこのフォルダーが時間の経過とともに増大することを心配する必要はありません。
/lib — これにはすべてのシステム ライブラリが含まれます。中を覗くとたくさんのものが見つかります 。それで ファイル。これらは、他のプログラムが実行するために必要なライブラリです。これについて興味がある場合は、「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 — これはミッションクリティカルなフォルダーなので、絶対にいじるべきではありません。カーネルはこれを使用して、プロセス (実行中のプログラム) の情報を整理します。
/オプト — オプション。多くの場合、システム管理者はこのフォルダーを使用して、手動で簡単に削除したいプログラムをインストールします。たとえば、ここにある私の 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 内のルートのようなフォルダーと同じ理由ですが、システム管理者がより永続的なプログラム (通常は個人的にコンパイルしたもの) をインストールすることを目的としています。これらすべてを行う理由は少し曖昧または恣意的に見えるかもしれませんが、システムを組織したり、新しいソフトウェアを開発したりする場合には、実際には非常に役立ちます。
Mac OS Xでは、/home
は/Users
に置き換えられ、/mnt
は/Volumes
に置き換えられます。
ただ、上述のないいくつかのものを追加します
/home — user home directories, e.g.
/home/bob
/home/mary
etc.
ユーザーがあまりにも~/etc
と~/bin
を持っていることを時々便利。 (もちろんユーザーまで)
/etc
- コンフィギュレーションファイル、スタートアップスクリプト。いくつかの(古い)Unixのバージョンでは、いくつかを立ち往生
ここではバイナリなので、私は歴史的に、これまでどんな厳しいがあったとは思いません
内容の施行。今日では、これは "設定ファイル" を意味します。
/mnt
-
/sbin
- システムバイナリ、またはサーバーのバイナリは、デーモンは、実行するには、スーパーユーザーである必要があります
(/ビンとは対照的に)
/root
- rootのホームディレクトリ。 Unixのの1つのバージョンでは、私が持っていたルートの見てきました
ホームとしてディレクトリ/およびそこ物事を散乱。これはきれいです:)