行儀が悪いというか、あまり作ることはないと思うのだが、コンソール上で『-~
』で始まるファイルを扱う場合。
こういったファイルの場合、ただ単にシングルクォーテーション・ダブルクォーテーションで括ってやっても駄目だったりする。
こういったファイルをコンソール上で扱う場合、大体のコマンドでは以下のように二重ハイフンを付与することで対応できる。
コマンド -- ファイルPATH
[root@BS-PUB-CENT7-01 ~]# touch -test
touch: `est': 無効な日付の書式です
[root@BS-PUB-CENT7-01 ~]# touch "-test"
touch: `est': 無効な日付の書式です
[root@BS-PUB-CENT7-01 ~]# touch '-test'
touch: `est': 無効な日付の書式です
[root@BS-PUB-CENT7-01 ~]#
[root@BS-PUB-CENT7-01 ~]# touch -- '-test'
[root@BS-PUB-CENT7-01 ~]# ls -la -- -test
-rw-r--r--. 1 root root 0 3月 12 20:26 -test
[root@BS-PUB-CENT7-01 ~]#
[root@BS-PUB-CENT7-01 ~]# rm -test
rm: 無効なオプション -- 't'
Try 'rm ./-test' to remove the file `-test'.
Try 'rm --help' for more information.
[root@BS-PUB-CENT7-01 ~]# rm -- -test
rm: 通常の空ファイル `-test' を削除しますか? y
[root@BS-PUB-CENT7-01 ~]# ls -la -- -test
ls: -test にアクセスできません: そのようなファイルやディレクトリはありません