Windowsのプログラムファイルに相当するLinuxとは何ですか?


179

Windowsでは、ほとんどのアプリケーションとアプリケーションデータは、C:\Program Files(およびC:\Program Files (x86))と呼ばれる特別なディレクトリに保存されます。このパスに相当するUbuntu / Linuxとは何ですか?1つもありますか?


2
特定のパッケージのファイルの場所を知りたい場合は、Synapticパッケージマネージャーを使用できます。パッケージを検索して、インストールされているファイルを確認します。
アスメリート

6
この質問は、同等のものを望む理由によって改善されると思います。たとえば、「インストールしたものと実行できるものを確認できる」と、「このソフトウェアのセーブゲームを見つけようとしているので、それをいじることができます」には違いがあります。そして、「このプログラムの微調整できる設定ファイル/ iniファイルが疑われる」場合もあります。これらはすべて「Program Files」の質問かもしれませんが、ここでは異なる回答があります。
ナネ

4
関連(ただし、おそらく重複と見なされるべきではありません):Ubuntuファイルシステムのレイアウトを理解する方法は?
エリアケイガン

回答:


104

/binそして/usr/bin、プログラムを起動するスクリプトがある場所です。ただし、「Program Files」に直接相当するものはおそらく/usr/shareFilesystem Hierarchy Standardを参照)です。そのディレクトリには、ほとんどのプログラムのさまざまなサポートファイルが含まれています。

/ usr / shareを示すNautilus

ただし、たとえば、ライブラリファイルはシステム全体で共有/libされ()、オプションはユーザー指定(ユーザーのホームディレクトリ内)またはにあるため、直接の同等物はおそらくありません/etc

そのため、debファイル、リポジトリ、またはビルドを介してプログラムをインストールすると、これらすべての場所にファイルが配置される可能性があります。

[編集]他の人が指摘しているように、とも/sbinあり/usr/sbinます。さらに/usr/local/bin/opt/binさらに/usr/games/。だから絶対に直接の比較ではありませんc:\program files


4
どう/opt?以前と同様の方法で、多くの(通常はクローズドソースまたはアプリベースの)プログラムを保持しているのを見てきましたProgram Files
クピアコス

Ubuntu Software Centerが登場し、ゲームを配信しているのは確かです。しかし、それでも、ほとんど直接的な比較とは言えませんか?しかし、最近の最も近いものかもしれません。
スケイン

ディレクトリの目的については、askubuntu.com / a / 294492/41499を参照してください/opt
ゲルハルトバーガー

/usr/local/binユーザー/会社によって一般的に使用されない可能性があるソフトウェアの半一般的な場所です。
マークスチュワート

また、このOSはWindowsよりも優れていますか?私はそれを試してみましたが、それはウェブ開発のための賭けです。しかし、私はそれらの階層のことを理解することはできません...私はPhpStormをインストールし、それは今1238128フォルダにあります..
Toma Tomov

84

遅い回答 -初心者が従うべきロードマップを作成しました。ファイルを探しているのにどこを探すべきかわからない場合は、マップを使用して大まかにナビゲートできます。こちらから高解像度のPNGをダウンロードできます。関連する投稿はこちらにあります。時間が許せば、ファイルと投稿の両方を更新し続け、有益なコメントを取り入れます。


6
この答えは無視され、一番上にあるはずです。
ヴォルデモート

83

編集: 優れた初心者向けのマップについては、以下のd4nyllの回答も参照してください!

PATH環境変数とは何か、.desktopファイルとは何か、さまざまなLinuxコマンドを使用して特定のプログラムを見つける方法については、以下の回答を参照してください。

元の回答:


簡単な答えはありません。

/bin、、/usr/binおよび/usr/share

他の回答で述べたように、あなたは下のほとんどの実行可能ファイルを見つけることができる/bin/usr/bin、およびサポートファイルはにインストールされています/usr/share

/usr/local そして /opt

ただし、Ubuntuがアプリケーションをインストールするディレクトリはさらにあります。PATH入力したコマンドを検索するための決定変数は、あなたの手掛かりを与えるかもしれない、私のは(のように見えるecho $PATHの端末で):

/usr/local/cuda/bin:/usr/local/texlive/2012/bin/x86_64-linux:/usr/games:/home/gerhard/bin:/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games

ご覧のとおり、いくつかのソフトウェアがインストールされ/usr/local、独自のディレクトリとがありbinます。多くのプログラムがインストールされる別の場所は/optです。これらの場所のプロパティは、Filesystem Hierarchy Standardで説明されています。残念ながら、違い/optとは/usr/local非常によく説明されていない、上の誰かのUNIX stackexchangeは、より精巧な説明を持っていました:

  • /usr/local通常はmakeコマンドを使用して、管理者が作成したファイルをインストールする場所です。これは、オペレーティングシステムの一部であるファイルとの衝突を回避することです。ファイルは、上書きされるか、ローカルファイルを上書きします。例えば。/usr/bin/fooOSの一部である一方/usr/local/bin/foo、ローカルの代替手段です。
  • /optバンドルされていないパッケージをそれぞれ独自のサブディレクトリにインストールするディレクトリです。これらは、独立したサードパーティのソフトウェアディストリビュータによって提供されるパッケージ全体が既に構築されています。たとえば、someappにインストールされ/opt/someapp、そのコマンドの1つが/opt/someapp/bin/foo[そして通常、シンボリックリンクがのbinディレクトリの1つで作成さPATHれるか、プログラムがデスクトップファイルから呼び出されます(以下を参照)]。

特定のプログラムまたはコマンドを見つける

.desktop ファイル

特定のプログラムがインストールされている場所を確認するには、いくつかの手順を実行できます。まず、その.desktopファイルを見つける必要があります。デスクトップファイルはWindowsのショートカットに似ており、システムアプリケーションの場合はにあり/usr/share/applicationsます。現在のユーザーのみが使用できるアプリケーションのデスクトップファイルはにあり~/.local/share/applicationsます。たとえば、デスクトップファイルがあるGoogle Chromeを使用して、/usr/share/applications/google-chrome.desktopで始まる行を探しますExec=。これにより、Google Chromeの起動方法が決まります。それは言います:

Exec=/opt/google/chrome/google-chrome

Google Chromeがにあることはご存知でしょう/opt

次に、にあるMozilla Firefoxの場合/usr/share/applications/firefox.desktop。それは単に言う

Exec=firefox %u

最初はこれはあまり役に立たないようですfirefoxが、PATH変数にあるディレクトリ(おそらくa bin)にある必要があることに気づき、それを調べることができます(以下を参照)。

コマンドを調べる

コマンドを検索するには、次の一つ以上を使用することができますtypewhichwhereis(私はオンライン彼らのマニュアルページへのリンクを含めました)。

  • type:コマンドを記述し、コマンド名として使用した場合の解釈方法を示します。コマンドの可能なタイプは次のとおりです。

    1. エイリアス(シェルエイリアス)
    2. 関数(シェル関数)
    3. builtin(シェル組み込み)
    4. ファイル(ディスクファイル)
    5. キーワード(シェル予約語)

    (タイプ自体はシェル組み込みtype typeです:P で試してください)

    実行type firefoxすると

    firefox is /usr/bin/firefox
    

    これは私たちが知りたかったことです

コマンドがファイル(でチェックしたものtype)の場合は、次も使用できます。

  • which:コマンドのフルパスを表示します。

    実行which firefoxすると

     /usr/bin/firefox
    
  • whereis:コマンドのバイナリ、ソース、およびマニュアルページファイルを見つけます。

    実行whereis firefoxすると

    firefox: /usr/bin/firefox /etc/firefox /usr/lib/firefox /usr/lib64/firefox /usr/bin/X11/firefox /usr/share/man/man1/firefox.1.gz
    

ボーナス

あなたは/usr/bin/firefoxより詳しく検査することができls -l /usr/bin/firefox、これは以下を与えます:

/usr/bin/firefox -> ../lib/firefox/firefox.sh*

/usr/bin/firefoxスクリプトへのシンボリックリンクのみであるように見えます/usr/lib/firefox/firefox.sh。スクリプトを調べると、スクリプトがを呼び出していることがわかります/usr/lib/firefox/firefox
あなたは今安心して休むことができます:)


かなりクールな答え。1つの質問、シンボリックリンクとは何ですか?Windowsショートカットと同等ですか?
クアジイルファン

@iamcreasyありがとう!はい、それらは一種のショートカットですが、ファイルのコピーを避けることを主な目的としています。ウィンドウのショートカットはより類似しています。デスクトップファイル。たとえば、startmenuアイテムの作成に使用できます。
ゲルハルト・バーガー

誰かがシンボリックリンクを介して.desktopファイルを使用し、その逆を行うのはなぜですか?
クアジイルファン

1
@iamcreasy .desktopファイルには、説明やアイコンなどの追加情報を追加できます(こちらの例を参照してください:standard.freedesktop.org/desktop-entry-spec/latest/apa.html)、これは「通常の」ファイルです。シンボリックリンクは、別のファイルにのみリンクする「特別な」ファイルです。私はこのハードを適切に説明することを見つけるが、多分あなたはここで、より良い答えを見つけることができます。superuser.com/questions/253935/...
ゲルハルト・バーガー

18

Program Filesフォルダーとまったく同じディレクトリはありません。Linuxが物事を整理する方法は、Windowsとは大きく異なります。

Windowsでは、インストールするすべてのプログラムはProgram Filesディレクトリ内に独自のディレクトリを取得します。そのディレクトリには、さまざまな種類のファイル用にさらにサブディレクトリが作成されます。サブディレクトリの固定構造はありません。プログラムは、各ディレクトリを何に呼びたいか、どこに何を置きたいかを自分で決定します。

しかし、Linuxでは、プログラムがインストールされると、さまざまな種類のファイルがさまざまな場所にコピーされます。実行可能ファイルは/ usr / binに、ライブラリファイルは/ usr / libに、ドキュメントは/ usr / man/ usr / infoおよび/ usr / docの 1つ以上にコピーされます。設定ファイルがある場合、それらは通常ユーザーのホームディレクトリまたは/ etcにあります。


ファイルが属するアプリケーションではなく、目的に基づいてファイルをグループ化する理由はありますか?「Unixファイルのグループ化スタイル」は、システム管理者の観点から一般に便利ですか?
ジョイマン

1
あんまり。彼らが作ったデザインの選択だと思います。「man」、「info」など、このファイル構造に依存する他の多くのユーティリティを作成できますが。たとえば、「man」は各コマンドのドキュメントを探す場所を知っています。ドキュメントの標準の場所がない場合、作業はできません。
binW

10

このC:\Program Filesフォルダーは/usr/binUbuntuにあります。/binのように見えますC:\windows

ファイルシステム階層のマニュアルページから:

/bin      This directory contains executable programs which are needed  in
          single user mode and to bring the system up or repair it.
/usr/bin
          This is the primary directory  for  executable  programs.   Most
          programs  executed  by  normal  users  which  are not needed for
          booting or for repairing the system and which are not  installed
          locally should be placed in this directory.

Ubuntuの構造はWindowsとは異なります。Ubuntuは、ほぼすべてのアプリケーションを1つのディレクトリに配置します/usr/bin。Windowsは、たとえばMozilla Firefox、新しいフォルダーを作成し、その中に構成、実行可能ファイル、DLL、イメージなどを追加します。Ubuntuはそれらを分割し、実行可能ファイルが入り/usr/bin、システム全体の構成が入り/etc、共有オブジェクトが入り/usr/lib、画像が入り/usr/share、...


5

Linuxの「プログラムファイル」は階層全体にあります。それは上の可能性があり/usr/bin/bin/opt/...、または別のディレクトリに。

アプリケーションに関連するファイルを見つけると思います。それから、プログラムのインストール時にインストールされるファイルの見方についてのアイデアがあります。

  1. 端末でsynaptic発行sudo apt-get install synapticしてインストールします。
  2. 目的のパッケージを探し、検索テキスト入力で検索します。
  3. パッケージを右クリックしてを選択しますProperties
  4. Installed Fileタブに移動します。結果はと同じdpkg -L package_nameです。
  5. そこには、パッケージ用にインストールされたすべてのファイルがあります。

Linuxは、インストールされたファイルをタイプに基づいて個別にディレクトリに移動するためです。

  • 実行可能/usr/binファイルはまたはに移動し/binます。
  • ローカルにアイコンが表示さ/usr/share/icons~/.local/share/iconsます。
  • 上のアプリケーション全体(ポータブル)/opt
  • 通常のショートカット/usr/share/applicationsまたは上~/.local/share/applications
  • 上のドキュメント /usr/share/doc
  • ライブラリ/モジュールオン /usr/lib

そして、他の多くのディレクトリ。(CMIIW、修正の受け入れ)


3

この答えで、私がUnixと言うとき、私はUnixとUnixライクなオペレーティングシステムを意味します。

Ubuntuには、各プログラムのすべてのデータを含むプログラムフォルダーが実際にはありません。UnixおよびUnixライクなオペレーティングシステムでは、すべてがファイルであり、ターミナルコマンドでもあります。それらもファイルです。Unixがプログラムを処理する方法は非常に混chaとしており、同時に編成されます。

プログラムのアイコンは/ usr / share / icons / *に保存され、プログラムの実行可能ファイルは通常/ usr / bin、/ bin、およびbinディレクトリの他の場所に保存されます(binはobvの略です)。プログラムが依存するライブラリは/ libにあります。

そのため、1つのプログラムのすべてのデータを含むディレクトリではなく、プログラムのデータが広がります。最初は非常に混乱しているように見えますが、ライブラリやアイコンなどの標準的なものを共有することができます。

各ファイルのアクセス許可のおかげで、すべてがファイルであるという考えは正直に言うと非常に素晴らしいです。Unix MUCHを他のオペレーティングシステムよりも安全にします。


3

LinuxプログラムとWindowsプログラムのインストール方法はまったく異なります。

Windowsの一般的なパターンはプログラム用です。または、1つのベンダーからのプログラムの束が、C:\ programs \ vendorまたは同様のサブディレクトリに配置されます。

Linuxでは、ファイルは機能に応じて特定のサブディレクトリに分割されます。ライブラリ、アイコン、マニュアルページ、ログファイル、構成などのディレクトリがあります。それらのいくつかを使用することもできますが、システムはそれらすべてを管理します。それらは一緒に結合されていませんが、他のプログラムからの同様のファイルとともに存在しています。

したがって、通常のLinux実装には、そのWindowsディレクトリ構造に相当するものはありません。


2

独自のプログラムをインストールする場合、1つのフォルダーをお勧めします。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.