お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2008-11-27 20:39:39

hellfire
メンバ
From: 日本/神奈川県
登録日: 2006-11-21

ホームディレクトリの構造

質問と言いますか,要望に近いものなのですが,ホームディレクトリの構造を変えて欲しいと思っています.

ホームディレクトリはOSインストール時に,ドキュメントや画像,公開などのユーザーのデータが格納できるディレクトリができ,そこにファイルを格納できます.
しかし,隠しディレクトリを表示する設定になっていると,アプリケーションの設定ディレクトリ(.gnome2や.bashrc)などがあり,誤って削除してしまう可能性があります.

特に,この影響を受けるのが,端末で作業を行っている時です.
ユーザーのファイルやディレクトリを,端末のrmの正規表現で削除しようとした場合,誤って正規表現で一致してしまった設定ディレクトリも消えてしまいます.
また,時にアプリケーションが隠し属性をつけない状態で保存する設定ファイルとユーザーのファイルが混在するというのは見栄えが悪いというデメリットもあります.

提案としましては,それら設定ディレクトリをまとめるディレクトリ(例えば,設定とか,Settings)があれば,良いのですが….

これを修正しようとすると,各アプリケーションの仕様も変えなければならない,また今まで築いたLinuxの概念が崩れるという無理難題だということは十分承知しております.しかし,ホームディレクトリ内に,ユーザーのミスでアプリケーションにまで影響が出るということは極力避けるべきだと思うのです.もし,これを回避できる手法がありましたら,ご指導お願いします.

この問題が,フォーラムのどのカテゴリーに入るのかがよく分からなかったため,Ubuntuに関する質問にしました.カテゴリー違いであったら申し訳ありません.

最後の編集者: hellfire (2008-11-27 20:40:13)

オフライン

 

#2 2008-11-27 21:12:04

kaorin
メンバ
From: 仙台近郊
登録日: 2008-09-07

Re: ホームディレクトリの構造

質問や要望の回答ではまったくないのですが。

個人的には、HOMEの直下にファイルを作成することがあまりなく、大抵、作業に必要なフォルダを別途作成して、そちらをカレントにして作業しています。
そのため、HOMEに各種設定ファイルがあっても、誤って削除するような事態に陥ったことがありません。
これはGUI操作時も、端末操作時も同じで、そのため、Nautilusから、指定フォルダをカレントにして端末を開く機能は重宝しております。

イメージとしては、ワタクシの場合、HOMEはWindowsで言うところのC:\や、各ドライブのルートのイメージであり、その直下にファイルを作成する、ということはあまりないのではないかな、と。
昔々の話ですが、MS-DOSだと、ルートに作成できるファイル数に制限があり、多くのファイルを作成する場合には、ディレクトリを切って、その中に作成しないと、すぐにHDDにファイルを作成できなくなる、なんて時代がありました。
なので、ワタクシの場合には、そういうイメージ、そういう操作をしているわけですが。

一方で、HOMEフォルダは、ユーザーに開放されているものであり、そこには自由にファイルを作成する領域であるのだから、隠しフォルダや隠しファイルで、アプリケーションの設定ファイルなどを置かないで欲しい、という要望も、なるほどな、とも思います。

使い方で回避出来る問題ではありますが、意識して回避しなくてもよいことであるならば、意識せずに使えるようになっていた方がよいのは事実かと。

ただ、ワイルドカードで隠しファイルって、そう簡単に指定できましたっけ?
なんか端末からまとめて設定ファイルをコピーしようとして、ワイルドカードの指定に苦労したような覚えが。(^^;
まあ、これも昔の話ですけど。

オフライン

 

#3 2008-11-27 21:33:52

hellfire
メンバ
From: 日本/神奈川県
登録日: 2006-11-21

Re: ホームディレクトリの構造

kaorinさん,返信ありがとうございます.

なるほど,そういう背景があったのですね.

実は,私自身も,ホームディレクトリに別のディレクトリを作って,その中にユーザーファイルを格納しています.
じゃあ,この投稿は無意味かというと,そうではないと思います.

昨今,Ubuntuを使うユーザーが増えており,Linuxのディレクトリ構造を知らずに利用するユーザーも多くなってきていると思います.そんな人たちが,デフォルトの画像や公開といったディレクトリにデータを格納します.ここまでは問題ないのです.
しかし,このユーザー方が何らかの問題に陥った場合,Web上の情報を基に端末に触れる機会が訪れると思います.そこで,コマンドの本来の意味も知らずに(実際は意味を知ってから使ってほしいのですが…),Web上の情報を鵜呑みにしてコマンドを入力した場合,また誤入力してしまった場合,時にはより酷い状況に陥ると思うのです.
Ubuntuが,これはLinuxだから調べて当然と,ユーザーの囲い込みを行うのであれば,別にこの問題はスルーで良いのですが,UbuntuはWindowsからの移行組にも優しいOSという触れ込みが強いようですので,このような配慮をすべきだと思ったのです.

ワイルドカードで,*を先頭につければrmで削除は可能ではなかったでしょうか?例えばですが,

コード:

$ rm -r *.log
$ rm -r *.jpg

(上記二つのコマンドを同時にではありませんが)
とか?rmコマンドの-rの意味がわからず使えば,消せると思うのですが….

オフライン

 

#4 2008-11-27 22:08:27

kaorin
メンバ
From: 仙台近郊
登録日: 2008-09-07

Re: ホームディレクトリの構造

hellfire による投稿:

じゃあ,この投稿は無意味かというと,そうではないと思います.

ワタクシも無意味とは思いません。
万人に受け入れられる設計は困難かも知れませんが、誤操作を避ける設計/仕様、その提案は重要ではないでしょうか。

hellfire による投稿:

ワイルドカードで,*を先頭につければrmで削除は可能ではなかったでしょうか?例えばですが,

コード:

$ rm -r *.log
$ rm -r *.jpg

(上記二つのコマンドを同時にではありませんが)
とか?rmコマンドの-rの意味がわからず使えば,消せると思うのですが….

で、試してみましたが、例えば、.hoge.jpgと.hoge.logファイルがフォルダに存在する場合、上記コマンドでは削除出来ませんでした。

コード:

$ rm -r .*.log
$ rm -r .*.jpg

というように、明示的に隠しファイルである「.」を先頭に付けないと削除はされないようです。
とまあ、最低限、誤ってファイルを削除することがないようにはなってるみたいですね。

オフライン

 

#5 2008-11-27 22:33:20

hellfire
メンバ
From: 日本/神奈川県
登録日: 2006-11-21

Re: ホームディレクトリの構造

kaorin さん

検証までしてくださり,大変ありがとうございます.
なるほど,隠しファイルは明示的に「.」をつけないと消せないのですね.

オフライン

 

#6 2008-11-28 04:11:48

si
メンバ
From: hokkaido kitami, jp
登録日: 2007-01-15

Re: ホームディレクトリの構造

Bash の規則に
パターンをパス名展開に使うときは、
 名前の先頭やスラッシュの直後の ``.'' は明示的にマッチさせなければなりません。
 ただしシェルのオプション dotglob が設定されている場合は例外です
 ”.” と ”..” は常に無視されます
とあります。

例:
 $ ls *
では、ドットファイルは、 表示されません。

オフライン

 

#7 2008-11-29 02:22:18

kiyoshi
拒否
From: Linux-Loving-Person
登録日: 2007-02-07

Re: ホームディレクトリの構造

※規約違反により追放されたユーザの投稿は、ログインユーザにのみ表示されます。

最後の編集者: kiyoshi (2008-11-29 16:44:19)

オフライン

 

#8 2008-11-29 15:25:00

f0705
メンバ
登録日: 2007-05-03

Re: ホームディレクトリの構造

どんなディレクトリに置いても問題の本質は変わらないと思いますが、どうしても不安
というならドットファイルを安全だと思うディレクトリに移してシンボリックリンクを
張ったらよいのでは?
シンボリックリンクなら間違って消してもまたリンクを張り直せばよいですから。

$HOME/.* は所詮設定ファイルなので個人的なファイルを消去してしまうことよりもずっと
ダメージは少ないと思います。
ちなみに zsh だとデフォルトで rm -rf * を実行すると本当に消すかどうかの確認を
要求されます。 rm -f hoge.* とやるつもりが rm -f hoge. * とやったりする事故を
防げます。

オフライン

 

#9 2008-11-30 17:10:14

hellfire
メンバ
From: 日本/神奈川県
登録日: 2006-11-21

Re: ホームディレクトリの構造

皆様,検証やアドバイス,ありがとうございます.

コマンド操作では,隠し属性のものは簡単に消せないようになっているのですね.
自分の知識の浅さを改めて認識させられました.

では,Nautilusからではどうでしょうか?

これは私の経験からなのですが,私がUbuntu初心者だった頃は,よく分からずに,Nautilusでホームディレクトリの隠しファイルが生成される度に消していました.何か自分が知らないファイルができあがっていると,気持ち悪いということから起こした行動でした.今になってみれば,よくあんな危険な行動を起こしたものだと思えます.しかし,システム全体に影響を与えないとはいえ,こういう行動が部分部分のトラブルへと発展すると思うのです.

追加:

f0705 による投稿:

$HOME/.* は所詮設定ファイルなので個人的なファイルを消去してしまうことよりもずっとダメージは少ないと思います。

とありましたが,アプリケーションによっては,設定ファイルが消去されてしまうと起動できなくなるものが,私の経験でありました.gTwitterがその例で(アプリケーションのバグだと思うのですが),一度アンインストールしてしまったため設定ファイルである「.gtwitter」を自分で消してました.しかし,再びインストールした所,起動できなくなるという問題に陥りました.これは,バックアップにあった.gtwitterをコピーすることで問題は解決しました.確かに,個人的なファイルを誤って消してしまう方がリスクが大きいですが,アプリケーションが起動できないというのも,結構な痛手だと思います.また,GUIのデスクトップの環境設定ディレクトリもホームディレクトリにあるようで,変更するとデスクトップ環境が不安定になります(再起動すればいいのですが…).

オフライン

 

#10 2008-11-30 18:52:16

mizuno
管理者
From: Kyoto
登録日: 2007-02-28

Re: ホームディレクトリの構造

hellfire による投稿:

では,Nautilusからではどうでしょうか?

これは私の経験からなのですが,私がUbuntu初心者だった頃は,よく分からずに,Nautilusでホームディレクトリの隠しファイルが生成される度に消していました.何か自分が知らないファイルができあがっていると,気持ち悪いということから起こした行動でした.今になってみれば,よくあんな危険な行動を起こしたものだと思えます.しかし,システム全体に影響を与えないとはいえ,こういう行動が部分部分のトラブルへと発展すると思うのです.

Nautilusのデフォルト設定では隠しファイルは表示されません。隠しファイルを操作するためには明示的に設定を変更する必要があります。
設定を変更している時点で「隠しファイルを操作する意志がある」ということですので、その先のオペレーションミスまではシステムでフォローする部分ではないと思いますがどうでしょうか。

オフライン

 

#11 2008-12-02 11:37:40

hellfire
メンバ
From: 日本/神奈川県
登録日: 2006-11-21

Re: ホームディレクトリの構造

mizuno さん お返事ありがとうございます.

考えてみれば,確かにそうですね.
少し変な方向に考えすぎたようで,普通の人は隠し属性のものを表示してまで,操作しませんよね….

オフライン

 

Board footer

Powered by FluxBB