[About] [Copertina] |
Articoli
OK, Linux... ma ora???
Una piccola guida per passare da dox a linux
Molti passando dall' onnipresente dos a Linux si sentono spaesati, raggiunto il sudato prompt si chiedono:
e linux dov'e'??? Ora che faccio??
Bene, e' giunto il momento di fare un po' di chiarezza sui comandi che differenziano linux dal sistema operativo
del caro Bill.
Innanzitutto vediamo come muoversi all' interno del S.O. :
Una volta avviato linux avremo un prompt di questo tipo:
host:~#il che vuol dire che vi trovate nella home directory del vostro account, se allora il vostro login e' pallino dovreste realmente trovare nella directory:
/home/pallino/a questo punto proviamo ad andare nella directory principale del sistema (root) quindi:
cd /OK, ora siamo al principio, un po' come C:/ del dos.
lsOra dovremmo vedere i nomi dei file e delle sottodirectory , per vedere anche le informazioni riguardanti i file e' sufficiente aggiungere l' attributo -l, il risultato sara' simile a questo:
total 401 drwxr-xr-x 2 root bin 2048 Aug 6 00:05 bin/ drwxr-xr-x 2 root root 1024 Aug 6 00:26 boot/ drwxr-xr-x 2 root root 1024 Sep 4 1995 cdrom/ drwxr-xr-x 2 root root 9216 Aug 6 23:44 dev/ drwxr-xr-x 10 root root 2048 Aug 6 23:44 etc/ drwxr-xr-x 3 root root 1024 Aug 6 00:05 home/ drwxr-xr-x 2 root root 1024 Aug 6 00:01 lib/ drwxr-xr-x 2 root root 12288 Aug 5 23:51 lost+found/ drwxr-xr-x 2 root root 1024 Sep 4 1995 mnt/ dr-xr-xr-x 7 root root 0 Aug 7 00:44 proc/ drwxr-x--x 4 root root 1024 Aug 6 00:15 root/ drwxr-xr-x 2 root bin 2048 Aug 6 00:05 sbin/ drwxrwxrwt 3 root root 1024 Aug 6 23:50 tmp/ drwxr-xr-x 19 root root 1024 Aug 6 00:15 usr/ drwxr-xr-x 16 root root 1024 Aug 6 00:15 var/ -r-------- 1 root root 336975 Aug 6 00:05 vmlinuzVediamo di decifrare queste informazioni, si puo' subito notare che i nomi dei file si trovano all' estrema destra, subito dopo alla data e l' ora di scrittura del file e le sue dimensioni. Proseguendo verso sinistra si trovano il gruppo di appartenenza , il proprietario del file, il numero dei puntatori sul file ed infine i permessi del file.
-rwxr-xr-- 2 utenti pallino 2048 Aug 6 00:00 miofilesignifica che il propietario puo' leggere, scrivere ed eseguire il file (rwx), gli utenti appartenenti al gruppo del file (specificato nella terza colonna ) possono solo leggere ed eseguire il file (r-x) ed infine gli altri utenti hanno solo il permesso di lettura (r--).
chmod {a,u,g,o} {+,-} {r,w,x} <nome del file>Vediamo un po' di esempi fatti sul famoso file miofile:
Comando | Azione | Risultato |
chmod og-r miofile |
Viene tolto il permesso di lettura a tutti gli utenti tranne che al proprietario | -rwx--x--- |
chmod a+r miofile |
Viene permessa la lettura a tutti gli utenti | -rwxr-xr-- |
chmod u-rx miofile |
Toglie i permesso di lettura ed esecuzione al proprietario | --w-r-xr-- |
chmod p-rwx miofile |
Toglie il i permessi di lettura, scrittura ed esecuzione a tutti gli utenti tranne che al proprietario | --w------- |
chmod a+xr miofile |
Viene dato il permesso di lettura ed esecuzione a tutti gli utenti | -rwxr-xr-x |
Numero | In binario | Risultato |
0 | 000 | --- |
1 | 001 | --x |
2 | 010 | -w- |
3 | 011 | -wx |
4 | 100 | r-- |
5 | 101 | r-x |
6 | 110 | rw- |
7 | 111 | rwx |
chmod 755 nomefilesi arriva a:
rwxr-xr-x
Valore | Stato |
- | identifica i file semplici |
l | link ad altri files |
d | directory |
b | files in blocchi |
c | files di caratteri |
p | files speciali (sockets) |
cd | Cambia directory, e' sufficiente specificare la destinazione. Sintassi: cd <path> |
ls | Visualizza il contenuto di una directory. Sintassi: ls argomenti <file1><file2> ... <file N> |
cp | Copia uno o piu' file in un altro file o in una directory Sintassi: cp <file1><file2> ... <fileN> <destinazione> |
mv | Sposta uno o piu' file in un altro file o in una directory Sintassi: mv <file1><file2> ... <fileN> <destinazione> |
rm | Cancella i file. Sintassi: rm <file1><file2> ... <fileN> |
mkdir | Crea una nuova directory. Sintassi: mkdir <dir1><dir2> ... <dirN> |
rmdir | elimina directory vuote. Sintassi: rmdir <dir1><dir2> ... <dirN> |
more | Visualizza il contenuto dei file. Sintassi: more <file1><file2> ... <fileN> |
cat miofilequesto perche' se nulla viene specificato cat legge i dati dallo standard input e li invia allo standard output.Cioh legge i dati dalla tastiera e li visualizza sul monitor.
cat miofile > tuofileper copiare il contenuto di miofile sul nuovo file tuofile. Se oltre miofile fosse stato specificato un secondo file questo sarebbe stato aggiunto a miofile in tuofile.
ls / > miofileviene registrato nel file miofile il contenuto della directory di root, ora possiamo ordinare in ordine alfabetico il contenuto del file (directory root) con il comando sort in questo modo:
sort miofileoppure possiamo direttamente visualizzare il contenuto di una directory in ordine alfabetico:
ls | sortin questo modo abbiamo creato una pipeline, ovvero abbiamo passato i dati da un' istruziona ad un' altra. Le combinazioni sono infinite, ad esempio e' possibile visualizzare la directory schermata alla volta sfruttando tale caratteristica di more:
ls | sort | moreUn ultima cosa, l' istruzione che abbiamo utilizzato in precedenza per trasferire il contenuto di miofile in tuofile (cat miofile > tuofile) e' detta un' istruzione distruttiva in quanto avrebbe definitivamente cancellato l'eventuale contenuto del file tuofile sovrascrivendovi il risultato, se si fosse utilizzato:
cat miofile >> tuofileil contenuto di miofile sarebbe stato appeso a tuofile senza cancellarne il contenuto.
USER=nome HOME=/home/nome PATH=.:/bin:/usr/bin PWD=/ .....per definire una variabile in bash e' sufficiente un comando come il seguente:
mionome=Enricoin questo caso la variabile mionome assume il valore Enrico, ora se pero' voglio stampare il valore della variabile mionome devo scrivere:
echo $mionomeil carattere '$' indica alla shell che cio' che segue e' il nome di una variabile e non una stringa.
#!/bin/bash if [$* = ""] 2> /dev/null then dir=$PWD else dir=$1 fi if test -d $dir then echo "-----------------------------------------------------" echo " Questa "$USER" e' la directory: " echo " "$dir echo "-----------------------------------------------------" ls --8bit --color=tty -Fa -T 0 $dir else echo " ATTENZIONE LA DIRECTORY "$dir" E' INESISTENTE!" fiVediamo come funziona questo script:
[About] [Copertina] |