GNU/Linux >> Tutoriels Linux >  >> Linux

Comment cd dans un répertoire avec ce nom -2 (commençant par le trait d'union) ?

Solution 1 :

Au moins deux façons :

  1. Utilisez le -- arguments.

    cd -- -2
    

    Cela utilise une convention commune aux outils GNU qui est de ne pas traiter tout ce qui apparaît après -- comme option de ligne de commande.

    Comme l'a noté un commentateur, cette convention est également définie dans la norme POSIX :

    Comportement par défaut : Lorsque cette section est répertoriée comme "Aucune.", cela signifie que l'implémentation n'a besoin de prendre en charge aucune option. Les utilitaires standard qui n'acceptent pas les options, mais qui acceptent les opérandes, doivent reconnaître "--" comme premier argument à supprimer.

    L'exigence de reconnaissance "--" est parce que les applications conformes ont besoin d'un moyen de protéger leurs opérandes de toute option arbitraire que l'implémentation peut fournir en tant qu'extension. Par exemple, si l'utilitaire standard foo est répertorié comme ne prenant aucune option et que l'application doit lui donner un nom de chemin avec un trait d'union au début, il peut le faire en toute sécurité comme suit :

    foo -- -myfile
    

    et éviter tout problème avec -m utilisé comme extension.

    ainsi que :

    Directive 10 :
    L'argument -- doit être accepté comme délimiteur indiquant la fin des options. Tous les arguments suivants doivent être traités comme des opérandes, même s'ils commencent par le '-' personnage. Le -- l'argument ne doit pas être utilisé comme option ou comme opérande.

  2. Spécifiez explicitement le chemin :

    cd ./-2
    

    Ceci spécifie le chemin nommant explicitement le répertoire courant (. ) comme point de départ.

    cd $(pwd)/-2
    cd /absolute/path/to/-2
    

    Ce sont des variantes de ce qui précède. N'importe quel nombre de telles variations peut être possible; Je vais laisser le lecteur en exercice pour les découvrir tous.

Solution 2 :

Cela devrait fonctionner :

cd -- -2 

-- signifie plus d'option

Solution 3 :

Cela fonctionnera si '-2' est dans le répertoire courant.

    cd ./-2

Vous pouvez compléter automatiquement en tapant - et en appuyant sur tab.

Solution 4 :

cd /home/...../-2 fonctionne aussi. Donnez le chemin d'accès complet.

Solution 5 :

Juste pour compléter, si vous souhaitez supprimer/supprimer ce répertoire, vous pouvez utiliser la commande suivante :

rm -r -- -2

Linux
  1. Comment supprimer un fichier dont le nom commence par "-" (trait d'union A.k.a. Dash ou Minus) ?

  2. Comment installer R 3.3.1 dans le propre répertoire ?

  3. Comment changer le répertoire dans Git Bash avec Git pour Windows ?

  4. Comment supprimer tous les fichiers commençant par une certaine chaîne sous Linux

  5. Impossible de renommer un fichier dont le nom commence par un trait d'union

Comment utiliser la commande Linux cd pour changer de répertoire

Comment obtenir la taille d'un répertoire sous Linux

Comment déployer une application multiniveau avec Kubernetes

Comment SSH dans un répertoire particulier sous Linux

Comment trouver la taille totale d'un répertoire sous Linux

Comment supprimer ce répertoire indélébile ?