Maison >Tutoriel système >Linux >Plusieurs méthodes pour supprimer les noms de fichiers spéciaux sous Linux
Le système d'exploitation Linux fournit de puissants outils de ligne de commande, tels que la commande rm, qui peuvent supprimer des fichiers et des répertoires. Cependant, certains fichiers sont spécialement nommés et la commande rm ordinaire peut ne pas pouvoir les supprimer, ce qui pose problème à de nombreux utilisateurs de Linux. Dans cet article, nous présenterons plusieurs façons de supprimer les noms de fichiers spéciaux afin que vous puissiez facilement gérer ces fichiers ennuyeux.
règles de dénomination des fichiers Linux
Avant l'introduction, expliquons brièvement les règles de dénomination des fichiers sous Linux. Un nom de fichier ou de répertoire est constitué de caractères autres que "/" et le caractère nul "
Mettez le chemin lors de la suppression
Supposons qu'il existe un fichier nommé -static, nous le supprimons en utilisant la méthode normale :
$ rm -static rm: invalid option -- 's' Try 'rm ./-static' to remove the file '-static'. Try 'rm --help' for more information.C'est dommage que cette méthode génère une erreur et ne puisse pas supprimer avec succès le fichier -static. Pourquoi ? Nous savons que sous Linux, cela commence généralement par -, suivi de quelques caractères, comme option de commande. Malheureusement, -static est considéré comme une option de paramètre par la commande rm. Malheureusement, en fait, une telle option n'existe pas. , il finit donc par afficher une option non valide - 's', ce qui empêche la suppression du fichier -static.
Alors, existe-t-il un moyen de le supprimer ? Nous avons remarqué qu'en plus de proposer des options illégales, nous avons également essayé rm ./-static. Est-ce possible :
.
$ rm ./-static $Enfin, nous avons constaté que nous avions supprimé avec succès le fichier -static. Nous obtenons donc notre première méthode, qui consiste à supprimer le fichier avec le chemin.
Utiliser lors de la suppression —
En plus de nous inviter à utiliser rm ./-static, nous nous avons également demandé d'utiliser rm –help pour obtenir plus d'informations, alors jetons un coup d'œil :
$ rm --help (省略部分内容) To remove a file whose name starts with a '-', for example '-foo', use one of these commands: rm -- -foo rm ./-foo (省略部分内容)Il y a beaucoup de contenu, mais vous pouvez remarquer le contenu ci-dessus. Pour les fichiers commençant par -, deux méthodes de suppression sont proposées. La seconde est celle mentionnée ci-dessus, et la seconde consiste à ajouter - devant le supprimé. fichier. :
$ rm -- -static $Nous avons constaté que cette méthode peut également supprimer des fichiers commençant par -.
Utilisez des guillemets lors de la suppression
Comment supprimer des fichiers composés de caractères spéciaux, tels que !* Par exemple :
$ rm \!* rm: missing operand Try 'rm --help' for more information.Pour ce type de fichier, nous devons mettre le nom du fichier entre guillemets :
$ rm "\!*" $Vous pouvez le supprimer de cette manière, mais cette méthode ne peut pas être utilisée pour tous les fichiers de ce type. Par exemple, les fichiers nommés !* ne peuvent pas être supprimés de cette manière, car !* a d'autres significations. Pour plus de détails, voir « Voulez-vous. connaissez-vous l'utilisation de l'exclamation "!" sous Linux ?"
Ajoutez des caractères d'échappement pour supprimer des fichiers
Puisque !* ne peut pas être supprimé en ajoutant des guillemets, existe-t-il un autre moyen Oui lors de la suppression, ajoutez des caractères d'échappement :
$ rm \!* $De cette façon, vous pouvez le supprimer. Sous Linux, de nombreux caractères ont des significations particulières, donc lorsque vous devez les utiliser comme caractères ordinaires, vous devez ajouter un caractère d'échappement devant eux, ce qui est quelque peu similaire à l'échappement en langage C. Pour un autre exemple, pour supprimer des fichiers abc commençant par un espace, vous pouvez utiliser la méthode suivante :
$ rm \ abc $Il sera supprimé avec succès.
Supprimer en fonction du numéro de nœud
Souvent, les noms de fichiers ne peuvent pas être saisis car ils sont constitués d'un ensemble de caractères tronqués. Par conséquent, il est totalement impossible de le supprimer via la méthode présentée ci-dessus. Existe-t-il un autre moyen Oui ! Recherchez le nœud i du fichier et supprimez-le en fonction du nœud i.Par exemple :
$ ls -i #找到乱码文件的i节点号 1703907 ç¼?ç¨?ç? ç??é«?æ¸?pdfç??.pdf $ find ./ -inum 1703907 -exec rm {} \; #或者使用-delete参数Pour l'utilisation de la commande find, veuillez vous référer à « Utilisation avancée de la commande Find ». Cette méthode de suppression par numéro i-node est applicable à tout type de fichier mentionné ci-dessus.
Quelques mots d'expansion ici. Dans le système d'exploitation, comment identifie-t-il un fichier ? Il n'identifie pas les différents fichiers via le nom du fichier, mais via un numéro iNode, c'est-à-dire le numéro du nœud i. Le nom de fichier n'est qu'un des attributs du fichier.
Utilisez des caractères génériques pour supprimer
Pas beaucoup d'explications :
$ rm *.pdf $Cependant, cette méthode peut provoquer une suppression accidentelle, car tant que le nom du fichier se termine par .pdf, il sera supprimé, utilisez-le donc avec prudence en fonction de la situation réelle.
Résumé
Il existe de nombreuses façons de supprimer des noms de fichiers spéciaux, résumées comme suit :
Supprimer les noms de fichiers spéciaux sous Linux peut être une chose frustrante, mais nous avons abordé plusieurs façons de résoudre ce problème dans cet article. Vous pouvez choisir l'une des méthodes en fonction de vos besoins pour supprimer ces fichiers problématiques rapidement et efficacement. Vous pouvez désormais utiliser Linux en toute confiance et résoudre rapidement les problèmes de noms de fichiers spéciaux en cas de besoin.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!