Command Terminal Linux

15
Pasquale Campete | Command Terminal Linux | October 7, 2015 Command Terminal Linux MANUAL LIST NAME COMMAND

Transcript of Command Terminal Linux

Page 1: Command Terminal Linux

Pasquale Campete | Command Terminal Linux | October 7, 2015

Command Terminal Linux MANUAL LIST NAME COMMAND

Page 2: Command Terminal Linux

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 3: Command Terminal Linux

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 4: Command Terminal Linux

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 5: Command Terminal Linux

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 6: Command Terminal Linux

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 7: Command Terminal Linux

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 8: Command Terminal Linux

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 9: Command Terminal Linux

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 10: Command Terminal Linux

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 11: Command Terminal Linux

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 12: Command Terminal Linux

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 13: Command Terminal Linux

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 14: Command Terminal Linux

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 15: Command Terminal Linux

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]