[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [translators] [docinfo] [indice analitico] [volume] [parte]
Il gestore di file, o file manager, è quel tipo di programma che facilita la gestione di file e directory e spesso incorpora anche le funzionalità di una shell. Il programma più importante di questo genere è Midnight Commander, che corrisponde all'eseguibile mc. (1)
Midnight Commander, è un ottimo gestore di file per i terminali a caratteri. Il nome richiama chiaramente la sua origine: si tratta di un programma molto simile al noto Norton Commander (software proprietario nato per il Dos).
Non si può dire che si tratti di un programma essenziale, dal momento che gli strumenti a disposizione dei sistemi Unix comuni, sono più che sufficienti. Tuttavia, uno strumento del genere può facilitare di molto l'attività dell'utente comune o dell'amministratore del sistema.
Lo scopo principale di questo programma è quello di permettere la visione e la gestione simultanea di due directory di lavoro.
|
A questo proposito, si può suddividere lo schermo gestito da Midnight Commander in quattro parti:
la superficie più grande, nella parte centrale, è utilizzata da due pannelli contenenti l'elenco di due directory;
la penultima riga dello schermo viene usata per l'inserimento di comandi di shell;
l'ultima riga in basso mostra i riferimenti ai tasti funzionali;
la prima riga, in alto, è utilizzata per la barra del menù e può restare eventualmente invisibile fino a che il menù non viene richiamato.
Dei due pannelli, uno è quello attivo e di conseguenza è quella la directory corrente. Il pannello attivo è evidenziato dalla presenza della barra di selezione. La maggior parte delle operazioni hanno effetto sul pannello attivo e quando l'operazione richiede un riferimento a una destinazione, si fa riferimento alla directory dell'altro pannello.
La presenza di una riga di comando permette di inserire ed eseguire comandi di shell nel modo solito. Per terminare il funzionamento di Midnight Commander si usa il tasto [F10], oppure, spesso è possibile usare anche il comando exit come si fa con le shell comuni.
L'eseguibile mc viene avviato normalmente senza alcun argomento. Eventualmente, se si indicano una o due directory, il contenuto di queste viene visualizzato inizialmente:
mc [opzioni] [directory_1 [directory_2]] |
L'uso del mouse, quando la piattaforma lo consente, è abbastanza intuitivo:
un clic con il primo tasto (quello sinistro) su un file di una directory, lo seleziona, attivando automaticamente il pannello relativo;
un clic con il terzo tasto (quello destro) marca o toglie una marcatura a un file;
un clic doppio su un file provoca
la sua esecuzione se si tratta di un eseguibile,
l'apertura della directory, se si tratta di una directory,
l'esecuzione di un'azione abbinata all'estensione del file, se non si tratta di un eseguibile;
le funzioni associate ai tasti funzionali possono essere eseguite facendo un clic sull'etichetta di questi posta sull'ultima riga dello schermo;
le voci del menù possono essere aperte con un clic, ma se queste sono nascoste, basta un clic sulla prima riga dello schermo per farle apparire.
Midnight Commander potrebbe essere utilizzato anche in situazioni non ottimali come lo è invece una console di GNU/Linux. In questi casi, il mouse potrebbe mancare e la tastiera potrebbe non rispondere nel modo consueto, come quando si sta utilizzando una connessione TELNET. Esistono quindi diversi modi per fare le stesse cose e un minimo di nozioni può fare risparmiare molto tempo.
Il programma fornisce dei suggerimenti e una guida interna, in cui viene usata una notazione per le combinazioni di tasti, tipica di Emacs. In pratica, C-a rappresenta la combinazione [Ctrl a], mentre M-a rappresenta la combinazione [Meta a] ([Alt a] negli elaboratori i386).
In particolare, dal momento che non tutte le tastiere hanno un tasto [Meta], oppure alcune connessioni TELNET non ne permettono l'uso, in sua sostituzione si può utilizzare la sequenza [Esc][tasto]. Si tratta quindi di premere [Esc], rilasciarlo e premere subito dopo il tasto successivo.(2)
Anche i tasti funzionali possono creare dei problemi. In tal caso si può utilizzare la combinazione [Meta n], dove il 10 corrisponde allo zero. Per esempio, al posto del tasto [F1] si può utilizzare la combinazione [Meta 1], mentre per [F10] si può usare [Meta 0].
Il tasto [Invio] ha diversi utilizzi a seconda del contesto:
se è stato scritto qualcosa nella riga di comando, viene eseguito il comando;
se la riga di comando è vuota, si ottiene un'azione equivalente al clic doppio sul file selezionato (quello su cui si trova la barra di selezione);
se è aperta una finestra di dialogo, esegue l'azione corrispondente al pulsante grafico evidenziato o predefinito.(3)
Il funzionamento di altri tasti e combinazioni di tasti viene riassunto nella tabella 135.3. Quello che è importante tenere presente è che non sono sempre disponibili tutti in ogni situazione.
|
Il funzionamento della barra del menù è abbastanza intuitivo. In particolare va ricordato che, per attivarlo quando non si dispone del mouse, si usa il tasto [F9].
A fianco delle voci contenute nelle tendine dei menù sono annotate le combinazioni della tastiera che possono essere usate come scorciatoia per la funzione relativa.
Midnight Commander può essere configurato a vari livelli. Il più semplice è la scelta del modo in cui devono essere usati i pannelli. Per questo si trovano i menù {Left
} e {Right
}, identici, ma riferiti ai pannelli rispettivi.
A livello globale, è possibile definire la configurazione di Midnight Commander attraverso il menù {Options
}. In particolare è da ricordare che occorre salvare la configurazione, se si vuole che sia mantenuta. Il salvataggio di questa genera il file ~/.mc/ini
.
La figura 135.4 mostra il menù {Left
}, attraverso il quale configurare il comportamento del pannello sinistro. Le stesse voci appaiono nel menù {Right
}.
|
{Listing mode...
}
attiva implicitamente la visualizzazione dell'elenco della directory aperta in quel pannello e ne specifica gli elementi;
{Quick view
}
visualizza (per quanto possibile) il contenuto del file selezionato nell'altro pannello;
{Info
}
mostra le informazioni complete del file selezionato nell'altro pannello;
{Tree
}
{Sort order
}
permette di definire l'ordinamento dei file che appaiono nel pannello;
{Filter
}
permette di definire un filtro, espresso attraverso caratteri jolly o espressioni regolari, dei nomi degli elementi contenuti nel pannello.
La funzione {Listing mode
} è molto utile per configurare l'aspetto dell'elenco di file del pannello sinistro e destro. La figura 135.5 mostra un esempio della maschera che viene ottenuta attraverso la sua selezione.
|
È probabile che sia preferibile attivare la modalità {Full file list
} (come si vede nell'esempio), oppure chi è più esperto può trovare utile la possibilità di configurare gli elementi da visualizzare nell'elenco, attraverso la voce {User defined
}. In questo caso, occorre compilare il campo successivo, con l'indicazione delle colonne da includere. La prima parola chiave serve a stabilire la dimensione dell'elenco:
half indica un elenco che utilizza solo metà schermo;
full indica un elenco che utilizza tutto lo schermo.
Le parole successive rappresentano le colonne, separate da una virgola:
| rappresenta una riga di divisione tra le colonne;
type rappresenta un simbolo che permette di identificare il tipo di file;
name rappresenta il nome del file;
owner rappresenta il nome dell'utente proprietario;
group rappresenta il nome del gruppo proprietario;
size rappresenta la dimensione del file;
perm rappresenta i permessi del file.
È possibile attivare anche la voce {user Mini status
} per visualizzare sul fondo della finestra altre caratteristiche del file evidenziato dal cursore. Gli elementi da visualizzare sono indicati attraverso una sintassi analoga a quanto appena descritto sopra.
Il menù opzioni ({Options
}) è quello che permette di configurare il funzionamento di Midnight Commander in modo globale, indipendentemente dalle caratteristiche di una finestra particolare. La funzione più importante è appunto {Configuration
}, anche se in realtà, tutte le altre voci del menù riguardano la configurazione di questo programma.
La configurazione di Midnight Commander, sia per ciò che riguarda questo menù, sia per quanto accessibile attraverso i menù {Left
} e {Right
}, viene memorizzata nel file ~/.mc/ini
. Per ottenere questo, occorre però che tale configurazione sia salvata attraverso la funzione {Save setup
}, alla fine del menù delle opzioni.
La funzione {Configuration
} permette di modificare alcuni comportamenti importanti di Midnight Commander. Per esempio è possibile includere o escludere i file «nascosti» e quelli che rappresentano le copie di sicurezza di versioni precedenti. Inoltre, le versioni recenti di Midnight Commander permettono di utilizzare un programma interno per la gestione dei file di testo. Questo, a differenza dei comuni programmi del genere che funzionano su uno schermo a celle di caratteri, si avvicina molto ai programmi simili utilizzati in ambiente Dos. La figura 135.6 mostra un esempio della maschera di configurazione generale delle opzioni.
|
Uno dei vantaggi principali nell'utilizzo di questo programma sta nella facilità con cui è possibile accedere al contenuto di file compressi o a dei servizi FTP. È sufficiente premere [Invio] su un archivio, anche compresso, per accedere al suo contenuto (in sola lettura). Anche i pacchetti RPM (Red Hat) e Debian sono accessibili facilmente, purché siano presenti i programmi rpm e dpkg.
|
|
|
Nello stesso modo è possibile accedere a un servizio FTP, come se si trattasse di un file system normale.
Queste funzionalità sono disponibili tramite il menù, ma si può usare una forma particolare nella riga di comando. Nel caso di FTP, si usa la forma seguente:
ftp://[utente@]nodo[directory_remota] |
Per esempio, per accedere alla directory /pub/
del servizio FTP anonimo presso dinkel.brot.dg
, si può utilizzare il comando seguente:
$
cd ftp://dinkel.brot.dg/pub
[Invio]
|
Midnight Commander considera anche altri file system virtuali, come si vede nella documentazione originale: la pagina di manuale mc(1).
Un altro degli aspetti importanti di Midnight Commander è il sistema integrato di gestione dei file di testo, Mcedit, (4) giunto ormai a un ottimo livello di maturazione. Infatti, uno dei problemi maggiori che incontra chi si avvicina a GNU/Linux, o a un altro sistema Unix, è la difficoltà nell'uso dei programmi tradizionali per la creazione e la modifica di file di testo. Questi richiedono normalmente la conoscenza di comandi espressi attraverso combinazioni di tasti, senza avere a disposizione un menù e senza poter usare i tasti funzionali.
Mcedit risolve parzialmente questo problema, offrendo un funzionamento intuitivo per l'utente che proviene dall'esperienza Dos, quando si ha a disposizione un terminale adeguatamente raffinato, come una console virtuale di GNU/Linux.
Mcedit può funzionare anche se si utilizza un terminale poco dotato, ma in tal caso si ritorna a dover usare le solite combinazioni di tasti che annoiano alcuni utenti.
L'avvio del sistema di gestione dei file di testo si ottiene semplicemente puntando il file desiderato con la barra di selezione di Midnight Commander e premendo il tasto [F4], oppure avviando il binario di Midnight Commander utilizzando il nome mcedit (si tratta normalmente di un collegamento simbolico a mc).
Ci si inserisce in questo modo in un ambiente differente (anche se uniforme) per la modifica del file. In basso si notano alcuni riferimenti a tasti funzionali:
|
In alto si vede una riga di stato, dalla quale si conosce il nome del file aperto, lo stato del file, la colonna su cui si trova il cursore, il numero della prima riga che appare sullo schermo, il numero della riga relativa allo schermo, la riga assoluta in cui si trova il cursore, il numero totale di righe del file e altre informazioni, come si vede nella figura 135.12.
|
Premendo il tasto [F9] (o una delle sue varianti), oppure [Meta f] (in quanto la «f» è l'iniziale di «file»), la riga di stato viene sostituita da un menù a tendina che si può utilizzare in modo semplice e intuitivo.
La configurazione del sistema di gestione dei file di testo è accessibile attraverso il menù {Options
}, in particolare merita attenzione la funzione {General
}, come si vede in figura 135.13.
|
Il significato delle varie opzioni dovrebbe essere evidente. In particolare, nel seguito viene mostrato l'uso della tastiera secondo l'emulazione «intuitiva».
Merita un po' di attenzione la gestione del carattere di tabulazione. Dal momento che lo standard generale prevede che la tabulazione dei file di testo sia ogni otto colonne, è opportuno che questa dimensione non venga alterata, mentre diviene conveniente l'opzione {fake half tab
}. Questa permette di utilizzare il tasto [Tab] per inserire spaziature ridotte (di quattro caratteri) che poi vengono tradotte in pratica con tanti caratteri spazio (<SP>) quanti servono. Se però l'utente usa più volte la tabulazione, dove possibile viene utilizzato il carattere di tabulazione orizzontale (<HT>).
Mcedit è «intuitivo», in quanto si può usare senza dovere ricordare delle combinazioni di tasti. Quando serve qualcosa di più basta chiamare il menù e cercare tra le varie voci disponibili. Tuttavia, quando si utilizza attraverso un terminale non sufficientemente raffinato, si rischia di perdere l'uso di alcuni tasti, per cui si deve ripiegare sul solito sistema di combinazioni. La tabella 135.14 mostra l'elenco di alcuni comandi utili per lo spostamento del cursore e per la modifica del testo.
I blocchi di testo possono essere evidenziati, copiati, tagliati e incollati nello stesso modo utilizzato comunemente dai programmi fatti per il sistema Dos. Questo significa che tenendo premuto il tasto [Maiuscole] e utilizzando i tasti freccia, si ottiene la selezione del testo con trascinamento, fino a quando si rilascia nuovamente il tasto [Maiuscole]; la combinazione [Ctrl Ins] copia la selezione corrente, deselezionandola; la combinazione [Maiuscole Ins] incolla la selezione copiata precedentemente, nella posizione del cursore.
Tutto questo però, vale solo se si sta usando una console virtuale GNU/Linux; se si sta lavorando da un terminale differente, o una connessione remota, si usa il tasto [F3] (con le varianti eventuali dei tasti funzionali, già descritte per Midnight Commander) per segnalare l'inizio di una zona da marcare, quindi si sposta il cursore e infine si preme nuovamente [F3] per concludere la zona evidenziata.
In entrambi i casi, si potrebbe evitare la copia della zona selezionata, premendo semplicemente il tasto [F5] per incollare nella posizione del cursore, senza nemmeno perdere la selezione.
Per ritagliare l'area selezionata, si utilizza la combinazione [Maiuscole Canc]; poi si può incollare quanto ritagliato nel solito modo: [Maiuscole Ins].
Ciò che viene ritagliato, o copiato, viene inserito in un file temporaneo nella directory personale dell'utente: ~/.mc/cedit/cooledit.clip
. L'estensione del file suggerisce che si tratti di una clipboard. Questo meccanismo è molto importante, in quanto permette di incollare testo copiato o ritagliato con un'altra sessione di lavoro di Mcedit (attraverso Midnight Commander), purché appartenga allo stesso utente.
Mcedit consente anche l'utilizzo del mouse per delimitare un blocco di testo, anche quando si utilizza il programma all'interno di una finestra di terminale, nell'ambito del sistema grafico X.
|
Infine, per eliminare un blocco di testo evidenziato, senza inserirlo nell'area temporanea, basta usare il tasto [F8].
Attraverso la configurazione di Mcedit, è possibile stabilire se si intende fare in modo che il testo sia mandato a capo automaticamente o meno. Per questo è anche necessario fissare la dimensione massima di colonne del testo.
In generale, dovrebbe essere conveniente evitare che Mcedit provveda da solo a dividere le righe mentre si digita il testo. Quando si vuole riallineare un paragrafo, cioè un blocco di righe di testo preceduto e seguito da una riga vuota, basta usare il comando [Meta p], oppure si può richiamare la voce corrispondente del menù {Edit
}.
Attraverso la combinazione [Ctrl r], si inizia e si conclude la registrazione della pressione di una sequenza di tasti. Al termine viene richiesto di indicare un carattere; successivamente, per riprodurre quella sequenza, è sufficiente utilizzare la sequenza [Meta a][x], dove l'ultimo tasto è appunto il carattere specificato in precedenza per memorizzare la macro.
Dal menù {Search/Replace
} si accede alle funzionalità di ricerca e di sostituzione del testo. La voce {Search
}, a cui si accede facilmente anche con il tasto [F7], apre un riquadro come quello che si vede nella figura 135.16.
|
L'utilizzo delle caselle di selezione è abbastanza intuitivo. In particolare, è possibile utilizzare le espressioni regolari; inoltre, se funziona il mouse, è possibile selezionare il simbolo [^] con il quale si ottiene lo storico delle stringhe di ricerca già inserite.
La ricerca con sostituzione è un po' più complessa; in tal caso, la stringa di sostituzione può essere costante, o contenere anche un espressione da trattare attraverso una funzione scanf(). Nella figura 135.17 si mostra un esempio in cui si cerca la stringa «rosso naso» e la si vuole sostituire con «naso rosso». Guardando la figura, si osservi il fatto che nell'espressione regolare di ricerca sono state delimitate le parole «naso» e «rosso» con delle parentesi tonde; a queste parole, ovvero alla stringa corrispondente secondo l'espressione regolare, si fa riferimento attraverso le metavariabili %s, della funzione scanf(); tuttavia, si rende necessaria l'inversione nell'ordine di questi due parametri.
|
Si è accennato al fatto che si può ottenere immediatamente l'avvio di Mcedit avviando Midnight Commander con il nome mcedit. In tal caso sono valide la maggior parte delle opzioni che si potrebbero dare a mc, con la differenza che si può aggiungere l'indicazione di un nome di file nella stessa riga di comando, così da poter creare o accedere immediatamente a un file di testo.
mcedit [opzioni] [file] |
Se si apprezzano le caratteristiche di Mcedit, la presenza di questo collegamento permette di utilizzarlo anche al di fuori del funzionamento normale di Midnight Commander e di indicarlo come programma predefinito per la creazione e la modifica di file di testo.
deco(1) (5)
Appunti di informatica libera 2006.07.01 --- Copyright © 2000-2006 Daniele Giacomini -- <daniele (ad) swlibero·org>
1) GNU Midnight Commander GNU GPL
2) Data la funzione particolare che ha il tasto [Esc], come sostituto del tasto [Meta], si può comprendere il motivo per il quale, spesso, per annullare un'operazione occorre premere due volte il tasto [Esc].
3) Le finestre di dialogo contengono diversi tipi di elementi e la conferma o l'annullamento si ottengono selezionando una voce che riproduce una sorta di tasto virtuale.
4) GNU Midnight Commander GNU GPL
Dovrebbe essere possibile fare riferimento a questa pagina anche con il nome file_manager_midnight_commander.htm
[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [translators] [docinfo] [indice analitico]