Je viens de remarquer que j'ai un fichier appelé ~
dans mon ~
répertoire.
$ ls -la ~
...
-rw-r----- 1 x1 x1 733962240 Mar 1 17:55 ~
...
Une idée de comment je peux mv
ou rm
ça?
linux
bash
filesystems
scrrr
la source
la source
Réponses:
La solution idéale pour les fichiers qui ne peuvent pas être supprimés normalement:
La première colonne montrera le numéro d'inode des fichiers.
Ceci supprimera le fichier avec le numéro d'inode spécifié après vérification.
la source
-delete
au lieu de-exec
, puis j'ai réalisé que vous utilisiezrm -i
ce qui est une bonne idée, alors j'ai annulé. Pardon.Vous devriez pouvoir faire référence à ce fichier comme
~/~
(sans guillemets) car tilde-expansion applique uniquement le tilde (~
) au tout début du mot.la source
rm ./~
, pour la même raison que vous avez dit./~
littéralement signifie "un fichier ou un dossier nommé~
dans le répertoire actuel" . Il n'y a pas de hacks comme des caractères d'échappement ou des références d'inodes../~
fait le fait. Au bout de cinq ans, ma mémoire est un peu floue, mais je pense que c'est pourquoi je suggère~/~
plutôt que plus normale./~
: La question se réfère spécifiquement à « un fichier nommé~
dans [OP] le répertoire »; pas "dans le répertoire courant".Citez-le (
rm '~'
) ou échappez-le (rm \~
).C'est toujours l'un de ceux-ci (aussi pour par exemple
$
), ou add--
pour empêcher le nom de fichier d'être interprété en tant qu'argument:rm -- -i
supprime le fichier nommé-i
; également utilerm -- *
lorsque vous souhaitez supprimer tous les fichiers du répertoire en cours: Pas accidentelrm -f *
simplement parce qu'un fichier est nommé ainsi.la source
--
n'arrête que les arguments suivants interprétés en tant que paramètres - cela n'empêche pas le shell d'effectuer son développement (par exemple*
), c'est ce qui se passe ici. (Je sais que vous l'avez suggéré comme solution de rechange à d'autres situations, mais un avertissement serait bon.)