Ciao raga, prendendo spunto da wildlux, che a sua volta ha preso spunto da roberto marchesani, posto questa lista di comandi da Shell Linux che sembra essere particolarmente completa.
Buona acquisizione di informazioni a tutti.

COMANDO DESCRIZIONE
COMANDI SHELL LINUX
Informazioni sul sistema
arch mostra l’architettura della macchina
uname -r mostra la versione del kernel in uso
dmidecode -q mostra componenti hardware di sistema - (SMBIOS/DMI)
hdaparm -i /dev/hda mostra le info e le caratteristiche di un hard-disk
hdparm -tT /dev/sda eseguire un test di lettura su un hard-disk
cat /proc/cpuinfo visualizzare informazioni sulla cpu
cat /proc/interrupts visualizzare gli interrupts
cat /proc/meminfo verificare la memoria in uso
cat /proc/swaps visualizzare i filesystem(s) swap
cat /proc/version visualizzare la versione del kernel
cat /proc/net/dev visualizzare gli adattori di rete
cat /proc/mounts visualizzare i filesystem(s) montati
lspci -tv visualizzare le periferiche pci
lsusb -tv visualizzare le periferiche usb
date visualizzare la data di sistema
cal 2007 visualizzare il calendario dell’anno 2007
date 041217002007.00 impostare data e ora - MeseGiornoOreMinutiAnno.Secondi
clock -w
salvare definitavamente le modifiche sul BIOS
COMANDI SHELL LINUX
Arresto, Riavvio e Logout di un sistema
shutdown -h now arresto del sistema
shutdown -r ore:minuti & arresto programmato del sistema
shutdown -c cancellare un arresto programmato del sistema
shutdown -r now riavvio del sistema
reboot riavvio del sistema
logout abbondonare la sessione
COMANDI SHELL LINUX
File e Directory
cd /home entrare nella directory ‘/home’
cd .. risalire di un livello
cd ../.. risalire di due livelli
cd vai alla home directory
cd ~utente vai alla home directory
cd - vai alla directory precedente
pwd visualizzare il path della directory di lavoro
ls visualizzare file directory
ls -F distingure file e directory
ls -l visualizzare i dettagli di file e directory
ls -a visualizzare file nascosti
ls *[0-9]* visualizzare file e cartelle che contengono numeri
lstree visualizza file e directory in un albero a partire da root
mkdir dir1 creare la directory ‘dir1′
mkdir dir1 dir2 creare due directory contemporaneamente
mkdir -p /tmp/dir1/dir2 creare un’albero di directory
rm -f file1 eliminare il file ‘file1′
rm -rf dir1 eliminare la directory ‘dir1′
rm -rf dir1 dir2 eliminare due directory contemporaneamente
mv dir1 new_dir rinominare/muovere una directory o file
cp file1 file2 copiare un file
cp dir/* . copiare tutti i file di una directory dentro la directory di lavoro corrente
cp -a /tmp/dir1 . copiare una directory dentro la directory di lavoro corrente
cp -a dir1 dir2 copiare una directory
ln -s file1 lnk1 creare un link simbolico al file(o directory) ‘file1′ chiamato lnk1
ln file1 lnk1 creare un link fisico al file(o directory) ‘file1′ chiamato lnk1
touch -t 0712250000 fileditest modificare il timestamp di un file o directory - (YYMMDDhhmm)
COMANDI SHELL LINUX
Ricerca file
find / -name file1 cercare un file o directory all’interno del filesystem partendo dalla radice ‘/’
find / -user user1 cercare tutti i file e le directory appartenenti all’utente ‘user1′
find /home/user1 -name *.bin cercare all’interno della directory ‘/home/user1′ tutti file con estensione ‘.bin’
find /usr/bin -type f -atime +100 cercare tutti i file(binari) non utilizzati negli ultimi 100 giorni
find /usr/bin -type f -mtime -10 cercare tutti i file creati o modificati entro 10 giorni
find / -name *.rpm -exec chmod 755 {} ; cercare tutti i file con estensione ‘rpm’ e modificarne i permessi
find / -name *.rpm -xdev cercare tutti i file con estensione rpm ignorando partizioni rimovibili come cdrom, pen-drive, ecc…
locate *.ps cercare tutti i file con estensione .ps - prima eseguire il comando ‘updatedb’
whereis halt visualizzare la locazione di un file binario,sorgente o man
which halt visualizzare il path completo di un file binario/eseguibile
COMANDI SHELL LINUX
Montare un Filesystem
mount /dev/hda2 /mnt/hda2 montare il disco hda2 - verificare esistenza della directory ‘/mnt/hda2′
umount /dev/hda2 smontare il disco hda2 - uscire dal mount point ‘/mnt/hda2′ prima di smontare
fuser -km /mnt/hda2 forzare umount quando il device è occupato
umount -n /mnt/hda2 eseguire umount senza scrivere sul file /etc/mtab - utile quando il filesystem è in read-only o il disco è saturo
mount /dev/fd0 /mnt/floppy montare un floppy-disk
mount /dev/cdrom /mnt/cdrom montare un cdrom/dvdrom
mount /dev/hdc /mnt/cdrecorder montare un cdrw/dvdrom
mount /dev/hdb /mnt/cdrecorder montare un cdrw/dvdrom
mount -o loop file.iso /mnt/cdrom montare un file ISO9660 o Immagine iso
mount -t vfat /dev/hda5 /mnt/hda5 montare un filesystem windows FAT32
mount /dev/sda1 /mnt/usbdisk montare una pendrive usb o flash
mount -t smbfs -o username=user,password=pass //winclient/share /mnt/share montare una condivisione di rete windows
COMANDI SHELL LINUX
Spazio disco
df -h visualizzare l’elenco delle partizioni montate
ls -lSr |more visualizzare la dimensione dei file e delle directory ordinandoli per dimensione
du -sh dir1 conoscere lo spazio su disco occupato dalla directory ‘dir1′
du -sh * | sort -rn visualizzare la dimensione dei file e delle directory ordinanti per dimensione
rpm -q -a –qf ‘%10{SIZE}\t%{NAME}\n’ | sort -k1,1n visualizzare la dimensione dei pacchetti rpm installati ordinanti per dimensione(fedora, redhat e derivate)
dpkg-query -W -f=’${Installed-Size;10}\t${Package}\n’ | sort -k1,1n visualizzare la dimensione dei pacchetti deb installati ordinanti per dimensione(ubuntu, debian e deriviate)
COMANDI SHELL LINUX
Utenti e Gruppi
groupadd nome_gruppo creare un nuovo gruppo
groupdel nome_gruppo eliminare un gruppo
groupmod -n nuovo_nome_gruppo vecchio_nome_gruppo rinominare un gruppo
useradd -c “Nome Cognome” -g admin -d /home/user1 -s /bin/bash user1 creare un nuovo utente appartente al gruppo “admin”
useradd user1 creare un nuovo utente
userdel -r user1 eliminare un utente (’-r’ elimina la home directory)
usermod -c “User FTP” -g system -d /ftp/user1 -s /bin/nologin user1 modificare gli attributi utente
passwd modificare la password
passwd user1 modificare la password di un utente(solo da root)
chage -E 2005-12-31 user1 impostare la scadenza password per un utente
pwck Verificare la correttezza sintattica e formale del file ‘/etc/passwd’ e l’effettiva esistenza degli utenti
grpck Verificare la correttezza sintattica e formale del file ‘/etc/group’ e l’effettiva esistenza dei gruppi
alias hh=’history’ impostare un alias ad un comando - hh = history
COMANDI SHELL LINUX
Permessi sui file - usare “+” per impostare i permessi e “-” per rimuoverli
ls -lh visualizzare i permessi
ls /tmp | pr -T5 -W$COLUMNS dividere il terminale in 5 colonne
chmod ugo+rwx directory1 impostare i permessi di lettura(r), scrittura(w) ed accesso(x) per gli utenti proprietario(u), gruppo(g) e altri(o)
chmod go-rwx directory1 rimuovere i permessi di lettura(r), scrittura(w) ed accesso(x) per gli utenti gruppo(g) e altri(o
chown user1 file1 modificare il proprietario di un file
chown user1 -R directory1 modificare l’utente proprietario di una directory e tutti i file e directory contenuti al suo interno
chgrp gruppo1 file1 modificare il gruppo di appartenenza di un file
chown user1:gruppo1 file1 modificare utente e gruppo proprietario di un file
find / -perm -u+s visualizzare tutti i file presenti sul sistema con SUID impostato
chmod u+s /bin/file_eseguibile impostare il bit SUID su un file binario - l’utente che esegue quel file ottienegli stessi privilegi del proprietario
chmod u-s /bin/file_binario disattivare il bit SUID su un file binario
chmod g+s /home/public impostare il bit SGID su una directory - simile a SUID ma impostato sulla directory
chmod g-s /home/public disattivare il bit SGID su una directory
chmod o+t /home/comune impostare il bit STIKY su una directory - consente la cancellazione dei file solo ai legittimi proprietari
chmod o-t /home/comune disattivare il bit STIKY su una directory
COMANDI SHELL LINUX
Attributi Speciali sui file - usare “+” per impostare i permessi e “-” per rimuoverli
chattr +a file1 consente su un file l’apertura in scrittura solo in modalità append
chattr +c file1 consente che un file venga compresso/decompresso dal kernel automaticamente
chattr +d file1 fa in modo che il programma Dump ignori il file durante un backup
chattr +i file1 rende un file immutabile, ovvero non potrà essere eliminato, alterato, rinominato o linkato
chattr +s file1 consente ad un file di essere cancellato in maniera sicura, azzerandone i blocchi sul disco
chattr +S file1 fa in modo che se un file viene modificato i cambiamenti vengono scritti in maniera sincrona sul disco come con sync
chattr +u file1 permette di recuperare il contenuto di un file anche se questo viene cancellato
lsattr visualizzare gli attributi speciali
COMANDI SHELL LINUX
Archivi e file compressi
bunzip2 file1.bz2 decomprimere il file denominato ‘file1.bz2′
bzip2 file1 comprimere il file denominato ‘file1′
gunzip file1.gz decomprimere il file denominato ‘file1.gz’
gzip file1 comprimere il file denominato ‘file1′
gzip -9 file1 comprimere con la massima compressione
rar a file1.rar test_file creare un archivio rar chiamato ‘file1.rar’
rar a file1.rar file1 file2 dir1 comprimere in rar simultaneamente ‘file1′, ‘file2′ e ‘dir1′
rar x file1.rar decomprimere un archivio rar
unrar x file1.rar decomprimere un archivio rar
tar -cvf archivio.tar file1 creare un archivio tar non compresso
tar -cvf archivio.tar file1 file2 dir1 creare un archivio contenente ‘file1′, ‘file2′ e ‘dir1′
tar -tf archivio.tar visualizzare il contenuto di un archivio
tar -xvf archivio.tar estrarre un archivio tar
tar -xvf archivio.tar -C /tmp estrarre un archivio tar dentro /tmp
tar -cvfj archivio.tar.bz2 dir1 creare un archivio tar compresso in bzip2
tar -xvfj archivio.tar.bz2 decomprimere un archivio tar compresso in bzip2
tar -cvfz archivio.tar.gz dir1 creare un archivio tar compresso in gzip
tar -xvfz archivio.tar.gz decomprimere un archivio tar compresso in gzip
zip file1.zip file1 creare un archivio compresso in zip
zip -r file1.zip file1 file2 dir1 zippare più file e directory contemporaneamente
unzip file1.zip decomprimere un archivio zip
COMANDI SHELL LINUX
Pacchetti RPM - Fedora, RedHat e derivate
rpm -ivh pacchetto.rpm installare un pacchetto rpm
rpm -ivh –nodeeps pacchetto.rpm installare un pacchetto rpm ignorando le dipendenze richieste
rpm -U pacchetto.rpm aggiornare un pacchetto rpm senza modificarne i file di configurazione
rpm -F pacchetto.rpm aggiornare un pacchetto rpm solo se quest’ultimo risulta già installato
rpm -e nome_pacchetto.rpm rimuovere un pacchetto rpm
rpm -qa visualizzare tutti i pacchetti rpm installati sul sistema
rpm -qa | grep httpd visualizzare tutti i pacchetti rpm col nome “httpd”
rpm -qi nome_pacchetto ottenere informazioni su un determinato pacchetto installato
rpm -qg “System Environment/Daemons” visualizzare i pacchetti rpm di un gruppo software
rpm -ql nome_pacchetto visualizzare la lista dei file forniti da un pacchetto rpm installato
rpm -qc nome_pacchetto visualizzare la lista dei file di configurazione forniti da un pacchetto rpm installato
rpm -q nome_pacchetto –whatrequires visualizzare la lista delle dipendenze richieste da un pacchetto rpm
rpm -q nome_pacchetto –whatprovides visualizzare le capability fornite da un pacchetto rpm
rpm -q nome_pacchetto –scripts visualizzare gli script avviati in fase di installazione/rimozione
rpm -q nome_pacchetto –changelog visualizzare lo storico delle revisioni di un pacchetto rpm
rpm -qf /etc/httpd/conf/httpd.conf verificare a quale pacchetto rpm appartiene un dato file
rpm -qp pacchetto.rpm -l visualizzare la lista dei file forniti da un pacchetto non ancora installato
rpm –import /media/cdrom/RPM-GPG-KEY importare la public-key della digital signature
rpm –checksig pacchetto.rpm verificare l’integrità di un pacchetto rpm
rpm -qa gpg-pubkey verificare l’integrità di tutti pacchetti rpm installati
rpm -V nome_pacchetto verificare file size, permessi, tipo, owner, group, MD5 checksum e ultima modifica
rpm -Va verificare tutti i pacchetti rpm installati sul sistema - usare con cautela
rpm -Vp pacchetto.rpm verificare un pacchetto rpm non ancora installato
rpm2cpio pacchetto.rpm | cpio –extract –make-directories *bin* estrarre gli eseguibili da un pacchetto rpm
rpm -ivh /usr/src/redhat/RPMS/`arch`/pacchetto.rpm installare un pacchetto costruito da un rpm sorgente
rpmbuild –rebuild nome_pacchetto.src.rpm costruire un pacchetto da un rpm sorgente
COMANDI SHELL LINUX
YUM package updater - Fedora, RedHat e derivate
yum install nome_pacchetto scarica ed installa un pacchetto rpm
yum update aggiornare tutti i pacchetti rpm installati sul sistema
yum update nome_pacchetto aggiornare un pacchetto rpm
yum remove nome pacchetto rimuovere un pacchetto rpm dal sistema
yum list elencare tutti i pacchetti rpm installati sul sistema
yum search nome_pacchetto cercare un pacchetto rpm sul repository
yum clean packages ripulire la cache dai pacchetti rpm scaricati
yum clean headers rimuovere tutti i file headers che il sistema usa per la risoluzione delle dipendenze
yum clean all rimuovere dalla cache i pacchetti e gli headers
COMANDI SHELL LINUX
Pacchetti DEB - Debian, Ubuntu e derivate
dpkg -i pacchetto.deb installare/aggiornare un pacchetto deb
dpkg -r nome_pacchetto rimuovere un pacchetto deb dal sistema
dpkg -l visualizzare tutti i pacchetti deb installati sul sistema
dpkg -l | grep httpd visualizzare tutti i pacchetti rpm col nome “httpd”
dpkg -s nome_pacchetto ottenere informazioni su un determinato pacchetto installato
dpkg -L nome_pacchetto visualizzare la lista dei file forniti da un pacchetto installato
dpkg –contents pacchetto.deb visualizzare la lista dei file forniti da un pacchetto non installato
dpkg -S /bin/ping verificare a quale pacchetto appartiene un dato file
COMANDI SHELL LINUX
APT package updater - Debian, Ubuntu e derivate
apt-get install nome_pacchetto installare/aggiornare un pacchetto deb
apt-cdrom install nome_pacchetto installare/aggiornare un pacchetto deb da cdrom
apt-get update aggiornare tutti i pacchetti deb installati sul sistema
apt-get remove nome_pacchetto rimuovere un pacchetto deb dal sistema
apt-get check verifica la corretta risoluzione delle dipendenze
apt-get clean ripulire la cache dai pacchetti scaricati
COMANDI SHELL LINUX
Visualizzare il contenuto di un file
cat file1 visualizzare il contenuto di un file partendo dalla prima riga
tac file1 visualizzare il contenuto di un file partendo dall’ultima riga
more file1 visualizzare il contenuto di un file lungo
less file1 simile al comando ‘more’ ma che consente di scorrere il file sia in avanti che indietro
head -2 file1 visualizzare le prime due righe di un file
tail -2 file1 visualizzare le ultime due righe di un file
tail -f /var/log/messages visualizzare in tempo reale ciò che viene aggiunto ad un file
COMANDI SHELL LINUX
Manipolazione del testo
cat file_originale | [operazione: sed, grep, awk, grep, etc] > result.txt sintassi per elaborare il testo di un file e scrivere il risultato su un nuovo file
cat file_originale | [operazione: sed, grep, awk, grep, etc] >> result.txt sintassi per elaborare il testo di un file ed appendere il risultato su un file esistente
grep Aug /var/log/messages cercare la parola “Aug” all’interno del file ‘messages’
grep ^Aug /var/log/messages cercare le parole che cominciano con “Aug” all’interno del file ‘messages’
grep [0-9] /var/log/messages selezionare all’interno del file ‘messages tutte le righe che contengono numeri
grep Aug -R /var/log/* estendere la ricerca della stringa “Aug” dentro la directory ‘/var/log’ e sottodirectory
grep Aug /var/log/messages scrivere il risultato di una ricerca all’interno di un file
sed ’s/stringa1/stringa2/g’ example.txt rimpiazzare la “stringa1″ con la “stringa2″ da example.txt
sed ‘/^$/d’ example.txt rimuovere tutte le righe vuote da example.txt
sed ‘/ *#/d; /^ *$/d’ example.txt rimuovere i commenti e le righe vuote da example.txt
echo ‘esempio’ | tr ‘[:lower:]’ ‘[:upper:]’ convertire da lower case in upper case
sed -e ‘1d’ result.txt elimina la prima riga dal file example.txt
sed -n ‘/stringa1/p’ visualizza solo righe che contengono la parola “stringa1″
sed -e ’s/ *$//’ example.txt rimuovi i caratteri vuoti alla fine di ogni riga
sed -e ’s/stringa1//g’ example.txt cancella solo la parola “stringa1″ da tutte le righe lasciando inalterato il resto
sed -n ‘1,5p;5q’ example.txt stampare dalla riga 1 alla 5
sed -n ‘5p;5q’ example.txt stampare la riga numero 5
sed -e ’s/00*/0/g’ example.txt sostituire più zeri con un solo zero
cat -n file1 numerare le righe di un file
cat example.txt | awk ‘NR%2==1′ rimuovi tutte le righe pari da example.txt
echo a b c | awk ‘{print $1}’ stampare la prima colonna di una riga
echo a b c | awk ‘{print $1,$3}’ stampare la prima e la terza colonna di una riga
paste file1 file2 fondere il contenuto di due file per colonne
paste -d ‘+’ file1 file2 fondere il contenuto di due file per colonne con il delimitatore ‘+’ tra apici
sort file1 file2 ordinare i contenuti di due file
sort file1 file2 | uniq ordinare i contenuti di due file omettendo le linee ripetute
sort file1 file2 | uniq -u ordinare i contenuti di due file stampando solo le line univoche
sort file1 file2 | uniq -d ordinare i contenuti di due file stampando solo le line duplicate
comm -1 file1 file2 comparare i contenuti di due file sopprimendo soltanto le righe univoche del ‘file1′
comm -2 file1 file2 comparare i contenuti di due file sopprimendo soltanto le righe univoche del ‘file2′
comm -3 file1 file2 comparare i contenuti di due file sopprimendo soltanto le righe che appaiono su entrambi i file
COMANDI SHELL LINUX
Conversione Set Caratteri e Formato dei file
dos2unix filedos.txt fileunix.txt convertire un file di testo MSDOS in formato UNIX
unix2dos fileunix.txt filedos.txt convertire un file di testo UNIX in formato MSDOS
recode ..HTML <> page.html convertire un file di testo in formato html
recode -l | more visualizza tutti i formati di conversione disponibili
COMANDI SHELL LINUX
Analisi Filesystem
badblocks -v /dev/hda1 verifica bad blocks sul disco hda1
fsck /dev/hda1 ripara / verifica l’integrità del filesystem linux sul disco hda1
fsck.ext2 /dev/hda1 ripara / verifica l’integrità del filesystem ext2 sul disco hda1
e2fsck /dev/hda1 ripara / verifica l’integrità del filesystem ext2 sul disco hda1
e2fsck -j /dev/hda1 ripara / verifica l’integrità del filesystem ext3 sul disco hda1
fsck.ext3 /dev/hda1 ripara / verifica l’integrità del filesystem ext3 sul disco hda1
fsck.vfat /dev/hda1 ripara / verifica l’integrità del filesystem fat sul disco hda1
fsck.msdos /dev/hda1 ripara / verifica l’integrità del filesystem dos sul disco hda1
dosfsck /dev/hda1 ripara / verifica l’integrità del filesystem dos sul disco hda1
COMANDI SHELL LINUX
Formattare un Filesystem
mkfs /dev/hda1 creare un filesystem di tipo linux sulla partizione hda1
mke2fs /dev/hda1 creare il filesystem di tipo linux ext2 sulla partizione hda1
mke2fs -j /dev/hda1 creare il filesystem di tipo linux ext3(Journal) sulla partizione hda1
mkfs -t vfat 32 -F /dev/hda1 creare un filesystem di tipo FAT32
fdformat -n /dev/fd0 formattare un floppy disk
mkswap /dev/hda3 creare una filesystem di tipo swap
COMANDI SHELL LINUX
Filesystem SWAP
mkswap /dev/hda3 creare un filesystem di tipo swap
swapon /dev/hda3 attivare una nuova partizione di swap
swapon /dev/hda2 /dev/hdb3 attivare due partizioni di swap
COMANDI SHELL LINUX
Backup
dump -0aj -f /tmp/home0.bak /home backup full della directory ‘/home’
dump -1aj -f /tmp/home0.bak /home backup incrementale della directory ‘/home’
restore -if /tmp/home0.bak ripristino di un backup in maniera interattiva
rsync -rogpav –delete /home /tmp sincronizzazione tra directory
rsync -rogpav -e ssh –delete /home ip_address:/tmp rsync via ssh tunnel
rsync -az -e ssh –delete ip_addr:/home/public /home/local sincronizzare una directory locale con una directory remota via ssh e compressione
rsync -az -e ssh –delete /home/local ip_addr:/home/public sincronizzare una directory remota con una directory locale via ssh e compressione
dd bs=1M if=/dev/hda | gzip | ssh user@ip_addr ‘dd of=hda.gz’ backup di un hardisk locale su un host remoto via ssh
tar -Puf backup.tar /home/user backup incrementale della directory ‘/home/user’
( cd /tmp/local/ && tar c . ) | ssh -C user@ip_addr ‘cd /home/share/ && tar x -p’ copiare il contenuto di una directory su una directory remota via ssh
( tar c /home ) | ssh -C user@ip_addr ‘cd /home/backup-home && tar x -p’ copiare una directory locale su una directory remota via ssh
tar cf - . | (cd /tmp/backup ; tar xf - ) copiare in locale preservando i permessi e link da una directory all’altra
find /home/user1 -name ‘*.txt’ | xargs cp -av –target-directory=/home/backup/ –parents trova e copia tutti i file con estensione ‘.txt’ da una directory all’altra
find /var/log -name ‘*.log’ | tar cv –files-from=- | bzip2 > log.tar.bz2 trova tutti i file con estensione ‘.log’ e crea un archivio in formato bzip
dd if=/dev/hda of=/dev/fd0 bs=512 count=1 creare una copia dell’MBR(Master Boot Record) su floppy
dd if=/dev/fd0 of=/dev/hda bs=512 count=1 ripristinare l’MBR dalla copia di backup salvata su floppy
linux command line v1.0
CDROM
cdrecord -v gracetime=2 dev=/dev/cdrom -eject blank=fast -force cancellare un cdrom riscrivibile
mkisofs /dev/cdrom > cd.iso creare l’immagine iso di un cdrom sull’hard-disk
mkisofs /dev/cdrom | gzip > cd_iso.gz creare l’immagine iso compressa di un cdrom sull’hard-disk
mkisofs -J -allow-leading-dots -R -V “Label CD” -iso-level 4 -o ./cd.iso data_cd creare l’immagine iso di una directory da masterizzare
cdrecord -v dev=/dev/cdrom cd.iso masterizzare un immagine iso
gzip -dc cd_iso.gz | cdrecord dev=/dev/cdrom - masterizzare un immagine iso compressa
mount -o loop cd.iso /mnt/iso montare un’immagine iso
cd-paranoia -B rippare le traccie audio da un cd in file wav
cd-paranoia — “-3″ rippare le prime tre traccie audio da un cd in file wav
cdrecord –scanbus scansionare il bus per identificare il canale scsi
COMANDI SHELL LINUX
Rete - LAN e WiFi
ifconfig eth0 visualizza configurazione di una scheda di rete ethernet
ifup eth0 attiva interfaccia ‘eth0′
ifdown eth0 disattiva interfaccia ‘eth0′
ifconfig eth0 192.168.1.1 netmask 255.255.255.0 configura ip address
ifconfig eth0 promisc configura ‘eth0′ in modalità promiscua per raccogliere i pacchetti(sniffing)
dhclient eth0 attiva l’interfaccia ‘eth0′ in dhcp
route -n visualizza tabella di routing
route add -net 0/0 gw IP_Gateway configura default gateway
route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1 configura route statica per raggiungere le rete ‘192.168.0.0/16′
route del 0/0 gw IP_gateway rimuovi route statica
echo “1″ > /proc/sys/net/ipv4/ip_forward activate ip routing
hostname mostra l’hostname del sistema
host www.linuxguide.it risoluzione hostname in ip address e viceversa
ip link show mostra status link di tutte le interfaccie
mii-tool eth0 mostra status link dell’interfaccia ‘eth0′
ethtool eth0 mostra statistiche scheda di rete ‘eth0′
netstat -tup mostra tutte le connessioni di rete attive e rispettivi PID
netstat -tupl mostra tutti i servizi di rete in ascolto sul sistema e rispettivi PID
tcpdump tcp port 80 visualizza tutto il traffico http
iwlist scan visualizza le reti wireless
iwconfig eth1 visualizza configurazione di una scheda rete wireless
COMANDI SHELL LINUX
Reti Microsoft Windows - SAMBA
nbtscan ip_addr risoluzione nome netbios
nmblookup -A ip_addr risoluzione nome netbios
smbclient -L ip_addr/hostname visualizza le condivisioni remote di un host windows
smbget -Rr smb://ip_addr/share simile a wget permette di scaricare file da un host windows via smb
mount -t smbfs -o username=user,password=pass //winclient/share /mnt/share montare una condivisione di rete windows
COMANDI SHELL LINUX
IPTABLES - firewall
iptables -t filter -L mostra tutte le chains della tabella di filtering
iptables -t nat -L mostra tutte le chains della tabella di nat
iptables -t filter -F azzera tutte le regole dalla tabella di filtraggio
iptables -t nat -F azzera tutte le regole dalla tabella nat
iptables -t filter -X cancella eventuali chains create dall’utente
iptables -t filter -A INPUT -p tcp –dport telnet -j ACCEPT permetti connessioni telnet in ingresso
iptables -t filter -A OUTPUT -p tcp –dport http -j DROP blocca connessioni http in uscita
iptables -t filter -A FORWARD -p tcp –dport pop3 -j ACCEPT permetti connessioni pop3 sulla chain di forward
iptables -t filter -A INPUT -j LOG –log-prefix “DROP INPUT” logging sulla chain di input
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE configura un PAT(Port Address Traslation) sull’interfaccia eth0 mascherando i pacchetti in uscita
iptables -t nat -A PREROUTING -d 192.168.0.1 -p tcp -m tcp –dport 22 -j DNAT –to-destination 10.0.0.2:22 redirect dei pacchetti indirizzati a un host verso un altro
COMANDI SHELL LINUX
Monitoring di sistema e debugging ]
top visualizza i processi di sistema che utilizzano più cpu
ps -eafw visualizza i processi di sistema
ps -e -o pid,args –forest visualizza i processi sistema in maniera gerarchica
pstree mostra un albero dei processi sistema
kill -9 ID_Processo forzare la chiusura del processo e terminarlo
kill -1 ID_Processo forzare il processo a ricaricare la configurazione
lsof -p $$ visualizza la lista dei file aperti dai processi
lsof /home/user1 visualizza la lista dei file aperti in una determinato path di sistema
strace -c ls >/dev/null mostra le chiamate di sistema fatte e ricevute da un processo
strace -f -e open ls >/dev/null visualizza le chiamate alle librerie
watch -n1 ‘cat /proc/interrupts’ mostra gli interrupts in tempo reale
last reboot mostra lo storico dei reboot
lsmod visualizza i mooduli del kernel caricati
free -m visualizza lo status della ram in megabyte
smartctl -A /dev/hda monitorare l’affidabilità di un hard-disk mediante SMART
smartctl -i /dev/hda verificare se SMART è attivo su un hard-disk
tail /var/log/dmesg visualizzare gli eventi inerenti al processo di boot del kernel
tail /var/log/messages visualizzare gli eventi di sistema
COMANDI SHELL LINUX
Altri comandi utili
mkbootdisk –device /dev/fd0 `uname -r` creare un dischetto di boot
gpg -c file1 cryptare un file con GNU Privacy Guard
gpg file1.gpg decryptare un file con GNU Privacy Guard
wget -r www.example.com scaricare un sito intero
wget -c www.example.com/file.iso scaricare un file con la possibilità di arrestare il download e riprenderlo successivamente
echo ‘wget -c www.example.com/files.iso’ | at 09:00