Linux Commands Line list
Transcript
Linux Commands Line list
1 di 16 Linux Commands Line list v1.2 pagina ufficiale su LinuxGuide.it Non puoi alterare o trasformare quest'opera, ne' usarla per crearne un'altra senza l'autorizzazione di LinuxGuide.it # "Linux Commands Line list" scritto da LinuxGuide.it è licenziato sotto "Creative Commons License" INDEX: Informazioni sul sistema | Shutdown | File e directory | Ricerca file | Montare un filesystem | Spazio disco | Utenti e Gruppi | Permessi sui file | Attributi speciali sui file | Archivi e file compressi | Pacchetti RPM | YUM package utility | Pacchetti DEB | APT package utility | Visualizzare contenuto file | Manipolazione del testo | Set di caratteri e formato file | Analisi filesystem | Formattare un filesystem | Filesystem SWAP | Backup | CDROM | Rete | Reti Microsoft windows | IPTABLES | Monitoring and debugging | Altri comandi utili | COMANDO DESCRIZIONE INDICE ^ Informazioni sul sistema arch mostra l'architettura della macchina(1) uname -m mostra l'architettura della macchina(2) uname -r mostra la versione del kernel in uso dmidecode -q mostra componenti hardware di sistema - (SMBIOS/DMI) hdparm -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 della data sul BIOS 22/10/2008 23.06 linux commands line list v1.2 - LinuxGuide.it INDICE ^ Arresto, Riavvio e Logout di un sistema shutdown -h now arresto del sistema(1) init 0 arresto del sistema(2) telinit 0 arresto del sistema(3) shutdown -h ore:minuti & arresto programmato del sistema shutdown -c cancellare un arresto programmato del sistema shutdown -r now riavvio del sistema(1) reboot riavvio del sistema(2) logout abbondonare la sessione linux commands line list v1.2 - LinuxGuide.it INDICE ^ File e Directory 2 di 16 cd /home entrare nella directory '/home' cd .. risalire di un livello cd ../.. risalire di due livelli cd vai alla home directory cd ~user1 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 tree visualizza file e directory in un albero a partire da root(1) lstree visualizza file e directory in un albero a partire da root(2) mkdir dir1 creare la directory 'dir1' mkdir dir1 dir2 creare due directory contemporaneamente mkdir -p /tmp/dir1/dir2 creare un'albero di directory 22/10/2008 23.06 rm -f file1 eliminare il file 'file1' rmdir dir1 eliminare la directory 'dir1' rm -rf dir1 eliminare ricorsivamente la directory 'dir1' e sul contenuto rm -rf dir1 dir2 eliminare ricorsivamente due directory ed il loro contenuto con un solo comando 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 file1 modificare il timestamp di un file o directory - (YYMMDDhhmm) file file1 determina il mime type di un file iconv -l mostra tutti i set di caratteri conosciuti iconv -f fromEncoding -t toEncoding inputFile > outputFile convertire la codifica dei caratteri da un formato ad un'altro find . -maxdepth 1 -name *.jpg -print -exec convert "{}" -resize 80x60 "thumbs/{}" \; ridimensionare le dimensioni di tutti i file ".jpg" presenti nella directory locale(richiede Imagemagick) linux commands line list v1.2 - LinuxGuide.it INDICE ^ Ricerca file 3 di 16 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 / -xdev -name \*.rpm 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 22/10/2008 23.06 which halt visualizzare il path completo di un file binario/eseguibile linux commands line list v1.2 - LinuxGuide.it INDICE ^ 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 linux commands line list v1.2 - LinuxGuide.it INDICE ^ 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 -sk * | 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) linux commands line list v1.2 - LinuxGuide.it INDICE ^ Users and Groups groupadd nome_gruppo 4 di 16 creare un nuovo gruppo 22/10/2008 23.06 5 di 16 groupdel nome_gruppo eliminare un gruppo groupmod -n nuovo_gruppo vecchio_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 newgrp nome_gruppo log-in temporaneamente in un nuovo gruppo, cambia soltanto il gruppo di default dei nuovi file creati linux commands line list v1.2 - LinuxGuide.it INDICE ^ 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 -R user1 directory1 modificare l'utente proprietario di una directory e tutti i file e directory contenuti al suo interno chgrp group1 file1 modificare il gruppo di appartenenza di un file chown user1:group1 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/file1 impostare il bit SUID su un file binario - l'utente che esegue quel file ottienegli stessi privilegi del proprietario chmod u-s /bin/file1 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 22/10/2008 23.06 chmod o+t /home/public impostare il bit STIKY su una directory - consente la cancellazione dei file solo ai legittimi proprietari chmod o-t /home/public disattivare il bit STIKY su una directory linux commands line list v1.2 - LinuxGuide.it INDICE ^ 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 linux commands line list v1.2 - LinuxGuide.it INDICE ^ Archivi e file compressi 6 di 16 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 archive.tar file1 creare un archivio tar non compresso tar -cvf archive.tar file1 file2 dir1 creare un archivio contenente 'file1', 'file2' e 'dir1' tar -tf archive.tar visualizzare il contenuto di un archivio 22/10/2008 23.06 tar -xvf archive.tar estrarre un archivio tar tar -xvf archive.tar -C /tmp estrarre un archivio tar dentro /tmp tar -cvfj archive.tar.bz2 dir1 creare un archivio tar compresso in bzip2 tar -xvfj archive.tar.bz2 decomprimere un archivio tar compresso in bzip2 tar -cvfz archive.tar.gz dir1 creare un archivio tar compresso in gzip tar -xvfz archive.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 linux commands line list v1.2 - LinuxGuide.it INDICE ^ Pacchetti RPM - Fedora, RedHat e derivate 7 di 16 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 22/10/2008 23.06 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 linux commands line list v1.2 - LinuxGuide.it INDICE ^ YUM package updater - Fedora, RedHat e derivate yum install nome_pacchetto scarica ed installa un pacchetto rpm yum localinstall nome_pacchetto.rpm installare un pacchetto locale cercando di risolvere le dipendenze via yum yum update nome_pacchetto.rpm 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 linux commands line list v1.2 - LinuxGuide.it INDICE ^ Pacchetti DEB - Debian, Ubuntu e derivate 8 di 16 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" 22/10/2008 23.06 9 di 16 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 linux commands line list v1.2 - LinuxGuide.it INDICE ^ 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 aggiorna la lista dei pacchetti(non installati) apt-get upgrade aggiorna tutti pacchetti deb installati 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 apt-cache search nome_pacchetto ritorna la lista dei pacchetti corrispondenti alla stringa "nome_pacchetto" linux commands line list v1.2 - LinuxGuide.it INDICE ^ 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 linux commands line list v1.2 - LinuxGuide.it INDICE ^ Manipolazione del testo cat file1 file2 ... | command <> file1_in.txt_or_file1_out.txt sintassi generale per la manipolazione del testo usandole PIPE, STDIN e STDOUT 22/10/2008 23.06 10 di 16 cat file1 | command( sed, grep, awk, grep, etc...) > result.txt sintassi per elaborare il testo di un file e scrivere il risultato su un nuovo file cat file1 | command( 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 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' 22/10/2008 23.06 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 linux commands line list v1.2 - LinuxGuide.it INDICE ^ 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.txt > page.html convertire un file di testo in formato html recode -l | more visualizza tutti i formati di conversione disponibili linux commands line list v1.2 - LinuxGuide.it INDICE ^ 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 linux commands line list v1.2 - LinuxGuide.it INDICE ^ Formattare un Filesystem 11 di 16 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 22/10/2008 23.06 12 di 16 linux commands line list v1.2 - LinuxGuide.it INDICE ^ 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 linux commands line list v1.2 - LinuxGuide.it INDICE ^ 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' backupare il contentuo di un hardisk locale su un host remoto via ssh dd if=/dev/sda of=/tmp/file1 backupare il contenuto di un hardisk su un file locale 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 commands line list v1.2 - LinuxGuide.it INDICE ^ 22/10/2008 23.06 13 di 16 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 dd if=/dev/hdc | md5sum eseguire un md5sum su un device, simile ad un CD linux commands line list v1.2 - LinuxGuide.it INDICE ^ 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 active interface 'eth0' in dhcp mode 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 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 22/10/2008 23.06 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 hostname mostra l'hostname del sistema host www.example.com risoluzione hostname in ip address e viceversa(1) nslookup www.example.com risoluzione hostname in ip address e viceversa(2) whois www.example.com lookup sul database Whois per ottenere informazioni sul dominio/hosts linux commands line list v1.2 - LinuxGuide.it INDICE ^ Microsoft Windows networks (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 linux commands line list v1.2 - LinuxGuide.it INDICE ^ IPTABLES (firewall) 14 di 16 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 22/10/2008 23.06 15 di 16 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 linux commands line list v1.2 - LinuxGuide.it INDICE ^ 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 linux commands line list v1.2 - LinuxGuide.it INDICE ^ Altri comandi utili apropos ...keyword 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 ping visualizza un manuale per ottenere informazioni sull'utilizzo per esempio del comando ping whatis ...keyword mostra le informazioni su quello che un dato programma fa 22/10/2008 23.06 16 di 16 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 iniziare un download ad una determinata ora ldd /usr/bin/ssh mostra le librerie richieste per esempio dal programma ssh alias hh='history' impostare un alias ad un comando - hh = history chsh cambiare shell di lavoro chsh --list-shells questo comando mostra eventuali utenti remoti loggati sul sistema who -a mostra gli utenti loggati in maniera dettagliata linux commands line list v1.2 - LinuxGuide.it INDICE ^ Eccetto dove diversamente specificato, i contenuti di LinuxGuide.it sono rilasciati sotto Licenza "Creative Commons" Attribuzione 2.5: libera Riproduzione a condizione che vengano indicati gli Autori e, a scopi Non Commerciali e, Non Opere Derivate 2.5 Italia. LinuxGuide.it non si assume alcuna responsabilità e in nessun caso può esserne attribuita per eventuali danni fisici, morali o di altro tipo causati dall'utilizzo dei contenuti, dai comandi, dalle configurazioni e da qualsiasi altro contenuto pubblicato su www.linuxguide.it o copie degli stessi contenuti distribuiti da terzi. 22/10/2008 23.06