Midnight Commander

Versione del 15 mag 2013 alle 14:02 di S3v (discussione | contributi) (+ template E-zine)


Banner e-zine.png
Questa guida è basata sui seguenti articoli presenti all'interno del numero 2 e 3 dell'e-zine di Debianizzati.org :


Premessa

Midnight Commander (da ora in poi MC ) è un file manager per sistemi operativi di tipo Unix.
A prima vista potrà sembrarvi ostico ma, imparando a usarlo, scoprirete un fantastico strumento, semplice e allo stesso tempo potente.
Sarete in grado di navigare comodamente tra le varie directory e compiere tutte le operazioni che vorrete, dalle modifiche a xorg.conf (in caso ad esempio di problemi con il server grafico), alle modifiche di files .php, .html, etc.
Si potranno cambiare facilmente i permessi o i nomi dei files, copiarli, spostarli o eliminarli e tanto altro ancora.

Come ho conosciuto e imparato a usare MC?
Mi capitò di usarlo la prima volta che mi ritrovai ad avere a che fare con una distribuzione Linux (knoppix per l'esattezza).
Un amico più esperto di me (ottony) mi aveva convinto a provare questo sistema operativo, ma facendomi promettere, in cambio del suo supporto, di impegnarmi a fare tutto senza l'uso di interfacce grafiche. Solamente da terminale e con MC.
Dopo tanto tempo, non posso che ringraziarlo.

All'inizio l'interfaccia è un po' scarna, e la potenza dello strumento rende la finestra ricca di comandi.
Non preoccupatevi vi ci abituerete in poco tempo.

La fonte per qualsiasi vostra informazione o dubbio resta il validissimo comando:

$ man mc

Vi potrà sembrare lunghissimo da leggere e infatti lo è, ma dopo alcuni esempi pratici scoprirete che è molto più semplice usarlo, per questo inserirò alcuni immagini nell'articolo, dato che vedendolo usare si impara prima.
Dopo gli sforzi iniziali, riuscirete in poco tempo a muovervi agilmente all'interno del vostro sistema e dopo aver acquistato un po' di familiarità con lo strumento, allora capirete quanto è indispensabile.

Cenni Storici

Come recita wikipedia :
Midnight Commander è un file manager per sistemi Unix e Unix-like (esiste anche una versione per Windows) ed è un clone di Norton Commander.
Come potete vedere dall'immagine seguente, la somiglianza è notevole.

Norton Commander (solitamente abbreviato in NC) è un file manager ortodosso (OFM, Orthodox File Manager), creato da John Socha e rilasciato dalla Peter Norton Computing (il software in seguito è stato acquisito dalla Symantec corporation). NC è un file manager che si comporta essenzialmente come l'interfaccia utente del MS-DOS. Venne ufficialmente prodotto e commercializzato da Symantec tra il 1986 e il 1998.

Caratteristiche (da wikipedia)

Midnight Commander è una applicazione GNU con interfaccia testuale. La schermata principale consiste in due pannelli in cui si mostra il file system. Si usa come qualsiasi altra applicazione che gira su linea di comando di Unix. I tasti freccia permettono di muoversi attraverso l'elenco dei file, il tasto Invio viene utilizzato per selezionare i file e i tasti funzione compiono azioni come cancellare, rinominare, editare, copiare file ecc. Le versioni più recenti di Midnight Commander includono il supporto per il mouse in modo da facilitare l'uso agli utenti.
Con Midnight Commander si può esplorare il contenuto dei pacchetti Deb e RPM e lavorare con formati di archivi comuni come se si trattasse di semplici directory.
Funziona anche come client FTP o FISH (FIlesystem di SHell).
Tra le altre caratteristiche, Midnight Commander può rinominare gruppi di file, differentemente da altri file manager che permettono di rinominare solo un file per volta. Ciò risulta importante nella manipolazione di grandi quantità di file, per esempio nelle situazione in cui si deve modificare il sistema di nomenclatura degli stessi. Midnight Commander può anche spostare i file in altre directory nello stesso momento in cui le rinomina. Permette all'utente di specificare i nomi dei file originali e finali impiegando metacaratteri. Questo fa sì che si possano rinominare i file impiegando la potenza delle espressioni regolari disponibili in Unix o Linux, il tutto unito a una interfaccia utente interessante come quella di Midnight Commander. Tutte queste caratteristiche sono disponibili attraverso il menu File --> Rinomina/sposta. Premendo F1 si accede a una breve spiegazione delle opzioni, inclusi esempi su come usare i metacaratteri.
Le versioni ufficiali di Midnight Commander non supportano la codifica UTF-8. Esistono comunque delle patch non ufficiali fornite sia da Red Hat che da SUSÈ'.

mcedit (da wikipedia)

Midnight Commander include un editor chiamato mcedit che può essere usato anche stand-alone. Questa applicazione permette di visualizzare il contenuto dei file e include l'evidenziazione della sintassi del contenuto dei file per alcuni linguaggi di programmazione, oltre alla possibilità di lavorare sia in ASCII che in esadecimale. Comunque sia, gli utenti possono sostituire mcedit con il proprio editor preferito.

Tipo di licenza (da wikipedia)

Midnight Commander è incluso nella maggior parte delle distribuzioni Linux e viene distribuito sotto GNU General Public License. È molto popolare in Linux dato che è basato sulle librerie Ncurses e S-Lang, e in tal modo può essere eseguito in una console regolare, in un terminale X Window, attraverso connessioni SSH e qualsiasi tipo di terminale remoto.

Installazione

Solitamente non viene installato di default, neppure nella versione net-install, anche se credo sia presente nella iso, ed è possibile installarlo manualmente anche dalla net-install.

# apt-get install mc

Io ho usato apt-get, ma potete usare lo strumento che più vi aggrada, come aptitude o synaptic.

Editor

L'editor di testo predefinito per MC attualmente è VIM (se installato nel sistema) mentre una volta era, di default, mcedit.
Nel, invece, si voglia usare il proprio editor preferito (es. Emacs):

# update-alternatives --config editor

Ecco un output di esempio:

# update-alternatives --config editor
 There are 6 choices for the alternative editor (providing /usr/bin/editor).
 
  Selection    Path                    Priority   Status
 ------------------------------------------------------------
   0            /bin/nano                40        auto mode
   1            /bin/ed                 -100       manual mode
   2            /bin/nano                40        manual mode
   3            /usr/bin/emacs23         0         manual mode
 * 4            /usr/bin/mcedit-debian   25        manual mode
   5            /usr/bin/vim.basic       30        manual mode
   6            /usr/bin/vim.tiny        10        manual mode
 
 Press enter to keep the current choice[*], or type selection number: 4

oppure F9 --- Opzioni --- Configurazione
e mettete la spunta su Usa editor interno

A meno che non abbiate un editor con il quale avete molta praticità, vi consiglio sinceramente mcedit, editor semplice ma completo.

Installando alcuni pacchetti aggiuntivi come html2text, sarete in grado di visualizzare pagine html o di modificarle, a seconda che accediate in lettura o modifica.

Utilizzo

Da terminale eseguire

 $ mc

e MC comparirà nel suo splendore:

  ATTENZIONE
Fate attenzione alla posizione da cui eseguite il comando, MC prenderà i permessi dell'utente che lo esegue, se lanciate il comando mentre siete root (e a volte è necessario ) avrete il potere di modificare o cancellare qualsiasi file, con MC che non ha un cestino!!!


Consiglio perciò di prestare attenzione, quando si eliminano dei file, alla conferma di richiesta di eliminazione. Quando si modificano dei file di configurazione importanti, sarebbe bene farne una copia per poter ripristinare il sistema in caso la modifica non vada a buon fine.

Panoramica

Lo schermo di Midnight Commander è diviso in quattro parti. Quasi tutto lo spazio è occupato dai due pannelli directory. Come impostazione predefinita la seconda riga dal fondo è la riga di comando (da dove potrete eseguire tutti icomandi che abitualmente inserite nella shell ), mentre quella in basso mostra le etichette dei tasti funzione.
La riga più in alto è la riga dei menu. La barra dei menu può essere invisibile, ma compare se clicchi la riga più in alto con il mouse o se premi il tasto F9.

MC fornisce la vista di due directory contemporaneamente. Uno dei due pannelli è quello corrente (la barra di selezione è presente solo in questo) per spostarsi tra i pannelli directory usare il tasto TAB. Quasi tutte le operazioni hanno luogo nel pannello corrente. Alcune azioni come Rinomina e Copia usano la directory del pannello non selezionato come valore predefinito di destinazione (ma si richiede sempre una conferma prima). Per informazioni aggiuntive, vedere le sezioni sui pannelli directory, i menu sinistra e destra e menu file.

È possibile eseguire comandi di sistema di MC semplicemente digitandoli. Ogni cosa scritta apparirà sulla riga di comando e, alla pressione del tasto invio, MC eseguirà l'istruzione appena digitata.

Supporto Mouse

Midnight Commander è fornito di supporto mouse. Esso viene attivato ogniqualvolta lo si esegue in un terminale xterm(1) (funziona anche se si fa una connessione telnet, ssh o rlogin con un’altra macchina da un xterm) o se sta funzionando su una console Linux e si ha il mouse server gpm in funzione.
Quando si clicca con il tasto sinistro su di un file nel pannello directory, il file viene selezionato; se si fa clic con il tasto destro il file viene marcato (o smarcato, a seconda dello stato precedente).
Se il file è un programma eseguibile, il doppio clic su di esso lo eseguirà altrimenti se il file estensioni ha un programma specifico per quell’estensione del file, il suddetto programma verrà eseguito.
È anche possibile eseguire i comandi assegnati ai tasti funzione cliccando sulle etichette dei tasti.

Se un tasto del mouse viene premuto sulla riga in cima al pannello directory, il pannello sfoglia di una pagina in alto. Allo stesso modo, un clic sulla riga in basso provocherà un cambio di pagina in basso. Questo metodo dei bordi funziona anche nel visualizzatore dell'aiuto e nell'albero directory.

L'auto ripetizione predefinita per il mouse è di 400 millisecondi. Questo valore può essere cambiato modificando il file ~/.mc/ini e cambiando il parametro mouse_repeat_rate.
Se il supporto mouse è attivo, le classiche funzioni di taglia&incolla sono accessibili tenendo premuto il tasto Maiuscolo.

Tasti

Alcuni comandi di MC presuppongono l’uso dei tasti Control (chiamato anche CTRL o CTL) e Meta (chiamato anche ALT o anche Compose). In questo manuale si utilizzeranno le seguenti abbreviazioni:

C-<chr>

significa premere il tasto control mentre si batte il carattere <chr>. Perciò C-f sarà: premi e tieni premuto il tasto Control e premi f.

M-<chr>

significa premere il tasto Meta o Alt mentre si batte <chr>. Se non c’è un tasto Meta o Alt, premere ESC, rilasciarlo, poi premere il carattere <chr>.

S-<chr>

significa premere il tasto Maiuscole mentre si batte il carattere <chr>.

Tutte le linee di ingresso nel Midnight Commander usano un’approssimazione dei tasti usati dall’editor GNU Emacs.

Tasti Vari

Ci sono alcuni tasti che non sono classificabili in nessuna delle altre categorie:

Invio
se c'è del testo nella riga di comando (quella in fondo ai pannelli), allora quel comando viene eseguito;
se nella riga di comando non c'è testo, allora, se la barra di selezione è sopra una directory, MC esegue un chdir(2) alla directory selezionata e ricarica le informazioni sul pannello;
se la selezione è un file eseguibile allora esso viene eseguito;
infine, se l'estensione del file selezionato corrisponde ad una delle estensioni presenti nel file estensioni, il comando corrispondente viene eseguito.

C-l
ridisegna tutto

C-x c
esegue il comando chmod su un file o su un gruppo di file marcati

C-x o
esegue il comando chown sul file corrente o sui file marcati

C-x l
crea un collegamento

C-x s
crea un collegamento simbolico.

Pannelli Directory

Questa sezione elenca i tasti che operano sui pannelli directory. Se si desidera sapere come cambiare la visualizzazione dei pannelli, date un’occhiata alla sezione su menu sinistra e destra.

Tab, C-i

cambia il pannello corrente.
La barra di selezione si sposta dal vecchio pannello al nuovo.
Ritengo sia un tasto funzione indispensabile per muoversi con MC tra i diversi pannelli directory.

Ins, C-t

Per marcare i file si può usare il tasto di Inserimento o la sequenza C-t (Control-t)

Per smarcare i file basta marcare un file già marcato.

Tasti generali di movimento

Il visualizzatore dell'aiuto, il visualizzatore dei file e l'albero directory usano un codice comune per gestire il movimento. Per questa ragione essi accettano esattamente gli stessi tasti. Ognuno di questi però accetta anche altri tasti indipendenti.

In Midnight Commander si usano i tasti di movimento per effettuare diverse operazioni.

Freccia Su, C-p				si sposta di una riga indietro.
 
Freccia Giù, C-n			si sposta di una riga avanti.
 
Pag. Prec., Pagina Su, M-v		si sposta di una pagina in alto.
 
Pag. Succ., Pagina Giù, C-v		si sposta di una pagina in basso.
 
Home, A1				si sposta all’inizio.
 
Fine, C1				si sposta alla fine.
 

Barra dei menu

La barra dei menu compare premendo F9 o cliccando con il mouse sopra la riga superiore dello schermo. In essa sono presenti cinque voci:

  • Sinistra
  • File
  • Comando
  • Opzioni
  • Destra.

menu destra & sinistra

I menu sinistra e destra permettono di modificare l’aspetto dei pannelli directory di sinistra e di destra.

In questo caso illustrerò solamente quello di destra (quello di sinistra ha le sesse funzioni).

menu file

Il menu file elenca le azioni che possono essere condotte sui file correntemente selezionati o marcati:

menu comando

Il menu comando elenca le azioni più generali e non ha relazione con i files correntemente selezionati o marcati:

menu opzioni

Il menu opzioni elenca le azioni che permettono di personalizzare Midnight Commander:

menu File

Midnight Commander usa i tasti F1 - F10 come tasti veloci per i comandi che appaiono nel menu file.
Le sequenze di escape per i tasti funzione sono capacità terminfo da kf1 a kf10. Su terminali senza supporto per i tasti funzione, è possibile ottenere la stessa funzionalità premendo il tasto ESC e un numero da 1 a 9 più lo 0 (corrispondentemente ai tasti da F1 a F9 e F10 rispettivamente).

Il file menu comprende i comandi seguenti (tasti veloci tra parentesi):

Aiuto (F1)

Invoca il visualizzatore incorporato di ipertesti per l’aiuto. All’interno del visualizzatore aiuto, è possibile usare il tasto tab per selezionare il successivo collegamento e il tasto invio per seguirlo. I tasti Barra spaziatrice e Backspace vengono utilizzati per muoversi avanti e indietro nella pagina di aiuto. Premere F1 nuovamente per ottenere la lista completa dei tasti accettati.

menu (F2)

Invoca il menu utente. Il menu utente fornisce un modo semplice per dare agli utenti un menu ed aggiungere nuove funzionalità Midnight Commander:

Visualizza (F3, Maiusc-F3)

Visualizza il file correntemente selezionato. Nell’impostazione predefinita viene invocato il visualizzatore interno di file ma se l’opzione Usa visualizzatore interno è deselezionata, verrà invocato un visualizzatore esterno specificato dalla variabile ambiente PAGER. Se PAGER non è definita, verrà invocato il comando view. Se si usa invece il comando Maiusc-F3, il visualizzatore verrà invocato senza nessun tipo di formattazione o preprocessamento sul file.
Funzione molto utile perché è possibile visualizzare molti tipi di file, il tutto dipende dai pacchetti installati.

Qui è difficile farvi un'esempio, dato che se provate con un file compresso o un file.deb, vi verrà mostrato il contenuto:

se usate F3 su un singolo file, lo visualizzerete in base al tipo di estensione che ha.
In questo caso aprirò in sola lettura xorg.conf:

Cambia (F4)

Invoca l’editor vi o l’editor specificato nella variabile d’ambiente EDITOR oppure l’editor di file interno se l’opzione, usa editor interno è stata impostata.
È una funzione molt|centero importante, perché in base ai permessi con cui eseguite MC, vi troverete in grado di modificare qualsiasi file, che sia esso di configurazione o di altro formato, nell'esempio un file di configurazione di superkaramba con estensione.py.

Per salvare dopo aver effettuato le modifiche necessarie, basterà premere il tasto F2.

Se volete uscire premete F10 e mcedit vi avviserà di eventuali modifiche effettuate:

Le varie opzioni dell'editor le potete vedere nella barra in basso:

Copia (F5)

Copia il file selezionato (o i files marcati) nella directory specificata dall'utente nella finestra di dialogo. In questa, la directory di destinazione predefinita è quella visualizzata nel pannello non attivo.
Durante il processo è possibile premere C-c o ESC per abortire l’operazione. Per maggiori dettagli sulla maschera sorgente (che sarà normalmente * o ^\(.*\)$ a seconda dell’impostazione di modelli della shell) o sui caratteri jolly sulla destinazione vedere maschera copia/rinomina.

In alcuni sistemi è possibile eseguire la copia in background cliccando sul pulsante background (o premendo M-b nella finestra di dialogo).
Il comando processi in background è utile per controllarne l’andamento.

Questo è un'esempio semplicissimo che prevede di salvare il file xorg.conf in una determinata directory.
Per prima cosa ci muoviamo nel pannello directory dove vogliamo salvare la copia (per muoversi nella directory superiore basta premere invio all'inizio ( /..), fino a trovare la radice).

Nel pannello di sinistra andremo a selezionare la directory di origine (/etc/X11/) dopo esserci mossi con le frecce sul file xorg.conf con il tasto F5 effettueremo la copia del file.

Altro esempio pratico potrebbe essere l'utilizzo del plug-in flash.
All'interno di un pannello, avendo i permessi di root, ci spostiamo nella directory /usr/lib/mozilla. Nell'altro pannello ci posizioniamo dove abbiamo scaricato il file install_flash_player_10_linux.tar.gz.
Una volta selezionatolo con F3 o INVIO e avremo accesso al contenuto dei file compresso.
Spostiamoci con le frecce sul file e con un semplice F5, selezionando il file libflashpalyer.so, copieremo lo stesso nella directory dei plug-in.

In questo caso il plug-in sarà abilitato per tutti i browser che ricercano i plug-in in /usr/lib/mozilla, se il browser richiede una directory diversa, basterà con il pannello di destinazione selezionare quella corretta.

Rinomina/Sposta (F6)

Mostra una finestra di dialogo con la directory del pannello non attivo come directory di destinazione predefinita. È possibile selezionare uno o più files/directory e spostarli nella destinazione (predefinita o specificata dall'utente).
Durante il processo è possibile premere C-c o ESC per abortire l’operazione.
Per maggiori dettagli fare riferimento alla sezione precedente, dato che il comando è molto simile.

In alcuni sistemi è possibile eseguire la copia in background cliccando sul bottone background (o premendo M-b nella finestra di dialogo). Il comando processi in background è utile per controllarne l’andamento.

Crea Directory (F7)

Mostra una finestra di dialogo per creare la directory specificata.

Attenzione che la directory creata manterrà i permessi dell'utente che sta eseguendo MC (sia come owner che come group).

Elimina (F8)

Cancella il file correntemente selezionato o i file marcati nel pannello attivo.
Durante il processo è possibile premere C-c o ESC per abortire l’operazione.

Barra dei menu (F9)

Come già visto precedentemente, con questo tasto si accede al menu superiore:

Uscita (F10, Maiusc-F10)

Termina l’esecuzione di Midnight Commander.
La combinazione di tasti Maiusc-F10 viene usata se si esce ed è attivo lo shell wrapper.
Nota per gli utenti di Gnome: F10 è il tasto predefinito per chiudere terminal. Per potere utilizzare questo tasto in MC, bisognerà modificare tale comportamento.

Altre funzioni

MC è in grado di visualizzare file con quasi tutte le estensioni: html, php, pdf, files di configurazione, di testo, etc.
Gestisce anche i files compressi (a patto che il relativo decompressore sia installato nel sistema).

Altre funzioni utili:

Permessi

La finestra Permessi serve a cambiare i bit di attributo in gruppi di file o directory.
La si può invocare con la combinazione di tasti C-x c oppure usando F9.

La finestra dei Permessi è divisa in due parti: Permessi e File.

La sezione File mostra il nome del file o della directory ed i suoi permessi in forma ottale, oltre che il proprietario ed il gruppo.

Nella sezione Permessi, invece, c’è un set di caselle che corrispondono agli attributi dei file.

Quando si cambia il bit di attributo, si può vedere il valore in ottale aggiornato nella sezione File.

Per muoversi attraverso le sezioni (bottoni e caselle) usare i tasti freccia oppure Tab.

Per cambiare lo stato delle caselle o per selezionare un bottone usare lo Spazio.
Si possono usare anche i tasti di scelta rapida che corrispondono alle lettere evidenziate dei pulsanti.
Per impostare i bit degli attributi, usare il tasto Invio.
Quando si lavora con un gruppo di file o directory, basta cliccare sui bit che si vogliono impostare o cancellare. Una volta selezionati i bit da cambiare, selezionare una delle azioni (Imposta marcati o Cancella marcati).
Infine, per impostare gli attributi esattamente come specificato, usare i tasti:

 [Imposta tutti], che agisce su tutti i file marcati;
 [Modifica tutti] modifica solo gli attributi marcati su tutti i file;
 [Imposta marcati] pone a uno i bit marcati degli attributi di tutti i file selezionati;
 [Cancella marcati] pone a zero i bit marcati degli attributi di tutti i file selezionati;
 [Imposta] imposta gli attributi di un file;
 [Cancella] cancella il comando Permessi.
 

Proprietario

Il comando proprietario serve a cambiare il proprietario/gruppo di un file.
Il tasto di scelta rapida per questo comando è C-x o, oppure dal solito menu F9 - File:

Proprietario avanzato

Il comando Proprietario avanzato consiste nei comandi permessi e proprietario combinati assieme in una finestra.
È così possibile cambiare i permessi ed il proprietario/gruppo dei file in un sol colpo!

Collegamento (C-x l)

Crea un collegamento fisico (hard link) al file corrente.
Selezionate uno dei due pannelli con la directory di destinazione, e nell'altro il file con cui creare il collegamento, la funzione è disponibile anche usando il menu F9.

Collegamento Simbolico (C-x s)

Crea un collegamento simbolico al file corrente.
Alcuni li chiamano anche alias o scorciatoie.

A differenza di quello simbolico, un collegamento fisico, appare come un file reale. Dopo che si è creato non c’è modo di distinguere quale sia il collegamento e quale sia l’originale. Se si cancella uno dei due l’altro rimarrà intatto. È molto difficile notare che i file rappresentano la stessa immagine.
Un collegamento simbolico, invece, è un riferimento al nome del file originale. Se il file originale viene cancellato, il collegamento è inutile. È facile distinguere i collegamenti simbolici dall’immagine stessa. Se il file è un collegamento simbolico a qualcosa, Midnight Commander mostra un simbolo "@" davanti al nome del file (eccetto se punta ad una directory, nel qual caso mostrerà una tilde (~)). Il file originale al quale punta il collegamento simbolico viene mostrato sulla riga di mini-stato se la funzione Mostra Mini-stato è abilitata. Usare i collegamenti simbolici se si vuole evitare la confusione che creano i collegamenti fisici.

Cerca - Trova file

Ottima funzione che potete trovare nella barra dei menu sotto la voce comando:

Questa funzione cerca un file o una directory, a partire dalla directory attiva nel pannello in cui la eseguite, anche se è possibile, dalle impostazioni, sceglierne un'altra.
Se non conoscete il nome completo del file o l'estensione potete usare il carattere "*".

Nell'esempio seguente ho effettuato la ricerca a partire da /home/barabba/.

La ricerca è molto veloce, provare per credere!

Il risultato sarà questo:

Visualizzatore di file interno

Il visualizzatore di file interno fornisce due modalità di visualizzazione: ASCII e esadecimale.
Per passare da una modalità all’altra, usare il tasto F4. Se si ha il programma GNU gzip installato, esso verrà usato automaticamente per decomprimere i file al volo.
Il visualizzatore tenterà di usare il metodo migliore fornito dal sistema o a seconda del tipo di file, per mostrare le informazioni. Il visualizzatore interno interpreterà alcune sequenze di stringa per impostare gli attributi di grassetto e sottolineato e per mostrare al meglio i file.
In modalità esadecimale, la funzione di ricerca accetta testo protetto e costanti numeriche. Il testo protetto viene confrontato esattamente dopo la rimozione della protezione. Ogni numero rappresenta un byte. È possibile mescolare testo protetto concostanti come nell’esempio:

"Stringa" -1 0xBB 012 "ancora testo"

(notare che 012 è un numero ottale. -1 viene convertito in 0xFF)

Editor di file interno

L’editor di file interno fornisce molte delle funzioni dei più diffusi editor a pieno schermo.
Viene invocato tramite F4 sempre che l’opzione use_internal_edit sia impostata nel file di inizializzazione. Esso ha un limite estensibile di sedici megabyte e gestisce i file binari senza problemi.

Le funzioni che allo stato attuale supporta sono: copia, spostamento, cancellazione, taglia e incolla di blocchi; tasto per l’annullamento; menu a discesa, inserimento file, definizione di macro, ricerca e sostituzione di espressioni regolari (e una propria ricerca e sostituzione a scanf e printf); evidenziazione di testo maiuscole-freccia MSW-MAC (solo per la console Linux); scambio tra inserimento-rimpiazzo e un’opzionale flusso di blocchi di testo attraverso comandi shell come indent.

L’editor è molto semplice da usare e non richiede apprendimento. Per vedere cosa fanno i tasti, basta consultare il menu a discesa appropriato. Gli altri tasti sono: maiusc + tasti freccia produce la selezione del testo. Ctrl-Ins copia nel file cooledit.clip e Shift-Ins incolla da cooledit.clip. Shift-Del taglia in cooledit.clip, e Ctrl-Del cancella il testo selezionato. Funziona anche l’evidenziazione con il mouse che, come al solito, si può utilizzare come in un normale terminale, premendo contemporaneamente il tasto Maiuscole mentre si fa clic trascinando con il mouse.

File system virtuale

Midnight Commander è provvisto di uno strato di codice per accedere al file system.
Questo strato di codice è conosciuto anche con il nome di commutazione di file system virtuale.
La commutazione del file system virtuale permette a MC di manipolare files all’interno di un file system non di tipo Unix.

Attualmente MC viene "confezionato" con alcuni File System Virtuali (VFS): il file system locale, usato per accedere al normale file system Unix; l’ftpfs, usato per manipolare file su sistemi remoti con il protocollo FTP; il tarfs, usato per manipolare file tar e file tar compressi; l’undelfs, usato per recuperare file cancellati su file system di tipo ext2 (il file system predefinito per sistemi Unix), fish (per manipolare file su connessioni shell come rsh e ssh) e per ultimo l’mcfs (file system del Midnight Commander), un file system basato sulla rete. Se il codice è stato compilato con il supporto smbfs, è possibile manipolare file su file system remoti con il protocollo SMB (CIFS).
Il codice di commutazione di file system interpreta tutti i nomi di percorso utilizzati e li dirige al file system corretto; il formato utilizzato per ognuno di questi file system viene descritto più avanti nella sezioni apposite.

File system FTP

Il file system FTP (ftpfs) permette di gestire files su macchine remote. Per utilizzarlo, si può usare il pannello del comando Connessione FTP (accessibile dalla barra dei menu):

oppure si può cambiare direttamente la directory corrente con un comando cd verso un percorso simile al seguente:

	/#ftp:[!][utente[:pass]@]macchina[:porta][dir-remota]

Gli elementi utente, porta e dir-remota sono opzionali. Se si specifica l’elemento utente, allora Midnight Commander tenterà di collegarsi alla macchina remota con le credenziali di quell’utente, altrimenti userà il vostro nome di login o il nome di login prelevato dal file ~/.netrc. L’elemento opzionale pass è la parola d’ordine per la connessione.
L’uso della password nel nome VFS della directory non è raccomandabile, dato che può apparire sullo schermo in chiaro e può essere salvato nella cronologia directory.
Per abilitare l’uso del proxy FTP, anteporre ! (un punto esclamativo) al nome host.

Esempi:

	/#ftp:ftp.nuclecu.unam.mx/linux/local
	/#ftp:tsx-11.mit.edu/pub/linux/packages
	/#ftp:!dietro.il.firewall.edu/pub
	/#ftp:guest@host-remoto.com:40/pub
	/#ftp:miguel:xxx@server/pub

Controllare la finestra di dialogo file system virtuale per le opzioni ftpfs.

File system SMB

Il file system smb permette di gestire file su macchine remote con protocollo SMB (o CIFS). Queste includono Windows for Workgroups, Windows 9x/ME, Windows NT/2000/XP, OS/2 e Samba. Per usarlo, si può provare il comando dal pannello Connessione SMB... (accessibile dalla barra dei menu) o si può direttamente cambiare directory corrente usando il comando cd verso un percorso simile a questo:

	/#smb:[utente@]macchina[/servizio][/dir-remota]

I parametri utente, servizio e dir-remota sono opzionali. Il nome utente, dominio e la password possono essere specificati nella finestra di dialogo di ingresso.
Esempi:

	/#smb:macchina/Condivisione
	/#smb:altra_macchina
	/#smb:guest@macchina/Public/Irlex

Esempio

Prima di concludere vorrei proporvi un'esempio che vi possa mostrare le potenzialità di MC, come utility miltifunzione, in grado di sostituire l'uso di molti programmi.
In sintesi andrò a scaricare l'ultima versione di wordpress per installarla sul mio sito web con accesso FTP.

Dopo aver scaricato l'applicazione web da installare, che in questo caso è wordpress, mi muoverò nella directory dove è stata scaricata e dopo averla selezionata e aver premuto invio, avrò a disposizione tutti i file all'interno del file compresso senza averlo scompattato.

Nel pannello di destra dopo aver scelto con F9> menu destra > connessione ftp inserirò:

	user_name:password@indirizzo del sito

ad esempio:

	barabba:password@mmbarabba.it

Ora mi trovo nel pannello di sinistra i file necessari al trasferimento e nel pannello di destra la directory FTP, dove posso creare una directory dedicata con F7.
Dal pannello di sinistra effettuerò una multi selezione usando il tasto ins e con F5 effettuerò la copia dei file verso il mio server FTP.

Dopo aver trasferito i file necessari sarò in grado di modificare i file trasferiti, e/o cambiare i permessi.
Nell'esempio usando il tasto TAB mi muoverò nel pannello di destra ovvero nello spazio FTP e andrò a modificare il file wp-settings.php che contiene le configurazioni preeliminari come il link al database e altro.

Premo F2 per salvare e F10 per uscire dalla funzione modifica.

Nel caso avessi bisogno di creare un file, userò la linea di comando nella parte inferiore di MC e scrivendo:

touch nome_file

potrò creare il file.

Con MC sarete in grado di gestire anche i file nascosti ( esempio .htaccess ).

Non vi resta che crearvi un database con phpmyadmin o altro, ma non con MC che non può ancora farlo (ma da linea di comando potete senza uscire da MC eseguire tutti i comandi che volete), e il vostro sito sarà pronto.

Con un solo programma e pochi passaggi:

  • ho avuto accesso a un file compresso senza scompattarlo per poterlo copiare altrove;
  • ho utilizzato il servizio FTP senza l'uso di un programma specifico, con tutte le sue funzioni;
  • ho editato i file direttamente sul server FTP senza doverli importare>modificare >esportare.

Conclusioni

Questo articolo non vuole avere la pretesa di costituire un manuale d'uso di MC, ma vuole solo presentare ai meno esperti le potenzialità e la semplicità di questo potente strumento.
Chi volesse approfondire ulteriormentele sue conoscenze su questo fantastico programma, troverà certamente nelle pagine man tutte le risposte su MC.

Spero che anche voi cominciate ad usarlo e ad apprezzarlo come faccio io da diversi anni.

Happy Debian!

Licenza

Questo programma è distribuito sotto i termini della Licenza Generale GNU come pubblicata dalla Free Software Foundation.

Vedere l’aiuto integrato per i dettagli sulla licenza e sulla mancanza di garanzie.

Reperibilità

L’ultima versione di questo programma si trova su ftp://ftp.gnu.org/gnu/mc/.

Vedere anche

La pagina Web di Midnight Commander:

http://www.midnight-commander.org/