このエントリーをはてなブックマークに追加


ハイフン(-)から始まるファイルやディレクトリを操作する

ハイフン(-,マイナス)から始まるファイルやディレクトリを作成してしまうと、
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' にアクセスできません: そのようなファイルやディレクトリはありません
~ $

上記の通り、ディレクトリでも同様の操作が可能です。

以上、-(ハイフン,マイナス)から始まるファイル、ディレクトリを操作する方法でした。



トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2019-09-13 (金) 22:03:32