J'utilise un terminal sur une machine Ubuntu et il y a un fichier que je voudrais supprimer. Le nom du fichier est \
(juste une barre oblique inverse).
Maintenant, d'habitude, je ferais juste
rm filename
Cependant, si je le fais, rm \
il pense que j'essaie d'écrire une commande sur plusieurs lignes.
Comment puis-je supprimer ce fichier? Je sais que je pourrais simplement utiliser le système de fichiers GUI, mais ce n'est pas très efficace.
Alors, comment puis-je supprimer (dans le terminal) un fichier appelé \
?
code
bloc ici dans ce commentaire!)fsck
. Sérieusement. Si un fichier nommé/
existe, votre système de fichiers est corrompu.*
...Réponses:
Utiliser
rm \\
(échapper à la barre oblique inverse avec une autre barre oblique inverse). Notez que cela fonctionne également de manière similaire, pour les répertoires nommés\
(en utilisant soitrmdir
, soitrm
avec l'-r
indicateur).Exemple:
la source
rm '\'
(mais pasrm "\"
).\
caractère est utilisé comme caractère d'échappement dans les chaînes délimitées par des guillemets doubles. Direrm "\"
sera analysé dans une chaîne non fermée, car le deuxième guillemet est utilisé avec un caractère d'échappement (et sera donc analysé comme le caractère de guillemet double lui-même, et non la fin d'une chaîne). Ainsi, le terminal attendra que vous finissiez la chaîne par une autre"
. La méthode équivalente pour utiliser des guillemets serait icirm "\\"
(qui est directement équivalente aux deuxrm '\'
etrm \\
, comme vous l'avez déjà confirmé).Une tactique générale pour supprimer manuellement les fichiers avec des caractères maladroits dans leurs noms est
Cela vous invitera à choisir de supprimer ou non chaque fichier du répertoire.
la source
rm -i ./?
./
Vous pouvez également supprimer le lien en référençant l'inode d'un fichier
la source
Veuillez d'abord vérifier l'inode du fichier. ls -li
137791 -rw-rw-r--. 1 svr svr 366 11 mars 15:57
l'inode de "\" est "137791, puis utilisez la commande find pour supprimer" \ "avec le numéro d'inode.
trouver . -inum 137791 -exec rm -i {} \;
rm: supprimer le fichier normal `./ \ '? Oui
"\" sera alors supprimé.
la source