command terminal linux
TRANSCRIPT
![Page 1: Command Terminal Linux](https://reader031.vdocuments.site/reader031/viewer/2022012401/5875d48e1a28ab8f438b5f6d/html5/thumbnails/1.jpg)
Pasquale Campete | Command Terminal Linux | October 7, 2015
Command Terminal Linux MANUAL LIST NAME COMMAND
![Page 2: Command Terminal Linux](https://reader031.vdocuments.site/reader031/viewer/2022012401/5875d48e1a28ab8f438b5f6d/html5/thumbnails/2.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022012401/5875d48e1a28ab8f438b5f6d/html5/thumbnails/3.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022012401/5875d48e1a28ab8f438b5f6d/html5/thumbnails/4.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022012401/5875d48e1a28ab8f438b5f6d/html5/thumbnails/5.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022012401/5875d48e1a28ab8f438b5f6d/html5/thumbnails/6.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022012401/5875d48e1a28ab8f438b5f6d/html5/thumbnails/7.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022012401/5875d48e1a28ab8f438b5f6d/html5/thumbnails/8.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022012401/5875d48e1a28ab8f438b5f6d/html5/thumbnails/9.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022012401/5875d48e1a28ab8f438b5f6d/html5/thumbnails/10.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022012401/5875d48e1a28ab8f438b5f6d/html5/thumbnails/11.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022012401/5875d48e1a28ab8f438b5f6d/html5/thumbnails/12.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022012401/5875d48e1a28ab8f438b5f6d/html5/thumbnails/13.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022012401/5875d48e1a28ab8f438b5f6d/html5/thumbnails/14.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022012401/5875d48e1a28ab8f438b5f6d/html5/thumbnails/15.jpg)
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]