Ich habe also ein Musikalbum von aMule heruntergeladen und es befindet sich im .aMule/Incoming
Verzeichnis. Ich habe versucht, es mit dem folgenden Befehl herauszubekommen:
mv albumName.rar ~
Dadurch blieb mir eine Datei ~
, .aMule/Incoming
die ich nicht umbenennen konnte, da Tilde für das Home-Verzeichnis reserviert ist. Ich weiß, dass ich über Nautilus darauf zugreifen kann, indem ich versteckte Dateien anzeige. Wie kann ich sie im Terminal herausziehen?
Aktualisieren So sieht es jetzt aus
manuzhang@manuzhang-R458-R457:~/.aMule/Incoming$ ls -l
total 328
-rw-r--r-- 1 manuzhang manuzhang 297266 2012-03-19 12:07 ~
-rw-r--r-- 1 manuzhang manuzhang 34479 2011-10-11 19:51 [kat.ph]friends.season.1.with.english.subtitles.torrent
Antwort1
mv \~ ~/albumName.rar
mv '~' ~/albumName.rar
mv ./~ ~/albumName.rar
Sie können ein Zeichen, das in der Shell eine besondere Bedeutung hat, immer schützen, indem Sie davor einen Backslash setzen.
Sie können der Shell immer sagen, dass sie eine Sequenz wörtlich interpretieren soll, indem Sie sie in einfache Anführungszeichen setzen. Das einzige Zeichen, das Sie nicht in eine solche Literalzeichenfolge setzen können, ist das einfache Anführungszeichen selbst, da es das Ende der Literalzeichenfolge anzeigt. Sie können '\''
stattdessen verwenden; es bedeutet „Ende des Literals, das Zeichen '
, Beginn des Literals“, aber Sie können es sich als eine seltsame Art vorstellen, ein einfaches Anführungszeichen in eine Literalzeichenfolge innerhalb einfacher Anführungszeichen zu setzen.
Nur am Anfang eines Pfades ist das Zeichen ~
etwas Besonderes, d. h. wenn Sie eine Verzeichnisangabe machen, ~
ist dies der Name der Datei in diesem Verzeichnis.
Beachten Sie, dass, wenn der Dateiname mit beginnt -
, nur die letzte dieser drei Methoden funktioniert. Dies liegt daran, dass es -
für die Shell nichts Besonderes ist; es hat eine besondere Bedeutung für den Befehl: es zeigt eine Option an. Eine andere Möglichkeit, sich vor dieser besonderen Bedeutung zu schützen, besteht darin, die besondere Option davor -
zu setzen : In einer Befehlszeile zeigt es das Ende der Optionen an, danach dürfen nur Dateinamen (oder andere Argumente ohne Optionen) kommen.--
--
Beachten Sie auch, dass der angezeigte Befehl die Datei in Ihr Home-Verzeichnis kopiert haben sollte, da das ~
Zeichen von der Shell interpretiert werden sollte. Möglicherweise haben Sie sich vertippt und eine Datei erstellt, die nicht heißt ~
. Führen Sie ls -q
oder ls -Q
aus, um zu sehen, ob der Dateiname ein nicht druckbares Zeichen enthält. Wenn dies keine visuelle Anzeige liefert, versuchen Sie es mit ls | od -t o1
, wodurch der Oktalcode für jedes Byte im Dateinamen angezeigt wird. In ksh, bash oder zsh können Sie $'\123'
in einer Befehlszeile verwenden, um ein Zeichen durch seinen Oktalcode anzugeben. Alternativ können Sie möglicherweise ein Muster finden, das mit der Datei übereinstimmt. Wenn Sie beispielsweise feststellen, dass die Länge des Dateinamens 3 beträgt und dass die einzigen anderen Dateien mit der Länge 2 foo
und sind bar
, können Sie die Datei mit verschieben
mv ./[^bf]?? ~/albumName.rar
Und wenn Sie bereit sind, die Maus zu verwenden, und der Name aus druckbaren Zeichen besteht, die Sie nicht eingeben können: Kopieren Sie den Dateinamen aus der Ausgabe von ls
.
Antwort2
Geben Sie einen Pfad zur Datei an.
cat ./~
Antwort3
Das eingefügte Update zeigt, dass es sich um ein High-ASCII- oder Unicode-Zeichen handelt, nicht um eine einfache Tilde... Können Sie mc
einen anderen Dateimanager verwenden? Wie wäre es, alles zu verschieben?andersaus diesem Verzeichnis und dann die Tab-Vervollständigung verwenden?