Differenze tra le versioni di "Guida comandi"
(guida comandi) |
(Nessuna differenza)
|
Versione delle 16:44, 27 dic 2010
La seguente guida è stata realizzata per capire l'importanza di avere una cartella bin differenziata per ogni singolo utente. Il sistema su cui è stata implementata è Ubuntu 10.04 LTS x86_64.
Introduzione
Vi siete mai chiesti dove siano situati i comandi che lanciate da shell all'interno del vostro sistema? Ecco alcune interessanti directory (usando la gerarchia standard dei filesystem Unix-like):
- /bin/ : comandi essenziali che devono essere lanciati in single user mode. Esempi di comandi sono ls e cat.
- /sbin/ : comandi essenziali di sistema. Molti di essi devono essere lanciati in modalità kernel (kernel-mode). Esempi di comandi sono init e mount.
- /usr/bin/ : comandi non essenziali che non necessitano di essere lanciati in single user mode.
- /usr/sbin/ : comandi di sistema non essenziali.
Bene, ora sappiamo dove sono situati i vari programmi: e se ne creassimo uno tutto nostro? Ad esempio uno script reso eseguibile.
In questo caso, per lanciare lo script, dovremmo ogni volta digitare il nome dello script preceduto dal suo percorso.
Facciamo un esempio.
Poniamo di avere uno script che ci aggiorna il sistema chiamato update, il cui contenuto è il seguente:
#!/usr/bin/env bash sudo apt-get update sudo apt-get upgrade sudo apt-get dist-upgrade
Lo script sopracitato è stato reso eseguibile da un semplice : chmod +x update.
Ora, se volessimo lanciare lo script, dovremmo digitare quanto segue:
$ ./update
Il che è vero soltanto quando siamo nella stessa cartella in cui risiede lo script. E se questo risiedesse in un'altra cartella? Se fosse in ~/Documenti/Script/, come dovremmo fare?
Così:
$ ~/Documenti/Script/update
E allora come possiamo fare per digitare da terminale solamente update??
Implementazione
Cominciamo creando una cartella chiamata bin nella propria home directory.
Il carattere ~ (tilde) specifica la home directory dell'utente con cui ci si è collegati, perciò apriamo un terminale e digitiamo:
$ mkdir ~/bin
Ora entriamoci:
$ cd ~/bin
e spostiamoci lo script sopracitato (poniamo fosse situato nella cartella ~/Documenti/Script/):
$ mv ~/Documenti/Script/update .
Il punto indica la cartella corrente.
Il più è fatto! Il passo successivo da fare è dire al sistema di includere la cartella bin appena creata nella categoria delle cartelle contenenti programmi e script eseguibili (come /usr/bin/ ad esempio):
$ PATH=$PATH:/home/nomeUtente/bin
$PATH è una variabile d'ambiente contenente la lista delle cartelle contenenti programmi eseguibili: il comando appena dato ci permette di aggiungere a tale variabile anche la cartella bin dell'utente desiderato (ricordatevi di sostituire "nomeUtente" col vostro nome utente).
|
Test
Per verificare se ciò che abbiamo fatto è corretto, digitate da terminale:
$ update
Yeah! It's run!
|