Windowsでは、ほとんどのアプリケーションとアプリケーションデータは、C:\Program Files
(および場合によってはC:\Program Files (x86)
)と呼ばれる特別なディレクトリに保存されます。このパスに相当するUbuntu/Linuxとは何ですか? 1つもありますか?
/bin
および/usr/bin
は、プログラムを開始するスクリプトの場所です。 「プログラムファイル」に直接相当するものは、おそらく/usr/share
です。そのディレクトリには、ほとんどのプログラムのさまざまなサポートファイルが含まれています。
たとえば、ライブラリファイルはシステム全体で共有され(/lib
で)、オプションはユーザーが指定する(ユーザーのホームディレクトリで)か、/etc
で普遍的に配置されるため、直接の同等物はおそらくありません。
そのため、debファイル、リポジトリ、またはビルドを介してプログラムをインストールすると、これらすべての場所にファイルが配置される可能性があります。
[編集]他の人が注意しているように、/sbin
と/usr/sbin
もあります。さらに、/usr/local/bin
、/opt/bin
、さらには/usr/games/
。したがって、c:\program files
との直接的な比較ではありません。
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
の違いはあまりよく説明されていません。 nix stackexchange の誰かがより詳細な説明を持っていました:
/usr/local
は、通常はmakeコマンドを使用して、管理者が作成したファイルをインストールする場所です。これは、オペレーティングシステムの一部であるファイルとの衝突を回避することです。ファイルが上書きされるか、ローカルファイルが上書きされます。例えば。 /usr/bin/foo
はOSの一部であり、/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
にあります。たとえば、デスクトップファイル/usr/share/applications/google-chrome.desktop
を持つGoogle Chromeを使用し、Exec=
で始まる行を探します。これにより、Google Chromeの起動方法が決まります。それは言います:
Exec=/opt/google/chrome/google-chrome
Google Chromeが/opt
にあることがわかります。
/usr/share/applications/firefox.desktop
にあるMozilla Firefoxの場合。それは単に言う
Exec=firefox %u
最初はそれほど役に立ちませんが、firefox
はPATH
変数(ほとんどの場合bin
)にあるディレクトリになければならないことに気づきます。調べることができます(以下を参照)。
コマンドを検索するには、次の1つ以上を使用できます。type
、which
、およびwhereis
(オンラインのマニュアルページへのリンクを含めました)。
type :コマンドを説明し、コマンド名として使用した場合の解釈方法を示します。コマンドの可能なタイプは次のとおりです。
(タイプ自体はシェル組み込みです。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
を呼び出していることがわかります。
あなたは今安心して休むことができます:)
Program Files folderとまったく同じディレクトリはありません。 Linuxが物事を整理する方法は、Windowsとは大きく異なります。
Windowsでは、インストールするすべてのプログラムはProgram Filesディレクトリ内に独自のディレクトリを取得します。そのディレクトリには、さまざまな種類のファイル用にさらにサブディレクトリが作成されます。サブディレクトリの固定構造はありません。プログラムは、各ディレクトリを何に呼び出したいのか、どこに何を置きたいのかを自分で決定します。
しかし、Linuxでは、プログラムがインストールされると、さまざまな種類のファイルがさまざまな場所にコピーされます。実行可能ファイルは/ usr/binにコピーされ、ライブラリファイルは/ usr/libにコピーされ、ドキュメントは/ usr/manの1つ以上にコピーされます- / usr/infoおよび/ usr/doc構成ファイルがある場合、それらは通常ユーザーのホームディレクトリまたは/ etcにあります。
Ubuntuでは、C:\Program Files
フォルダーは/usr/bin
になります。 /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は、ほぼすべてのアプリケーションを/usr/bin
などの1つのディレクトリに配置します。 WindowsはMozilla Firefox
などの新しいフォルダーを作成し、その中に構成、実行可能ファイル、DLL、イメージなどを追加します。 Ubuntuはそれらを分割し、実行可能ファイルは/usr/bin
に、システム全体の構成は/etc
に、共有オブジェクトは/usr/lib
に、画像は/usr/share
に...
Linuxの「プログラムファイル」は階層全体にあります。 /usr/bin
、/bin
、/opt/...
、または別のディレクトリにあります。
アプリケーションに関連するファイルを見つけると思います。それから、プログラムのインストール時にインストールされるファイルの見方についてのアイデアがあります。
Sudo apt-get install synaptic
を発行してsynaptic
をインストールします。Properties
を選択します。Installed File
タブに移動します。結果はdpkg -L package_name
と同じです。Linuxは、インストールされたファイルをタイプに基づいて個別にディレクトリに移動するためです。
/usr/bin
または/bin
に移動します。/usr/share/icons
またはローカルの~/.local/share/icons
に移動します。/opt
上のアプリケーション全体(ポータブル)。/usr/share/applications
または~/.local/share/applications
のショートカット/usr/share/doc
に関するドキュメント/usr/lib
のライブラリ/モジュールそして、他の多くのディレクトリ。 (CMIIW、修正の受け入れ)
LinuxプログラムとWindowsプログラムのインストール方法はまったく異なります。
Windowsの一般的なパターンはプログラム用です。または、1つのベンダーからのプログラムの束が、C:\ programs\vendorまたは同様のものの独自のサブディレクトリに入ります。
Linuxでは、ファイルは機能に応じて特定のサブディレクトリに分割されます。ライブラリ、アイコン、マニュアルページ、ログファイル、構成などのディレクトリがあります。それらのいくつかを使用することもできますが、システムはそれらすべてを管理します。それらは一緒に結合されていませんが、他のプログラムからの同様のファイルとともに存在しています。
したがって、通常のLinux実装には、そのWindowsディレクトリ構造に相当するものはありません。
この答えで、私がUnixと言うとき、私はUnixとUnixライクなオペレーティングシステムを意味します。
Ubuntuには、各プログラムのすべてのデータを含むプログラムフォルダーが実際にはありません。 UnixおよびUnixライクなオペレーティングシステムでは、すべてがファイルであり、ターミナルコマンドでもあります。それらもファイルです。 Unixがプログラムを処理する方法は非常に混chaとしており、同時に編成されます。
プログラムのアイコンは/ usr/share/icons/*に保存され、プログラムの実行可能ファイルは通常/ usr/bin、/ bin、およびbinディレクトリの他の場所に保存されます(binはobvの略です)。プログラムが依存するライブラリは/ libにあります。
したがって、1つのプログラムのすべてのデータを含むディレクトリではなく、プログラムのデータが広がってしまいます。最初はこれは非常に混乱しているように見えますが、ライブラリやアイコンなどの標準的なものを共有することができます。
各ファイルのアクセス許可のおかげで、すべてがファイルであるという考えは正直に言うと非常に素晴らしいです。 Unix MUCHを他のオペレーティングシステムよりも安全にします。
独自のプログラムをインストールする場合、1つのフォルダーをお勧めします。