GNU/Linux >> Linux Esercitazione >  >> Linux

Come inserire una directory il cui nome è solo un meno?

Ho scaricato lessn sul mio server web e l'ho decompresso.

Contiene una cartella denominata - . Pensavo di sapere come affrontarlo, ma non lo so.

Ho provato cd -- - , ma ciò non ha l'effetto desiderato. Anche l'uso delle virgolette non sembra influire su di esso. Ho messo tagli dappertutto, inutilmente.

Qual è il modo corretto per passare a questa cartella?

Risposta accettata:

Vuoi evitare che sia un parametro, quindi cerchiamo di anteporre qualcosa ad esso. È possibile accedere alla directory corrente con . , quindi la sottocartella - si può accedere in alternativa con ./- .

cd ./-

Il motivo per cui cd -- - non funziona è perché questo è implementato in modo diverso se confronti rm (vedi man rm ) su cd (vedi man bash o man cd ), cd ha un'interpretazione diversa che vede - come parametro (vedi man bash o man cd ).

Va inoltre notato che cd è una funzione incorporata nella shell, come si può leggere in questa risposta:

cd non è un comando esterno:è una funzione incorporata nella shell. Viene eseguito nel contesto della shell corrente e non, come fanno i comandi esterni, in un contesto fork/exec'd come processo separato.

Questo spiega perché l'implementazione è diversa, poiché Bash e Coreutils sono due cose diverse.

Supponiamo solo che non ci crederesti, come lo confermiamo? Usa which e type .

 $ which cd && type cd
which: no cd in (/usr/local/bin:/usr/bin:/bin:/opt/bin:/usr/x86_64-pc-linux-gnu/gcc-bin/4.7.2:/usr/games/bin
cd is a shell builtin
 $ which rm && type rm
/bin/rm
/bin/rm is /bin/rm


Linux
  1. Come rinominare una directory su Linux

  2. Come installare R 3.3.1 nella propria directory?

  3. Come assicurarsi che venga eseguita solo un'istanza di uno script Bash?

  4. Come nominare un thread in Linux?

  5. Come cercare solo la directory corrente in Nautilus (ripristina il vecchio comportamento)

Come installare Jenkins su Kubernetes

Come rimuovere una directory in Linux

Come copiare la directory su Linux

Come gzippare una directory in Linux

Come installare Metasploit su Ubuntu

lsof - limita l'output solo ai file fisici - come?