梅田です 加藤さま。こちらでも、御世話になります。 On Mon, 15 Dec 2008 19:06:24 +0900 加藤 雅 <mkato@xxxxxxxxxxxxx> wrote: > 加藤(大阪)です。 > > Sun, 14 Dec 2008 19:50:15 +0900 付 > Lawrenceさんのメールより: > > > mvコマンドはファイル名を変えるコマ > > ンドですよね?ファイル名を変えて、再起動す > > ると何故、デフォルトの状態に戻るのですか? > > まず先に、二つ目の "?" について。 > > ホームディレクトリに「ユーザー用個人設定ファイル」を置くタイプのプログラ > ムでは、多くの場合、(再)起動時にまず、 > 該当プログラム用の個人設定ファイルがあるかどうか? > がチェックされます。 はい。ここまでは良く分かりました。 > > 個人設定ファイルがない場合は、 > ・「デフォルトの設定ファイル」を、プログラムのデータ保存領域 > (/usr/share/ソフト名、など)や、設定保存領域 (/etc/ソフト名、など) > から、ホームディレクトリへコピーする。 > ・プログラムコード内に含まれるデフォルトの設定データを、設定ファ > イルとしてホームディレクトリへ書き出す。 > などの方法で、ホームディレクトリにデフォルトの個人用設定ファイルが作ら > れます。いわば設定の ”初期化作業" が行われるわけです。 個人設定ファイルが無い→/usr/share/や/etc/ からデータや設定をホームディレクトリに個人 設定(デフォルト設定)ファイルが作られる→ 初期状態を生成。で、良いですか。 ★ディレクトリ一つ一つに役割や分担が有るのは 漠然と、理解しておりましたが、この、解説は 有り難かったです。 > > 個人設定ファイルがある場合は、この作業はスキップされます。 > > 簡略化して言えば、"プログラム起動時" に、ホームディレクトリ内の「"想定さ > れている名前" の設定ファイルの "有 / 無"」によって、上記のような「"設定 > 初期化作業" を "スキップするか / 実行するか"」 の "判定" をしているので > す。 はい。良く分かりました。 > > 又、見方を変えれば、firefox 等でアドオンを追加したような場合に、再起動が > 要求される事があるのは、アドオンの機能を即座に反映させる為、"必要なら新 > しい設定ファイルを作って"、設定全体を一から読み直す必要がある、からなの > です。 アドオン追加→当然、初期設定さえなされ ていない→再起動読み込み(必要なファイ ル作成)ですね。 > > このような仕組みがあるため、「設定ファイルの名前を変更」すると、「"想定 > されている名前" の設定ファイル」が無くなるので、「デフォルト = 初期設 > 定」の状態に戻るわけです。 良く分かりました。 > > 次に、一つ目の "?"、mv コマンドは、正確には「ファイル名を変えるコマン > ド」ではなく、「ファイルを移動するコマンド」です (mv は move を意味しま > す)。 > たとえば、 > $ mv /パス1/ファイル1 /パス2/ファイル2 > とした場合、 > 1.「/パス1/ファイル1」を「/パス2/ファイル2」にコピー。 > 2.「/パス1/ファイル1」を削除。 > というような操作が行われます。 > カレントディレクトリ内 、又は同一パス内でこの作業が行われた時は、"結 > 果" として「ファイル名が変更された」のと同じ事になります。(*内部的には、 > パスが同じ場合は、単純に名前のみを変更しているのだと思いますが、基本は > "移動" です) 同一ディレクトリのファイルのコピーは当然、 名前を変えないと、上書きされますが、古い 名前のファイルがコピーされ、削除されれば それは本質的に、ファイルの移動なのですね。 それで、今までの疑問は解けました。リネー ムと移動が役割とコマンドブックなどに書か れておりますが、そういう意味が有ったので すね。 > > なお純粋な?ファイル名変更には、rename というコマンドも有ります。 > こちらはこちらで、ちょっとクセもありますが、複数ファイルの一括名前変更な > どには便利です。 調べてみます。有難うございました。 ★rmコマンドはファイルの削除と解説してあり ますが、名前を「消す」コマンドではないの ですか?今までの解説を読んで、そんな想像 をしたのですが。