8.1 A Midnight Commander kezelése
A parancssor használata során az egyik legnagyobb kihívást a vizualitás hiánya jelenti. Bár az előző fejezetben megismert alapvető fájlműveletek (ls, cp, mv, rm) rendkívül gyorsak és precízek, nagyobb mennyiségű fájl rendszerezésekor, bonyolult könyvtárstruktúrák átlátszásakor vagy egy ismeretlen rendszer feltérképezésekor a tiszta szöveges parancsok gépelése nehézkessé válhat. Különösen igaz ez akkor, ha a grafikus felület nem érhető el (például egy TTY vészhelyzeti konzolon), és nincs lehetőségünk megnyitni a Dolphint vagy más grafikus fájlkezelőt.
Szerencsére a Linux közösség már évtizedekkel ezelőtt kidolgozott egy zseniális hidat a tiszta parancssor és a grafikus átláthatóság között. Ez az eszköz a Midnight Commander (röviden: mc), egy szöveges felületen futó, de teljes mértékben vizuális, kétpaneles fájlkezelő program.
8.1.1 Mi az a Midnight Commander, és miért van rá szükségünk?
A Midnight Commander az úgynevezett ortodox kétpaneles fájlkezelők családjába tartozik. Ha használtál már Windows alatt Total Commandert, vagy emlékszel még a DOS-korszak legendás Norton Commanderére, a Midnight Commander felülete azonnal ismerős lesz.
A program alapfilozófiája a kétpaneles elrendezés. A képernyő bal és jobb oldalán egy-egy független könyvtárstruktúrát látsz. A műveletek (másolás, áthelyezés) mindig az aktív (forrás) panelről történnek az inaktív (cél) panelre. Ez a megközelítés drasztikusan felgyorsítja a munkát: nem kell fejben tartanod és karakterenként begépelned a hosszú és bonyolult útvonalakat, hiszen a célmappát egyszerűen megnyitod az egyik oldalon, a forrásfájlokat a másikon, és egyetlen gombnyomással átnyomod az adatokat.
Annak ellenére, hogy egy terminálablakban fut, a Midnight Commander egy teljes értékű, interaktív környezet. Támogatja az egérhasználatot (ha a terminálemulátorod engedélyezi, kattinthatsz a fájlokra és a menükre), tartalmaz beépített szövegszerkesztőt (mcedit), fájlnézegetőt (mcview), és képes virtuális fájlrendszereken (például archív fájlokban vagy távoli szervereken) is úgy navigálni, mintha egyszerű helyi mappák lennének.
8.1.2 Telepítés és futtatás a különböző rendszereken
A Midnight Commander egy annyira alapvető és közkedvelt rendszergazdai eszköz, hogy sok disztribúció eleve beépíti az alaprendszerbe. Ha a te rendszereden még sincs fent, a telepítése rendkívül egyszerű.
Telepítés hagyományos disztribúciókon (Fedora, Nobara)
Nyiss egy terminált, és használd a csomagkezelőt:
sudo dnf install mc
Telepítés Debian és Ubuntu alapú rendszereken
sudo apt update
sudo apt install mc
Használat atomi rendszereken (Bazzite, Fedora Kinoite)
Mivel az olyan atomi rendszereken, mint a Bazzite, az alaprendszer írásvédett, a hagyományos csomagtelepítés helyett két ajánlott útvonalad van:
- Layering (rendszerre rétegzés): Ha azt szeretnéd, hogy az
mcközvetlenül elérhető legyen a TTY vészhelyzeti konzolokon is, rétegezheted az alaprendszerre a következő paranccsal (vegyük figyelembe, hogy ez a gép újraindítását igényli a véglegesítéshez):
sudo rpm-ostree install mc
- Distrobox / Devcontainer: Ha csak alkalmi fájlrendszerezésre használod a saját mappádon belül, elindíthatod a meglévő Distrobox konténeredből is, ahol a fenti
dnf install mcparancsot adtad ki.
Futtatás normál és rendszergazdai módban
A program elindításához egyszerűen gépeld be a terminálba:
mc
Veszélyzóna: A
sudo mchasználataHa olyan fájlokat vagy konfigurációkat akarsz módosítani, amelyek a saját felhasználói mappádon kívül esnek (pl. a
/etcvagy a/varkönyvtárakban), indíthatod a programot rendszergazdaként is:sudo mc. Légy óvatos! Amikor a Midnight Commandersudo-val fut, a beépített védelmi vonalak kikapcsolnak. Egyetlen rossz mozdulattal letörölhetsz létfontosságú rendszerfájlokat, vagy ami még gyakoribb, véletlenül megváltoztathatod a saját Home mappádban lévő fájlok tulajdonosát "root"-ra. Ez utóbbi azt eredményezheti, hogy a grafikus alkalmazásaid legközelebbi indításkor nem tudják majd olvasni a saját konfigurációikat. Rendszergazdai módot csak akkor használj, ha pontosan tudod, mit miért teszel!
8.1.3 A felület felépítése és az alapvető navigáció
Amikor az mc elindul, a terminálod egy klasszikus, kék hátterű (alapértelmezett séma) vezérlőközponttá alakul. Bontsuk le a képernyőt a négy legfontosabb szerkezeti egységre:
- A felső menüsor: Rejtve van, de ha megnyomod az
F9billentyűt (vagy rákattintasz a képernyő legfelső sorára), legördül egy hagyományos menürendszer, ahol a panelek beállításait, a szűréseket és a globális beállításokat érheted el. - A két fő panel (bal és jobb): Itt láthatóak a fájlok és mappák. A mappák nevei általában vastagon vagy eltérő színnel jelennek meg, a végrehajtható scriptek zöldek, a tömörített archívumok pedig pirosas árnyalatot kapnak (a pontos színséma terminálfüggő).
- A beágyazott parancssor (prompt): A panelek alatt, a képernyő alja felé látsz egy teljesen normál, működő Bash/Zsh promptot. Bármikor elkezdhetsz beírni egy hagyományos Linux parancsot (pl.
mkdir teszt), az le fog futni, miközben azmcfelülete a háttérben marad. - Az alsó funkciógombok (F1-F10): A képernyő legalsó sora számozott négyzeteket tartalmaz. Ezek a billentyűzeted F1–F10 gombjainak felelnek meg, és a leggyakoribb fájlműveleteket indítják el azonnal.
Mozgás a panelek között és a mappákban
A navigáció elsajátítása mindössze néhány billentyű megjegyzését igényli:
Tabbillentyű: Ezzel tudsz ugrálni a bal és a jobb oldali panel között. Amelyik panelen a fényes kijelölősáv (kurzor) található, az az aktuálisan aktív panel.- Fel és le nyilak: Mozgás a kijelölősávval az aktuális mappában található fájlok és könyvtárak között.
Enterbillentyű: * Ha a kijelölősáv egy mappán áll, azEntermegnyomásával belépsz abba a mappába.- Ha a legfelső, két pontot ábrázoló soron (
..) nyomszEnter-t, a rendszer visszaléptet egy szinttel feljebb, a szülőkönyvtárba. - Ha a kijelölősáv egy futtatható fájlon vagy scripten áll, az
Entermegnyomásával azmcvégrehajtja azt a háttérben.
8.1.4 A legfontosabb funkcióbillentyűk (F1–F10)
A Midnight Commander magját az F-gombok adják. Nem kell találgatnod, hogy melyik mit csinál, hiszen az ablak alja folyamatosan emlékeztet rájuk. Nézzük meg őket részletesen, működés közben:
| Billentyű | Funkció (MC név) | Gyakorlati működés és viselkedés |
|---|---|---|
F1 |
Súgó | Megnyitja a beépített, részletes és hiperhivatkozásokkal ellátott kézikönyvet. |
F2 |
Felhasználói menü | Egyedi parancsok és makrók listája (pl. kijelölt mappa tömörítése). |
F3 |
Megnéz | Megnyitja a kijelölt fájlt az mcview olvasóval (nem enged módosítást). |
F4 |
Szerkesztés | Megnyitja a kijelölt szöveg- vagy konfigurációs fájlt szerkesztésre. |
F5 |
Másol | Átmásolja a kijelölt eleme(ke)t az aktív panelről az inaktív panel mappájába. |
F6 |
Áthelyez | Áthelyezi vagy átnevezi a fájlt az aktív panelről az inaktív panel mappájába. |
F7 |
Új könyvtár | Létrehoz egy új könyvtárat az aktuális (aktív) panelen belül. |
F8 |
Törlés | Véglegesen letörli a kijelölt fájlt vagy mappát (mappánál kérdezi a rekurziót). |
F9 |
Főmenü | Aktiválja a legfelső legördülő menüsort a részletes konfigurációkhoz. |
F10 |
Kilép | Bezárja a Midnight Commandert és visszatér a tiszta terminálhoz. |
A leggyakoribb műveletek kifejtése
- Másolás (
F5) és Áthelyezés (F6): Amikor ráállsz egy fájlra a bal oldalon, és megnyomod azF5-öt, felugrik egy kis párbeszédablak. Ebben a szoftver automatikusan felajánlja a jobb oldali panelen éppen megnyitott mappa útvonalát célként. Neked nincs más dolgod, mint nyomni egy Entert. Ha a célhelyen már van ilyen nevű fájl, azmcnem írja felül vakon: felugrik egy ablak, ahol választhatsz a felülírás, a kihagyás, az elvetés vagy az automatikus átnevezés között. - Átnevezés helyben (
F6): Mi van akkor, ha nem akarod átvinni a fájlt a másik panelre, csak a nevét szeretnéd megváltoztatni helyben? Egyszerű: nyomd meg azF6-ot, és a felugró ablakban töröld ki a felajánlott távoli útvonalat, majd egyszerűen írd be a fájl új nevét, és nyomj Entert. - Törlés (
F8): Ahogy a simarmparancsnál, itt is érvényes az alapszabály: nincs Kuka! AzF8megnyomása és a jóváhagyás után a fájl azonnal és véglegesen törlődik a lemezről.
Fun fact: A HUP.hu fejlesztői fórumán és a Reddit szubkultúrákban a "paraszt üti F8-at" kifejezést gyakran használják átvitt értelemben, amikor egy hirtelen, váratlan szerver újraindítást vagy konfigurációs lépést kell végrehajtani a helyzet megmentése érdekében, pl. Midnight Commanderben törölni egy könyvtárat. De arra is használják ezt a kifejezést, amikor egységsugarú felhasználó véletlenül letöröl egy fontos fájlt.
8.1.5 Haladó billentyűkombinációk és rejtett trükkök
Bár a Midnight Commander a funkciógombokkal is kiválóan használható, az igazi parancssori ninja-élményt a másodlagos billentyűkombinációk adják. Ezekkel olyan funkciókat érhetsz el, amelyek nincsenek közvetlenül kiírva a képernyőre.
1. A láthatatlan panel trükkje: Ctrl + O
Ez az mc talán legzseniálisabb funkciója. Tegyük fel, hogy a Midnight Commanderben navigálsz, de hirtelen le kell futtatnod egy összetettebb terminálparancsot, vagy látni szeretnéd az előzőleg kiadott parancsok teljes kimenetét, amit a kék panelek eltakarnak.
- Nyomd meg a
Ctrl + Okombinációt. - A Midnight Commander teljes kezelőfelülete (a kék panelek és gombok) egy pillanat alatt nyomtalanul eltűnik, és az eredeti, tiszta szöveges terminálodat kapod vissza.
- Itt dolgozhatsz, scripteket futtathatsz, olvashatod a korábbi szövegeket.
- Ha újra megnyomod a
Ctrl + Okombinációt, azmcfelülete pontosan ugyanabban az állapotban ugrik vissza a képernyőre, ahol hagytad. Nincs szükség bezárásra és újraindításra.
2. Rejtett fájlok megjelenítése: Alt + . (Alt + pont)
Ahogy korábban tanultuk, Linux alatt a ponttal kezdődő fájlok és mappák (pl. .config) rejtettek. Alapértelmezés szerint az mc nem biztos, hogy mutatja őket. Nem kell a menüben keresgélned: nyomd meg az Alt + . kombinációt a rejtett elemek be- és kikapcsolásához.
(Megjegyzés: Egyes billentyűzet-kiosztások vagy terminálok esetén, ha az Alt gomb nem reagál, az Esc billentyű egyszeri megnyomása, majd utána a . gomb leütése ugyanazt a hatást váltja ki. Ezt hívjuk Meta-kulcs kombinációnak).
3. Több fájl kijelölése tömeges műveletekhez: Insert vagy Ctrl + T
Mi van akkor, ha nem egyetlen fájlt szeretnél átmásolni vagy letörölni, hanem harmincat egy mappából? Nem kell egyesével végigcsinálnod a folyamatot.
- Lépj rá az első fájlra.
- Nyomd meg az
Insertbillentyűt (vagy ha laptopon vagy és nincs külön Insert gombod, aCtrl + Tkombinációt). - A fájl neve azonnal színt vált (általában sárgára vagy világoskékre), jelezve, hogy ki van jelölve, és a kurzor automatikusan továbblép a következő sorra.
- Jelölj ki így minden kívánt fájlt.
- Ha ezután megnyomod az
F5(Másolás) vagyF8(Törlés) gombot, a művelet az összes kijelölt fájlra egyszerre fog végrehajtódni.
További nélkülözhetetlen gyorsbillentyűk:
| Kombináció | Funkció és gyakorlati haszon |
|---|---|
Ctrl + U |
Megfordítja a két panelt. Ami eddig a bal oldalon volt megnyitva, átkerül a jobb oldalra, és fordítva. |
Ctrl + R |
Panel frissítése (Refresh). Ha a háttérben egy másik program (pl. egy letöltés) módosította a mappa tartalmát, ez kényszeríti az mc-t az új állapot beolvasására. |
Alt + C |
Gyors könyvtárváltás párbeszédablak. Beírhatsz egy abszolút utat, és az aktív panel azonnal odaugrik. |
Alt + S |
Gyorskeresés (Quick Search). Elkezded gépelni a fájl nevét, és a kijelölősáv karakterenként gépelés közben azonnal ráugrik a megfelelő fájlra. |
8.1.6 Beépített eszközök: mcedit és mcview
A Midnight Commander nem csupán egy fájlrendszerező; egy teljes miniatűr ökoszisztéma, amely saját dedikált célszoftvereket tartalmaz a szövegek kezelésére.
mcview – A villámgyors fájlnézegető (F3)
Amikor ráállsz egy fájlra és megnyomod az F3-at, a rendszer az mcview programmal nyitja meg azt. Ez az eszköz arra van optimalizálva, hogy bármilyen gigantikus méretű fájlt (akár több gigabájtos logfájlokat is) azonnal, várakozás nélkül megnyisson. Mivel olvasási módra tervezve működik, garantálja, hogy véletlenül sem fogsz beleírni vagy elmenteni egy nemkívánatos karaktert egy kényes rendszerkonfiguráció közepén. Kilépni belőle az F10 vagy az Esc megnyomásával lehet.
mcedit – A programozói szövegszerkesztő (F4)
Ha az F4 gombot nyomod meg, az mc megnyitja a beépített szövegszerkesztőjét, az mcedit-et.
Első indítási tipp
Egyes disztribúciókon az
F4legelső megnyomásakor a Linux megkérdezheti, hogy melyik szerkesztőt szeretnéd alapértelmezettként használni (felajánlhatja anano-t vagy azmcedit-et). Ha a Midnight Commander saját, integrált felületét szeretnéd, válaszd azmceditopciót.
Az mcedit egy rendkívül hatékony és modern parancssori szerkesztő. Rendelkezik beépített szintaxis-kiemeléssel (Syntax Highlighting), így ha egy shell scriptet (.sh) vagy egy konfigurációs fájlt szerkesztesz, a kód színes és átlátható lesz.
Az mcedit belső billentyűparancsai hűen követik az mc logikáját:
F2: Mentés.F4: Keresés és csere a szövegben.F10: Bezárás és visszatérés a panelhez.
8.1.7 Gyakorlati használati lehetőségek és valós forgatókönyvek
Hogy megértsd, miért a Midnight Commander a tapasztalt rendszergazdák és Linux-használók egyik legféltettebb bástyája, nézzünk meg két olyan valós forgatókönyvet, ahol ez az eszköz teljesen lemossa a grafikus vagy a tiszta CLI megoldásokat.
1. forgatókönyv: Rendszermentés TTY felületről (amikor összeomlott a grafikus asztal)
Képzeld el, hogy egy rosszul konfigurált driver vagy egy megszakadt frissítés miatt a rendszered grafikus felülete egyáltalán nem tölt be. Csak a fekete TTY3 konzolig jutsz el. Bejelentkezel. Mentened kellene a Dokumentumok mappádat és a fontos konfigurációidat egy külső USB-meghajtóra, mielőtt újratelepítenéd vagy visszaállítanád a rendszert.
Tiszta parancssorban másodpercenként gépelhetnéd a cp -r parancsokat, miközben folyamatosan hibáznál az útvonalak elgépelése miatt, és fogalmad sem lenne, hogy hol jár a másolási folyamat.
A Midnight Commander megoldása:
- Bedugod az USB meghajtót a gépbe.
- Elindítod az
mc-t. - A bal oldali panelen elnavigálsz az USB meghajtód csatolási pontjára (ez általában a
/run/media/felhasználónév/mappán belül található). - Átváltasz a jobb oldali panelre a
Tab-bal, és belépsz a saját Home mappádba (/var/home/kjanos). - Az
Insertgombbal szépen kijelölöd a menteni kívánt mappákat: Dokumentumok, Képek, .config. - Megnyomod az
F5gombot. - A képernyőn megjelenik egy látványos, százalékos folyamatjelző csík, ami pontosan mutatja, hol tart a másolás, mekkora az adatátviteli sebesség, és mennyi idő van még hátra. Biztonságosan, vizuális kontroll alatt mentetted meg a hasznos dolgaidat.
2. forgatókönyv: Távoli szerverek kezelése helyben
A Midnight Commander tartalmaz egy úgynevezett VFS (Virtual File System) réteget. Ez lehetővé teszi, hogy távoli hálózati eléréseket (például egy másik szobában lévő Linuxos gép, egy NAS vagy egy távoli webkiszolgáló fájljait) beágyazz közvetlenül az egyik panelbe.
Hogyan működik?
- Megnyomod az
F9billentyűt a főmenü eléréséhez. - Kiválasztod a Bal (vagy Jobb) menüpontot, majd rákattintasz az SFTP kapcsolat... (vagy Shell kapcsolat...) opcióra.
- A felugró ablakban megadod a távoli gép adatait a következő formátumban:
felhasznalonev@tavali_gep_ip_cime(például:laszlo@192.168.1.50). - Az
mca háttérben felépít egy biztonságos SSH-kapcsolatot, bekéri a távoli gép jelszavát, és... - ...az adott panelen megjelenik a távoli számítógép teljes fájlrendszere.
Mostantól úgy másolhatsz át fájlokat a saját gépedről a hálózaton lévő másik gépre, hogy egyszerűen kijelölöd az elemeket a saját oldaladon, és megnyomod az F5-öt. Nincs szükség bonyolult hálózati megosztások konfigurálására, külső FTP kliensek futtatására. A parancssor vizuális kétpaneles királya ezt is megoldja helyből.
