sudo rm -rf * からファイルを隠す(またはスキップする)

sudo rm -rf * からファイルを隠す(またはスキップする)

' ' を含むスクリプトから 1 つの新しいファイルを非表示にしようとしていますsudo rm -rf *。スクリプトをやり直さずにこれを実行できるかどうか、またはこれが可能かどうか疑問に思っています。

私は次のことを試しました:

$ sudo chattr +i file.txt

そして

$ sudo chattr +a file.txt

後者は私が探している機能に近いです。+a

これらは機能しますが、スクリプトの実行中にスキップされず、すぐにエラーが発生しOperation not permitted...、他のものは削除されません。

..私の望ましい結果は、完全に非表示にするか、スキップすることですsudo rm -rf *

答え1

デフォルトでは、*の展開は で始まるファイルを無視します.。そのため、そのようにファイルに名前を付けると、sudo rm -rf *はそれを削除しません。

touch .myfile
rm *
ls -a

見るシェル グロブがデフォルトでドット ファイルを省略するのはなぜですか?詳細については。

関連情報