chattr, chmod, compress, cp, cpio, cron
chattr
Questo comando cambia gli attributi di un file su un file system di tipo ext2 e può essere particolarmente sotto aspetti di
backupt di sistema e sicurezza. Gli obiettivi del comando possono essere alquanto oscuri per un utente alla prime armi ma verranno utilizzati
alcuni esempi reali per semplificare l'apprendimento.
$ chattr +i documento.txt
Il comando appena digitato rende "immutevole" il file documento.txt da modifiche, aggiunte e non si potranno
creare link a quest'ultimo. Se volessimo rendere "immutevole" una directory con tutti i file presenti al suo interno avremmo
dovuto digitare:
$ chattr -R +i documenti/
Ulteriori attributi da dare ad un file (o directory) sono i seguenti:
$ chattr +a documento.txt
L'attributo "a" rende il file gestibile solo in modalità append ovvero è permesso solamente apportare aggiunte
al file.
$ chattr +c documento.txt
Un file con l'attributo "c" viene automaticamente compresso sul disco dal kernel. La lettura del file restituisce i dati
decompressi mentre in scrittura ogni informazione viene compressa e poi scritta sul disco.
$ chattr +d documento.txt
L'attributo "d" candida un file per il backup tramite il comando dump .
$ chattr +s documento.txt
Per ulteriori informazioni si consiglia la guida in linea:
$ man chattr
Abbiamo visto che per aggiungere attributi è stato utilizzato il carattere "+". Per toglierli dobbiamo alternativamente
utilizzare il carattere "-" come nell'esempio seguente:
$ chattr -i documento.txt
chmod
Questo comando cambia i permessi associati per ogni file presente nel vostro sistema. Di seguito viene mostrata la serie di informazioni
relative ad un singolo file. Il comando in questione agisce sulla prima decade di lettere, quelle che specificano i "diritti".
-rw-r-r- 1 root root 133444 Sep 1 21:14 gsg.tex
La forma di utilizzo è la seguente:
chmod {a, u, g, o} {+/-} {r, w, x} <file>
dove "a" rappresenta tutti gli utenti ("all"), "u" l'utente proprietario del file, "g" il gruppo
proprietario, "o" gli altri utenti di sistema che non siano ne il proprietario ne il gruppo di riferimento. Il comando può
essere anche espresso in forma ottale come in lettere come segue:
$ chmod 700 gsg.tex
Il comando ha la stessa valenza della forma seguente:
$ chmod u+rwx,go-rwx gsg.tex
Il file considerato cambierà i permessi nel seguente modo:
-rwx-- 1 root root 133444 Sep 1 21:14 gsg.tex
Per capire come funzionano i permessi su un file consultare la tabella 8.1.
compress
E' un comando storico per la compressione dei dati per Unix. Esempio di compressione di un file:
$ compress nomefile
Ogni file viene compresso e rinominato con l'aggiunta del suffisso ".Z". Per decomprimere un file di questo tipo è
necessario digitare:
$ compress -d nomefile.Z
E il file verrà rinominato senza l'estensione ".Z".
cp
Questo comando serve per copiare dei file, preservare gli originali e crearne una copia identica. Se già disponete di un file
digitate:
$ cp gsg.tex Documenti/gsg.tex
Nel caso sopracitato ho copiato un file presente nella directory corrente nella sottodirectory "Documenti/". Se nella directory
dove ho copiato il file ci fosse stato già un documento con quel nome lo avrei sovrascritto. Per evitare questo aggiungo la seguente
opzione:
$ cp -i theGimp.tex Documenti/gsg.tex
L'opzione attiva una modalità interattiva che mi comunica particolari situazioni come quella descritta.
cpio
E' un archiviatore di file simile al comando tar . Per lungo tempo tar e cpio erano gli archiviatori
maggiormente utilizzati, poi con l'avvento di GNU/Linux il primo ebbe il sopravvento. Numerose sono le opzioni di questo comando ma
ci limiteremo alle due sole principali, la creazione e l'estrazione di un archivio cpio . Per la creazione la forma è
la seguente:
# cpio -o < file/ > file.cpio
Per l'operazione inversa, l'estrazione di un archivio cpio, la forma è questa:
# cpio -i -make-directories < file.cpio
La vera utilità di questo comando risiede nell'utilizzo combinato con rpm2cpio .
cron
Questo applicativo è utile quando si vuole automatizzare l'esecuzione di determinati processi di sistema a scadenze temporali
ben definite. Per il suo funzionamento è necessario avere attivato il demone crond che controlla i file di configurazione
e si occupa di eseguire le operazioni indicate nei limiti delle impostazioni indicate. Per verificare rapidamente se è attivo
digitate:
$ ps -ax|grep cron
In caso positivo apparirà quanto segue:
$ ps -ax|grep cron
559 ? S 0:00 crond
563 pts/1 R 0:00 grep cron
In caso negativo (non esiste il processo crond attivo) potete attivarlo sul momento. Per fare questo è necessario essere utente
root, l'amministratore di sistema, colui che ha i diritti necessari per lanciare il demone (demone, processo che viene attivato
nel sistema e procede in background, ovvero senza disturbare lo svolgimento delle ulteriori attività) nel sistema. Digitate:
$ su -
Verrà chiesta la password di root e una volta autenticati potrete lanciare il demone crond con: (i prompt di comandi
possono cambiare tra le varie distribuzioni)
# /etc/rc2.d/S89cron start
e poi ritornate all'utente precedente con
# exit
Il prompt dei comandi ritornerà come era. A questo punto non resta altro che modificare il file di configurazione per eseguire
i processi ad una data scadenza temporale:
$ crontab -e
Il comando edita un file (utilizzando l'editor vi ) dove andranno impostate le vostre preferenze nella forma seguente:
minuti |
ora |
gg del mese |
mese |
gg settimanale |
applicativo |
data |
comando |
Per eseguire il comando pon alle 18,30 di ogni giorno la configurazione da aggiungere al file di cron sarà la seguente:
30 18 * * * /usr/bin/pon
Gli asterischi "*" indicano che il processo dovrà essere eseguito ogni giorno del mese, ogni mese, ogni giorno della
settimana. A questo punto non vi resta altro che salvare il file e ritornare al prompt dei comandi iniziale. Per visualizzare il file
appena modificato digitate:
$ crontab -l
Se desiderate eliminare il vostro file di configurazione di cron :
$ crontab -r
Per maggiori informazioni digitate al prompt man cron .
|