Lista Comandi Utili Shell Linux/Unix

Il seguente elenco e’ una lista disordinata di comandi shell utili (Unix-based Linux/Mac), tali comandi non sono spiegati nel dettaglio ma possono facilitare l’amministrazione quotidiana di un sistema basato su Unix. La combinazione dei tasti CTRL+f dal vostro browser puo’ essere molto utile nella ricerca di un determinato costrutto o comando. Qualche comando puo’ valere solo per le Shell Bash. 

  • Per trovare i dettagli hardware di una Linux box:
     lspci
  • Per trovare la versione del kernel e della distribuzione di linux:
     uname -a
  • Per trovare info su cpu:
     cat /proc/cpuinfo
  • Per decomprimere file gzip:
     gungzip something.tar.gz
  • Per scompattare il file tar:
     tar xvf something.tar
  • Per decomprimere ed estrarre in un solo passaggio:
     tar xvzf something.tar.gz
  • Per installare un software da rpm:
  •  

  •  rpm -iv myapp_someversion.rpm
  • Per modificare il vostro ambiente di shell bash editare file ~ /.bashrc
  • Per impostare il percorso di java e ant aggiungere le seguenti righe nel file bashrc nella directory home di java appropriata e nella directory di ant:
    
    export JAVA_HOME=/usr/java/jdk1.5.0_09
    export ANT_HOME=/home/oracle/apache-ant-1.7.0
    export PATH=$PATH:${JAVA_HOME}/bin:${ANT_HOME}/bin
    export CLASSPATH=./:${JAVA_HOME}/lib/tools.jar:${JAVA_HOME}/lib/rt.jar:${ANT_HOME}/lib/ant.jar
    
  • Per elencare tutti i processi in esecuzione nel sistema di oracolo:
     ps-ax
  • Per elencare tutti i file della directory corrente:
     find . -print
  • Per cercare la stringa “errore” in tutti i file nella directory corrente:
     find. -print|xargs grep -i error
  • Per riavviare il sistema linux in 10 minuti con un messaggio trasmesso:
     shutdown-h +10 "manutenzione programmata"
  • Per trovare il numero di utenti collegati:
     who | wc-l
  • Per  stampare Variabili di Sistema:
     echo $DISPLAY $HOME  $MAIL $PATH $PWD $SHELL $TERM $USER
  • Per eseguire l’ultimo comando digitato nella shell che inizia con p:
     !p
  • Per eseguire un comando in background:
     ls -al &
  • Per elencare tutti i processi in sospeso:
     jobs
  • Per creare un link simbolico (collegamento, cancellando il shoftlink non si cancella il file originale):
     ln -s miofile symbolic
  • Per creare hardlink (l’eliminazione cancella sia hardlink che il file originale):
     ln -l lmiofile hardlink
  • Per trovare dove il link punta:
     ls -l
  • Per visualizzare i file è sufficiente utilizzare uno di questi comandi:
    
    	
  • cat - (Visualizza i file nella loro interezza)
  • more - (  Visualizza i file una pagina alla volta)
  • less - ( Visualizza i file una pagina alla volta com la possibilità di spostare all'indietro premendo B.
  • head - ( Visualizza le prime righe di un file, con l'opzione -n si puo' specificare il numero delle linee)
  • tail - ( Visualizza le ultime righe di un file)
  • nl - ( Visualizza i file con le loro linee numerate)
  • Per continuare a leggere la coda di un file di log:
     tail -f  MyLog.log
  • Per contare il numero di byte parole e righe in un file:
     wc nomefile
  • Per contare solo il numero di righe di un file:
     wc -l nomefile
  • Per elencare gli attributi importanti di un file, come l’accesso,la dimensione del dispositivo:
     stat nomefile
  • Per stampare dimensione dei file:
     du file1 file2
  • Per stampare tutti i nomi di file che iniziano con myfile:
     find / -type f-name myfile* -print
  • Per stampare tutte le directory a partire da quella corrente:
     find . -type d -print
  • Per stampare le linee contenenti la parola  “myword” in un file miofile:
     grep myword myfile
  • Per stampare le righe che non contengono la parola “myword” in miofile:
     grep -v myword myfile
  • Per visualizzare soltanto le righe univoche in modo ordinato di un file:
     sort myfile | uniq
  • Per contare le righe duplicate:
     sort myfile| uniq -c
  • Per stampare la parola 2 ° e 4 ° in ogni riga myfile:
      awk '{print $ 2, $ 4}' myfile
  • Per stampare tutte le linee più brevi di 50 caratteri in myfile:
     awk '{lunghezza ($ 0) <50}' myfile
  • Per stampare il contenuto di myfile con tutte le occorrenze della parola “rosso” sostituite con “blu”:
     sed 's/rosso/blu/g' myfile
  • Per stampare il contenuto di myfile linee saltando 2 a 5:
     sed ' 2,3d ' myfile
  • Per trovare le dimensioni, lo spazio utilizzato e lo spazio libero su tutte le partizione del disco:
     df -h
  • Per trovare le dimensioni, lo spazio utilizzato, spazio libero e la directory corrente:
     du .
  • Per confrontare due directory in modo ricorsivo:
     diff -r dir1 dir2
  • Per sottolineare la prima differenza di file simili:
     cmp file1 file2
  • Per stampare i 32 byte di checksum, utile per controllare la correttezza dei file scaricati da internet:
     md5sum file1
  • Per stampare il nome del terminale associato alla shell corrente:
     tty
  • Per stampare l’ultimo timestamp  di modifica di un file:
     myfile data -r
  • Per stampare Ciao ogni 10 secondi:
     sleep 10 && echo 'Ciao'
  • Per controllare quali file sono appena stati aggiunti alla directory corrente ogni 20 secondi:
     watch -n 20 ls -l
  • Per visualizzare i proprii processi:
     ps -ux
  • Per visualizzare i processi avviati da user1:
     ps -U user1
  • Per visualizzare tutte le occorrenze di un programma dal nome prg:
     prg ps -C
  • Per visualizzare tutti i processi, in relazione alla larghezza dello schermo, con la linea di comando completa:
     ps -efw
  • Per scoprire da quanto tempo il sistema è in funzione :
     uptime
  • Per visualizzare i processi di tutti gli utenti loggati sul sistema:
     w
  • Per monitorare l’uso della CPU da parte dei processi attivi sul sistema:
     top [q Premere per uscire dalla visualizzazione]
  • Per visualizzare il grafico di carico del sistema (simile al task manager di windows):
     xload
  • Per visualizzare l’utilizzo della memoria in megabyte:
     free-mt [free -t per kilobyte]
  • Per eseguire un processo di sistema con priorità controllata 7:
     bel -7 jobargs jobname> outfile [10 è di default]
  • Per modificare la priorità di un processo con id 1834 eseguito con nice:
     nice -5 -p 1834
  • Per modificare la priorità di un processo precedentemente eseguito da utente USR1 con nice:
     nice -5-u USR1
  • Per trovare informazioni sull’ ambiente di esecuzione di un utente come ID di accesso, etc ultimo login:
    
    	
  • logname : (nome di login)
  • whoami : (come logname tranne se il comando " su " è usato per passare utente)
  • finger : (informazioni sull'utente)
  • last : (Log dettagliato ultimi accessi)
  • printenv : (dettagli ambiente)
  •   

  • Per stampare il proprio nome host:
     hostname
  • Per stampare i dettagli delle interfacce standard di rete del computer:
     ifconfig
  • Per visualizzare i dettagli di un hostname tramite il proprio dns :
     whois www.vitadastudente.it
  • Per stampare il percorso di rete dal tuo computer ad un host:
     traceroute www.vitadastudente.it
  • Per copiare tramite scp myfile dalla macchina corrente a remote.example.com utilizzando come id otherid :
    
    scp myfile otherid@remote.example.com:/home/otherhome/ 
  • Per copiare tramite scp un file da una postazione remota alla nostra macchina locale:
    
    scp otherid@remote.example.com:/home/otherhome/otherfile">otherid@remote.example.com:
    
  • Per scaricare un file da internet:
     wget www.vitadastudente.it/index.
  • Per visualizzare lo stato di tutte le cpu :
     -P mpstat all
  • Per visualizzare l’utilizzo della CPU ogni 5 secondi, 5 volte:
     sar -u 5 5
  • Per visualizzare I/O di stato ogni 5 secondi , 5 volte:
     iostat -XTC 5 5
  • Per visualizzare lo stato della memoria virtuale ogni 5 secondi:
     5 vmstat
  • Per trovare i file più grandi di 10KB:
     find. -size +10240
  • Per visualizzare l’output del comando echo :
     echo "Hai` ls | wc-l `file in` pwd `"
  • Per visualizzare il valore della variabile con echo:
     echo "Il valore di \ $ x è $ x"
  • Per ordinare un file e stampare :
     file sort | pr -3 | lp
  • Per reindirizzare lo standard output su standard error:
     echo "Errore di utilizzo: l'amministratore deve vedere" 1> & 2
  • Per inviare l’output del comando in un file e l’errore in un altro file:
     find / -print fileOne> 2> fileTwo
  • Per ricordare una directory da utilizzare successivamente:
    
    pushd /var/dirme( pushd / var / dirme)
  • Per creare un file di patch mediante diff tra file:
     fileOld FileNew diff> patchfile
  • Per applicare la patch in un file:
     patch fileOld patchfile
  • Per creare un file di patch tra le directory:
     diff -Naur prestinedir modifieddir> patchfile
  • Per applicare la patch in una directory:
    
    patch -p1 < patchfile
  • Per mettere il comando più recente, sospeso tramite Ctrl + Z, in background:
     bg
  • Per mettere un comando in background tramite il numero di processo:
     bg% 3
  • Per trovare il numero del job in background:
     jobs
  • Per riportare un processo in foreground :
     4% fg
  • Per dividere un file in base alla dimensione in KB o MB:
    
    	
  • split -b 10k long piece( split-b 10k lungo pezzo)
  • split -b 10m long piece( split-b 10m lungo pezzo)
  •   

  •  

  • Per aggiungere un utente con nickname smith:
     useradd smith
  • Per eliminare smith utente:
     smith userdel
  • Per modificare le home directory degli utenti:
     usermod-d / smith u01/smith
  • Per cambiare la password Smith:
     passwd smith
  • Per cambiare la shell di Smith:
     chsh smith
  • Per passare a super utente :
     su -
  • Per stampare le informazioni sul gruppo di Smith:
     groups smith
  • Per aggiungere nuovo gruppo:
     groupadd-f newgroup
  • Per eliminare gruppo:
     groupdel group1
  • Per impostare hostname:
     hostname me.myhost.com
  • Per modificare il file appartiene al gruppo:
     chgrp GruppoAdmin imp.tar
  • Editor vi consigli: 

  • Per eliminare tutte le occorrenze di DEBUG. ESC :
    %s/* DEBUG //g
  • Per cancellare tutto tra <> tra <> in numeri di riga 1 a 8. ESC :
     1,8s/<[^>]*>//g
  • Per sostituire tutte le occorrenze di foo sulla riga corrente con bar. ESC :
     . s/foo/bar/g
  •   

  • Per subsitute tutte le occorrenze della parola pippo nel file con bar:

    
    ESC : %s/foo/bar/g
    
    
  • Per modificare i file trovati da grep:
     vi `ifdef grep-l *. java`
  • Per modificare il comando precedente utilizzando VI:
     fc -e vi
  •  

Una risposta a “Lista Comandi Utili Shell Linux/Unix”

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.