Verzeichnis kann nicht gelöscht werden, existiert nicht?

Verzeichnis kann nicht gelöscht werden, existiert nicht?

Irgendwie wurde dieser Ordner erstellt, als ich über SFTP angemeldet war.

"Sep 19 18:50 "

Ich habe versucht, es per SFTP zu löschen.

Habe versucht, mich per SSH anzumelden und mit rm -rf als Root zu löschen

Error:  rm /home/user/Downloads/manual/Sep 19 18:50  : no such file or directory

Wenn ich ls -al eingebe, wird es dort angezeigt.

root@ndsdsd:/home/user/Downloads/manual# ls -al
total 32
drwxrwxr-x 3 keelan keelan  4096 Sep 19 18:50
drwxrwxr-x 3 keelan keelan 12288 Sep 20 07:56 .
drwxr-xr-x 8 keelan keelan 16384 Sep 19 23:11 ..

Antwort1

Ich glaube nicht, dass Sie wirklich eine Datei mit dem Namen haben Sep 19 18:50.

Ich habe einen neuen Ordner erstellt tmpund dann eine einzelne Datei fooin diesem Ordner angelegt. Dann sftphabe ich 'in', cd'to tmp' und ausgeführt ls -l:

drwxrwxr-x    2 ek       ek           4096 Sep 19 19:39 .
drwxr-xr-x   30 ek       ek           4096 Sep 19 19:39 ..
-rw-rw-r--    1 ek       ek              0 Sep 19 19:39 foo

Sie werden feststellen, dass alle Einträge ein Datum und eine Uhrzeit aufweisen. Dies ist kein Teil ihres Namens, sondern nur die Zeit, zu der sie als letzte Änderung markiert sind.

Rechts davon steht der Name, getrennt durch ein Leerzeichen. Somit gibt es drei Einträge:

  • foo, die Datei, die ich erstellt habe.

  • .., das repräsentiert dieElternteilVerzeichnis (also der Ordner weiter oben):

    sftp> pwd
    Remote working directory: /home/ek/tmp
    sftp> cd ..
    sftp> pwd
    Remote working directory: /home/ek
    

    (Außer wenn Sie sich in befinden /. Darüber befindet sich /im Verzeichnisbaum nichts. Dann – und nur dann – ..stellt es dasselbe Verzeichnis dar wie ..)

  • ., das repräsentiert dieaktuellVerzeichnis (also das Verzeichnis, in dem Sie sich gerade befinden).

    sftp> cd tmp
    sftp> pwd
    Remote working directory: /home/ek/tmp
    sftp> cd .
    sftp> pwd
    Remote working directory: /home/ek/tmp
    

lszeigt nur die Einträge .und ..an, wenn das -aFlag angegeben ist (oder wenn Sie explizit deren Namen oder ein passendes Muster nach lsin der Befehlszeile angeben). Dies gilt sowohl für den lsBefehl in sftpals auch fürlsBefehl, der bei einer vollständigen Anmeldesitzung mit einer regulären Shell-Eingabeaufforderung ausgegeben wird.

Antwort2

Sie interpretieren die Ausgabe von falsch ls. Der tatsächliche Verzeichnisname ist ..und es ist ein spezielles Verzeichnis, das zum Navigieren durch das Dateisystem verwendet wird (wie wenn Sie eingeben, cd ..um eine Ebene nach oben zu gelangen). Jedes Unterverzeichnis hat eines. Sep 19 18:50ist nur das Erstellungsdatum des Verzeichnisses.

Antwort3

Ich denke, es liegt an den Leerzeichen. Versuchen Sie Folgendes:

sudo rm -rf "/home/user/Downloads/manual/Sep 19 18:50"

Antwort4

root@dsadwsd:/home/user/Downloads/manual# ls -al
total 32
drwxrwxr-x 3 keelan keelan  4096 Sep 19 18:50
drwxrwxr-x 3 keelan keelan 12288 Sep 20 07:56 .
drwxr-xr-x 8 keelan keelan 16384 Sep 19 23:11 ..

Als ich hervorgehoben habe:

drwxrwxr-x 3 keelan keelan  4096 Sep 19 18:50

Am Ende war ein Leerzeichen. Also habe ich Folgendes gemacht:

root@dsadwsd:/home/user/Downloads/manual# rm -rf " "

Dadurch wurde der Ordner entfernt. Seltsam, dass der Ordnername nicht einfach leer (Leerzeichen) war, sondern das Erstellungsdatum des Ordners annahm.

Ich kann dies jetzt replizieren, indem ich per SFTP einen neuen Ordner mit einem Leerzeichen als Namen erstelle. Dadurch wird der Ordnername in das Erstellungsdatum geändert.

Danke für die Hilfe!

verwandte Informationen