Unix で名前に「#」文字を含むファイルを作成するにはどうすればよいでしょうか?

Unix で名前に「#」文字を含むファイルを作成するにはどうすればよいでしょうか?

文字を含むファイルを作成したり削除したりするコマンドをすでにたくさん試しましたが#、機能しません。 で始まるファイルを作成して削除するコマンドを教えていただけますか#?

答え1

「変な文字」を含むファイルを作成/削除する2つの標準的な方法は次のとおりです。

  1. 引用、alex が示したように。拡張の必要性に応じて、一重引用符または二重引用符を使用できます。バックスラッシュを使用して、1 つの奇妙な文字をエスケープできます。これは、ファイル名がオプションのように見えない限り (ダッシュで始まる場合) 機能します。
  2. ファイルがオプションのように見える場合は、パスを先頭に追加する:rm ./- "./-rf ."

Unixユーティリティの最新バージョンでは、ダブルダッシュオプションの終了を示します。このようなシステムでは、rm -- -という名前のファイルを削除します-

名前にスラッシュまたは ASCII NUL が含まれるファイルは作成または削除できないことに注意してください。そのようなファイルがある場合 (私は見たことがあります)、ファイル システムに何か重大な問題が発生しています。

ハッシュ の場合#、問題はシェルが で始まる単語を で始まる#単語として解釈することから生じます。シェルコメント優れたシェルでは、このシェル機能を無効にすることができます。インタラクティブなコメント:

  • : ...unsetopt interactivecomments
  • バッシュ:shopt -u interactive_comments

これらを使えば、簡単に手間をかけずにできますtouch #; rm #

答え2

作る...

touch "#file"

削除するには...

rm "#file"

関連情報