Ziehen Sie eine Datei mit dem Namen ~ heraus

Ziehen Sie eine Datei mit dem Namen ~ heraus

Ich habe also ein Musikalbum von aMule heruntergeladen und es befindet sich im .aMule/IncomingVerzeichnis. Ich habe versucht, es mit dem folgenden Befehl herauszubekommen:

 mv albumName.rar ~

Dadurch blieb mir eine Datei ~, .aMule/Incomingdie 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 -qoder ls -Qaus, 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 foound 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 mceinen anderen Dateimanager verwenden? Wie wäre es, alles zu verschieben?andersaus diesem Verzeichnis und dann die Tab-Vervollständigung verwenden?

verwandte Informationen