GNU/Linux >> Linux Esercitazione >  >> Linux

Velocità terminale:Muoversi velocemente nel tuo guscio

Uso un terminale tutti i giorni ormai da molti anni. Uso una shell non predefinita fortemente personalizzata. Faccio ampio uso del completamento delle schede e ho memorizzato i flag per molti comandi. Fino a circa un anno fa pensavo di aver raggiunto il picco di produttività del terminale. Quindi, ho scoperto un'ondata di utilità della shell che, sebbene oscure, hanno sostanzialmente modificato in meglio il modo in cui interagisco con il mio ambiente terminale.

Questo articolo è il primo di una serie su queste nuove utilità (oltre ad alcuni strumenti che conosco da più tempo e adoro). Oggi esamineremo strumenti specifici per spostarsi nel tuo filesystem.

Salta:z

Sai come puoi digitare le prime lettere di un sito Web di uso comune nel tuo browser e premere Invio con la sicurezza di essere portato nel posto giusto? E se portassimo la stessa esperienza nel tuo guscio? Immagina di poterti teletrasportare in una directory di uso comune semplicemente digitando una piccola parte del suo nome. Ecco cosa z fa.

Il z lo script di shell tiene traccia delle directory che visiti e quando le hai visitate. Combina la frequenza del tuo accesso a una directory con l'attualità del tuo accesso per determinare la "frequenza" del tuo accesso. Quando fornisci un paio di lettere per il nome di una directory, z sceglie il candidato contenente la sottostringa fornita con la frequenza più alta. Il risultato è corretto per un periodo inquietante.

Eccolo in azione:

Fatti in breve:

  • bash /zsh implementazione:GitHub
  • fish implementazione:GitHub
  • Licenza (bash /zsh ):WTFPLv2
  • Licenza (fish ):MIT
  • Lingua:script della shell

Esistono numerosi strumenti simili, come autojump e fasd . Provali tutti!

Ricerca sfocata:fzf

A volte, cercare cose con espressioni regolari è eccessivo. Ci sono momenti in cui dovrebbe essere sufficiente che le lettere giuste si trovino nel giusto ordine. Il fzf l'utilità ti consente di cercare corrispondenze sfocate indolore. In che modo questo strumento è correlato allo spostamento nel file system? Aspetta e vedrai.

Per impostazione predefinita, fzf funziona su stdin, quindi puoi usarlo come grep :

$ fzf < long-log-file.txt

Esempio dal vivo:

Perché fzf funziona per filtrare stdin e invia l'output su stdout, puoi fare molto di più che cercare file con questo strumento. Vuoi cercare una directory sotto quella attuale?

$ fzf

Giusto. Se stdin non è una pipe, fzf cerca tutti i file sottostanti ed emette la tua scelta su stdout, il che rende facile combinare i risultati con altri comandi come un editor.

Se desideri ottenere lo stesso risultato con un maggiore controllo, puoi eseguire:

$ find . -type d | fzf

Puoi usare fzf per muoversi correndo:

$ cd $(find . -type d | fzf) #bash/zsh
$ cd (find . -type d | fzf) #fish

Ora ci sono anche altre applicazioni divertenti Puoi:

  • Richiama i comandi dalla cronologia con:
    $ eval $(history | fzf) #bash/zsh
    $ eval (history | fzf) #fish
    
  • Modifica un file nella directory corrente con:
    $ $EDITOR $(find . | fzf) #bash/zsh
    $ $EDITOR (find . | fzf) #fish
    
  • Scegli i pacchetti da installare con:
    $ sudo apt install $(apt search <word> 2>/dev/null | tail -n+3 | grep '^\w' | sed 's|([^/]+)/.*|\1|' | fzf) #bash/zsh
    $ sudo apt install (apt search <word> 2>/dev/null | tail -n+3 | grep '^\w' | string split / | fzf) #fish
    
  • Fai delle scelte, in generale, in base a qualsiasi testo delimitato da righe. Il cielo è il limite!

Il fzf l'utilità ha integrazioni esistenti con bash , zsh e fish . Se installi quelle shell, fzf aumenta ed estende naturalmente i flussi di lavoro come la "ricerca inversa nell'indice" e il completamento delle schede. Sono un utente assiduo del fish integrazione, me stesso.

Fatti in breve:

  • Ottieni fzf :GitHub
  • Licenza:MIT
  • Lingua:vai

Vuoi di più?

Se questi strumenti ti sembrano utili, resta sintonizzato per altri articoli. Se non puoi aspettare, questa serie si basa su questo discorso che ho tenuto a All Things Open 2019. Puoi trovare più strumenti e trucchi lì.


Linux
  1. Qual è il tuo trucco da terminale Linux preferito?

  2. Qual è il tuo emulatore di terminale Linux preferito?

  3. Parti per un'avventura nel tuo terminale Linux

  4. Qual è il tuo trucco da terminale Linux preferito?

  5. Cancellazione della console Shell?

Rilassati accanto al fuoco sul tuo terminale Linux

Fatti strada attraverso il tuo terminale Linux

Gioca a Tetris sul tuo terminale Linux

Guida una locomotiva attraverso il tuo terminale Linux

Come registrare la sessione del terminale su Linux

MapSCII – La mappa del mondo nel tuo terminale