Comment voir le contenu d'un fichier avec un nom de fichier vide?

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

Ici, il y a un fichier sur la deuxième ligne mais c'est vide, une idée comment voir le contenu?

wizgot
la source
4
il n'est pas vide;) il a probablement un caractère non imprimable. Veuillez poster les résultats de ls -b:)
Rinzwind
ur rite son a \ - i tot s'il y a un caractère non imprimable, il est mis en évidence en le marquant.
wizgot

Réponses:

17

Les inodes à la rescousse: d'abord, faites ls -lipour lister tous les fichiers avec leurs inodes. L'inode est le numéro à gauche. Notez le numéro d'inode de votre fichier invisible. Ensuite: find . -inum xxx -exec nano {} \;remplacer xxx par le numéro d'inode, et éventuellement nano par l'éditeur de votre choix.

Explication:
La commande find trouve le fichier portant le numéro d'inode xxx, puis exécute une commande, dans ce cas: la transmet à nano. L' {}est un espace réservé pour le nom de fichier; le \;à la fin indique la fin de la commande.

Jos
la source
2
La commande find trouve le fichier avec le numéro d'inode xxx, puis exécute une commande, dans ce cas: le passe à nano. Le {} est un espace réservé pour le nom de fichier; les \; à la fin indique la fin de la commande.
Jos
@Jos Pourriez-vous modifier cela dans votre réponse, plutôt qu'un simple commentaire?
Pureferret
1

Vous pouvez faire un

gedit *

pour ouvrir tous les fichiers (approche par force brute) Ou mieux

gedit " "*

si vous êtes sûr que le fichier commence par un espace.

(vous pouvez remplacer gedit par votre éditeur préféré)

Lorenzo Baracchi
la source
Non, cela n'a pas fonctionné, j'ai utilisé emacs * tous les fichiers sauf celui-ci apparaissant dans le tampon.
wizgot
Que se passe-t-il si vous utilisez xdg-open *? Il devrait ouvrir tous les fichiers en utilisant leur application par défaut.
Lorenzo Baracchi
C'est un terminal dans lequel je fouille.
wizgot
2
*provoquera une expansion du shell. Si le fichier se compose d'un caractère espace, il *suffit d'ajouter des espaces à la ligne de commande. Par conséquent, le fichier sera ignoré.
gerrit