ハイフン(-,マイナス)から始まるファイルやディレクトリを作成してしまうと、
rm, cp, mv, cd などのコマンドがエラーとなって正常に動作しません。
原因は、-以降の文字列がオプションとして認識されてしまいコマンドが意図した動作をしないためです。
対処方法を先に書くと、このような場合はオプションを無効にする -- オプションを使用すれば良いです。
以下、実際に - から始まるファイルやディレクトリを作成し、実験してみます。
上記でも記した通り、-- オプションは以降のオプションを無効にします。
よって、-- オプションを使えば、-から始まるファイルやディレクトリを作成することもできます。
以下のように-付きのファイルを作成しようとするとエラーになりますね。
$ touch -Linux touch: 無効なオプション -- 'L' Try 'touch --help' for more information.
以下の操作は、--オプションを使って、-から始まるファイルをtouchコマンドで作成し、
lsコマンドに--オプションを使って-から始まるファイル(-*)を表示した例です。
$ touch -- -ubuntu -debian -centos -archlinux $ ls -- -* -archlinux -centos -debian -ubuntu $
実際にファイル名を変更、削除やコピーしたりしてみます。 $ ls -- -* -archlinux -centos -debian -ubuntu mv -- -archlinux -ArchLinux $ rm -- -centos $ cp -- -debian Debian $ ls -- -* $ ls -- -* -ArchLinux -debian -ubuntu $ ls Debian Debian ファイル名変更(mv),削除(rm),コピー(cp)が正常に動作しているのが確認できます。
以下は-から始まるディレクトリを操作してみます。
~ $ mkdir -- -LINUX ~ $ ls -d -- -LINUX -LINUX ~ $ cd -- -LINUX/ ~/-LINUX $ ~/-LINUX $ cd .. ~ $ mv -- -LINUX -Linux ~ $ ls -d -- -Linux -Linux ~ $ rmdir -- -Linux ~ $ ls -d -- -Linux ls: '-Linux' にアクセスできません: そのようなファイルやディレクトリはありません ~ $
上記の通り、ディレクトリでも同様の操作が可能です。
以上、-(ハイフン,マイナス)から始まるファイル、ディレクトリを操作する方法でした。