[Prev][Next][Index]

スペースやカッコの入ったファイルが出来てしまって消せません



[Q]
スペースやカッコが名前の中に入ったファイルやディレクトリが出来てしまい ました。

 c02:~/tmp> ls -l
    total 2
    -rw-r--r--   1 ohba  wheel     0  10/31 16:52 kakko(file
    drwxr-xr-x   2 ohba  wheel   512  10/31 16:51 space dir

 そのディレクトリに移ろうとしても、

 c02:~/tmp> cd space dir
 cd: アーギュメントが多過ぎます.

 と言って怒られ、ファイルを消そうとしても、

 c02:~/tmp> rm kakko(file
 "("が多すぎます.

 と言われて消せません。どうすればいいのでしょうか?

[A]
スペースやカッコや|などは、シェルの文法として解釈されてしまうので、通 常、ファイル名にこれらの文字を含めてはいけません。出来てしまったものは、 次の方法で、消すか、名前を変更してください。

 c02:~/tmp> mv space\ dir space_dir
 c02:~/tmp> rm kakko\(file

\ によって、シェルは次の文字を解釈せず、そのままの文字として扱います。 上の例の場合は、元々、space や kakko で始まるファイルやディレクトリー はそれぞれひとつしかないので、(tcsh では、) mv s と打った後に、TABキー を打つと、mv space\ dir まで補間してくれます。

また、fd や mule の dired-mode (M-x dired または C-x d で起動) を利用 することも出来ます。