Utili alias utili e generando un elenco dei comandi più utilizzati

Ho trovato questo articolo per discutere un modo rapido per ordinare la tua storia bash e vedere quali sono i comandi utilizzati di più:

cut -f1 -d" " .bash_history | sort | uniq -c | sort -nr | head -n 30 

Veramente si apre gli occhi su quali compiti dovresti creare alias e quali dovresti cronjob completamente eliminare.

Mi piacerebbe vedere un elenco ServerFault degli alias consigliati della row di command che ti consentano di risparmiare tempo sul lavoro . Cosa hai ottenuto?

Tra di noi, scommetto che possiamo salvare each utente che legge questo post alless 10 minuti al giorno. (Meno il primo giorno in cui perdono tutto il tempo a leggere ServerFault invece di fare il loro lavoro ovviamente!)

13 Solutions collect form web for “Utili alias utili e generando un elenco dei comandi più utilizzati”

Mi occupo di un sacco di macchine diverse in modo che uno dei miei preferiti sia alias per each macchina che ho bisogno di SSH spesso a:

 alias claudius="ssh dinomite@claudius" 

È anche utile impostare una buona chiave .ssh/config e ssh per rendere ancora più facile l'hopping tra le macchine.

Un altro dei miei alias preferiti è quello di spostare le directory:

 alias ..="cd .." alias ...="cd ../.." alias ....="cd ../../.." alias .....="cd ../../../.." 

E alcuni per le variazioni usate di ls (e di errori di battitura):

 alias ll="ls -l" alias lo="ls -o"alias lh="ls -lh" alias la="ls -la" alias sl="ls" alias l="ls" alias s="ls" 

Ho quasi sempre voglia di egrep :

 alias grep="egrep" 

Ottieni pagine di uomo da tutte le sezioni

 alias man="man -a" 

Mi sono spesso trovata un'output di tubazione attraverso awk per get una certa colonna dell'output, come in df -h | awk '{print $2}' df -h | awk '{print $2}' per trovare le size di ciascuno dei miei dischi. Per rendere più facile, ho creato una function fawk nel mio .bashrc:

 function fawk { first="awk '{print " last="}'" cmd="${first}\$${1}${last}" eval $cmd } 

Ora posso eseguire df -h|fawk 2 che salva un bel po 'di digitazione.

Lavoro con un sacco di Perl e devo conoscere le versioni dei moduli installati in un sistema:

 function perlmodver { perl -M$1 -e 'print "Version " . $ARGV[0]->VERSION . " of " . $ARGV[0] . " is installed.\n"' $1 } 

Mi piace solitamente scrivere tutto, perché temo che dimenticherò tutti i comandi che sto utilizzando in pochissimo tempo. So che posso essere sbagliato, ma non credo di sapere molto del sistema se avessi appena incollato each command in Commandlinefu nel mio .bashrc.

Notate che non sto dicendo che sono il più grande e so tutto quello che c'è da sapere su Linux, lontano da questo, sto solo dicendo che mi piace imparare e ricordare quello che ho imparato utilizzando.

Questo non significa che non apprezzo quanto sono gli alias che risparmiano tempo (specialmente per funzioni più grandi, ma poi wherete vedere se uno script non è migliore), ma, personalmente, non mi piace usare (alless non sempre).

Detto questo, Commandlinefu ha un tag speciale per alias. Vale la pena guardare.

Inoltre penso che questo sia un bene:

  alias less='less -FSRX' 

Questo usa less se l'output è più grande dello schermo.

Il mio preferito di tutti i tempi:

 alias server_name='ssh -v -l username ip_address' 

Non ha bisogno di spiegazioni, vero? 🙂

alias lt='ls -lhart'

  • l = lunghezza: h = size umane leggibili: a = tutto: r = sorting inverso: t = sorting tempo
  • Posiziona il file più recente in basso, proprio sopra il prompt

alias active='grep -v -e "^$" -e"^ *#"'

  • mostra solo linee che non sono vuote o commentate
  • esempio: attivo /etc/httpd/conf/httpd.conf

alias svi='sudo vim'

alias scr='screen -Rd'

Devo ammettere che ho un po 'come questo.

 alias sl=ls 

Per cercare di combattere il mio errore di inserimento 🙂

Ho anche

 alias aliases='xterm -e vim ~/.bash_aliases;reload' alias reload='. ~/.bash_aliases' 

Quindi è bello e semplice aggiungere nuovi.

 alias cd..='cd ..' 
 for host in `awk '{ print $1 }' ~/.hostsILogIntoAllTheTime`; do alias $host='ssx '$host done 

Digitare il nome host per l'accesso all'host. Nota: ssx è un alias stesso:

 ssx='ssh -Y' 

Combinato con le chiavi condivise, è piuttosto liscia.

Trovo fastidioso mettere tutto il apt-get e apt-cache le cose in debian / * buntu, specialmente con il prefisso sudo, quindi ho:

 alias apti='sudo apt-get install' alias aptr='sudo apt-get remove' alias apts='apt-cache search' 

creare .tar.gz

 alias tarc="tar czvf" 

Estrarre .tar.gz

 alias tarx="tar xzvf" 

elenco .tar.gz

 alias tart="tar tzvf" 

Vedi anche

  • Quali cose utili possono essere aggiunte al proprio .bashrc?
  • Suggerimenti di shell interattivi? (alcune risposte includono gli alias)

Ho trovato questa pagina per cercare un modo per fare un alias per mostrarmi la nima colonna di un file csv (tsv in realtà) usando awk. La function fawk sopra era quasi esattamente quello che volevo. Ho modificato leggermente per aggiungere un secondo argomento opzionale, il nome del file, quindi posso utilizzarlo come awk normalmente piuttosto che solo attraverso un pipe.

 function fawk { first="awk '{print " last="}' $2" cmd="${first}\$${1}${last}" echo $cmd eval $cmd } 

Grazie!

Questo non è un alias, ma potrebbe essere utile vedere persone che sovrascrivono le connessioni ssh.

Il pacchetto Openssh ha un binario chiamato ssh-argv0 che funziona tramite i simboli.

Quindi, se fai qualcosa di simile:

 sudo ln -s /usr/bin/ssh-argv0 /usr/local/bin/user@ssh.server.com 

Avendo / usr / local / bin nel $ PATH, ora è ansible connettersi come utente "utente" a ssh.server.com scrivendolo in un prompt di shell:

  $ user@ssh.server.com 

+1 per Drew Stephens risposta. L'unico che non ha coperto quello che uso anche è quello di alias i vari file dot che ho bisogno di accedere regolarmente come:

 alias dotz='vi ~/.zshrc' 

Prendi un ulteriore passo avanti con una function add-alias on-the-fly:

 function add-alias { echo "alias $1=\047$2\047" >> ~/.zshrc } 
Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.