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