Ich frage mich immer: Die meisten GNU / Unix-Tools verwenden Optionen in der Form "minus etwas", manchmal gefolgt von einem Argument. Was ist, wenn Sie eine Datei mit dem Namen minus etwas haben?
$ ls
-f
$ rm -f
$ ls
-f
$ mv -f abc
mv: missing destination file operand after `abc'
Try `mv --help' for more information.
$ cat -f
cat: invalid option -- 'f'
Try `cat --help' for more information.
oder
$ ls
-ohello.c
$ gcc -ohello -ohello.c
gcc: fatal error: no input files
compilation terminated.
Dies ist nur aus Neugier; Ich habe keinen Anwendungsfall dafür.
Antworten:
-x
Verwenden Sie zum Entfernen einer benannten Dateirm -- -x
(--
bedeutet Ende der Optionen) oderrm ./-x
.quelle
Es ist ziemlich üblich, diese Art von Fragen in Intervieweinstellungen zu stellen. Eine übliche Methode, um Dateien mit Bindestrichen zu behandeln, ist entweder:
quelle
Eine häufige Frage in Unix. Die Hauptmethode besteht darin, der Datei den vollständigen Pfadnamen zu geben, damit kein Bindestrich davor steht:
Bei einigen Befehlen können Sie einen Strich für sich (oder einen doppelten Bindestrich) verwenden, um die Optionen zu beenden. Dies gilt jedoch nicht unbedingt für alle Befehle oder sogar für denselben Befehl auf verschiedenen Systemen.
quelle
du musst verwenden
Ex:
quelle