Command Terminal Linux

Post on 15-Apr-2017

248 views 7 download

Transcript of Command Terminal Linux

Pasquale Campete | Command Terminal Linux | October 7, 2015

Command Terminal Linux MANUAL LIST NAME COMMAND

PAGE 1

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]

# date visualizzare la data di sistema [man]

# date 041217002007.00 impostare data e ora - MeseGiornoOreMinutiAnno.Secondi [man]

# dmidecode -q mostra componenti hardware di sistema - (SMBIOS/DMI) [man]

# hdparm -i /dev/hda mostra le info e le caratteristiche di un hard-disk [man]

# hdparm -tT /dev/sda 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]

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]

# shutdown -r now riavvio del sistema(1) [man]

# telinit 0 arresto del sistema(3) [man]

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]

PAGE 2

# cd ~user1 vai alla home directory [man]

# cd - vai alla directory precedente [man]

# cp file1 file2 copiare un file [man]

# cp dir/* . copiare tutti i file di una directory dentro la directory di lavoro corrente [man]

# cp -a /tmp/dir1 . copiare una directory dentro la directory di lavoro corrente [man]

# cp -a dir1 dir2 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

convertire la codifica dei caratteri da un formato ad un'altro [man]

# find . -maxdepth 1 -name *.jpg -print -exec convert

modificare le dimensioni di tutti i file ".jpg" presenti nella directory locale(richiede Imagemagick) [man]

# ln -s file1 lnk1 creare un link simbolico al file(o directory) 'file1' chiamato lnk1 [man]

# ln file1 lnk1 creare un link fisico al file(o directory) 'file1' chiamato lnk1 [man]

# ls 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]* visualizzare file e cartelle che contengono numeri [man]

# lstree visualizza file e directory in un albero a partire da root(2) [man]

# mkdir dir1 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]

# pwd visualizzare il path della directory di lavoro [man]

# rm -f file1 eliminare il file 'file1' [man]

# rm -rf dir1 eliminare ricorsivamente la directory 'dir1' e sul contenuto [man]

# rm -rf dir1 dir2 eliminare ricorsivamente due directory ed il loro contenuto con un solo comando [man]

# rmdir dir1 eliminare la directory 'dir1' [man]

# touch -t 0712250000 file1 modificare il timestamp di un file o directory - (YYMMDDhhmm) [man]

# tree visualizza file e directory in un albero a partire da root(1) [man]

Ricerca file

Comando Descrizione

# find / -name file1 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]

PAGE 3

# 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]

Montare un filesystem

Comando Descrizione

# fuser -km /mnt/hda2 forzare umount quando il device è occupato [man]

# mount /dev/hda2 /mnt/hda2 montare il disco hda2 - verificare esistenza della directory

'/mnt/hda2' [man]

# mount /dev/fd0 /mnt/floppy 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

montare una condivisione di rete windows [man]

# umount /dev/hda2 smontare il disco hda2 - uscire dal mount point '/mnt/hda2' prima di smontare [man]

# umount -n /mnt/hda2 eseguire umount senza scrivere sul file /etc/mtab - utile quando il filesystem è in read-only o il disco è

saturo [man]

Spazio disco

Comando Descrizione

# df -h visualizzare l'elenco delle partizioni montate [man]

# dpkg-query -W -f='${Installed-Size;10}t${Package}n' | sort -k1,1n

mostra lo spazio disco usato dai pacchetti deb installati, ordinandoli per dimensione (ubuntu, debian and like) [man]

# du -sh dir1 conoscere lo spazio su disco occupato dalla directory 'dir1' [man]

# du -sk * | sort -rn visualizzare la dimensione dei file e delle directory ordinanti per dimensione [man]

PAGE 4

# ls -lSr |more visualizzare la dimensione dei file e delle directory ordinandoli per dimensione [man]

# 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) [man]

Users and Groups

Comando Descrizione

# chage -E 2005-12-31 user1 impostare la scadenza password per un utente [man]

# groupadd [group] 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]

# newgrp - [group] log-in temporaneamente in un nuovo gruppo, cambia

soltanto il gruppo di default dei nuovi file creati [man]

# passwd modificare la password [man]

# passwd user1 modificare la password di un utente(solo da root) [man]

# pwck Verificare la correttezza sintattica e formale del file '/etc/passwd' e l'effettiva esistenza degli utenti [man]

# useradd -c "User Linux" -g admin -d /home/user1 -

s /bin/bash user1

creare un nuovo utente appartente al gruppo

"admin" [man]

# useradd user1 creare un nuovo utente [man]

# userdel -r user1 eliminare un utente ('-r' elimina la home directory) [man]

# usermod -c "User FTP" -g system -d /ftp/user1 -s /bin/nologin user1

modificare gli attributi utente [man]

Permessi sui Files

Comando Descrizione

# chgrp group1 file1 modificare il gruppo di appartenenza di un file [man]

# 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) [man]

# chmod go-rwx directory1 rimuovere i permessi di lettura(r), scrittura(w) ed accesso(x) per gli utenti gruppo(g) e altri(o [man]

# chmod u+s /bin/file1 impostare il bit SUID su un file binario - l'utente che esegue quel file ottienegli stessi privilegi del proprietario [man]

# chmod u-s /bin/file1 disattivare il bit SUID su un file binario [man]

# chmod g+s /home/public impostare il bit SGID su una directory - simile a SUID ma impostato sulla directory [man]

# chmod g-s /home/public 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]

# chmod o-t /home/public disattivare il bit STIKY su una directory [man]

# chown user1 file1 modificare il proprietario di un file [man]

PAGE 5

# chown -R user1 directory1 modificare l'utente proprietario di una directory e tutti i file e directory contenuti al suo interno [man]

# chown user1:group1 file1 modificare utente e gruppo proprietario di un file [man]

# find / -perm -u+s visualizzare tutti i file presenti sul sistema con SUID impostato [man]

# ls -lh visualizzare i permessi [man]

# ls /tmp | pr -T5 -W$COLUMNS dividere il terminale in 5 colonne [man]

Attributi Speciali sui file

Comando Descrizione

# chattr +a file1 consente su un file l'apertura in scrittura solo in modalità append [man]

# chattr +c file1 consente che un file venga compresso/decompresso dal kernel automaticamente [man]

# chattr +d file1 fa in modo che il programma Dump ignori il file durante

un backup [man]

# chattr +i file1 rende un file immutabile, ovvero non potrà essere eliminato, alterato, rinominato o linkato [man]

# chattr +s file1 consente ad un file di essere cancellato in maniera sicura, azzerandone i blocchi sul disco [man]

# chattr +S file1 fa in modo che se un file viene modificato i cambiamenti vengono scritti in maniera sincrona sul disco come con sync [man]

# chattr +u file1 permette di recuperare il contenuto di un file anche se questo viene cancellato [man]

# lsattr visualizzare gli attributi speciali [man]

Archivi e file compressi

Comando Descrizione

# bunzip2 file1.bz2 decomprimere il file denominato 'file1.bz2' [man]

# bzip2 file1 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]

# rar a file1.rar test_file creare un archivio rar chiamato 'file1.rar' [man]

# rar a file1.rar file1 file2 dir1 comprimere in rar simultaneamente 'file1', 'file2' e 'dir1' [man]

# rar x file1.rar decomprimere un archivio rar [man]

# tar -cvf archive.tar file1 creare un archivio tar non compresso [man]

# tar -cvf archive.tar file1 file2 dir1 creare un archivio contenente 'file1', 'file2' e 'dir1' [man]

# tar -tf archive.tar 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]

PAGE 6

# tar -cvfz archive.tar.gz dir1 creare un archivio tar compresso in gzip [man]

# tar -xvfz archive.tar.gz decomprimere un archivio tar compresso in gzip [man]

# unrar x file1.rar 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]

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]

# rpm -U [package.rpm] aggiornare un pacchetto rpm senza modificarne i file di configurazione [man]

# rpm -F [package.rpm] aggiornare un pacchetto rpm solo se quest'ultimo risulta

già installato [man]

# rpm -e [package] rimuovere un pacchetto rpm [man]

# rpm -qa visualizzare tutti i pacchetti rpm installati sul sistema [man]

# rpm -qa | grep httpd visualizzare tutti i pacchetti rpm col nome "httpd" [man]

# rpm -qi [package] ottenere informazioni su un determinato pacchetto

installato [man]

# rpm -qg "System Environment/Daemons" visualizzare i pacchetti rpm di un gruppo software [man]

# rpm -ql [package] visualizzare la lista dei file forniti da un pacchetto rpm installato [man]

# rpm -qc [package] visualizzare la lista dei file di configurazione forniti da un pacchetto rpm installato [man]

# rpm -q [package] --whatrequires visualizzare la lista delle dipendenze richieste da un

pacchetto rpm [man]

# rpm -q [package] --whatprovides visualizzare le capability fornite da un pacchetto rpm [man]

# rpm -q [package] --scripts visualizzare gli script avviati in fase di installazione/rimozione [man]

# rpm -q [package] --changelog visualizzare lo storico delle revisioni di un pacchetto rpm [man]

# rpm -qf /etc/httpd/conf/httpd.conf verificare a quale pacchetto rpm appartiene un dato file [man]

# rpm -qp [package.rpm] -l visualizzare la lista dei file forniti da un pacchetto non

ancora installato [man]

# rpm --import /media/cdrom/RPM-GPG-KEY importare la public-key della digital signature [man]

# rpm --checksig [package.rpm] verificare l'integrità di un pacchetto rpm [man]

# rpm -qa gpg-pubkey verificare l'integrità di tutti pacchetti rpm installati [man]

# rpm -V [package] verificare file size, permessi, tipo, owner, group, MD5 checksum e ultima modifica [man]

# rpm -Va verificare tutti i pacchetti rpm installati sul sistema - usare con cautela [man]

# rpm -Vp [package.rpm] verificare un pacchetto rpm non ancora installato [man]

PAGE 7

# rpm -ivh /usr/src/redhat/RPMS/`arch`/[package.rpm]

installare un pacchetto costruito da un rpm sorgente [man]

# rpm2cpio [package.rpm] | cpio --extract --make-directories *bin*

estrarre gli eseguibili da un pacchetto rpm [man]

# rpmbuild --rebuild [package.src.rpm] costruire un pacchetto da un rpm sorgente [man]

YUM package tool (Fedora, RedHat e derivate)

Comando Descrizione

# yum -y install [package] scarica ed installa un pacchetto rpm [man]

# yum localinstall [package.rpm] installare un pacchetto locale cercando di risolvere le dipendenze via yum [man]

# yum -y update aggiornare tutti i pacchetti rpm installati sul sistema [man]

# yum update [package] 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]

# yum search [package] cercare un pacchetto rpm sul repository [man]

# yum clean [package] ripulire la cache dai pacchetti rpm scaricati [man]

# yum clean headers rimuovere tutti i file headers che il sistema usa per la risoluzione delle dipendenze [man]

# yum clean all rimuovere dalla cache i pacchetti e gli headers [man]

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]

# dpkg -l | grep httpd visualizzare tutti i pacchetti rpm col nome "httpd" [man]

# dpkg -s [package] ottenere informazioni su un determinato pacchetto

installato [man]

# dpkg -L [package] visualizzare la lista dei file forniti da un pacchetto installato [man]

# dpkg --contents [package.deb] visualizzare la lista dei file forniti da un pacchetto non installato [man]

# dpkg -S /bin/ping verificare a quale pacchetto appartiene un dato file [man]

APT packages tool (Debian, Ubuntu e derivate)

Comando Descrizione

# apt-cache search [package] ritorna la lista dei pacchetti corrispondenti alla stringa "nome_pacchetto" [man]

# apt-cdrom install [package] installare/aggiornare un pacchetto deb da cdrom [man]

# apt-get install [package] installare/aggiornare un pacchetto deb [man]

PAGE 8

# apt-get update aggiorna la lista dei pacchetti(non installati) [man]

# apt-get upgrade 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]

# apt-get clean ripulire la cache dai pacchetti scaricati [man]

Pacman packages tool (Arch, Frugalware e derivate)

Comando Descrizione

# pacman -S name installa un pacchetto risolvendo le dipendenze [man]

# pacman -R name rimuovi un pacchetto e tutti i file associati [man]

Visualizzare il contenuto di un file

Comando Descrizione

# cat file1 visualizzare il contenuto di un file partendo dalla prima riga [man]

# head -2 file1 visualizzare le prime due righe di un file [man]

# less file1 simile al comando 'more' ma che consente di scorrere il file sia in avanti che indietro [man]

# more file1 visualizzare il contenuto di un file lungo [man]

# tac file1 visualizzare il contenuto di un file partendo dall'ultima riga [man]

# tail -2 file1 visualizzare le ultime due righe di un file [man]

# tail -f /var/log/messages 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]

# cat -n file1 numerare le righe di un file [man]

# comm -1 file1 file2 comparare i contenuti di due file sopprimendo soltanto le righe univoche del 'file1' [man]

# comm -2 file1 file2 comparare i contenuti di due file sopprimendo soltanto le righe univoche del 'file2' [man]

# comm -3 file1 file2 comparare i contenuti di due file sopprimendo soltanto le righe che appaiono su entrambi i file [man]

# diff file1 file2 trova le differenze tra due files [man]

# grep Aug /var/log/messages cercare la parola "Aug" all'interno del file 'messages' [man]

# grep ^Aug /var/log/messages cercare le parole che cominciano con "Aug" all'interno del file 'messages' [man]

PAGE 9

# grep [0-9] /var/log/messages selezionare all'interno del file 'messages tutte le righe che contengono numeri [man]

# grep Aug -R /var/log/* estendere la ricerca della stringa "Aug" dentro la directory '/var/log' e sottodirectory [man]

# paste file1 file2 fondere il contenuto di due file per colonne [man]

# paste -d '+' file1 file2 fondere il contenuto di due file per colonne con il

delimitatore '+' tra apici [man]

# sdiff file1 file2 trova le difierenze tra due files e li fonde interrattivamente simile a "diff" [man]

# sed 's/string1/string2/g' example.txt rimpiazzare la "stringa1" con la "stringa2" da example.txt [man]

# sed '/^$/d' example.txt rimuovere tutte le righe vuote da example.txt [man]

# sed '/ *#/d; /^$/d' example.txt rimuovere i commenti e le righe vuote da example.txt [man]

# sed -e '1d' exampe.txt elimina la prima riga dal file example.txt [man]

# sed -n '/string1/p' visualizza solo righe che contengono la parola "stringa1" [man]

# sed -e 's/ *$//' example.txt rimuovi i caratteri vuoti alla fine di ogni riga [man]

# sed -e 's/string1//g' example.txt cancella solo la parola "stringa1" da tutte le righe

lasciando inalterato il resto [man]

# sed -n '1,5p' example.txt 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]

# sort file1 file2 | uniq -u ordinare i contenuti di due file stampando solo le line univoche [man]

# sort file1 file2 | uniq -d ordinare i contenuti di due file stampando solo le line

duplicate [man]

# echo 'word' | tr '[:lower:]' '[:upper:]' convertire da lower case in upper case [man]

Conversione Set Caratteri e Formato dei file

Comando Descrizione

# dos2unix filedos.txt fileunix.txt convertire un file di testo MSDOS in formato UNIX [man]

# recode ..HTML < page.txt > page.html convertire un file di testo in formato html [man]

# recode -l | more visualizza tutti i formati di conversione disponibili [man]

# unix2dos fileunix.txt filedos.txt convertire un file di testo UNIX in formato MSDOS [man]

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]

# e2fsck /dev/hda1 ripara / verifica l'integrità del filesystem ext2 sul disco hda1 [man]

PAGE 10

# e2fsck -j /dev/hda1 ripara / verifica l'integrità del filesystem ext3 sul disco hda1 [man]

# fsck /dev/hda1 ripara / verifica l'integrità del filesystem linux sul disco hda1 [man]

# fsck.ext2 /dev/hda1 ripara / verifica l'integrità del filesystem ext2 sul disco hda1 [man]

# fsck.ext3 /dev/hda1 ripara / verifica l'integrità del filesystem ext3 sul disco hda1 [man]

# fsck.vfat /dev/hda1 ripara / verifica l'integrità del filesystem fat sul disco

hda1 [man]

# fsck.msdos /dev/hda1 ripara / verifica l'integrità del filesystem dos sul disco hda1 [man]

Formattare un Filesystem

Comando Descrizione

# fdformat -n /dev/fd0 formattare un floppy disk [man]

# mke2fs /dev/hda1 creare il filesystem di tipo linux ext2 sulla partizione hda1 [man]

# mke2fs -j /dev/hda1 creare il filesystem di tipo linux ext3(Journal) sulla partizione hda1 [man]

# mkfs /dev/hda1 creare un filesystem di tipo linux sulla partizione

hda1 [man]

# mkfs -t vfat 32 -F /dev/hda1 creare un filesystem di tipo FAT32 [man]

# mkswap /dev/hda3 creare una filesystem di tipo swap [man]

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]

Backup

Comando Descrizione

# 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 [man]

# 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 [man]

# dd bs=1M if=/dev/hda | gzip | ssh user@ip_addr 'dd of=hda.gz'

backupare il contentuo di un hardisk locale su un host remoto via ssh [man]

# dd if=/dev/sda of=/tmp/file1 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]

PAGE 11

# dump -0aj -f /tmp/home0.bak /home backup full della directory '/home' [man]

# dump -1aj -f /tmp/home0.bak /home backup incrementale della directory '/home' [man]

# restore -if /tmp/home0.bak ripristino di un backup in maniera interattiva [man]

# rsync -rogpav --delete /home /tmp sincronizzazione tra directory [man]

# rsync -rogpav -e ssh --delete /home ip_address:/tmp

rsync via ssh tunnel [man]

# rsync -az -e ssh --delete ip_addr:/home/public /home/local

sincronizzare una directory locale con una directory remota via ssh e compressione [man]

# rsync -az -e ssh --delete /home/local

ip_addr:/home/public

sincronizzare una directory remota con una directory

locale via ssh e compressione [man]

# tar -Puf backup.tar /home/user backup incrementale della directory '/home/user' [man]

# ( 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 [man]

# ( 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 [man]

# tar cf - . | (cd /tmp/backup ; tar xf - ) 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]

# cd-paranoia -- rippare le prime tre traccie audio da un cd in file wav [man]

# cdrecord -v gracetime=2 dev=/dev/cdrom -eject blank=fast -force

cancellare un cdrom riscrivibile [man]

# cdrecord -v dev=/dev/cdrom cd.iso masterizzare un immagine iso [man]

# gzip -dc cd_iso.gz | cdrecord dev=/dev/cdrom - masterizzare un immagine iso compressa [man]

# cdrecord --scanbus scansionare il bus per identificare il canale scsi [man]

# dd if=/dev/hdc | md5sum eseguire un md5sum su un device, simile ad un CD [man]

# mkisofs /dev/cdrom > cd.iso creare l'immagine iso di un cdrom sull'hard-disk [man]

# mkisofs /dev/cdrom | gzip > cd_iso.gz creare l'immagine iso compressa di un cdrom sull'hard-disk [man]

# mkisofs -J -allow-leading-dots -R -V creare l'immagine iso di una directory da masterizzare [man]

# mount -o loop cd.iso /mnt/iso 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]

# hostname mostra l'hostname del sistema [man]

# ifconfig eth0 visualizza configurazione di una scheda di rete ethernet [man]

# ifconfig eth0 192.168.1.1 netmask 255.255.255.0 configura ip address [man]

PAGE 12

# ifconfig eth0 promisc configura 'eth0' in modalità promiscua per raccogliere i pacchetti(sniffing) [man]

# ifdown eth0 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]

# iwlist scan esegue una scansione delle reti wireless disponibili [man]

# mii-tool eth0 mostra status link dell'interfaccia 'eth0' [man]

# netstat -tup mostra tutte le connessioni di rete attive e rispettivi PID [man]

# netstat -tupl mostra tutti i servizi di rete in ascolto sul sistema e rispettivi PID [man]

# netstat -rn mostra la tabella di routing similmente come "route -n" [man]

# nslookup www.example.com risoluzione hostname in ip address e viceversa(2) [man]

# route -n 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

configura route statica per raggiungere le rete '192.168.0.0/16' [man]

# route del 0/0 gw IP_gateway 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]

Microsoft Windows networks (samba)

Comando Descrizione

# mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share

montare una condivisione di rete windows [man]

# nbtscan ip_addr risoluzione nome netbios [man]

# nmblookup -A ip_addr risoluzione nome netbios [man]

# smbclient -L ip_addr/hostname visualizza le condivisioni remote di un host windows [man]

# smbget -Rr smb://ip_addr/share simile a wget permette di scaricare file da un host windows via smb [man]

IPTABLES (firewall)

Comando Descrizione

# iptables -t filter -L mostra tutte le chains della tabella di filtering [man]

# iptables -t nat -L mostra tutte le chains della tabella di nat [man]

# iptables -t filter -F azzera tutte le regole dalla tabella di filtraggio [man]

# iptables -t nat -F azzera tutte le regole dalla tabella nat [man]

# iptables -t filter -X cancella eventuali chains create dall'utente [man]

PAGE 13

# iptables -t filter -A INPUT -p tcp --dport telnet -j ACCEPT

permetti connessioni telnet in ingresso [man]

# iptables -t filter -A OUTPUT -p tcp --dport http -j DROP

blocca connessioni http in uscita [man]

# iptables -t filter -A FORWARD -p tcp --dport pop3 -j ACCEPT

permetti connessioni pop3 sulla chain di forward [man]

# iptables -t filter -A INPUT -j LOG --log-prefix logging sulla chain di input [man]

# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

configura un PAT(Port Address Traslation) sull'interfaccia eth0 mascherando i pacchetti in uscita [man]

# 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 [man]

Monitoring di sistema e debugging

Comando Descrizione

# free -m visualizza lo status della ram in megabyte [man]

# kill -9 process_id forzare la chiusura del processo e terminarlo [man]

# kill -1 process_id forzare il processo a ricaricare la configurazione [man]

# last reboot 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]

# lsof /home/user1 visualizza la lista dei file aperti in una determinato path di sistema [man]

# ps -eafw visualizza i processi di sistema [man]

# ps -e -o pid,args --forest visualizza i processi sistema in maniera

gerarchica [man]

# pstree mostra un albero dei processi sistema [man]

# smartctl -A /dev/hda monitorare l'affidabilità di un hard-disk mediante SMART [man]

# smartctl -i /dev/hda verificare se SMART è attivo su un hard-disk [man]

# strace -c ls >/dev/null mostra le chiamate di sistema fatte e ricevute da un

processo [man]

# strace -f -e open ls >/dev/null visualizza le chiamate alle librerie [man]

# tail /var/log/dmesg visualizzare gli eventi inerenti al processo di boot del kernel [man]

# tail /var/log/messages visualizzare gli eventi di sistema [man]

# top visualizza i processi di sistema che utilizzano più cpu [man]

# watch -n1 'cat /proc/interrupts' mostra gli interrupts in tempo reale [man]

« Torna SU «

Altri comandi utili

Comando Descrizione

# alias hh='history' impostare un alias ad un comando - hh = history [man]

# apropos ...keyword visualizza una lista dei comandi pertinenti alle keywords

di un dato applicativo, utile quando si ricorda cosa un

PAGE 14

programma fa, ma non si ricorda il nome del programma [man]

# chsh cambiare shell di lavoro [man]

# chsh --list-shells questo comando mostra eventuali utenti remoti loggati sul sistema [man]

# gpg -c file1 cryptare un file con GNU Privacy Guard [man]

# gpg file1.gpg decryptare un file con GNU Privacy Guard [man]

# ldd /usr/bin/ssh mostra le librerie richieste per esempio dal programma ssh [man]

# man ping visualizza un manuale per ottenere informazioni sull'utilizzo per esempio del comando ping [man]

# mkbootdisk --device /dev/fd0 `uname -r` creare un dischetto di boot [man]

# wget -r www.example.com scaricare un sito intero [man]

# 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' | at

09:00

iniziare un download ad una determinata ora [man]

# whatis ...keyword mostra le informazioni su quello che un dato programma fa [man]

# who -a mostra gli utenti loggati in maniera dettagliata [man]