Il 0% ha trovato utile questo documento (0 voti)
252 visualizzazioni

Comandi Linux

Caricato da

Diego Iorio
Copyright
© Attribution Non-Commercial (BY-NC)
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd
Il 0% ha trovato utile questo documento (0 voti)
252 visualizzazioni

Comandi Linux

Caricato da

Diego Iorio
Copyright
© Attribution Non-Commercial (BY-NC)
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd
Sei sulla pagina 1/ 10

ACCEDERE ALLA MODALITA' CLI

---------------------------
accesso -> ctrl+alt+F2

uscita -> ctrl+alt+F7

NOTA:sono disponibili almeno 6 console passare dall'una all'alta con i tasti che vanno da ctr+alt+F1 a ctrl-alt+F6

COMANDI PER LE CARTELLE E DIRECTORY


-----------------------------------

man [comando] -> manuale, fornisce informazioni sul comando specificato, ad esempio "man cp", premi "q" per uscire

cd <directory> -> cambia directory posizionandosi su quella desiderata [change directory]


NOTA: Per accedere ad una directory con uno spazio nel nome, utilizzare il carattere "*" al posto dello spazio per
digitare il nome, ad esempio:
per accedere alla directory "cartella prova" digitare il comando
"cd cartella*prove"

cd .. -> torna alla directory precedente (directory madre)

pwd -> mostra in che directory ci troviamo in questo momento

ls <opzione> -> mostra la lista di tutte le cartelle e file della directory in cui ci troviamo [list]
opzioni ls:
-a mostra anche i file nascosti
-l mostra informazioni per ogni file
-k mostra le dimensioni del file
-f classifica i file per tipo
ls -l *.doc -> mostra tutti i file con suffisso .doc in quella directory
cd ~ -> si sposta nella directory corrente dell'utente (il carattere "~" si ottiene con "AltGr + ì")

cp <opzione> <file> <cartella> -> copia i file in una cartella [copy]


opzioni cp:
-r copia directory e tutte le sottocartelle

mv <opzioni> -> muove o rinomina file e directory [move]


mv <vecchio_nome> <nuovo_nome> -> rinomina
mv <file> <cartella> -> sposta
opzioni mv:
-l chiede conferma

ln <opzioni> <origine> <destinzione> -> crea un collegamento simboilico


-s crea un collegamento simbolico
-f sovrascrittura forzata dei file o dei colelgamenti gia presenti nella destinazione
esempi:
ln -s /test/* ~/prova -> crea una serie di collegamenti simbolici di tutti i file contenuti nella directory
test nella cartella prova contenuta nella directory principale dell'utente
ln -s /test ~/prova -> crea un collegamento al file o alla directory test nella cartella ~/prova

cat <opzioni> <file list> -> genera una concatenazione dei file contneuti in "file list" che conterrà una serie
di file sotto forma di file1 file2...
esempi:
cat prova priva1 -> mostra il contenuto della concatenzaione di prova e prova1
cat prova priva1 > prova2 -> genera un file prova2 contenente il conenuto concatenato di prova e prova1

rm <opzioni> <file o cartella> -> cancella fail o cartella [remove]


-rf cancella sia dir directory che sottodirectory

mkdir <nome_directory> -> crea una directory nella cartella in cui ci troviamo

whereis <programma> -> trova il percorso di ubicazione di un programma


find <directory> -> cerca file nella directory e restituisce la lista di tutte le sottocartelle e file

more file -> permette di visualizzare gradualemente un file, [SPACE] per scorrerlo

du <directory> -> visualizza lo spazio occupato dalla directory

touch nomefile -> crea nella directori corrente un file "nomefile"

cat > <file> -> permette di scrivere un testo nel file <file>, l'inserimento termina con "ctr+d"

locate <string> -> cerca il file con il nome "stringa" in tutto il sistema, come il comando trova, per aggiornare il
database di locate, digitare il comando "updatedb"

cmp [opzioni] file1 file2 -> confronta due file e mostra dove avvengono le differenze (file di testo e file binari)

wc [opzioni] [file] -> mostra il numero di parole (o di caratteri o di linee) del file specificato

VI O VIM (TEXT EDITOR)


----------------------

vi --> editore di testo (non ho ancora capito come funziona perché ho provato pochissimo) quello che so è:

****************************************************
* VI: editor classico *
* >appna si lancia si trova in modalità "comandi". *
* >per passare alla modalità inserimento premere "i" *
* che serve a scrivere o editare file. *
* >digitare "o" per iniziare ad editare il file *
* dalla linea seguente. *
* >premendo "ESCAPE" da tastiera si torna alla *
* modalità comandi. *
* >si salva il file scrivendo ":w" nella modalità *
* "comandi" *
* >si esce con "q" *
****************************************************

echo <stringa> -> stampa una stringa (stringa = sequenza di caratteri)

grep <parola> <file_di_testo> -> trova una "parola" in un "file_di_testo" deve essere presente nella directory in
cui siamo posizionati

hostname -> mostra l'hostname attuale


sudo hostname <nome> -> cambia l'hostname (come si nota dal "sudo" è competenza dell'amministratore)

uname <opzione> -> mostra informazioni sul computer.


Opzioni Uname:
-m tipo di macchina.
-n nome dell'host.
-r release dell'OS.
-s nome dell'OS.
-v versione dell'OS.
-a tutte le informazioni

CALCOLATORI
------------
expr [argomenti] -> valuta gli argomenti. Usato per l'aritmetica, ecc. in shell

bc [codice o espressione] -> potente linguaggio funzionale

BACKUP CON RSYNC


---------------------------
QUESTA È UN OTTIMA COSA ;-)

rsync [opzioni] sorgente destinazione -> serve per il backup dei file, salva soltanto i cambiamenti, percio' rapido

copiare la home all'interno di un supporto usb:


esempio: rsync -a /home/nome_user/dir/ /media/disk/dir/
(nel mio caso: rsync -a /home/diego/dir/ /media/disk/dir/)

opzioni:
-a -> preserva tutti i diritti della copia

OPZIONI E SISTEMA E ALTRO


-------------------------
df opzione> -> mostra lo spazio libero e utilizzato del disco rigido
-h dimensioni in GB

top -> mostra i processi in esecuzione

<nome programma> -> se siamo posuizionati nella directory in cui è presente il programma
lo mandiamo in esecuzione (da notare che nello stato base, il terminale
si trova sia nella directory home <nomeuser>, sia nella directory bin)

top -> mostra i processi in corso

sudo <comando> -> esegue una categoria di comandi di competenza dell'amministratore, generalmente
richiede la password [superuserdo]

alsamixer all -> un comando per alzare il volume

dpkg -l -> per ottendere l'elenco di tutti i pacchetti installati sul sistema
dpkg -l |less -> per poterli leggere uno per uno premendo invio (digitare q per uscire)

man <comand> -> molto utile, serveper ottenere informazioni su qualsiasi comando del terminale, digitare "q" per
uscire
halt -> chiude il sistema

reboot -> riavvia il sistema

date -> mostra la data

reset -> resetta il terminale con le impostazioni di partenza

exit -> chiude il terminale

history -> rishiama lo storico di tutti i comandi della sessione del terminale

type <comando> -> mostra la directory dove si trova l'eseguibile di un comando

clear -> pulisce il terminale da tutti i comandi digitati

cal -> mostra calendario

dselect -> programma terminale che gestisce i pacchetti debian, installare con "sudo apt-get install dselect" entra
in modalità sola lettura, se entriamo come amministratore digitiamo "sudo dselect"

file <file> -> determina tipo di file

head <file_di_testo> -> stampa le prime 10 righe di un file di testo

alien <opzione> <nome_pacchetto> -> converte pacchetti di vario tipo (deb, rpm, tgz...) va installato con sudo apt-get
install alien
Opzioni alien:
-d, --to-deb Converte file in formato debian (default)
-r, --to-rpm Converte in formato rpm
-t, --to-tgz Converte in formato tgz
--to-slp Converte in formato slp
-p, --to-pkg Converte in formato pkg
-i, --install Installa automaticamente ogni pacchetto generato, e rimuove il pacchetto dopo l'installazione.

look <stringa> -> cerca le righe che iniziano per una certa stringa

pstree -> mostra un albero di processi

ctrlaltdel -> abilita la funzione ctrl-alt-canc (non come in windows)

lspci -> mostra informazioni sull'hardware

sudo chmod -R 777 -> cambia i permessi della directory e delle sue sottodirectory per tutte le utenze

sudo fc-cache -fv -> ricarica le fonts nel sistema

fc-cache -f -v -> lo stesso di quello precedente

whoami -> trova l'utente attualmente operativo nella sessione

logname -> permette di vedere con quale utente si entra nel sistema con l'accesso standard

shutdown -h now -> spenge il sistema istantaneamente

CHMOD
---------------

chmod -[opzione] <+ o -> [tipo di diritto] [caretlla o file] -> cambia diritti ad una caretta o un file

aggiungere o toglire:
+ -> aggiunge diritto
- -> toglie diritto

tipo di permessi:
r -> letture (read)
w -> scrittura (write)
x -> esecuzione (execute)

opzioni:
-R -> cambia permessi alla cartella e alle sue sottocartelle

+ o - [lettera]:
u -> (user) imposta i diritti per il proprietario
g -> (groups) imposta per il gruppo [nome guppo (esempio chmod ugo+rwx /directory)]
o -> (others) per gli altri
a -> (all) per tutti insieme

a+[tipo di permessi] /directory -> aggiunge per tutti gli utenti i permessi specificati
(esempio: chmod a+rwx /directory)
(risultato: drwxrwxrwx directory)
u+[tipo di permessi] /directory -> aggiunge i permessi solo al proprietario sulla directory

(esempio:
chmod a+r /directory -> aggiunge i permessi di lettura a tutti gli utenti nella directory
chmod u+w /directory -> aggiunge i permessi di scrittura solo al proprietario
risultato: -rw-r--r-- directory)

sistema di numerazione per i permassi:


0 = Nessun permesso -
1 = Esecuzione x
2 = Scrittura w
3 = Esecuzione + Scrittura wx
4 = Lettura r
5 = Esecuzione + Lettura rx
6 = Scrittura + Lettura rw
7 = Esecuzione + Scrittura + Lettura rwx

(esempi:
rwxrwxrwx 777
rw-rw-rw- 666
r--r--r-- 444
rwx------ 700
rw-r--r-- 644
)

chmod [-opzione] [codice] nomefile


utilizzo: chmod -R /directory -> attribuisce permessi r,w e x a tutti gli utenti nella directory e ricorsivamente nelle
sottodirectory

ESEMPI RICORRENTI
chmod 777 -R /directory -> imposta alla cartella e alle sue sottocartelle i tutti i diritti a tutti gli utenti (attenzione non
farlo mai su troppe cartelle non cambiare i diritti a tutt la directory usr, oppure a tutt la bin, eliminerai i diritti di root
(poi devi risolvere ed è un casino) quindi cose da evitare ad esempio "chmod -R 777 /usr" oppure "chmod -R 777
/usr/bin"
se accade inavvertitamente provare a entrare in "recovery mode" dal boot selezionare l'opzione di "root" e digitare sul
terminale "chmod +s /usr/bin/sudo"

chmod u+rwx /cartella -> impista tutti i diritti all'user


chmod go-rwx /cartella -> togli tutti i diritti a chiunque non sia l'user

NOTA: per vedere i diritti assegnati nella directory, psizionarsi con "cd" nella directory e digitare "ls -l"
nelle informazioni dei file con ls -l la prima colonna contiene i diritti, ogni diritto è formato da 10 lettere:
es: drwx-wx-wx
crea una directo
prima lettera:
d : directory
I : link simbolico
- : file

tipi di permessi
r : lettura (read)
w : scrittura (write)
x : escuzione (execute)

dopo la prima lettera ci sono altre 9 lettere, ossua 3 per ogni tipo di uttente
ognuna riporta il tipo di dititto
user: proprietario
group: gruppi
others: altri

chattar +i file -> nessuno , ma proprio nessuno, nemmeno il root puo' rinominare, cancellare o modificare il file.
chattar -i file -> toglie l'opzione di prima

SUDO APT-GET
---------------------------

sudo apt-get install <nome_pacchetto.deb> -> per installare manualmente un pacchetto (tipico comando
da amministratore, da notare l'uso di sudo)

sudo apt-get update -> per aggiornare il sistema


sudo apt-get upgrade -> per aggioranre i pacchetti

sudo apt-get remove <pacchetto> -> per rimuovere un pacchetto

sudo apt-get remove –purge <pacchetto> -> per rimuovere, oltre al pacchetto, anche i relativi
files di configurazione

sudo apt-get update && sudo apt-get dist-upgrade -> aggiorna tutti i software presenti nel sistema alla versione attuale

apt-get autoclean -> cancellaz tutti gli archivi .deb dei pacchetti che non sono piu presenti

apt-get clean -> cancella tutti gli archivi .deb dei software presenti e non

apt-cache search string -> Cerca una stringa nella lista dei pacchetti conosciuti.

apt-cache showpkg pkgs -> Mostra alcune informazioni riguardo ai pacchetti.

apt-cache dumpavail -> Stampa una lista di tutti i pacchetti disponibili.

apt-cache show pkgs -> Visualizza tutte le informazioni riguardo un pacchetto, similmente a dpkg --print-avail

apt-cache depends pkgs -> Visualizza le dipendenze e i conflitti dei pacchetti selezionati.

apt-cache policy pkgs -> Nel caso siano disponibili numerose versioni dei pacchetti selezionati visualizza la versione
attualmente installata e il repository di origine.

apt-cache pkgnames -> Lista veloce di ogni pacchetto del sistema.

COMPRESSIONE-DECOMPRESSIONE E INSTALLAZIONE
-------------------------------------------
Premetto che in questo caso potrebbero esserci complicazioni, non è detto che tutti i pacchetti si installino nello
stesso modo, in ogni caso cerco di essere piu generico possibile, inoltre spesso nelle applicazioni installabili hanno
all'interno della propria cartella un file di istruzioni per l'istallazione del medesimo programma, heneralmente in
lingua inglese.

tar <nome_pacchetto.tar> -> decomprime i pacchetti, la solita funzione di "estrai", estrai il pacchetto nella
directory in cui si trova

gzip <nome_file.gz> -> comprime e decomprime file.gz

zip <nome_file> -> comprime un file in .zip (zippa il file)

unzip <nome_file.zip> -> decomprime un file .zip

sudo apt-get remove <applicazione> -> disinstalla un applicazione

compress [opzioni] file -> comprime il file specificato e lo salva con l'estensione .Z

installare un pacchetto pacchetto.tar.gz (metodo generale):


-----------------------------------------------------------
---lanciare in sequenza i seguenti comandi---
tar -zxvf pacchetto.tar.gz
cd pacchetto
./configure
make
make install

installare un pacchetto .run (metodo generale):


-----------------------------------------------
---lanciare in sequenza i seguenti comandi---
sudo chmod a+rwx pacchetto.run
sudo ./pacchetto.run
RETI E INTERNET
---------------
netstat -> mostra informazioni sulle connessioni di rete

ping <IP> -> mostra se esiste la connessione con un determinato indirizzo IP, (non so ancora come si ferma)

linx -> avvia il browser web che usa solo la riga di comando, per poterlo usare è necessario installare il pacchetto
"lynx" con il comando che è scritto in seguito sotto la voce "sudo apt get". Digitare da terminale
"sudo apt-get install linx" (dentro linx digitare "q" per uscire

w3m <indirizzo_internet> -> navigare in internet da shell, il browser è w3m, digitare ad esempio w3m www.google.it
e magia!

irssi -> chat IRC, installare prima con sudo apt-get install irssi, struzioni in fondo alla voce "utilizzare "irssi"

telnet -> apre una sessione telnet (diegita "open towel.blinkenlights.nl" merita!)

wget <http://domain.xx> -> salva la index in un file nella directory dove siamo posizionati

WIRELESS WLAN0
--------------
iwconfig -> controlla la scheda di rete

sudo ifconfig wlan0 up -> accede all'interfaccia di rete

iwlist wlan0 scan -> effettua la scansione degli access point

UTILIZZARE IRSSI
----------------
$irssi

Eh, in effetti è un po’ scarno vero?? Beh possiamo dire che è utilizzabile attraverso i soliti comandi irc, ma prima,
settiamo il nostro nick. Il comando /set mostrerà la lista dei possibili setting da applicare, tra cui di sicuro il
primo è il nostro nick, digitiamo

$/set nick MIONICK

per utilizzare il nick MIONICK. Adesso siamo pronti per connetterci :

il comando /connect stabilirà una connessione con un server, ad esempio :

$/connect irc.azzurra.org

potete visualizzare la lista dei canali con il comando /list, e ad esempio filtrarla con un argomento di interesse, tipo

$list #linux*

mentre con (ad es.)

$/join #linux-free

potete entrare nel canale da voi scelto.

Inoltre ricordate :
Se volete ritornare alla finestra iniziale (quella del server) basta premere ALT+1.hello!
In IRSSI il passaggio fra una finestra e l’altra avviene con la pressione di ALT+N dove N e’ un numero da 1 a 0.

Altri possibili comandi sono :

$/query nickname (apre una finestra di query con un utente dal nome nickname)
$/win k (chiude la finestra attuale)

Se invece volete spedire un file usate:

$/dcc send nome_persona file_da_spedire

oppure ricevere:

$/dcc get nome_persona file_da_ricevere file_da_ricevere

Beh mi sembra che adesso è possibile fare di tutto no??;)

Adesso vediamo come automatizzare il processo di connessione all’avvio :

Supponiamo di volerci connettere al server freenode in automatico, identificarci, e joinare sul canale #lugbari (è quello
che serve a me :))

inanzitutto creiamo la network, identificandola all’interno di irssi:

$/NETWORK ADD FreeNode


$/NETWORK ADD -autosendcmd "/msg nickserv IDENTIFY password" FreeNode

La seconda riga è utile nel caso in cui abbiamo un nick registrato ed abbiamo bisogno di identificarci, grazie ad essa, è
possibile farlo in automatico

Ora identifichiamo il server :

/SERVER ADD -auto -network FreeNode irc.freenode.org 6667 password(opzionale)

Con questo abbiamo associato l’indirizzo del server alla network precedentemente creata.

Infine, l’autojoin al canale :

/CHANNEL ADD -auto #lugbari FreeNode password(opzionale)

ALTRO
-----
banner <stringa> -> crea striscioni.

fortune -> stampa un detto o una frase famosa.

eject -> apre il lettore cd

lpr <nomefile> -> manda in stampa un file, alla stamapante predefinita

FUNZIONE CRONTAB
----------------

1. Cos'è
Consente di eseguire operazioni automatiche in vari momenti della giornata, settimana, ...
Alcuni esempi di utilizzo:
Backup;

Scansione dell'anti-virus;

Eseguire programmi;

Eseguire degli script;

e tanto altro...
2. Configurazione
Per configurarlo dobbiamo creare un file ASCII, inserendo riga per riga tutte le operazioni che
dovrà eseguire, esempio:

--------------------------------------------------------
| 0 20 * * 0,3,5 /var/www/html/sistema/antivirus.sh |
| 0 8 10 * * /var/www/html/sistema/Virus |
| 0 9 5 2 * /var/www/html/sistema/virus.sh |
| 0 9 * * * /var/www/html/sistema/funzionamento_1.sh |
| 30 14 * * * /var/www/html/sistema/funzionamento_1.sh |
| 0 * * * * /var/www/html/sistema/funzionamento_2.sh |
| 5 * * * * /var/www/html/sistema/funzionamento_2.sh |
| 10 * * * * /var/www/html/sistema/funzionamento_2.sh |
--------------------------------------------------------

Ogni riga è settata nel seguente modo:


mm hh gg MM GG comando
(Minuto Ora Giorno Mese Giorno_della_settimana Comando_da_eseguire)
0 minuti [0-59]
20 ore [0-23]
* giorno del mese [1-31]
* mese [1-12]
0,3,5 giorno della settimana [0-6, 0 indica la domenica]
/var/www/html/sistema/antivirus.sh: In questo caso esegue lo script antivirus.sh

Nella prima riga in breve, esegue lo script antivirus.sh tutte le domeniche, mercoledì, venerdì
dell'anno alle ore 20.
Nella seconda riga, esegue il programma Virus il 10 di ogni mese alle ore 8.
Nella terza, esegue un altro script virus.sh il 5 febbraio alle ore 9.
Una cosa importante è di non mettere mai il primo campo (minuti) l'asterisco (*), perché
eseguirebbe l'operazione ogni minuto della giornata.

3. Caricare il file Crontab


Una volta scritto tutta la pianificazione salviamo il file in formato ANSI, non importa come si
chiamerà e dove si salverà il file, l'importante e dare un nome visibile, esempio cronprog.
Apriamo una shell di comandi, ci posizioniamo nella directory in cui abbiamo salvato il file, dopo
di che scriviamo i seguenti comandi:

crontab nome_file

Con questa operazione abbiamo caricato la nostra pianificazione, dopo di che verifichiamo che sia
andato a buon fine:

crontab -l

Ci elencherà i crontab in funzione.


Come abbiamo potuto vedere configurare un file crontab è veramente facile.

4. Eliminare il file Crontab


Per eliminare un solo file, sempre dalla shell di comandi, digitiamo:
crontab -r nome_file
se nel caso volessimo eliminare tutti i file crontab dell'utente, non è necessario specificare il nome
del file:

crontab -r

PROGRAMMI CHE FUNZIONANO IN TESTUALE


-------------------------------------
---------------------------------------------------------------------------------------
BROWSER WEB
w3m
links2
lynx
GRAFICA
zgv visualizzatore immagini a colori.
cacaview contenuto nel pacchetto caca-utils, permette di visualizzare immagini a colori, ingrandirle, muoversi
nell'immagine. Supporta tutti i formati più comuni (jpg, png ecc.)gzip [opzioni] file comprime o decomprime un
file. I file compressi vengo memorizzati con l'estensione .gz

INSTANT MESS
tmsnc client MSN testuale, fà il suo dovere. Progetto abbandonato
freetalk chat
naim per utenti aim
irssi per icq e irc

EDITOR DI TESTO
nano Editor di testo
antiword permette di leggere i file di ms word
catdoc permette di convertire in plain text i file di office
antidoc converte doc in txt
vim

MULTIMEDIA
mp3blaster lettore mp3 da terminale
cdrdao masterizza
bashburn masterizza
rtorrent client per bittorrent
festival sintetizzatore vocale, legge i documenti di testo
sox il coltellino svizzero del sound processing, realizza filtri digitali. per gli mp3 necessita di libmad e libmp3lame e
libsox-fmt-mp3. Eseguire sox -h per info sui formati supportati. Con sox si hanno anche i frontend play, rec, soxmix,
soxplay.
cplay solo per ogg

GIOCHI
bsdgames una serie di giochi e salvaschermi

VIDEO PLAYER
mplayer

ASCII ART
cadubi disegna sul terminale.
SCREENSAVER
cmatrix salvaschermo ispirato a matrix.

pdftotext -> converte in modo quasi decente un testo pdf in txt

Potrebbero piacerti anche