Scroll to navigation

MC(1) GNU Midnight Commander MC(1)

NOME

mc - interfaccia visuale per sistemi tipo Unix.

USO

mc [-abcCdfhPstuUVx] [-l log] [dir1 [dir2]] [-e [file]] [-v file]

DESCRIZIONE

Il Midnight Commander è un file manager per sistemi operativi di tipo Unix.

OPZIONI

Disabilita l'uso dei caratteri grafici per il disegno delle linee.
Forza la visualizzazione in bianco e nero.
Forza la modalità colore; consultare la sezione colori per ulteriori informazioni.
Usato per specificare un set di colori differente a riga di comando. Il formato di arg è documentato nella sezione colori.
Disabilita il supporto mouse.
Esegue l'editor interno. Se il file viene specificato, lo apre alla partenza. Vedere anche mcedit (1).
Mostra i percorsi di ricerca compilati per i file del Midnight Commander.
Reimposta i softkeys ai valori predefiniti dal database termcap/terminfo. Utile solo su terminali HP quando non vanno i tasti funzione.
Salva il dialogo ftpfs con il server in file.
Quest'opzione indica al Midnight Commander di stampare l'ultima directory di lavoro sul file specificato. Questa funzione non è fatta per un uso diretto, ma dovrebbe essere utilizzata da una speciale funzione shell che imposti automaticamente l'ultima directory corrente della shell come l'ultima directory in cui stava il Midnight Commander. Prelevate i file /usr/lib/mc/mc.sh (utenti bash e zsh) o rispettivamente /usr/lib/mc/mc.csh (utenti tcsh) per definire mc come un alias allo script di shell appropriato.
Abilita il modo terminale lento, in questa modalità il programma non disegna le linee e disabilita la modalità prolissa.
Usata solo se il codice è stato compilato con S-Lang e terminfo: fa in modo che il Midnight Commander usi il valore della variabile TERMCAP per le informazioni sul terminale invece delle informazioni di sistema sul database terminali.
Disabilita l'uso della shell concorrente (ha senso solo se il Midnight Commander è stato compilato con il supporto per la shell concorrente).
Abilita l'uso della shell concorrente (ha senso solo se il Midnight Commander è stato compilato con il supporto per la shell concorrente impostato come una caratteristica opzionale).
Lancia il visualizzatore interno per il file specificato.
Mostra la versione del programma.
Forza la modalità xterm. Usata quando è in funzione su terminali abilitati-xterm (due modalità video e in grado di spedire sequenze mouse di escape).
Do not use X11 to get the state of modifiers Alt, Ctrl, Shift
Force a "normal tracking" mouse mode. Used when running on xterm-capable terminals (tmux/screen).

Se specificato, il primo percorso è la directory mostrata nel pannello selezionato; il secondo è la directory mostrata nell'altro pannello.

Panoramica

Lo schermo del 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, 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.

Il Midnight Commander fornisce la vista di due directory contemporaneamente. Uno dei due pannelli è quello corrente (la barra di selezione è presente solo in questo). 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.

E' possibile eseguire comandi di sistema dal Midnight Commander semplicemente battendoli. Ogni cosa scritta apparirà sulla riga di comando e quando si preme l'invio il Midnight Commander eseguirà la riga di comando appena battuta; leggere le sezioni shell a riga di comando e tasti della riga di ingresso per saperne di più sulla riga di comando.

Supporto mouse

Il 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 fa clic con il tasto sinistro in 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.

E' 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 ~/.config/mc/ini e cambiando il parametro mouse_repeat_rate.

Se il Commander sta funzionando con il supporto mouse, si può saltarlo ed ottenere il funzionamento del mouse normale (taglia e incolla di testo) tenendo premuto il tasto Maiuscole.

Tasti

Alcuni comandi nel Midnight Commander presuppongono l'uso dei tasti Control (talvolta chiamato CTRL o CTL) e Meta (talvolta chiamato ALT o anche Compose). In questo manuale si utilizzeranno le seguenti abbreviazioni:

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.
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>.
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.

Ci sono molte sezioni che parlano dei tasti. Le seguenti sono le più importanti.

La sezione menu file documenta le abbreviazioni di tasti per i comandi che appaiono nel menu file. Questa sezione include i tasti funzione. Molti di questi comandi lavorano sui file selezionati o sui file marcati.

La sezione pannelli directory documenta i tasti che selezionano o marcano i file come oggetto per una seguente azione (l'azione normalmente deriva dal menu file).

La sezione shell a riga di comando elenca i tasti utilizzati per immettere e modificare linee di comando. Molti di questi copiano nomi di file o altro dal pannello directory alla riga di comando (per evitare troppo lavoro di battitura) o per accedere alla cronologia comandi.

I tasti della riga di ingresso sono usati per modificare le righe di ingresso. Cioè sia la riga di comando che le righe di ingresso nelle finestre di interrogazione.

Tasti vari

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

se c'è del testo nella riga di comando (quella in fondo ai pannelli), allora quel comando viene eseguito. Se non c'è testo nella riga di comando allora se la barra di selezione è sopra una directory il Midnight Commander esegue un chdir(2) alla directory selezionata e ricarica le informazioni sul pannello; se la selezione è un file eseguibile allora esso viene eseguito. Per ultimo, se l'estensione del file selezionato corrisponde ad una delle estensioni presenti nel file estensioni, il comando corrispondente viene eseguito.
ridisegna tutto nel Midnight Commander.
esegue il comando chmod su un file o su un gruppo di file marcati.
esegue il comando chown sul file corrente o sui file marcati.
crea un collegamento.
crea un collegamento simbolico.
imposta la modalità della visualizzazione dell'altro pannello a informazioni.
imposta la modalità della visualizzazione dell'altro pannello a vista rapida.
esegue il comando pannellizza comando.
esegue il comando aggiungi directory alla lista directory favorite.
esegue il comando vista filtrata, descritto in visualizzatore di file interno.
esegue il comando trova file.
mostra la finestra cambia dir veloce.
quando il programma viene eseguito in una console Linux o FreeBSD o in un xterm, mostrerà il risultato del comando precedente. Eseguito in console Linux, il Midnight Commander usa un programma esterno (cons.saver) per gestire il salvataggio e recupero delle informazioni sullo schermo.

Se è stato compilato il supporto alla subsell, è possibile premere C-o in ogni momento per tornare alla schermata principale del Midnight Commander; per tornare all'applicazione basta premere C-o. Se si ha un'applicazione sospesa usando questo trucco, non si sarà in grado di eseguire altri programmi dal Midnight Commander finché non si terminerà l'applicazione sospesa.

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.

cambia il pannello corrente. L'altro pannello diventa il nuovo pannello corrente mentre il pannello corrente diventa l'altro pannello. La barra di selezione si sposta dal vecchio pannello al nuovo corrente.
DEPRECATED! per marcare i file si può usare il tasto di Inserimento (la sequenza teminfo kich1) o la sequenza C-t (Control-t). Per smarcare i file basta marcare un file già marcato.
to tag files you may use the Insert key (the kich1 terminfo sequence). To untag files, just retag a tagged file.
to change charset of panel you may use M-e (Alt-e). Recoding is made from selected codepage into system codepage. To cancel the recoding you may select "directory up" (..) in active panel. To cancel the charsets in all directories, select "No translation " in the dialog of encodings.
usato per selezionare rispettivamente il file superiore, il file centrale o quello inferiore in un pannello.
cambia il modo di visualizzazione corrente per mostrare la modalità successiva. In questo modo è possibile cambiare velocemente da listati lunghi a listati normali a listati definiti dall'utente.
mostra le directory favorite e va alla directory selezionata.
+  (più)
viene utilizzato per selezionare (marcare) un gruppo di file. Il Midnight Commander richiederà un'espressione regolare per descrivere il gruppo. Quando i modelli della shell sono abilitati, le espressioni regolari sono molto simili alle espressioni regolari in una shell (* significa zero o più caratteri e ? un carattere). Se i modelli della shell sono disabilitati, la marcatura dei file viene fatta con le normali espressioni regolari (vedere ed (1)).
 (barra retroversa)
usare il tasto "\" per deselezionare un gruppo di file. Questo è l'opposto del tasto più.
sposta la barra di selezione alla voce precedente nel pannello.
sposta barra di selezione alla voce successiva nel pannello.
sposta la barra di selezione alla prima voce nel pannello.
sposta la barra di selezione all'ultima voce nel pannello.
sposta la barra di selezione di una pagina in basso.
sposta la barra di selezione di una pagina in alto.
rende la directory corrente del pannello corrente, la directory corrente dell'altro pannello. Mette l'altro pannello in modalità elenco se necessario. Se il pannello corrente è pannellizzato, l'altro non diventa pannellizzato.
solo quando si esegue in console Linux: rispettivamente cambia directory a ".." e alla directory correntemente selezionata.
sposta la directory precedente nella cronologia, equivalente a premere '<' con il mouse.
sposta la directory successiva nella cronologia, equivalente a premere '>' con il mouse.
mostra la cronologia directory, equivalente a premere 'v' con il mouse.

Quick search

inizia una ricerca nella directory. Quando la ricerca è attiva i dati immessi dall'utente vengono aggiunti alla stringa di ricerca invece della riga di comando. Se l'opzione Mostra mini-stato è abilitata, la stringa di ricerca viene mostrata nella riga di mini-stato. Scrivendo, la barra di selezione si muove al prossimo file che comincia con le lettere battute. I tasti backspace o canc possono essere utilizzati per correggere errori di battitura. Se viene premuto nuovamente, viene ricercata la corrispondenza successiva.

Shell a riga di comando

Questa sezione elenca i tasti utili ad evitare troppe battiture nell'immissione dei comandi.

copia nella riga di comando il nome del file attualmente selezionato.
come M-Invio, ma funziona solo dalla console Linux.
esegue automaticamente il completamento del nome del file, variabile, nome utente e nome host.
copia i file marcati (o se non vi sono file marcati, il file selezionato) del pannello corrente (C-x t) o dell'altro pannello (C-x C-t) sulla riga di comando.
la prima sequenza di tasti copia il percorso corrente sulla riga di comando e la seconda copia il percorso del pannello non selezionato sulla riga di comando.
il comando di inserimento letterale serve per inserire caratteri che sarebbero altrimenti interpretati dal Midnight Commander (come il simbolo '+')
Usa questi tasti per navigare attraverso la cronologia comandi. M-p va alla voce precedente, M-n va alla successiva.
mostra la cronologia per la riga di ingresso corrente.

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.

Diverse parti del Midnight Commander usano gli stessi tasti di movimento, questa sezione riguarda quelle parti.

si sposta di una riga indietro.
si sposta di una riga avanti.
si sposta di una pagina in alto.
si sposta di una pagina in basso.
si sposta all'inizio.
si sposta alla fine.

In aggiunta a quelli menzionati sopra, il visualizzatore dell'aiuto accetta i seguenti tasti:

si sposta di una pagina in alto.
si sposta di una pagina in basso.
si sposta di mezza pagina in alto o in basso.
si sposta all'inizio o alla fine.

Tasti di riga di ingresso

I tasti di riga di ingresso (sono usati per la riga di comando e per i dialoghi di richiesta dati nel programma) accettano questi tasti:

sposta il cursore all'inizio della riga.
sposta il cursore alla fine della riga
sposta il cursore di una posizione a sinistra.
sposta il cursore di una posizione a destra.
sposta il cursore di una parola in avanti.
sposta il cursore di una parola indietro.
cancella il carattere precedente.
cancella il carattere nel punto (sopra il cursore).
imposta il marcatore per tagliare.
copia il testo tra il cursore e il marcatore in un kill buffer e rimuove il testo dalla riga di ingresso.
copia il testo tra il cursore ed il marcatore in un kill buffer.
inserisce il contenuto del kill buffer.
elimina il testo dal cursore alla fine della riga.
usa questi tasti per navigare attraverso la cronologia dei comandi. M-p posiziona sull'ultima voce, M-n posiziona sulla seguente.
cancella una parola indietro.
fa del nomefile, comando, variabile, nomeutente e nomehost il completamento automatico.

Barra dei menu

La barra dei menu compare premendo F9 o cliccando con il mouse sopra la riga superiore dello schermo. La barra menu possiede cinque menu: "Sinistra", "File", "Comando", "Opzioni" e "Destra".

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

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

Il menu comando elenca le azioni più generali e non ha relazione con il file correntemente selezionati o marcati.

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

Menu sinistra e destra (sopra e sotto)

L'apparenza dei pannelli directory è modificabile tramite i menu sinistra e destra (vengono chiamati sopra e sotto se la divisione pannello nella finestra aspetto del menu opzioni è orizzontale).

Modalità lista...

La modalità lista serve a mostrare un elenco di file; ci sono quattro modalità elenco disponibili: completa, breve, lunga e definita dall'utente. La modalità completa mostra il nome del file, l'ampiezza del file e la data di modifica.

La modalità breve mostra solo il nome del file in due colonne (perciò mostrando il doppio del numero dei file che nelle altre modalità). La modalità lunga è simile a quella del comando ls -l. La modalità lunga usa tutta l'ampiezza dello schermo.

Se si sceglie il formato definibile dall'utente, è necessario specificare il formato della vista.

Il formato definibile dall'utente deve cominciare con una specifica dell'ampiezza del pannello. Questa può essere "half" o "full", che descrive un pannello di mezza grandezza o completa rispettivamente.

Dopo l'ampiezza del pannello, è possibile specificare la modalità a due colonne aggiungendo il numero "2" alla stringa di formato.

Dopodiché si aggiunge il nome dei campi con una specifica di ampiezza opzionale. Questi sono i campi disponibile per la visualizzazione:

mostra il nome del file.
mostra l'ampiezza del file.
è una forma alternativa del formato size mostra l'ampiezza del file e per le directory mostra solo SUB-DIR o UP--DIR.
mostra un campo di un carattere. Questo carattere è simile a quello mostrato dal comando ls con la flag -F - * per i file eseguibili, / per le directory, @ per i collegamenti, = per i socket, - per i dispositivi a carattere, + per i dispositivi a blocchi, | per le pipe, ~ per i collegamenti simbolici a directory e ! per i collegamenti simbolici stallati (che non puntano a niente).
un asterisco se il file è marcato, uno spazio se non lo è.
la data dell'ultima modifica al file.
la data dell'ultimo accesso al file.
la data della creazione del file.
una stringa che rappresenta i bit dei permessi del file.
un valore ottale con i permessi correnti del file.
il numero dei collegamenti al file.
il GID (numerico).
l'UID (numerico).
il proprietario del file.
il gruppo del file.
l'inode del file.

Puoi usare ache questi campi per sistemare la visualizzazione:

uno spazio nel formato visualizzazione.
|
aggiunge una linea verticale al formato di visualizzazione.

Per forzare un campo ad un'ampiezza fissa (una specifica di ampiezza), basta semplicemente aggiungere : ed il numero dei caratteri che si vuole che il campo abbia. Se il numero è seguito dal simbolo +, allora la specifica definisce l'ampiezza minima - se il programma trova che serve più spazio sullo schermo, espanderà il campo.

Per esempio la modalità completa corrisponde a questo formato:

half type name | size | mtime

E quella lunga corrisponde a questo formato:

full perm space nlink space owner space group space size space mtime space name

Questa è una modalità interessante:

half name | size:7 | type mode:3

I pannelli possono anche essere impostati alle modalità seguenti:

La modalità informazioni mostra alcuni dati relativi al file correntemente selezionato e se possibile informazioni circa il file system corrente.
La vista ad albero è abbastanza simile al comando albero directory. Vedere la sezione corrispondente per maggiori informazioni.
In questa modalità il pannello si imposta come un visualizzatore ridotto che mostra i contenuti del file correntemente selezionato; se si seleziona il pannello (con il tasto tab o con il mouse), si ha accesso ai normali comandi del visualizzatore.

Ordina per...

Gli otto possibili ordinamenti sono per nome, estensione, data di modifica, data di accesso, data di modifica informazioni di inode, ampiezza, per inode e non ordinato. Nella finestra di dialogo di ordinamento è possibile scegliere il tipo di ordinamento ed è anche possibile specificare se si desidera l'ordinamento inverso selezionando la voce inverso.

Normalmente le directory sono ordinate prima dei file ma quest'impostazione può essere modificata dal menu opzioni (opzione mescola tutti i file).

Filtro...

Il comando di filtro permette di specificare un modello (per esempio *.tar.gz) che il file deve corrispondere per essere visualizzato. Malgrado il modello del filtro, le directory e i collegamenti a directory vengono sempre visualizzati sul pannello directory.

Ricarica

Il comando ricarica l'elenco dei file nella directory. E' utile se un'altro processo ha creato o rimosso dei file. Se si ha pannellizzato dei nomi di file in un pannello, questo ricaricherà il contenuto della directory e rimuoverà le informazioni pannellizzate (vedere sezione pannellizza comando per ulteriori informazioni).

Menu file

Il 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à al 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.

Vista filtrata (M-!)

Questo tasto richiede all'utente un comando ed i suoi argomenti (l'argomento predefinito è il nome del file attualmente selezionato), il risultato di tale comando viene mostrato nel visualizzatore di file interno.

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.

Copia (F5)

Mostra una finestra di dialogo con destinazione predefinita alla directory del pannello non selezionato, che copia il file selezionato (o i file marcati, se ce n'è almeno uno) sulla directory specificata dall'utente nella finestra di dialogo. Space for destination file may be preallocated relative to preallocate_space configure option. 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 bottone background (o premendo M-b nella finestra di dialogo). Il comando processi in background è utile per controllarne l'andamento.

Collegamento (C-x l)

Crea un collegamento fisico (hard link) al file corrente.

Collegamento Simbolico (C-x s)

Crea un collegamento simbolico al file corrente. Per chi non sapesse cosa sono i collegamenti: creare un collegamento ad un file è come copiare il file ma sia il nome sorgente che destinazione rappresentano la stessa immagine fisica del file. Per esempio, se si modifica uno dei due file, tutti i cambiamenti appariranno su tutti i file. Alcuni li chiamano anche alias o scorciatoie (o link come in originale inglese).

Un collegamento fisico appare come un file reale. Dopo che sia stato 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. E' molto difficile notare che i file rappresentano la stessa immagine. Usate i collegamenti fisici quando non volete proprio saperlo.

Un collegamento simbolico è un riferimento al nome del file originale. Se il file originale viene cancellato, il collegamento è inutile. E' facile distinguere i collegamenti simbolici dall'immagine stessa. Se il file è un collegamento simbolico a qualcosa, il Midnight Commander mostra un simbolo "@" davanti al nome del file (eccetto se punta ad una directory, nel qualcaso mostrerà una tilde (~)). Il file originale sul quale punta il collegamento simbolico viene mostrato sulla riga di mini-stato se Mostra Mini-stato è abilitata. Usare i collegamenti simbolici se si vuole evitare la confusione che creano i collegamenti fisici.

Rinomina/Sposta (F6)

Mostra una finestra di dialogo con destinazione predefinita alla directory del pannello non selezionato, che sposta il file selezionato (o i file marcati, se ce n'è almeno uno) sulla directory specificata dall'utente nella finestra di dialogo. Durante il processo è possibile premere C-c o ESC per abortire l'operazione. Per maggiori dettagli vedere la sezione precedente Copia, 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 che crea la directory specificata.

Elimina (F8)

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

Cambia dir veloce (M-c) Usare il comando Cambia Dir veloce se si vuole cambiare directory corrente e si ha la riga di comando occupata.

Seleziona gruppo (+)

Viene utilizzato per selezionare (marcare) un gruppo di file. Il Midnight Commander richiedera un'espressione regolare per descrivere il gruppo; se l'opzione modelli della shell è abilitata, l'espressione regolare è simile al file globbing nella shell (* significa zero o più caratteri e ? significa un carattere). Se l'opzione modelli della shell è disabilitata, allora la selezione dei file viene eseguita con le normali espressioni regolari (vedere ed (1)).

Deseleziona gruppo (\)

Usata per deselezionare un gruppo di file. E' l'opposto di del comando Seleziona gruppo.

Uscita (F10, Maiusc-F10)

Termina l'esecuzione del Midnight Commander. Maiusc-F10 viene usata se si esce e si sta usando lo shell wrapper. Maiusc-F10 in tal caso non vi porterà all'ultima directory utilizzata dal Midnight Commander ma vi lascerà nella directory dalla quale avete fatto partire il Midnight Commander.

Cambia dir veloce

Questo comando è utile se si ha la riga di comando piena e si vuole eseguire cd per cambiare directory senza dover cancellare e riscrivere la riga di comando. Questo comando fa uscire una piccola finestra di dialogo che richiede l'immissione degli stessi argomenti che si darebbero al comando cd a riga di comando. Questo ha le stesse caratteristiche già presenti nel comando comando interno cd.

Menu comando

Il comando albero directory mostra un disegno ad albero delle directory.

Il comando trova file permette di cercare un file specifico. Il comando "Scambia pannelli" scambia il contenuto dei due pannelli directory.

Il comando "attiva/disattiva pannelli" mostra il risultato dell'ultimo comando shell. Quest'ultimo funziona solo su xterm e sulle console Linux e FreeBSD.

Il comando Confronta directory (C-x d) confronta il contenuto dei pannelli directory uno con l'altro. E' poi possibile usare il comando Copia (F5) per rendere i pannelli identici. Ci sono tre metodi di confronto. Il metodo veloce confronta solo l'ampiezza e la data del file. Il metodo completo fa un confronto byte-per-byte. Il metodo completo non è disponibile se la macchina non supporta la chiamata di sistema mmap(2). Il metodo solo dimensione confronta solo l'ampiezza dei file e non controlla il contenuto né la data del file.

Il comando cronologia comandi mostra un'elenco dei comandi battuti. Il comando selezionato viene copiato sulla riga di comando. Alla cronologia comandi vi si può accedere premendo M-p o M-n.

Il comando directory favorite (C-\) permette un cambio più veloce dalla directory corrente ad una di quelle usate più spesso.

Il comando pannellizza comando permette di eseguire un coamndo esterno e di mettere il risultato nel pannello corrente.

Il comando modifica file estensioni permette di specificare i programmi che devono essere eseguiti quando si prova ad eseguire, visualizzare, modificare e un mucchio di altre cose, file con una specifica estensione (la fine del nome del file). Il comando modifica file menu serve a modificare il menu utente (che appare premendo F2).

Albero directory

Il comando albero directory mostra una rappresentazione ad albero delle directory. Selezionando una directory dalla rappresentazione il Midnight Commander cambierà a quella directory.

Ci sono due modi di invocare l'albero. Il vero comando di albero directory è accessibile dal menu Comandi. L'altro modo è di selezionare la vista ad albero dai menu Sinistra o Destra.

Per evitare i lunghi ritardi il Midnight Commander crea la rappresentazione ad albero scansionando solo una piccola porzione di tutte le directory. Se manca la directory che si vuole visualizzare, spostarsi sulla sua directory genitrice e premere C-r (o F2).

E' possibile utilizzare i tasti seguenti:

Sono accettati i tasti generali di movimento.

Invio. Nell'albero directory, esce dall'albero della directory e lo cambia alla directory corrente nel pannello selezionato. Nella vista ad albero, cambia a questa directory nell'altro pannello e rimane nella modalità vista ad albero in quello corrente.

C-r, F2 (Ricarica). Ricarica la directory. Usare questo comando quando la rappresentazione ad albero non è aggiornata: mancano directory o mostra alcune sottodirectory che non esistono più.

F3 (Scorda). Cancella questa directory dalla rappresentazione ad albero. Usare questo comando per eliminare la confusione dal'albero. Se si vuole nuovamente visualizzare l'albero completo premere F2 nella sua directory genitrice.

F4 (Statico/Dinamico). Cambia tra modo di navigazione dinamico (predefinito) e statico.

Nella navigazione statica si usano i tasti Su e Giù per selezionare la directory. Tutte le directory conosciute vengono mostrate.

Nella navigazione dinamica si usano i tasti Su e Giù per selezionare una directory sorella, il tasto Sinistra sposta sulla directory genitrice e il tasto Destra sposta sulla directory figlia. Solo i parenti, sorelle e figlie, vengono mostrate; le altre sono tralasciate. La rappresentazione ad albero cambia dinamicamente come la si attraversa.

F5 (Copia). Copia la directory.

F6 (RinSpo). Sposta la directory.

F7 (CreDir). Crea una nuova directory sotto questa directory.

F8 (CancDir). Cancella questa directory dal file system.

C-s, M-s. Cerca la prossima directory che corrisponde alla stringa di ricerca. Se tale directory non esiste, questi tasti faranno scendere di una riga (il cursore).

C-h, Backspace. Cancella l'ultimo carattere nella stringa di ricerca.

Qualsiasi altro carattere. Aggiunge un carattere alla stringa di ricerca e sposta alla nuova directory che comincia con questi caratteri (il cursore). Nella vista ad albero si deve prima attivare la ricerca premendo C-s. La stringa di ricerca è visibile nella riga di mini stato.

Le azioni seguenti sono disponibili solo nell'albero directory. Non sono supportate nella vista ad albero.

F1 (Aiuto). Invoca il visualizzatore dell'aiuto e mostra questa sezione.

Esc, F10. Esce dalla rappresentazione ad albero. Non cambia directory.

Il mouse è supportato. Un doppio clic si comporta come premere Invio. Vedere anche la sezione supporto mouse.

Trova file

Il comando trova file domanda prima la directory di inizio per la ricerca ed il nome del file da cercare. Premendo il tasto albero puoi selezionare la directory di partenza dall'albero directory.

Il campo contenuto accetta espressioni regolari simili a egrep(1). Ciò significa che è necessario proteggere i caratteri con significati speciali per egrep con "\", per esempio se si ricerca "strcmp (" si dovrà immettere "strcmp \(" (senza le virgolette).

Per far partire la ricerca premere il tasto Ok. E' possibile bloccare la ricerca con il tasto Sospende e farla riprendere con il tasto Continua.

E' possibile navigare l'elenco file con i tasti freccia Su e Giù. Il tasto Chdir cambierà la directory corrente a quella del file selezionato. Il tasto Ripete chiederà nuovamente i parametri per una nuova ricerca. Il tasto Uscita esce dal comando Trova. Il tasto Pannellizza metterà i file trovati sul pannello di directory corrente cosicché si possa svolgere ulteriori operazioni su di essi (visualizzazione, copia, spostamento, e così via). Dopo la pannellizzazione è possibile premere C-r per ripristinare la vista normale dei file.

E' possibile avere una lista di directory che il comando trova file dovrebbe saltare durante la ricerca (per esempio, si può evitare di fare ricerche su un CDROM o su una directory NFS montata attraverso un collegamento lento).

Le directory che devono essere saltate devono essere impostate nella variabile ignore_dirs nella sezione FindFile del file ~/.config/mc/ini.

Le directory devono essere separate da una virgola, come nell'esempio:

[FindFile]
ignore_dirs=/cdrom:/nfs/wuarchive:/afs

Si può prendere in considerazione l'uso del comando pannellizza comando per operazioni particolari. Il comando trova file serve solo per ricerche semplici mentre usando pannellizza comando si può fare ricerche complesse come si vuole.

Pannellizza comando

Pannellizza comando permette di eseguire un programma esterno, e mettere il risultato del programma nel pannello corrente.

Per esempio, se si vuole manipolare in uno dei pannelli tutti i collegamenti simbolici nella directory corrente, basta usare pannellizza comando per eseguire il seguente:

find . -type l -print

Al completamento del comando, il contenuto del pannello non sarà più il listato della directory ma tutti i file che rappresentano collegamenti simbolici.

Volendo pannellizzare tutti i file che sono stati scaricati dal proprio server ftp preferito, si può usare questo comando awk per estrarre il nome del file dal file di log del traferimento:

awk '$9 ~! /incoming/ { print $9 }' < /var/log/xferlog

Se si desidera si può salvare i comandi di pannellizzazione usati più spesso con uno nome più descrittivo, in maniera da richiamarli più velocemente. Per fare ciò basta battere il comando sulla riga di ingresso e premere il tasto Aggiungi nuovo. Poi si deve dare un nome al quale associare il comando che si desidera salvare. La prossima volta sarà possibile scegliere quel comando dall'elenco e non servirà ribatterlo nuovamente.

Directory favorite

Il comando Directory favorite mostra le etichette delle directory nell'elenco delle favorite. Il Midnight Commander andrà alla directory corrispondente all'etichetta selezionata. Dalla finestra delle favorite si possono rimuovere etichette/directory già create ed aggiungerne di nuove. Per aggiungere velocemente nuove directory basta usare il comando Aggiungi alle favorite (C-x h), che aggiunge la directory corrente alla lista delle favorite, richiedendo l'etichetta per identificarla.

Questo rende più veloce il cd verso directory usate spesso. Considera l'uso della variabile CDPATH come descritto in comando cd interno.

Modifica file estensioni

Questo comando invocherà l'editor sul file ~/.config/mc/mc.ext.ini. If this file does not exist and you are not root, it will be copied from /etc/mc/mc.ext.ini. If you are root, you can choose the file to edit: user's ~/.config/mc/mc.ext.ini or system-wide /etc/mc/mc.ext.ini. The format of this file is described in detail in it.

Processi in background

Questo comando permette di controllare lo stato di ogni processo in background del Midnight Commander (in background possono essere eseguite solo operazioni di copia e rinomina). Da qui si può bloccare, far ripartire e uccidere un lavoro in background.

Modifica file menu

Il menu utente è un menu di comandi utili che possono essere personalizzati dall'utente. Quando si accede al menu utente, viene utilizzato, se esiste, il file .mc.menu dalla directory corrente, ma solo se è di proprietà dell'utente o di root e se non è scrivibile a tutti. Se tale file non viene trovato, mc alla stessa maniera prova con ~/.config/mc/menu altrimenti usa il menu di sistema /usr/share/mc/mc.menu.

Il formato del file menu è molto semplice. Le righe che cominciano con qualsiasi cosa che non sia uno spazio o una tabulazione sono considerate voci per il menu (per fare in modo di usarle anche come scelta rapida, il primo carattere deve essere una lettera). Tutte le righe che cominciano con uno spazio o un tab sono i comandi che verranno eseguiti quando la voce viene selezionata.

Quando un'opzione viene selezionata tutte le linee di comando dell'opzione vengono copiate in un file temporaneo nella directory temporanea (normalmente /usr/tmp) e poi il file viene eseguito. Ciò permette all'utente di mettere normali costrutti shell nei menu. Prima dell'esecuzione del codice del menu ha luogo una semplice sostituzione di macro. Per ulteriori informazioni vedere sostituzione macro.

Ecco un esempio di un file mc.menu:

A	Mostra un dump del file correntemente selezionato
	od -c %f
B	Modifica un rapporto bachi e lo spedisce a root
	I=`mktemp ${MC_TMPDIR:-/tmp}/mail.XXXXXX` || exit 1
	vi $I
	mail -s "Midnight Commander bug" root < $I
	rm -f $I
M	Legge la posta
	emacs -f rmail
N	Legge le news 
	emacs -f gnus
H	Chiama il visualizzatore ipertestuale info
	info
J	Copia la directory corrente nell'altro pannello ricorsivamente
	tar cf - . | (cd %D && tar xvpf -)
K	Crea un rilascio della directory corrente
	echo -n "Nome del file di distribuzione: "
	read tar
	ln -s %d `dirname %d`/$tar 
	cd ..
	tar cvhf ${tar}.tar $tar
= f *.tar.gz | f *.tgz & t n
X       Estrae il contenuto di un file tar compresso
	tar xzvf %f

Condizioni Predefinite

Ogni voce di menu può essere preceduta da una condizione. La condizione deve cominciare nella prima colonna con un carattere '='. Se la condizione è vera, la voce di menu sarà la voce predefinita.

Sintassi condizione: 	= <sotto-cond>

oppure: = <sotto-cond> | <sotto-cond> ...
oppure: = <sotto-cond> & <sotto-cond> ... Sotto-condizione è una delle seguenti:
y <modello> sintassi della corrispondenza modello file corrente?
(solo per modifica menu).
f <modello> corrispondenza modello file corrente?
F <modello> corrispondenza modello altro file?
d <modello> corrispondenza modello directory corrente?
D <modello> corrispondenza modello altra directory?
t <tipo> file corrente di tipo?
T <tipo> altro file di tipo?
x <nomefile> nomefile è eseguibile?
! <sotto-cond> nega il risultato di una sotto-condizione

Modello è un normale modello della shell o un'espressione regolare, a seconda dell'opzione modelli della shell. E' possibile scavalcare il valore globale dell'opzione modelli della shell scrivendo "shell_patterns=x" sulla prima riga del file menu (dove "x" è 0 o 1).

Tipo è uno o più dei seguenti caratteri:

n non directory
r file regolare
d directory
l collegamento
c carattere speciale
b blocco speciale
f fifo (pipe)
s socket
x eseguibile
t marcato

Per esempio 'rlf' significa file regolare, collegamento o fifo. Il tipo 't' è particolare perché agisce sul pannello invece che sul file. La condizione '=t t' è vera se ci sono file marcati nel pannello corrente e falsa se non ce ne sono.

Se la condizione comincia con '=?' invece che '=' una traccia di debug sarà mostrata ogniqualvolta viene calcolato il valore della condizione.

Le condizioni sono calcolate da sinistra a destra. Ciò significa che

	= f *.tar.gz | f *.tgz & t n
viene calcolata come
	( (f *.tar.gz) | (f *.tgz) ) & (t n)

Ecco un esempio dell'uso delle condizioni:

= f *.tar.gz | f *.tgz & t n
L	Elenca i contenuti di un archivio compresso tar
	gzip -cd %f | tar xvf -

Condizioni Addizione

Se la condizione comincia con '+' (o '+?') invece che '=' (o '=?') è una condizione addizione. Se la condizione è vera la voce di menu sarà inclusa nel menu. Se la condizione è falsa la voce di menu non sarà inclusa nel menu.

E' possibile combinare condizioni predefinite e addizione iniziando la condizione con '+=' o '=+' (o '+=?' o '=+?' se vuoi una traccia di debug). Se si vuole usare due differenti condizioni, una per addizionale e l'altra per predefinita, si può precedere una voce di menu con due righe di condizione, una che comincia con '+' e l'altra con '='.

I commenti cominciano con '#'. Linee di commento aggiuntive devono cominciare con '#', spazi o tabulazioni.

Menu opzioni

Il Midnight Commander possiede alcune opzioni che possono essere abilitate e disabilitate in molte finestre di dialogo accessibili da questo menu. Le opzioni sono abilitate se hanno un "x" di fronte ad esse.

Il comando configurazione mostra una finestra di dialogo dalla quale è possibile cambiare molte delle inpostazioni del Midnight Commander.

Il comando aspetto mostra una finestra di dialogo con la quale è possibile impostare molte opzioni relative a come mc appare sullo schermo.

Il comando conferme mostra una finestra di dialogo dalla quale è possibile specificare per quali azioni si vuole una richiesta di conferma.

Il comando mostra bit mostra una finestra di dialogo dalla quale è possibile selezionare quali caratteri il vostro terminale è capace di mostrare.

Il comando impara tasti mostra una finestra di dialogo dalla quale è possibile controllare i tasti che non appaiono funzionare su alcuni terminali ed è possibile aggiustare.

Il comando FS virtuale mostra una finestra di dialogo con la quale è possibile impostare alcune opzioni relative al VFS.

Il comando salva configurazione salva le impostazioni correnti dei menu sinistra, destra e opzioni. Viene salvato anche un piccolo numero di altre opzioni.

Configurazione

Le opzioni in questa finestra sono divise in tre gruppi: Opzioni del pannello, Pausa dopo l'esecuzione e Altre opzioni.

Opzioni del pannello

Mostra file di backup. Se abilitata, il Midnight Commander mostrerà i file che terminano con una tilde. Altrimenti essi non verranno mostrati (come nell'opzione -B del comando GNU ls).

Mostra file nascosti. Se abilitata, il Midnight Commander mostrerà tutti i file che cominciano con un punto (come ls -a).

Cursore in basso mentre seleziona. Se abilitata, la barra di selezione si muoverà in basso dopo aver selezionato un file (sia con tasto Ins).

Rilascia menu a cascata. Quando quest'opzione è abilitata, la discesa dei menu sarà attivata non appena si preme il tasto F9. Altrimenti si otterrà solo il titolo del menu e si dovrà attivare il menu con i tasti freccia o con i tasti di selezione rapida. E' raccomandata se si stanno usando i tasti di selezione rapida.

Mescola tutti i file. Se quest'opzione è abilitata, tutti i file e le directory vengono mostrati mescolati insieme. Se l'opzione è spenta, le directory (e i collegamenti a sottodirectory) vengono mostrati all'inizio dell'elenco con gli altri file a seguire.

Aggiornamento rapido directory. Se quest'opzione è abilitata, il Midnight Commander userà un trucco per determinare se i contenuti della directory sono cambiati. Il trucco consiste nel ricaricare la directory solo se l'i-node della directory è cambiato. Ciò significa che la ricarica accade solo quando i file vengono creati o cancellati. Se quello che cambia è l'i-node di un file nella directory (cambia l'ampiezza di un file, cambiano il proprietario o le flag, etc.) la visualizzazione non viene aggiornata. In questi casi se l'opzione è abilitata, è necessario ricaricare la directory manualmente (con C-r).

Pausa dopo l'esecuzione

Dopo l'esecuzione di comandi, il Midnight Commander può fermarsi, in maniera da permettere di esaminare il risultato del comando. Ci sono tre possibili impostazioni per questa variabile:

Mai. Significa che non si vuole vedere il risultato del comando. Se si sta usando la console Linux o FreeBSD o un xterm, ci sarà la possibilità di vedere il risultato del comando premendo C-o.
Su terminali stupidi. Si avrà il messaggio di pausa su quei terminali che non sono in grado di mostrare il risultato dell'ultimo comando eseguito (qualsiasi terminale che non sia un xterm o una console Linux o FreeBSD).
Sempre. Il programma si fermerà dopo l'esecuzione di tutti i comandi.

Altre opzioni

Operazioni prolisse. Quest'opzione decide se le operazioni di Copia, Spostamento o Cancellazione saranno prolisse (cioè se mostreranno una finestra di dialogo per ogni operazione). Se si ha un terminale lento potresti voler disabilitare quest'opzione. Viene automaticamente spenta se la velocità del proprio terminale è inferiore a 9600 bps.

Calcola totali. Se quest'opzione è abilitata, il Midnight Commander calcolerà i totali delle ampiezze in byte e il numero totale dei file prima di ogni operazione di Copia, Spostamento o Cancellazione. Questo genererà una barra di progressione più accurata a discapito di un po' di velocità. Quest'opzione non ha effetto se Operazioni prolisse è disabilitata.

Modelli della shell. Normalmente i comandi Seleziona, Deseleziona e Filtro usano espressioni regolari di tipo shell. Le seguenti conversioni vengono eseguite per ottenere questo risultato: '*' viene rimpiazzato da '.*' (zero o più caratteri); '?' viene rimpiazzato da '.' (esattamente un carattere) e '.' dal carattere letterale punto. Se l'opzione è disabilitata, allora le espressioni regolari sono quelle descritte in ed(1).

Autosalva configurazione. Se quest'opzione è abilitata, quando si esce dal Midnight Commander le opzioni configurabili del Midnight Commander vengono salvate nel file ~/.config/mc/ini.

Menu automatici. Se quest'opzione è abilitata, il menu utente sarà invocato alla partenza. Utile per creare menu per utenti non abituati a unix.

Usa editor interno. Se quest'opzione è abilitata, verrà usato l'editor integrato interno per modificare i file. Se l'opzione è disabilitata, verrà usato l'editor specificato dalla variabile ambiente EDITOR. Se nessun editor è stato specificato, verrà usato vi. Vedere la sezione editor di file interno.

Usa il visualizzatore interno. Se quest'opzione è abilitata, verrà usato il visualizzatore di file interno per visualizzare i file. Se l'opzione è disabilitata, verrà utilizzato il visualizzatore specificato dalla variabile ambiente PAGER. Se il visualizzatore non è definito, verrà usato il comando view. Vedere sezione visualizzatore file interno.

Completamento: visualizza tutto Normalmente il Midnight Commander mostra tutti i possibili completamenti se il completamento è ambiguo se si preme M-Tab una seconda volta, la prima completa per quanto possibile e, in caso di ambiguità, emette un suono. Se si vuole vedere tutti i possibili completamenti già alla pressione del primo M-Tab, abilitare quest'opzione.

Barre che girano. Se quest'opzione è abilitata, il Midnight Commander mostra una barra rotante nell'angolo in alto a destra come indicatore di progressione.

Navigazione stile Lynx. Se quest'opzione è abilitata, è possibile usare i tasti freccia per cambiare automaticamente directory se la selezione corrente è una subdirectory e se la riga di comando è vuota. Normalmente quest'opzione è spenta.

Cd segue i collegamenti. Quest'opzione, se impostata, fa in modo che il Midnight Commander segua la catena logica delle directory, quando si cambia la directory corrente in ogni pannello o usando il comando cd. Questo è il comportamento predefinito di bash. Quando non è impostata, il Midnight Commander segue la reale struttura della directory, perciò eseguendo cd .. se si è entrati in una directory attraverso un collegamento, ci porterà alla genitrice reale della directory corrente e non alla directory dov'era il collegamento.

Cancellazione sicura. Se quest'opzione è abilitata, la cancellazione non intenzionale dei file sarà più difficile. La preimpostazione della finestra di dialogo della conferma cambia da "Si" a "No". Normalmente quest'opzione è disabilitata.

Aspetto

La finestra di aspetto da la possibilità di cambiare l'aspetto generale dello schermo. Si può specificare la visibilità della barra dei menu, della riga dei comandi, della riga dei suggerimenti o della riga dei tasti funzione. Sulle console Linux o FreeBSD si può impostare quante righe siano visibili sulla finestra di uscita.

Il resto dell'area dello schermo viene usata per i due pannelli directory. Si può specificare se l'area venga divisa dai due pannelli in direzione verticale o orizzontale. La divisione può essere uguale o si può dividere in maniera asimmetrica.

Normalmente i contenuti dei pannelli directory sono visualizzati dello stesso colore, ma si può specificare se i permessi e i tipi di file siano evidenziati con speciali colori. Se l'evidenziazione dei permessi è abilitata, i campi permessi e modalità dello schermo valide per l'utente che usa il Midnight Commander sono evidenziati con il colore definito con la parolachiave selezionata. Se l'evidenziazione del tipo di file è abilitata, i file vengono colorati a seconda del tipo (per esempio directory, file core, eseguibili, ...).

Se l'opzione Mostra mini-stato è abilitata, una riga di informazioni di stato circa la voce correntemente selezionata viene mostrata sul fondo dei pannelli.

Conferme

In questo menu è possibile configurare le opzioni di conferma per la cancellazione e sovrascrittura dei file, esecuzione dei file premendo invio e per l'uscita dal programma.

Mostra bit

Viene usata per configurare la quantità dei caratteri visibili sullo schermo. Quest'impostazione può essere 7 bit, se il terminale/libreria_curses supporta solo sette bit in uscita, ISO-8859-1 se mostra tutti i caratteri nella mappa ISO-8859-1 e uscita completa a 8 bit per quei terminali che possono visualizzare tutti i caratteri a 8 bit.

Impara tasti

Questa finestra di dialogo permette di controllare e ridefinire i tasti funzione, i tasti freccia e alcuni altri tasti per farli funzionare correttamente sul terminale corrente. Spesso non funzionano dato che molti database di terminali sono incompleti o errati.

Ci si può muovere con il tasto Tab e con i tasti di movimento di vi ('h' sinistra, 'j' giù, 'k' su e 'l' destra). Una volta premuti e riconosciuti i tasti di movimento del cursore, si possono tranquillamente utilizzare.

E' possibile provare i tasti semplicemente premendoli ognuno. Quando si preme un tasto ed è riconosciuto correttamente, appare un OK accanto al nome di quel tasto. Una volta che il tasto è marcato OK, esso comincia a funzionare regolarmente, per esempio premendo il tasto F1, la prima volta controllerà il funzionamento, ma dopodiché mostrerà la schermata di aiuto. Lo stesso dicasi per i tasti freccia. Il tasto Tab dovrebbe funzionare sempre.

Se alcuni tasti non funzionano correttamente, non si vedrà apparire l'OK dopo la pressione di quel tasto. Allora è possibile ridefinirlo. Fatelo, premendo il bottone corrispondente al nome del tasto (con il mouse o premendo Invio o Spazio, dopo aver selezionato il bottone con Tab o con le frecce). Ecco che un messaggio apparirà richiedendo di premere quel tasto. Fatelo ed aspettate che la finestra sparisca. Se si vuole annullare, basta premere Esc una volta ed aspettare.

Quando si è finito con tutti i tasti, è possibile salvarli. Le definizioni dei tasti che si è ridefinito saranno scritte nella sezione [terminal:TERM] del vostro ~/.config/mc/ini file (dove TERM è il nome del terminale corrente). Le definizioni dei tasti che già funzionavano correttamente non vengono salvate.

FS virtuale

Quest'opzione permette di controllare l'impostazione della cache informazioni del file system virtuale.

Il Midnight Commander tiene in memoria le informazioni relative ad alcuni dei file system virtuali per accelerare l'accesso all'elenco dei file nel file system (per esempio, l'elenco dei file scaricato dai server ftp).

Inoltre, per accedere al contenuto dei file compressi (per esempio file tar compressi) il Midnight Commander deve creare un file temporaneo non compresso sul disco.

Siccome sia le informazioni in memoria che i file temporanei su disco occupano risorse, si può voler impostare i parametri delle informazioni della cache per ridurre l'uso delle risorse o per massimizzare la velocità di accesso ai file system usati spesso.

A causa del formato degli archivi tar, il filesystem tar necessita di leggere l'intero file solo per caricare le voci dei file. Dato che molti file tar sono compressi (i file tar non compressi sono una specie in via di estinzione), il file system tar deve decomprimere il file su disco, in una locazione temporanea per poi accedervi come un file tar normale.

Ora, visto che noi tutti amiamo navigare nei file e nei file tar dappertutto su disco, succede spesso che si lascia un file tar per poi rientrarvi successivamente. Siccome la decompressione è lenta, il Midnight Commander conserverà l'informazione in memoria per un tempo limitato, allo scadere del quale, tutte le risorse associate al file system verranno liberate. La scadenza predefinita è impostata a un minuto.

Il file system FTP (ftpfs) permette di navigare le directory su server FTP remoti. Esso possiede diverse opzioni.

Password ftp anonimo è la password utilizzata per accedere come "anonimo". Alcuni siti richiedono un indirizzo email valido. D'altra parte, probabilmente non si vuole dare il vostro indirizzo email reale a siti non di fiducia, specialmente se non si sta usando filtri anti spam.

L'ftpfs mantiene l'elenco della directory che scarica dal server ftp in una cache. Il tempo di scadenza della cache è configurabile con l'opzione scadenza cache directory ftpfs. Un valore basso per quest'opzione può rallentare ogni operazione sul file system ftp perché ogni operazione è accompagnata da una richiesta al server ftp.

E' possibile definire un host proxy per fare trasferimenti ftp. Notare che molti firewall moderni sono totalmente trasparenti almeno per i trasferimenti FTP passivi (vedere di seguito), perciò i proxy ftp sono considerati obsoleti.

Se usa sempre ftp proxy non è impostata, è possibile usare il punto escamativo per abilitare il proxy per certi host. Vedere la sezione file system FTP per gli esempi.

Se quest'opzione è impostata, il programma farà due cose: consulterà il file /etc/mc/mc.no_proxy per le righe contenenti nomi host locali (se il nome host comincia con un punto, è considerato un dominio) e assumendo che ogni nome host senza punti nel nome sia direttamente accessibile. Tutti gli altri host verranno contattati attraverso il proxy host specificato.

E' possibile abilitare l'uso del file ~/.netrc che mantiene i nomi di accesso e le password per i server ftp. Vedere netrc (5) per una descrizione del formato .netrc.

Usa modalità passiva abilita l'uso della modalità FTP passiva quando la connessione per il trasferimento file è iniziata dal client, non dal server. Quest'opzione è raccomandata e preimpostata. Se quest'opzione è spenta, la connessione dati viene iniziata dal server. Questo potrebbe non funzionare con alcuni firewall.

Salva configurazione

Alla partenza il Midnight Commander prova a caricare le informazioni di inizializzazione dal file ~/.config/mc/ini. Se questo file non esiste, caricherà le informazioni dal file di configurazione di sistema posizionato in /usr/share/mc/mc.ini. Se il file di configurazione di sistema non esiste, MC userà le impostazioni predefinite.

Il comando salva configurazione crea il file ~/.config/mc/ini salvando le impostazioni correnti dei menu sinistra, destra e opzioni.

Se si attiva l'opzione autosalva configurazione, MC salverà sempre le impostazioni correnti all'uscita.

Esistono anche impostazioni che non possono essere cambiate dai menu. Per cambiare queste impostazioni è necessario modificare il file di configurazione con il vostro editor preferito. Vedere sezione impostazioni speciali per ulteriori informazioni.

Esecuzione comandi del sistema operativo

E' possibile eseguire comandi del sistema operativo direttamente nella riga di comando del Midnight Commander o selezionando il programma che si vuole eseguire con la barra di selezione in uno dei pannelli e premendo Invio.

Se si preme Invio su di un file che non è eseguibile, il Midnight Commander confronta l'estensione del file selezionato con ciò che trova nel file estensioni. Se viene trovata una corrispondenza, verrà eseguito il codice associato. Verrà eseguita una semplice espansione di macro prima di eseguire il comando.

Il comando cd interno

Il comando cd non viene passato alla shell per l'esecuzione ma viene interpretato dal Midnight Commander. Perciò esso non può gestire tutte quelle simpatiche espansioni di macro e sostituzioni che fa la shell, malgrado alcune le possa ancora fare:

Sostituzione della tilde. La (~) verrà sostituita con la vostra directory home e se si appende un nome utente dopo la tilde, allora verrà sostituita con la directory di login dell'utente indicato.

Per esempio, ~ospite è la directory home dell'utente ospite, mentre ~/ospite è la directory ospite nella vostra home directory.

Directory precedente. E' possibile saltare alla directory dove si era precedentemente usando il nome directory speciale '-' così: cd -

Directory CDPATH. Se la directory indicata al comando cd non è nella directory corrente, il Midnight Commander userà il valore della viariabile ambiente CDPATH per cercare la directory in ognuna delle directory nominate.

Per esempio si può impostare la variabile CDPATH a ~/src:/usr/src, permettendo di cambiare directory verso ognuna delle directory presenti nelle directory ~/src e /usr/src da qualunque parte nel file system (per esempio cd linux vi porterà in /usr/src/linux).

Sostituzione di macro

Quando si accede ad un menu utente, o si esegue un comando dipendente dall'estensione, o si esegue un comando dalla riga di ingresso, viene eseguita una semplice sostituzione di macro.

Le macro sono:

%i
Indentazione di spazi, uguale alla colonna della posizione del cursore. Solo per la modifica menu.
%y
Il tipo di sintassi del file corrente. Solo per la modifica menu.
%k
Nome del file di blocco.
%e
Nome del file di errore.
%m
Nome del menu corrente.
%fe%p
Nome del file corrente.
%x
L'estensione del file corrente.
%b
Nome del file corrente ma senza estensione.
%d
Nome della directory corrente.
%F
Il file corrente nel pannello non selezionato.
%D
La directory corrente nel pannello non selezionato.
%t
I file attualmente marcati.
%T
I file attualmente marcati nel pannello non selezionato.
%ue%U
Simili alle macro %t e %T, in aggiunta i file vengono deselezionati. E' possibile usare questa macro solo una volta per voce di menu file o per voce di file estensione, dato che la volta successiva non ci saranno file marcati.
%se%S
I file selezionati se ce ne sono. Altrimenti il file corrente.
%cd
Questa è una macro speciale usata per cambiare la directory corrente alla directory specificata di fronte ad essa. Usata principalmente come interfaccia al file system virtuale.
%view
Questa macro serve per invocare il visualizzatore interno. Può essere usata da sola o con argomenti. Se si passa argomenti a questa macro, questi dovrebbero essere racchiusi da parentesi.
Gli argomenti sono: ascii per forzare il visualizzatore in modo ascii; hex per forzare il visualizzatore in modo esadecimale; nroff per dire al visualizzatore che deve interpretare le sequenze di grassetto e sottolineato di nroff; unformatted per dire al visualizzatore di non interpretare i comandi nroff per rendere il testo grassetto o sottolineato.
%%
Il carattere %
%{testo}
Visualizza una richiesta di sostituzione. Viene mostrata una finestra contenente il testo all'interno delle graffe. La macro viene sostituita dal testo immesso dall'utente. L'utente può premere ESC o F10 per annullare. Questa macro non funziona ancora sulla riga di comando.
%var{ENV:default}
Se la variabile di ambiente ENV non è impostata, la sostituzione prenderà default. Altrimenti, verrà sostituito il valore di ENV.

Supporto alla subshell

Il supporto alla subshell è una opzione di compilazione che lavora con le seguenti shell: bash, tcsh e zsh.

Quando il codice di subshell è attivato il Midnight Commander genererà un processo copia concorrente della shell (quella definita dalla variabile SHELL e se non è definita, prenderà quella presente nel file /etc/passwd) e lo eseguirà in un pseudo terminale; invece di invocare una nuova shell ogniqualvolta si esegue un comando, il comando verrà passato alla subshell come se lo si avesse battuto personalmente. Questo permette di cambiare le variabili di ambiente, usare funzioni della shell e definire alias che rimangono validi fintanto che non si esca dal Midnight Commander.

Se si sta usando bash si può specificare comandi alla partenza della subshell nel file ~/.local/share/mc/bashrc e mappature speciali della tastiera nel file ~/.local/share/mc/inputrc. tcsh gli utenti possono specificare comandi alla partenza nel file ~/.local/share/mc/tcshrc.

Quando il codice della subshell viene utilizzato, si può sospendere l'applicazione in ogni momento con la sequenza C-o e saltare nuovamente al Midnight Commander; se si interrompe un'applicazione, non si sarà in grado di eseguire altri comandi esterni finché non si esce dall'applicazione interrotta.

Una caratteristica aggiuntiva dell'usare la subshell è data dal fatto che il prompt mostrato dal Midnight Commander sarà lo stesso di quello utilizzato dalla shell.

La sezione OPZIONI contiene informazioni aggiuntive riguardo come controllare il codice della subshell.

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.

La finestra dei Permessi ha 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 c'è un set di caselle che corrispondono agli attributi dei file. Come 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 può usare anche i tasti di scelta rapida sui bottoni per attivarli velocemente. I tasti di scelta rapida corrispondono alle lettere evidenziate dei bottoni.

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 il tasto [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.

Proprietario avanzato

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

Operazioni sui file

Quando si copia, sposta o cancella dei file il Midnight Commander mostra la finestra di operazioni sui file. Essa mostra i file sui cui si sta operando attualmente e ci possono essere fino a tre barre di progressione. La barra file mostra quanta parte del file corrente è stata copiata. La barra conteggio mostra quanti dei file selezionati sono stati gestiti. La barra byte comunica quanto dell'ampiezza totale dei file selezionati è stata elaborato. Se l'opzione operazioni prolisse è deselezionata, non verranno mostrate la barra file e la barra byte.

Ci sono due bottoni sul fondo della finestra di dialogo. Premendo il tasto Salta si salterà il resto del file. Premendo il tasto Esci si bloccherà tutta l'operazione ed il resto dei file saranno ignorati.

Ci sono tre altre finestre di dialogo che si possono incontrare durante le operazioni sui file.

La finestra di dialogo di errore informa circa le condizioni di errore ed ha tre scelte. Normalmente si seleziona il tasto Salta per saltare il file o Esci per bloccare l'operazione. E' possibile anche selezionare il tasto Riprova se nel frattempo si ha risolto il problema da un'altro terminale.

La finestra di dialogo di rimpiazzo viene mostrata quando si tenta di copiare o spostare un file sopra un file esistente. La finestra mostra la data e la dimensione di tutti e due i file. Premere il tasto Si per rimpiazzare il file, No per saltare il file, Tutti per sovrascrivere tutti i file, Nessuno per non sovrascriverli mai e Aggiorna per sovrascriverli solo se il file sorgente è più recente del file di destinazione. E' possibile bloccare l'intera operazione premendo il tasto Esci.

La finestra di dialogo della cancellazione ricorsiva appare quando si tenta di cancellare una directory che non è vuota. Premere il tasto Si per cancellare la directory ricorsivamente o No per saltare la directory, il tasto Tutto per cancellare tutte le directory non vuote e Nessuno per saltare tutte le directory non vuote. Per fermare l'intera operazione premere il tasto Esci. Se si seleziona il tasto Si o Tutto verrà richiesta una conferma. Premere "si" solo se si è veramente sicuri di voler fare una cancellazione ricorsiva.

Se si hanno dei file marcati e si esegue un'operazione su di essi, solo i file sui quali l'operazione ha avuto successo verranno deselezionati. I file su cui è fallita l'operazione o che sono stati saltati vengono lasciati marcati.

Maschera Copia/Rinomina

L'operazione di copia/rinomina permette di cambiare il nomi dei file in maniera semplice. Per farlo, è necessario specificare la maschera di sorgente corretta e generalmente, nella parte finale della destinazione, specificare alcuni caratteri jolly. Tutti i file corrispondenti alla maschera sorgente sono copiati/rinominati secondo la maschera destinazione. Se ci sono file marcati, vengono rinominati solo i file marcati che corrispondono alla maschera sorgente.

Queste le opzioni che possono essere impostate:

Segue i collegamenti, specifica se creare i collegamenti simbolici o no (hard link), presenti nella directory sorgente (e ricorsivamente nelle sue sotto directory) come nuovi collegamenti oppure se invece si desidera che venga copiato il loro contenuto.

In una sottodir se esiste già, specifica cosa fare se nella directory obiettivo esiste una directory con lo stesso nome del file/directory in copia. L'azione predefinita è di copiare il suo contenuto in quella directory, ma selezionando quest'opzione si può copiare la directory sorgente in questa directory. Forse un esempio aiuterà:

Si vuole copiare il contenuto di una directory pallo su /pinco/pallo, che è una directory che esiste già. Normalmente (quando l'opzione non è impostata), mc farebbe la copia in /pinco/pallo. Abilitando quest'opzione verrà eseguita la copia in /pinco/pallo/pallo, perché la directory esiste già.

Mantiene gli attributi, specifica se si vuole preservare i permessi originali del file, le date e se si è l'utente root, gli attributi UID e GID. Se quest'opzione non è impostata verrà rispettato il valore corrente di umask.

Usa i modelli della shell, opzione abilitata

Quando l'opzione dei modelli della shell è abilitata è possibile usare i caratteri jolly '*' e '?' nella maschera sorgente. Questi lavorano come nella shell. Nella maschera obbiettivo sono permessi solo i caratteri jolly '*' e '\<cifra>'. Il primo carattere jolly '*' nella maschera obbiettivo corrisponde al primo gruppo di caratteri jolly nella maschera sorgente, il secondo '*' al secondo gruppo e così via. Il carattere jolly '\1' corrisponde al primo gruppo di caratteri jolly nella maschera sorgente, '\2' corrisponde al secondo gruppo e così via fino al '\9'. Il carattere jolly '\0' rappresenta tutto il nome del file sorgente.

Due esempi:

Se la maschera sorgente è "*.tar.gz", la destinazione è "/bla/*.tgz" e il file da copiare è "foo.tar.gz", la copia sarà "foo.tgz" in "/bla".

Supponiamo si voglia scambiare la base e l'estensione di un file cosicché "file.c" divenga "c.file" e così via. La maschera sorgente per questa operazione sarà "*.*" e la destinazione sarà "\2.\1".

Usa i modelli della shell, opzione disabilitata

Quando l'opzione dei modelli della shell è disabilitata, MC non esegue più il raggruppamento automatico. E' necessario usare espressioni tipo '\(...\)' nella maschera sorgente per dare significato ai caratteri jolly nella maschera obbiettivo. Altrimenti le maschere obbiettivo si trovano nella situazione di quando i modelli della shell sono abilitati.

Due esempi:

Se la maschera sorgente è "^\(.*\)\.tar\.gz$", la destinazione è "/bla/*.tgz" e il file da copiare è "foo.tar.gz", la copia sarà "/bla/foo.tgz".

Supponiamo che si voglia scambiare la base e l'estensione di un file cosicché "file.c" divenga "c.file" e così via. La maschera sorgente per questa operazione sarà "^\(.*\)\.\(.*\)$" e la destinazione sarà "\2.\1".

Conversioni Maiuscole/Minuscole

E' anche possibile cambiare tra maiuscole e minuscole i caratteri dei file. Se si usa '\u' o '\l' nella maschera obbiettivo, il carattere successivo sarà convertito rispettivamente in maiuscolo o minuscolo.

Se si usa '\U' o '\L' nella maschera obbiettivo, il caratteri successivi saranno convertiti rispettivamente in maiuscolo o minuscolo fino alla prossima corrispondenza di '\E' o '\U', '\L' o alla fine del nome del file.

Notare che '\u' e '\l' sono più forti di '\U' e '\L'.

Per esempio, se la maschera sorgente è '*' (modelli della shell abilitati) o '^\(.*\)$' (modelli della shell disabilitati) e la maschera obbiettivo è '\L\u*' i nomi dei file saranno convertiti ad avere maiuscola iniziale ed il resto minuscolo.

Si può usare '\' come carattere di protezione. Per esempio, '\\' è una barra retroversa e '\*' è un asterisco.

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, 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. E' possibile mescolare testo protetto con costanti come nell'esempio:

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

Notare che 012 è un numero ottale. -1 viene convertito in 0xFF.

Alcuni dettagli interni circa il visualizzatore: su sistemi che forniscono la chiamata di sistema mmap(2), il programma mappa il file invece di caricarlo; se il sistema non fornisce la chiamata di sistema mmap(2) o il file corrisponde ad un'azione che richiede un filtro, allora il visualizzatore userà i buffer di accrescimanto (growing), caricando perciò solo le parti del file su cui vi si accede (inclusi i file compressi).

Ecco un'elenco di azioni associate ad ogni tasto che il Midnight Commander gestisce nel visualizzatore di file interno.

F1 Invoca il visualizzatore ipertestuale dell'aiuto.

F2 Abilita/disabilita la funzione di a capo automatico.

F4 Abilita/disabilita la modalità esadecimale.

F5 Vai alla riga. Questo comando richiederà un numero di riga e mostrerà quella riga.

F6, /. Ricerca tramite espressione regolare.

?, Ricerca in ordine inverso, tramite espressione regolare.

F7 Ricerca normale / ricerca in modalità esadecimale.

C-s, F17, n. Inizia una ricerca normale, se non c'era già un'espressione di ricerca, altrimenti trova la prossima occorrenza.

C-r. Inizia una ricerca normale in ordine inverso, se non c'era già un'espressione di ricerca, altrimenti trova la prossima occorrenza.

F8 Cambia tra modalità Normale/Filtrata: questo mostrerà il file come si trova su disco o se è stato specificato un filtro nel file mc.ext.ini, come esce dal filtro. La modalità corrente è sempre quella diversa da quella mostrata dall'etichetta del tasto, dato che il bottone rappresenta la modalità nella quale si entra premendolo.

F9 Cambia tra modalità non formattata e formattata: quando la modalità è formattata, il visualizzatore interpreterà alcune sequenze di stringa per rappresentare il grassetto e il sottolineato con colori diversi. Anche per questa funzione, l'etichetta sul tasto rappresenta la modalità non corrente.

F10, Esc. Esce dal visualizzatore di file interno.

pagina-giù, spazio, C-v. Sfoglia di una pagina in avanti.

pagina-sù, M-v, C-b, backspace. Sfoglia di una pagina indietro.

freccia-in-basso Si sposta di una riga in avanti.

up-key Si sposta di una riga indietro.

C-l Ridisegna lo schermo.

C-o Passa alla subshell e mostra la schermata dei comandi.

[n] m Imposta l'indice n.

[n] r Salta all' indice n.

C-f Salta al file successivo.

C-b Salta al file precedente.

M-r Abilita/disabilita il righello.

E' anche possibile istruire il visualizzatore su come mostrare un file, vedere la sezione modifica file estensioni.

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; 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 mcedit.clip e Shift-Ins incolla da mcedit.clip. Shift-Del taglia in mcedit.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.

Per definire una macro, premere Ctrl-R poi premere i tasti che si voglia essere eseguiti. Premere nuovamente Ctrl-R quando si ha finito. E' possibile assegnare una macro a qualsiasi tasto si preme. La macro viene eseguita quando si preme Ctrl-A e poi il tasto assegnato. La macro viene eseguita anche se si preme il tasto Meta, Ctrl, o Esc e il tasto assegnato, basta che il tasto non sia già assegnato a qualche altra funzione. Una volta definiti, i macro comandi finiscono nel file ~/.local/share/mc/mcedit/mcedit.macros nella propria directory home. E' possibile cancellare una macro cancellando la riga appropriata nel suddetto file.

F19 formatterà il blocco evidenziato correntemente (testo, codice C o C++ o altro). Questo comportamento viene controllato dal file /usr/share/mc/edit.indent.rc che viene copiato nel ~/.local/share/mc/mcedit/edit.indent.rc nella propria directory home la prima volta che lo si usa.

L'editor visualizza snche caratteri non-americani (160+). Quando si modifica file binari, si dovrebbe impostare mostra bit a 7 bit nel menu opzioni, per mantenere la spaziatura pulita.

Completamento

Ovvero lascia che il Midnight Commander scriva per te.

Tentativi per eseguire un completamento del testo prima della posizione corrente. MC tenta il completamento trattando il testo come una variabile (se il testo comincia con $), nomeutente (se il testo comincia con ~), nomehost (se il testo comincia con @) o comando (se si è sulla riga di comando nell'atto di battere un comando, allora possibili completamenti includerebbero parole riservate e comandi integrati della shell). Se nessuno di questi produce una corrispondenza, viene tentato un completamento del nome del file.

Completamenti di nomefile, nomeutente, variabili e nomehost funzionano su tutte le righe di ingresso, il completamento dei comandi invece è specifico della riga di comando. Se il completamento è ambiguo (ci sono più possibilità differenti), MC emette un suono e l'azione seguente dipenderà a seconda delle impostazioni dell'opzione completamento: visualizza tutto nella finestra configurazione. Se è abilitata, un elenco di tutte le possibilità viene mostrato vicino alla posizione corrente per poter selezionare con i tasti freccia e Invio la voce corretta. Si può anche battere le prime lettere nelle quali le varie possibilità differiscono per muoversi in un sottoinsieme di tutte le possibilità e completare il più possibile. Se si preme nuovamente M-Tab, verrà mostrato solo il sottoinsieme nella finestra dell'elenco, altrimenti la prima voce che corrisponde a tutti i caratteri precedenti verrà evidenziata. Non appena non c'è più ambiguità, la finestra scompare, ma la si può nascondere con i tasti di cancellamento Esc, F10 e i tasti di freccia sinistra e destra. Se completamento: visualizza tutto è disabilitato, la finestra viene mostrata solo se si preme M-Tab una seconda volta; la prima volta MC emette solo un suono.

File system virtuale

Il 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 al Midnight Commander di manipolare file all'interno di un file system non di tipo Unix.

Attualmente il Midnight Commander 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.

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 manipolare file 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 il Midnight Commander tenterà di collegarsi alla macchina remota come 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 Tar

Il file system tar fornisce un accesso in sola lettura ai file tar e tar compressi usando il comando chdir. Per cambiare la directory corrente al file tar usare la seguente sintassi:

/nomefile.tar/utar://[dir-dentro-tar]

Il file mc.ext.ini già fornisce un collegamento per il file tar; ciò significa che normalmente basta selezionare un file tar e premere invio per entrare nel file tar, vedere la sezione modifica file estensioni per i dettagli su come questo viene fatto.

Esempi:


mc-3.0.tar.gz/utar://mc-3.0/vfs
/ftp/GCC/gcc-2.7.0.tar/utar://

L'ultima riga, specifica il percorso completo dell'archivio tar.

Trasferimento di file su FIlesystem di SHell (FISH)

Il file system fish è un file system basato sulla rete che permette di manipolare i file di una macchina remota come fossero locali. Per usarlo, l'altra parte deve avere un server fish o avere una shell compatibile bash.

Per collegarsi ad una macchina remota, basta solo fare cd in una speciale directory il cui nome ha il seguente formato:

sh://[utente@]macchina[:opzioni]/[dir-remota]
Gli elementi utente, opzioni e dir-remota sono opzionali. Se si specifica l'elemento utente allora il Midnight Commander tenterà di connettersi alla macchina remota con quell'utente, altrimenti userà il nome di login.

Le opzioni sono 'C' - usa la compressione e 'rsh' per usare rsh invece di ssh. Se l'elemento dir-remota è presente, la directory corrente sulla macchina remota sarà impostata a questo valore.

Esempi:


sh://solorsh.mx:r/linux/locale
sh://joe@vuole.lacompressione.edu:C/privato
sh://joe@noncompresso.ssh.edu/privato

Recupero file cancellati

Su sistemi Linux, se si richiede, tramite configure, di usare la caratteristica di undelete del file system ext2, si avrà accesso al file system di recupero file cancellati. Il recupero file cancellati è disponibile solo su file system di tipo ext2. Il file system è solo un'interfaccia alla libreria ext2fs che: recupera tutti i nomi dei file cancellati su un fs ext2 e fornisce ed estrae i file selezionati in una partizione normale.

Per usare questo file system, è necessario entrare nella directory con il nome speciale formato dal prefisso "undel://" e dal nome del file system dove il file risiede.

Per esempio, per recuperare file cancellati sulla seconda partizione del primo disco SCSI su Linux, si dovrà usare il seguente percorso:


undel://sda2

Il recupero può metterci un po' di tempo per caricare le informazioni necessarie per poter cominciare a navigare attraverso i file.

EXTernal File System

extfs allows to integrate numerous features and file types into GNU Midnight Commander in an easy way, by writing scripts.

Extfs filesystems can be divided into two categories:

1. Stand-alone filesystems, which are not associated with any existing file. They represent certain system-wide data as a directory tree. You can invoke them by typing 'cd fsname://' where fsname is an extfs short name (see below). Examples of such filesystems include audio (list audio tracks on the CD) or apt (list of all Debian packages in the system).

For example, to list CD-Audio tracks on your CD-ROM drive, type


cd audio://

2. 'Archive' filesystems (like rpm, patchfs and more), which represent contents of a file as a directory tree. It can consist of 'real' files compressed in an archive (urar, rpm) or virtual files, like messages in a mailbox (mailfs) or parts of a patch (patchfs). To access such filesystems 'fsname://' should be appended to the archive name. Note that the archive itself can be on another vfs.

For example, to list contents of a zip archive documents.zip type


cd documents.zip/uzip://

In many aspects, you could treat extfs like any other directory. For instance, you can add it to the hotlist or change to it from directory history. An important limitation is that you cannot invoke shell commands inside extfs, just like any other non-local VFS.

Common extfs scripts included with Midnight Commander are:

access 'A:' DOS/Windows diskette (cd a://).
front end to Debian's APT package management system (cd apt://).
audio CD ripping and playing (cd audio:// or cd device/audio://).
package of Bad Penguin GNU/Linux distribution (cd file.bpp/bpp://).
package of Debian GNU/Linux distribution (cd file.deb/deb://).
Debian GNU/Linux installed packages (cd deb://).
view and copy files to/from a HP48 calculator (cd hp48://).
browsing of lslR listings as found on many FTPs (cd filename/lslR://).
mbox-style mailbox files support (cd mailbox/mailfs://).
extfs to handle unified and context diffs (cd filename/patchfs://).
RPM package (cd filename/rpm://).
RPM database management (cd rpms://).
archivers (cd archive/xxxx:// where xxxx is one of: ulha, urar, uzip, uzoo, uar, uha).

You could bind file type/extension to specified extfs as described in the Edit Extension File section. Here is an example entry for Debian packages:


regex/.deb$
Open=%cd %p/deb://

Colori

Il Midnight Commander tenta di stabilire se il terminale corrente supporta i colori usando il database dei terminali e il nome del terminale corrente. Capita che possa sbagliarsi, perciò si può essere costretti a forzare la modalità a colori o a disabilitarla usando rispettivamente le opzioni -c e -b.

Se il programma è compilato con il manager dello schermo S-Lang invece che ncurses, controllerà se è impostata anche la variabile COLORTERM, con lo stesso effetto dell'opzione -c.

E' possibile specificare i terminali su cui si vuole forzare sempre la modalità colore aggiungendo la variabile color_terminals nella sezione Colors del file di inizializzazione. Questo previene il Midnight Commander dal tentare di controllare se il terminale supporta i colori. Per esempio:

[Colors]
color_terminals=linux,xterm
color_terminals=nome_terminale-1,nome-terminale-2...

Il programma può essere compilato sia con il supporto di ncurses che di S-Lang ma ncurses non fornisce alcun modo per forzare la modalità colore: ncurses userà solo le informazioni nel database dei terminali.

Il Midnight Commander fornisce un modo per cambiare i colori predefiniti. Attualmente i colori sono configurati usando la variabile ambiente MC_COLOR_TABLE o la sezione Colors nel file di inizializzazione.

Nella sezione Colors, la mappa dei colori predefinita viene caricata dalla variabile base_color. Si può specificare una mappa colori alternativa per un terminale usando il nome del terminale come chiave nella sezione. Esempio:

[Colors]
base_color=
xterm=menu=magenta:marked=,magenta:markselect=,red

Il formato della definizione dei colori è:


<parolachiave>=<coloreprimopiano>,<coloresfondo>:<parolachiave>= ...

I colori sono opzionali e le parolechiave sono: normal, selected, marked, markselect, errors, input, reverse, gauge. I colori dei menu sono: menunormal, menusel, menuhot, menuhotsel, menuinactive. I colori delle finestre di dialogo sono: dnormal, dfocus, dhotnormal, dhotfocus. I colori dell'aiuto sono: helpnormal, helpitalic, helpbold, helplink, helpslink. Il colore del visualizzatore è: viewunderline. Colori speciali di evidenziazione: executable, directory, link, device, special, core. I colori dell'viewer sono: viewnormal, viewbold, viewunderline, viewselected. I colori dell'editor sono: editnormal, editbold, editmarked.

input determina il colore delle righe di input usate delle finestre di dialogo.

gauge determina il colore della parte riempita della barra di progressione (gauge), che mostra quanta percentuale del file è stata copiata o altro in forma grafica.

Le finestre di dialogo usano i colori seguenti: dnormal usata per il testo normale, dfocus è il colore usato per il componente correntemente selezionato, dhotnormal è il colore usato per differenziare il tasto di scelta rapida nei componenti normali, mentre il colore dhotfocus viene usato per il colore evidenziato nel componente correntemente selezionato.

I menu usano lo stesso schema ma usano invece i selettori menunormal, menusel, menuhot, menuhotsel e menuinactive.

L'aiuto usa i seguenti colori: helpnormal viene usato per il testo normale, helpitalic viene usato per il testo enfatizzato con il corsivo nelle pagine del manuale, helpbold viene usato per il testo enfatizzato con il grassetto nelle pagine del manuale, helplink viene usato per un collegamento non selezionato e helpslink viene usato per un collegamento selezionato.

I colori speciali di evidenziazione determinano come i file vengono visualizzati quando l'evidenziazione dei file è abilitata (vedere sezione aspetto). directory usata per directory o collegamenti simbolici a directory; executable per il file eseguibili; link viene usata per i collegamenti simbolici che non sono nè interrotti nè connessi a directory; stalelink usata per collegamenti simbolici interrotti; device - dispositivi a caratteri e blocchi; special usata per i file speciali, come pipe e socket; core usata per i file core.

I colori possibili sono: black, gray, red, brightred, green, brightgreen, brown, yellow, blue, brightblue, magenta, brightmagenta, cyan, brightcyan, lightgray e white. Inoltre c'è una speciale parola chiave per lo sfondo trasparente. Essa è 'default'. Il 'default' può essere usato solo come colore di sfondo. Esempio:

[Colors]
base_color=normal=white,default:marked=magenta,default

Impostazioni speciali

Molte delle impostazioni del Midnight Commander possono essere cambiate dai menu. Comunque, c'è un piccolo numero di impostazioni che possono essere cambiate solo agendo sul file di configurazione.

Queste sono le variabili che possono essere impostate nel file ~/.config/mc/ini:

Il valore predefinito del Midnight Commander è di cancellare lo schermo prima dell'esecuzione di un comando. Se si preferisce vedere il risultato di un comando in fondo allo schermo, si modifichi la copia locale del file ~/.config/mc/ini e si cambi il valore del campo clear_before_exec a 0.
Se si preme F3 su di una directory, normalmente MC entra nella directory. Se questa opzione è impostata a 1, MC chiederà una conferma prima di cambiare directory se si hanno dei file marcati.
Questo valore è il numero di secondi che il Midnight Commander aspetta prima di tentare di riconnettersi ad un ftp server che ha negato l'autenticazione. Se il valore è zero, l'autenticazione non verrà ritentata.
Specifica al massimo quanti aggiornamenti possono essere saltati nel visualizzatore di file interno. Normalmente questo valore non è significativo, dato che il codice automaticamente aggiusta il numero da saltare a seconda della velocità con cui arrivano le pressioni dei tasti. Comunque, su macchine molto lente o su terminali con un'auto ripetizione dei tasti molto veloce, un grande valore può rendere gli aggiornamenti dello schermo troppo instabili.
Sembra che impostare max_dirt_limit a 10 porta i migliori risultati, e questo è il valore predefinito.
Controlla il fatto che lo scorrimento con il mouse sui pannelli sia fatto per pagine o per righe.
Controlla se lo scorrimento del mouse nel visualizzatore di file interno sia fatto per pagine o per righe.
Normalmente il Midnight Commander tratta il tasto ESC come un prefisso (old_esc_mode=0), ma se si imposta quest'opzione (old_esc_mode=1), allora il tasto ESC agirà come un tasto di prefisso per un secondo, e se non vengono premuti altri tasti, allora il tasto ESC sarà interpretato come un tasto di cancellazione (ESC ESC).
Permette una gestione speciale per '+', '-', '*' nella riga di comando (selezione, deselezione, selezione inversa) solo se la riga di comando è vuota. Non è necessario proteggere questi caratteri nel mezzo della riga di comando ma non è possibile cambiare selezione se la riga di comando non è vuota.
Se impostata (valore predefinito), i pannelli scorrono di metà quando il cursore raggiunge la fine o l'inizio del pannello, altrimenti scorrono di un file per volta.
Questa variabile lavora solo se non si sta usando il supporto della subshell. Quando si usano i tasti C-o per tornare allo schermo utente, se quest'opzione è impostata, si avrà una nuova shell. Altrimenti, premendo qualsiasi tasto si tornerà al Midnight Commander.
Se quest'opzione è impostata, allora i tasti inizio e fine lavoreranno leggermente differentemente sui pannelli. Invece che muovere le selezioni al primo e ultimo file del pannello, agiranno nel modo seguente:
Il tasto inizio: va alla riga centrale, se sotto di essa, altrimenti va alla riga in cima a meno che non ci sia già; in tal caso andrà al primo file del pannello.
Il tasto fine ha un comportamento simile: va giù alla riga centrale se era sopra di essa, altrimenti va alla riga di fondo a meno che non ci sia già; in tal caso sposterà la selezione all'ultimo file del pannello.
Se questa variabile è abilitata (valore predefinito) userà il comando file per trovare delle corrispondenze sui tipi di file elencati nel file mc.ext.ini.
Se questa variabile è impostata (il valore predefinito è no) quando si naviga il file system su un pannello ad albero, automaticamente ricaricherà l'altro pannello con il contenuto della directory selezionata.

Database di terminali

Il Midnight Commander fornisce una maniera per correggere il database dei terminali si sistema senza richiedere i privilegi di amministratore (root). Il Midnight Commander ricerca nel file di inizializzazione di sistema (il file mc.lib collocato nella directory di libreria del Midnight Commander) e nel file ~/.config/mc/ini la sezione "terminal:nome-del-terminale-in-uso" e poi la sezione "terminal:general", ogni riga della sezione contiene il simbolo chiave che si vuol definire, seguito da un segno di uguale e la definizione per quel tasto. E' possibile usare la forma speciale \e per rappresentare il carattere di escape e ^x per rappresentare il carattere control-x.

I simboli chiave possibili sono:

f0 a f20      tasti funzione f0-f20
bs	      backspace
home          tasto inizio
end           tasto fine
up            tasto freccia in su
down          tasto freccia in giù
left          tasto freccia a sinistra
right         tasto freccia a destra
pgdn          tasto pagina in giù
pgup          tasto pagina in su
insert        tasto inserimento
delete        tasto cancellazione
complete      per fare il completamento

Per esempio, per definire il tasto di inserimento come escape + [ + O + p impostare il seguente nel file ini:

insert=\e[Op

Il tasto di completamento rappresenta le sequenze di escape usate per invocare il processo di completamento, invocato tramite M-tab, ma ridefinibile ad altri tasti per fare lo stesso lavoro (su quelle tastiere con tonnellate di simpatici tasti dappertutto).

FILE

Il programma recupera tutte le informazioni relative al proprio funzionamento dalla variabile ambiente MC_DATADIR, e se la variabile non è impostata, passerà alla directory /usr/share/mc .

/usr/share/mc/help/mc.hlp

Il file di aiuto per il programma.

/usr/share/mc/mc.ext.ini

Il file delle estensioni di sistema predefinito.

~/.config/mc/mc.ext.ini

Le estensioni dell'utente, la configurazione del visualizzatore e dell'editor di file. Se presenti, questi file si sovrappongono ai file di sistema.

/usr/share/mc/mc.ini

La configurazione di sistema predefinita per il Midnight Commander, usata solo se l'utente non possiede il proprio file ~/.config/mc/ini.

/usr/share/mc/mc.lib

Le impostazioni globali per il Midnight Commander. La modifica di questo file influisce su tutti gli utenti, che abbiano o no il file ~/.config/mc/ini . Attualmente vengono caricate solo le impostazioni del terminale da mc.lib.

~/.config/mc/ini

La configurazione dell'utente. Se questo file è presente, la configurazione viene caricata da qui invece che dal file di sistema.

/usr/share/mc/hints/mc.hint

Questo file contiene i suggerimenti (dritte) mostrate dal programma.

/usr/share/mc/mc.menu

Questo file contiene il menu di sistema per le applicazioni.

~/.config/mc/menu

Il menu utente per le applicazioni. Se presente viene usato al posto del menu delle applicazioni di sistema.

~/.cache/mc/Tree

L'elenco di directory per l'albero directory e per la vista ad albero.

./.mc.menu

Menu locale definito dall'utente. Se questo file è presente viene usato al posto del menu delle applicazioni utente o di sistema.

To change default home directory of MC, you can use MC_PROFILE_ROOT environment variable. The value of MC_PROFILE_ROOT must be an absolute path. If MC_PROFILE_ROOT is unset or empty, HOME variable is used. If HOME is unset or empty, MC directories are get from GLib library.

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.

REPERIBILITA'

L'ultima versione di questo programma si trova su http://ftp.midnight-commander.org/.

VEDERE ANCHE

ed(1), gpm(1), terminfo(1), view(1), sh(1), bash(1), tcsh(1), zsh(1).

La pagina Web del Midnight Commander:
	https://www.midnight-commander.org/

AUTORI

Miguel de Icaza (miguel@ximian.com), Janne Kukonlehto (jtklehto@paju.oulu.fi), Radek Doulik (rodo@ucw.cz), Fred Leeflang (fredl@nebula.ow.org), Dugan Porter (dugan@b011.eunet.es), Jakub Jelinek (jj@sunsite.mff.cuni.cz), Ching Hui (mr854307@cs.nthu.edu.tw), Andrej Borsenkow (borsenkow.msk@sni.de), Norbert Warmuth (nwarmuth@privat.circular.de), Mauricio Plaza (mok@roxanne.nuclecu.unam.mx), Paul Sheer (psheer@icon.co.za), Pavel Machek (pavel@ucw.cz) e Pavel Roskin (proski@gnu.org) sono gli sviluppatori di questo pacchetto. Alessandro Rubini (rubini@ipvvis.unipv.it) ha dato un notevole contribuito nella correzione e nel miglioramento del supporto del mouse nel programma, John Davis (davis@space.mit.edu) ha reso disponibile la sua libreria S-lang sotto la licenza GPL e ha risposto alle mie domande su di essa; le seguenti persone hanno contribuito al codice e in molte correzioni (in ordine alfabetico):

Adam Tla/lka (atlka@sunrise.pg.gda.pl), alex@bcs.zp.ua (Alex I. Tkachenko), Antonio Palama, DOS port (palama@posso.dm.unipi.it), Erwin van Eijk (wabbit@corner.iaf.nl), Gerd Knorr (kraxel@cs.tu-berlin.de), Jean-Daniel Luiset (luiset@cih.hcuge.ch), Jon Stevens (root@dolphin.csudh.edu), Juan Francisco Grigera, port su piattaforma Win32 (j-grigera@usa.net), Juan Jose Ciarlante (jjciarla@raiz.uncu.edu.ar), Ilya Rybkin (rybkin@rouge.phys.lsu.edu), Marcelo Roccasalva (mfroccas@raiz.uncu.edu.ar), Massimo Fontanelli (MC8737@mclink.it), Sergey Ya. Korshunoff (seyko2@gmail.com), Thomas Pundt (pundtt@math.uni-muenster.de), Timur Bakeyev (timur@goff.comtat.kazan.su), Tomasz Cholewo (tjchol01@mecca.spd.louisville.edu), Torben Fjerdingstad (torben.fjerdingstad@uni-c.dk), Vadim Sinolitis (vvs@nsrd.npi.msu.su) e Wim Osterholt (wim@djo.wtm.tudelft.nl).

BACHI

Vedere il file TODO nella distribuzione per informazioni su quello che rimane ancora da fare.

Se si vuole fare un rapporto di un problema nel programma, si prega di spedire un messaggio di posta a questo indirizzo: mc-devel@lists.midnight-commander.org.

Nel rapporto è necessario fornire una descrizione dettagliata del baco, la versione del programma (mc -v mostra quest'informazione), il sistema operativo su cui si sta facendo girare il programma e, se il programma va in crash, è gradita una traccia dello stack.

August 2023 MC Version 4.8.30