Wie wird der Inhalt einer Datei mit leerem Dateinamen angezeigt?

13
drwxrwxr-x 2 ubuntu ubuntu  4096 Mar 19 07:30 xxxxx
-rw-rw-r-- 1 ubuntu ubuntu   580 Mar 20 07:24  
-rw-rw-r-- 1 ubuntu ubuntu 27137 Mar 20 09:10 xxx.js

Hier befindet sich eine Datei in der zweiten Zeile, aber sie ist leer. Gibt es eine Idee, wie der Inhalt angezeigt werden soll?

Zauberer
quelle
4
es ist nicht leer;) es hat wahrscheinlich ein nicht druckbares Zeichen. Bitte posten Sie die Ergebnisse von ls -b:)
Rinzwind
Wenn ein nicht druckbares Zeichen vorhanden ist, wird es beim Markieren hervorgehoben.
Wizgot

Antworten:

17

Inodes zur Rettung: Führen Sie zunächst ls -lialle Dateien mit ihren Inodes auf. Die Inode ist die Nummer auf der linken Seite. Notieren Sie die Inode-Nummer Ihrer unsichtbaren Datei. Dann: find . -inum xxx -exec nano {} \;Ersetzen Sie xxx durch die Inode-Nummer und möglicherweise nano durch den Editor Ihrer Wahl.

Erläuterung:
Der Befehl find findet die Datei mit der Inode-Nummer xxx und führt dann einen Befehl aus. In diesem Fall wird er an übergeben nano. Das {}ist ein Platzhalter für den Dateinamen; Das \;am Ende gibt das Ende des Befehls an.

Jos
quelle
2
Der Befehl find findet die Datei mit der Inode-Nummer xxx und führt dann einen Befehl aus. In diesem Fall wird er an nano übergeben. Das {} ist ein Platzhalter für den Dateinamen. das \; am Ende gibt das Ende des Befehls an.
Jos
@Jos Könntest du das in deine Antwort schreiben, anstatt nur einen Kommentar?
Pureferret
1

Sie können ein tun

gedit *

um alle Dateien zu öffnen (Brute-Force-Ansatz) Oder besser

gedit " "*

wenn Sie sicher sind, dass die Datei mit einem Leerzeichen beginnt.

(Sie können gedit durch Ihren Lieblingseditor ersetzen.)

Lorenzo Baracchi
quelle
nein, hat nicht funktioniert, ich habe alle Dateien mit Emacs * abgespeichert, bis auf diese im Puffer.
Wizgot
Was passiert, wenn Sie verwenden xdg-open *? Es sollte alle Dateien mit ihrer Standardanwendung öffnen.
Lorenzo Baracchi
Es ist ein Terminal, in das ich sshing.
Wizgot
2
*wird Shell-Expansion verursachen. Wenn die Datei aus einem Leerzeichen besteht, *wird der Befehlszeile nur ein Leerzeichen hinzugefügt. Daher wird die Datei übersprungen.
Gerrit