2017-12-14 22 views
-1

私は自分のプログラムを/ binファイルに移動して簡単に実行できることを知りました。しかし、私はまた、そこにある多くのプログラムは、1つの単純なタスクを行い、ファイルに何かを保存する必要はない単一のファイルから構成されていることも見てきました。コマンドラインプログラムを作成して、その値をファイルに保存する必要がある場合(たとえば、小さなテキストベースのゲームの場合、プログラムでデータを保存する必要があります)このファイルを/ binフォルダに保存するか、それとも別の場所に置く必要がありますか?GNU/Linux上の設定ファイル/データファイルをどこに保存しますか?

+0

'/ var'、'/etc'、 '〜'、 '〜/ .config'などの場所の設定ファイルなどがあります。 – hnefatl

+0

好きなフォルダはどれですか? –

+2

標準では、ユーザ固有の設定ファイルには '〜/ .config'、かなり頻繁に読み書きされる設定ファイルには'/var'、より多くの "静的な"設定には '/ etc'を使用するのが標準です。しかし、これは決してどこでも石に設定されていません、あなたはあなたが好きなものを自由に使用することができます。個人的には、私は '〜/ .config'と'/etc'に行きます。 – hnefatl

答えて

2

などの設定/データファイルを保存することができた場所がたくさんがあります:

  • /var(データ)
  • /usr(データ)
  • /etc (設定)
  • ~(設定)
  • ~/.config(設定では、多くの場合、~の代わりに、 eユーザのホームディレクトリ)。
  • 可能性がより多くの...

で、深さの最上位ディレクトリのさまざまなサブフォルダの目的の記述は、上記のリンクで見つけることができます。


私はアドホック標準は、「静的」システム全体のconfigsのために、ユーザ固有の設定ファイルについて~/.config、実行時に生成されたデータファイルの/var、および/etcを使用することであると信じています。 /usrは、ユーザープログラムとその静的データを格納するために使用されます。

さらに標準的な標準が存在します。Filesystem Hierarchy Standardはトップレベルディレクトリの目的を表し、~/.configXDGの優先設定フォルダで、キャッチしたようです。

+2

Ummmm ...いいえ、varは**ではありません**は設定ファイルのためのものではありません。システム全体のログ、キャッシュ、ステータスデータ、システムプロセスがアクセスする必要があるもの(たとえcrontabやメールボックスなどのユーザーごとであっても)を格納します。システムグローバル設定は定義上、 '/ etc'にあります。通常は '〜/ .config /'です。 – tink

+0

@tink訂正してくれてありがとう - [ここ](http://www.tldp.org/LDP/Linux-Filesystem-Hierarchy/html/)からvar.html)、それはデータファイルを格納するために使用することができるようですが、おそらく私はこの誤解をどこから得ましたか。私はこれをより正確に反映する答えを編集しています。 – hnefatl

1

もう1つの提案:~/.local/shareは、通常、ユーザーが触れてはいけないアプリケーションデータに適しています。 ~/.configは、通常、ユーザーが変更可能な構成です。

適切な環境変数を~/.local/shareに、$XDG_CONFIG_HOME~/.configに使用する必要があります。一部のユーザーは、これらのディレクトリを他の場所に再マッピングすることを好みます。

関連する問題