GNU/Linux >> Znalost Linux >  >> Linux

Jak cd do adresáře s tímto názvem -2 (začínající pomlčkou)?

Řešení 1:

Alespoň dvěma způsoby:

  1. Použijte -- argument.

    cd -- -2
    

    Toto používá konvenci společnou pro nástroje GNU, která spočívá v tom, že se nezachází s ničím, co se objeví po -- jako možnost příkazového řádku.

    Jak poznamenal komentátor, tato konvence je také definována ve standardu POSIX:

    Výchozí chování: Když je tato sekce uvedena jako "Žádná.", znamená to, že implementace nemusí podporovat žádné možnosti. Standardní nástroje, které nepřijímají možnosti, ale přijímají operandy, musí rozpoznat "--" jako první argument, který je třeba zahodit.

    Požadavek na rozpoznání "--" je to proto, že vyhovující aplikace potřebují způsob, jak chránit své operandy před libovolnými možnostmi, které implementace může poskytnout jako rozšíření. Pokud je například standardní obslužný program foo uveden jako nevyužívající žádné možnosti a aplikace mu musela přidělit cestu s pomlčkou na začátku, může to bezpečně provést takto:

    foo -- -myfile
    

    a vyhněte se jakýmkoli problémům s -m používá se jako rozšíření.

    stejně jako:

    Pokyn 10:
    Argument -- by měl být přijat jako oddělovač označující konec možností. Všechny následující argumenty by měly být považovány za operandy, i když začínají '-' charakter. -- argument by neměl být používán jako volba nebo jako operand.

  2. Explicitně zadejte cestu:

    cd ./-2
    

    Toto specifikuje cestu explicitně pojmenující aktuální adresář (. ) jako výchozí bod.

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

    Toto jsou variace výše uvedeného. Může být možný libovolný počet takových variací; Nechám to jako cvičení na čtenáři, aby je všechny objevil.

Řešení 2:

Mělo by to fungovat:

cd -- -2 

-- znamená žádnou další možnost

Řešení 3:

To bude fungovat, pokud je v aktuálním adresáři '-2'.

    cd ./-2

Automatické doplňování můžete provést zadáním – a stisknutím tabulátoru.

Řešení 4:

cd /home/...../-2 také funguje. Uveďte úplnou cestu k přístupu.

Řešení 5:

Jen pro doplnění, pokud chcete tento adresář odstranit/smazat, můžete použít následující příkaz:

rm -r -- -2

Linux
  1. Jak nainstalovat R 3.3.1 do vlastního adresáře?

  2. Jak SSH do konkrétního adresáře?

  3. Linux – jak zkombinovat strom s velikostí adresáře?

  1. Jak auditovat oprávnění pomocí příkazu find

  2. Jak odstranit všechny soubory začínající určitým řetězcem v Linuxu

  3. Nelze přejmenovat soubor, jehož název začíná pomlčkou

  1. Jak smazat soubor, jehož jméno začíná „-“ (pomlčka A.k.a. pomlčka nebo minus)?

  2. Použití –exclude With The Du Command?

  3. Jak zajistit, aby Localhost s jiným adresářem než index fungoval?