Semplificando la cli bash più facile da usare

Semplificando la cli bash più facile da usare
Questo tutorial ti mostrerà come personalizzare la shell bash per rendere la riga di comando più semplice e più veloce da utilizzare.

Obiettivi

Entro la fine di questa Seesione sarai in grado di:

  • modificare il prompt per visualizzare la directory di lavoro corrente
  • Imposta il prompt su un colore scelto
  • Crea e usa gli alias
  • Salva personalizzazioni come prompt e alias
  • Usa la funzione cronologia
  • Usa il completamento del comando

Home Directory - Home

Linux utilizza un set di variabili di ambiente maiuscole, piuttosto come i fori di pidgin, che vengono automaticamente popolati, per archiviare informazioni. L'elenco completo può essere visualizzato come segue:

$ set | di più

Ho fatto un tubo in di più qui piuttosto che meno in modo che il comando possa essere visto nel dump dello schermo.

Il nome della home directory di un utente, solitamente/home/nome utente (/home/kdm nel mio CAE), è memorizzato nella variabile di ambiente; Si noti che la maggior parte delle variabili di ambiente sono in maiuscolo.

Usiamo un $ quando si fa riferimento a una variabile di ambiente per specificare che si tratta di

Nome variabile e non una stringa. Per visualizzare la casa variabile Enter:

$ echo $ home

Linux è pieno di scorciatoie e il personaggio Tilde, ~, è un collegamento a casa. Può essere usato invece:

$ echo ~

Directory di lavoro - PWD

Il comando PWD può essere utilizzato per scoprire quale è la directory di lavoro corrente. Quando un utente accede, questa è la loro home directory come definita nel /etc/passwd file. Qui visualizziamo solo le ultime due righe del file e il percorso corrente per l'utente KDM:

$ tail -2 /etc /passwd
$ pwd

Directory che cambia - CD

Il CD di comando può essere utilizzato per modificare la directory di lavoro corrente.

Ad esempio, per passare alla directory principale:

$ cd /; pwd
# IL ; Il carattere consente due comandi su una riga

Per passare alla directory /ecc:

$ cd /etc; pwd

Per tornare alla directory precedente, utilizzare il comando:

$ CD -

Per tornare alla directory home, utilizzare il CD di comando senza alcuna opzione:

$ cd; pwd

Prompt dei comandi - PS1

Quando si utilizza il comando CD per modificare le directory non è sempre ovvio quale sia la directory corrente. La shell bash consente di personalizzare il prompt.

Il prompt dei comandi predefinito viene archiviato in una variabile di sistema, PS1; questo è inserito in superiore caso. Per visualizzare la variabile Enter:

$ echo $ ps1

Nota che il '$' visualizzato non è il prompt ma il contenuto della variabile!

I seguenti caratteri speciali possono essere utilizzati per modificare il prompt:

  • \ s- \ v Shell e versione corrente
  • \ w directory di lavoro corrente
  • \ H@\ U Host e nome utente
  • \ d@\ t Data e ora corrente

Ad esempio, per impostare il prompt sulla shell corrente e la versione usa:

$ Ps1 = '\ s- \ v:'

Il prompt ora appare come Bash-5.0: .

Directory corrente - $ PWD

Per salvare l'uso costante del comando PWD, il prompt può essere impostato sul nome completo del percorso della directory corrente, un concetto familiare agli utenti DOS. Per fare questo, digitare attentamente quanto segue superiore caso:

Bash-5,0: ps1 = '$ pwd:'

La pronta modifica è la directory di lavoro corrente, in questo esempio

/home/kdm: .

Ora cambia le directory e nota come cambia il prompt.

/home /kdm: cd /
/: CD /ecc
/ecc: cd

Ora possiamo vedere in quale directory ci troviamo senza ricorso al comando PWD.

Aggiunta di colore

Un colore, in questo esempio giallo, può essere aggiunto come segue:

/home/kdm: ps1 = '\ [\ e [01; 33m \] $ pwd: \ [\ 033 [01; 34m \] \ [\ 033 [00m \]'


Di solito ho il mio prompt impostato sulla directory corrente, mantenendo il colore rosso (alterare da 33 a 31 nel comando sopra) per quando sto usando la root. Tuttavia, per gli esempi da seguire tornerò al segno "$".

Prompt secondario ->

Il prompt secondario è anche memorizzato in una variabile di sistema, PS2, anche in maiuscolo. Per visualizzare questa variabile immettere:

$ echo $ ps2

Questo prompt verrà visualizzato se viene inserito un comando incompleto, ad esempio:

$ echo “Ciao a tutti

In questo esempio manca il secondo simbolo di citazione. Per correggere questa situazione, completare il comando o immettere Control & C e rientrare nel comando.

File o directory?

Quando il contenuto di una directory viene visualizzato non è sempre ovvio se le voci sono file o directory.

Con l'opzione -F, spesso utilizzata su server UNIX, le voci visualizzate sono seguite da un carattere extra. Ad esempio, prova:

$ ls -f

Questi personaggi extra includono i seguenti e indicano:

  • directory /
  • File collegato @
  • file eseguibile *

I sistemi Linux supportano la codifica a colori di directory e file. I colori possono essere attiva per impostazione predefinita. Se non provare quanto segue (usa un doppio trattino):

$ ls -color

Questi colori extra includono i seguenti e indicano:

  • directory blu
  • File Cyan collegato
  • File eseguibile verde

Creazione di alias

Su alcuni sistemi comandi utili come LA, che esegue il comando ls -a e ll che esegue il comando ls -l sono disponibili. Tuttavia, se questi comandi non sono disponibili, è possibile creare un alias per ottenere lo stesso risultato. Alcuni alias possono essere definiti automaticamente quando viene avviata una shell.

Un alias può essere creato per qualsiasi comando usato frequentemente. Questo salva il dover digitare il comando completo e le sue opzioni. Ad esempio, se i colori non sono in uso con LS:

$ alias ls = 'ls -color'
$ ls

Questi due esempi mostrano file nelle directory /etc e /bin. L'opzione -D mostra solo le voci della directory non i file nella directory:

$ ls -d /bin /y*
$ ls -d /etc /u*

Alias ​​comuni

Gli alias Comman includono quanto segue ai comandi Rimuovi, Copia e sposta. Questi alias rendono il comando interattivo in modo da poter scegliere di intraprendere un'azione o no:

$ alias rm = 'rm -i'
$ alias cp = 'cp -i'
$ alias mv = 'mv -i'

Nell'esempio mostrato qui, vengono creati quattro file vuoti. Il primo, file1, viene quindi rimosso. Viene quindi creato un alias per RM e File2 viene rimosso in modo interattivo:

Il nome di comando effettivo non deve necessariamente essere utilizzato per il nome alias. Si noti che questi esempi utilizzano l'alias per LS creato sopra:

$ alias la = 'ls -a'
$ alias ll = 'ls -l'
$ la
$ ll

Usando gli alias

Per visualizzare un elenco di alias, utilizzare il comando alias. È molto probabile che avrai già diversi alias per impostazione predefinita:

$ alias

Un comando può essere invocato senza l'uso dell'alias prefisso il comando con una retroscena, \ . Ciò è particolarmente utile se esiste un alias per rm -i e si desidera rimuovere molti file!

$ ls
$ \ ls

Per rimuovere uno o più alias di comando usi:

$ unAlias ​​ll la
$ alias

Salvare le personalizzazioni

Uno svantaggio quando si modificano il prompt o si aggiungono alias è che queste impostazioni vengono perse quando l'utente termina la sessione. Questo problema può essere superato salvando le impostazioni in un file di configurazione. Bash Shell memorizza le variabili e gli alias in modo permanente in uno dei numerosi file nascosti, i file che iniziano con un arresto completo.

Qui, userò invece il semplice editor nano (Vim può essere usato) per aggiornare il file nascosto .Bashrc in modo da configurare l'ambiente.

Ho aggiunto le mie modifiche alla fine del file, ho modificato il prompt e aggiunto molti dei miei alias preferiti:

$ nano .Bashrc

Per salvare le modifiche ed uscita, inserisci il controllo e x.

Il comando dot - .

Il nuovo .Il file BASHRC può essere testato aprendo una nuova sessione o accedendo e di nuovo. In alternativa, il file può essere testato così:

$ ... Bashrc

Il punto (.) Il comando esegue il contenuto del file nella shell corrente.

Cronologia dei comandi

La funzione cronologia dei comandi mantiene un elenco di comandi usati di recente nel file .Bash_history e fornisce una scorciatoia per rieseguire uno di questi comandi.

Per visualizzare gli ultimi 10 comandi, digita:

$ STORIA 10

Per rieseezzare l'uso dell'ultimo comando !!. Per esempio:

$ head -3 /etc /ombra
$ sudo !!

Modifica la riga di comando

I tasti di controllo utilizzati per modificare le voci della riga di comando precedente includono quanto segue:

  • Control & r Search cronologia inversa
  • Controllo e A vai all'inizio della linea
  • Control & E Vai alla fine della linea
  • Control & G Annulla Cerca e ripristina la riga originale

In questo esempio uso Control & R (due volte) per effettuare una ricerca inversa per il comando di testa. Premendo Invio verrà quindi eseguito il comando:

Completamento del comando

Nella shell bash la scheda Sequenza dei tasti può essere utilizzata per completare un nome file utilizzato in un comando a condizione che esista una corrispondenza esatta.

Per provare questo, prima modifica alla directory /cestino:

$ cd /cestino

Digitare il seguente comando ma non Premere ancora:

$ ls -l y

Ora premere il scheda Chiave due volte. Verrà visualizzato un elenco di tutti i file che iniziano con il carattere.

Aggiungi caratteri al comando per invocare un nome univoco, ma di nuovo non premere ancora.

$ ls -l yp

Ora premere il scheda chiave. Il comando selezionerà automaticamente il file corretto.