GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie kann ich in ein Verzeichnis mit diesem Namen -2 (beginnend mit dem Bindestrich) wechseln?

Lösung 1:

Mindestens zwei Möglichkeiten:

  1. Verwenden Sie den -- Argument.

    cd -- -2
    

    Dies verwendet eine für GNU-Tools übliche Konvention, die besagt, dass nichts behandelt wird, was nach -- erscheint als Befehlszeilenoption.

    Wie ein Kommentator bemerkte, ist diese Konvention auch im POSIX-Standard definiert:

    Standardverhalten: Wenn dieser Abschnitt als „None.“ aufgeführt ist, bedeutet dies, dass die Implementierung keine Optionen unterstützen muss. Standard-Dienstprogramme, die keine Optionen, aber Operanden akzeptieren, sollen "--" erkennen als erstes zu verwerfendes Argument.

    Die Anforderung zum Erkennen von "--" liegt daran, dass konforme Anwendungen eine Möglichkeit benötigen, ihre Operanden vor beliebigen Optionen zu schützen, die die Implementierung möglicherweise als Erweiterung bereitstellt. Wenn zum Beispiel das Standarddienstprogramm foo so aufgelistet ist, dass es keine Optionen akzeptiert, und die Anwendung ihm einen Pfadnamen mit einem führenden Bindestrich geben muss, könnte es dies sicher tun als:

    foo -- -myfile
    

    und vermeiden Sie Probleme mit -m als Erweiterung verwendet.

    sowie:

    Richtlinie 10:
    Das Argument -- sollte als Begrenzungszeichen akzeptiert werden, das das Ende von Optionen anzeigt. Alle folgenden Argumente sollten als Operanden behandelt werden, auch wenn sie mit '-' beginnen Charakter. Die -- Argument sollte nicht als Option oder als Operand verwendet werden.

  2. Geben Sie den Pfad explizit an:

    cd ./-2
    

    Dies gibt den Pfad an, der explizit das aktuelle Verzeichnis benennt (. ) als Ausgangspunkt.

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

    Dies sind Variationen zu den oben genannten. Eine beliebige Anzahl solcher Variationen kann möglich sein; Ich überlasse es dem Leser als Übung, sie alle zu entdecken.

Lösung 2:

Das sollte funktionieren:

cd -- -2 

-- bedeutet keine weitere Option

Lösung 3:

Dies funktioniert, wenn '-2' im aktuellen Verzeichnis ist.

    cd ./-2

Sie können automatisch vervollständigen, indem Sie - eingeben und die Tabulatortaste drücken.

Lösung 4:

cd /home/...../-2 funktioniert auch. Geben Sie den vollständigen Pfad für den Zugriff an.

Lösung 5:

Nur zur Ergänzung, wenn Sie dieses Verzeichnis entfernen/löschen möchten, können Sie den folgenden Befehl verwenden:

rm -r -- -2

Linux
  1. Wie man in ein bestimmtes Verzeichnis ssh?

  2. Linux – Wie kombiniere ich den Baum mit der Verzeichnisgröße?

  3. Wie bekomme ich den Namen des aktuellen Git-Zweigs in eine Variable in einem Shell-Skript?

  4. Wie ändere ich das Verzeichnis in Git Bash mit Git für Windows?

  5. So löschen Sie eine Datei mit diesem Namen unter Linux:-]???????q

So verwenden Sie den Linux-cd-Befehl zum Ändern des Verzeichnisses

So erhalten Sie die Größe eines Verzeichnisses in Linux

So stellen Sie eine Multi-Tier-Anwendung mit Kubernetes bereit

So führen Sie SSH in ein bestimmtes Verzeichnis unter Linux aus

So ermitteln Sie die Gesamtgröße eines Verzeichnisses in Linux

Wie lösche ich dieses unauslöschliche Verzeichnis?