Radek Chalupa   konzultace a školení programování, vývoj software na zakázku

Nové příspěvky z blogu

Využívejte Midnight Commander naplno

Midnight Commander je terminálový správce souborů v klasickém dvoupanelovém uspořádání (my pamětníci DOSsových časů pamatujeme Norton Commander, který přinesl toto dvoupanelové řešení).

Midnight Commander spojuje jednoduchost a intuitivnost pro nové uživatele s nabídkou mnoha pokročilých funkcí a možností pro zkušené uživatele vyžadující profesionální správce souborů

Ve svém výchozím nastavení je pro nového uživatele jednoduchý a intuitivní. Ve spodní části vidíme pruh základních funkčních kláves s číselným označením, kde zvýrazněné číslo znamená odpovídající funkční klávesu, tj. například F4 pro editaci aktuálně vybraného souboru. Nahoře pak vidíme rozbalovací lištu nabídky s pestrou nabídkou akcí a nastavení. Tuto nabídku lze aktivovat klávesou F9 a celé rozhraní aplikace ovládat pouze z klávesnice bez použití myši, jak je ostatně u terminálových aplikací běžné. Jednotlivé klávesové zkratky jsou uvedeny u položek hlavní nabídky, takže je dobré si postupem času ty nejčastěji používané zapamatovat. Na webu aplikace najdete také přehledný seznam klávesových zkratek.

Cílem tohoto článku není uvádět nějaký základní tutorial, kterých najdete na internetu několik, ale dále se zaměřím na některé pokročilejší možnosti a jak je použít a přizpůsobit vlastním potřebám.

Záložky

Midnight Commander umožňuje mít strukturovaný seznam záložek na zvolená umístění (včetně složek připojených přes sftp, ftp nebo ssh, jak uvidíme dále) pro rychlý přechod do těchto umístění.

Chceme=li přidat do záložek aktuální umístění, stiskneme klávesovou kombinaci "Ctrl-\". Otevře se nám dialog, který je intuitivní a umožňuje kromě přidání aktuálního umístění také odebírat či upravovat existující záložky, vytvářet podskupiny a přesouvat záložky mezi těmito podskupinami.

Uživatelská nabídka

Uživatelská nabídka, kterou aktivujeme klávesou F2, je nabídka dalších akcí které můžeme provádět na vybrané položce (složka, soubor) nebo více položkách (položky do vícenásobného výběru přidáváme klávesou Insert). Důležité je že tuto nabídku si můžeme upravit a přidat si do ní vlastní akce, takže můžeme nad soubory a složkami provádět libovolné vlastní akce, včetně spuštění externích příkazů a aplikací, kterým můžeme v parametrech předat nejen cestu k vybraným položkám, ale také cestu k umístění aktuálně otevřeném v druhém panelu, což dělá Midnight Commander silnějším než některé známé správce souborů, které umožňují vytvářet uživatelské akce pouze nad jedním vybraným umístěním.

Jak upravit uživatelskou nabídku? Máme více možností. Přímo v Midnight Commanderu zvolíme v hlavním menu "Příkaz -> Upravit uživatelskou nabídku". Zobrazí se nám dotaz zda chceme upravit lokální nebo uživatelskou nabídku. Další výbornou vlastností Midnight Commanderu je možnost mít u některých složek jinou uživatelskou nabídku než je ta globální. To je právě ta lokální uživatelská nabídka, která je platná pouze pokud jsme v příslušné složce. Nyní vybereme možnost upravit uživatelskou nabídku. V nastaveném textovém editoru (stejném jako při volbě "upravit" klávesou F4) se nám otevře soubor ~/.config/mc/menu obsahující definici uživatelské nabídky. Tento soubor tedy můžeme editovat přímo v Midnight Commanderu nebo samozřejmě externě libovolným textovým editorem. Struktura tohoto souboru je celkem intuitivní, navíc hned na začátku souboru je v komentáři vysvětlení jednotlivých položek a symbolů. Asi nejběžněji využívané jsou %d - aktuální vybraný adresář, %f - aktuálně vybraný soubor, %D - aktuální adresář v opačném panelu.

Nyní několik příkladů položek vlastní nabídky. Následující ukázky kódu jednoduše přidáme do souboru ~/.config/mc/menu, nejlépe oddělené prázdným řádkem a samozřejmě v pořadí v jakém je chceme mít v nabídce zobrazené klávesou F2.

Otevření terminálu (zde konkrétně rxvt) v aktuálně vybrané složce. Terminál se otevře samostatně a můžeme tedy dále pracovat v tomto terminálu a v Midnight Commanderu nezávisle, na rozdíl od skrytí panelů přechodu do shellu klávesou ctrl-o.

+ ! t t
u       Otevrit rxvt
        urxvt -cd %d &

Zkopírování cesty aktuálně vybraného souboru nebo složky do schránky. Je pouze potřebné mít nainstalovaný balík xsel.

+ ! t t
c       Kopirovat cestu
        echo -n %d/%f | xsel --clipboard --input

Spuštění vlastního zálohovacího programu, který dostane v parametrech cestu k aktuálně vybrané složce nebo souboru a také cestu ke složce otevřené v opačném panelu.

+ ! t t
b       Zalohovat
        my-backup %d/%f %D

Jak je vidět, do místní nabídky si můžeme nejrůznější akce nad soubory nebo složkami v umístěních aktuálně otevřených v obou panelech.

Připojení přes ftp/sftp/ssh

Midnight Commander nám také umožňuje snadno se připojit ke vzdálenému počítači přes protokol ft, sftp nebo sh. Po pak můžeme procházet obsahem na serveru v jednom neb obou panelech a pracovat se soubory a složkami stejně jako s obsahem lokálního disku. Tedy například zobrazit obsah souboru v prohlížeči (klávesou F3) nebo přímo editovat v defaultně nastaveném editoru (klávesou F4), kterým může být třeba vim nebo nano.

Když aktivujeme hlavní nabídku (F9) a zvolíme "Vlevo" nebo "Vpravo" máme v roletovém menu příslušné položky pro zmíněná vzdálená připojení. Otevře se nám dialog pro zadání příslušného připojovacího řetězce. Klávesou F1 si můžeme zobrazit nápovědu s příklady. Například pro zabezpečené FTP připojení můžeme zadat připojovací příkaz včetně jména uživatele a hesla. Pokud tyto nezadáme, budeme na ně dotázání v následujícím dialogu. Kompletní připojení vypadá takto: "sftp://uzivatel:heslo@ip_adresa_nebo_nazev_serveru:cislo_portu". Toto připojení si můžeme také uložit do výše zmíněného rychlé přístupu-záložek. Pokud ho přidáme interaktivně (vyvoláním ctrl+\) uloží se nám do souboru (~/.config/mc/menu) bez zadaného hesla, které ovšem pak můžeme přidat ruční editací tohoto souboru. Zápis hesla na disk v otevřeném textu je samozřejmě vhodný pouze pokud máte disk (resp. domovskou složku) zabezpečený před přečtením nežádoucí osobou.