Tech Handbook Null Yard

Midnight Commander

Midnight Commander jest wygodną warstwą wizualną nad typowymi operacjami plikowymi i shellem. Dobrze sprawdza się na serwerach przez SSH, szczególnie gdy chcesz szybko porównać katalogi, skopiować pliki, zajrzeć do logów albo przejść do zwykłej komendy bez opuszczania programu.

Powiązane tematy: Debian - shell, FreeBSD - shell, Vi, Vim, gVim i Neovim oraz SSH i zdalna administracja.

1. Czym jest Midnight Commander?

Midnight Commander (MC) to tekstowy, dwupanelowy menedżer plików działający w terminalu.

Jeśli pamiętasz Norton Commandera, Total Commandera albo FAR Managera, idea jest bardzo podobna:

  • lewy panel pokazuje jeden katalog,
  • prawy panel pokazuje drugi katalog,
  • między panelami można kopiować i przenosić pliki,
  • operacje wykonuje się głównie klawiaturą,
  • u dołu ekranu znajduje się linia poleceń shella,
  • MC ma własny edytor tekstu: mcedit,
  • potrafi pracować z archiwami i zdalnymi systemami plików.

MC świetnie sprawdza się na:

  • Debianie,
  • Ubuntu,
  • FreeBSD,
  • serwerach bez GUI,
  • połączeniach SSH,
  • stacjach roboczych Linux/BSD.

Nie zastępuje shella. Jest jego wygodnym uzupełnieniem.


2. Instalacja

Debian / Ubuntu

sudo apt update
sudo apt install mc

Uruchomienie:

mc

FreeBSD

pkg install mc

Uruchomienie:

mc

Jeżeli korzystasz z Ports:

cd /usr/ports/misc/mc
make install clean

3. Jak wygląda ekran MC?

Typowy ekran składa się z:

┌──────────────────────┬──────────────────────┐
│ LEWY PANEL           │ PRAWY PANEL          │
│ /home/user          │ /etc                 │
│                      │                      │
│ pliki                │ pliki                │
│ katalogi             │ katalogi             │
│                      │                      │
├──────────────────────┴──────────────────────┤
│ linia poleceń shella                        │
├─────────────────────────────────────────────┤
│ F1 Help F2 Menu F3 View F4 Edit ...        │
└─────────────────────────────────────────────┘

Aktywny panel jest wyróżniony.

Najważniejsza idea:

większość operacji odbywa się z aktywnego panelu do drugiego panelu.

Przykład:

  • lewy panel: /home/user/projekt
  • prawy panel: /var/www

Po zaznaczeniu pliku w lewym panelu i naciśnięciu F5, MC domyślnie zaproponuje skopiowanie pliku do /var/www.


4. Podstawowa nawigacja

Strzałki

↑ ↓

Przesuwają kursor po liście plików.


Enter

Enter

Na katalogu:

  • wchodzi do katalogu.

Na pliku:

  • uruchamia akcję przypisaną do typu pliku,
  • czasami otwiera plik,
  • czasami uruchamia program.

Powrót do katalogu nadrzędnego

Wybierz:

..

i naciśnij:

Enter

Można też używać:

Ctrl+PgUp

zależnie od konfiguracji terminala.


5. Przełączanie paneli

Tab

Przełącza aktywny panel.

Przykład:

lewy panel aktywny
Tab
prawy panel aktywny

To jeden z najczęściej używanych klawiszy w MC.


6. Klawisze funkcyjne F1-F10

Podstawowa belka MC wygląda zwykle tak:

F1  Help
F2  Menu
F3  View
F4  Edit
F5  Copy
F6  Move
F7  Mkdir
F8  Delete
F9  Menu
F10 Quit

7. F1 - pomoc

F1

Otwiera pomoc kontekstową.

Przydaje się szczególnie wtedy, gdy nie pamiętasz mniej używanego skrótu.


8. F2 - menu użytkownika

F2

Uruchamia User Menu.

Można tam definiować własne polecenia.

Przykładowo:

  • kompilowanie projektu,
  • uruchamianie testów,
  • pakowanie katalogu,
  • deployment,
  • wykonywanie skryptów.

Konfiguracja zwykle znajduje się w pliku:

~/.config/mc/menu

lub w starszych instalacjach:

~/.mc.menu

9. F3 - podgląd pliku

F3

Otwiera plik w trybie tylko do odczytu.

Dobre do:

  • logów,
  • konfiguracji,
  • kodu,
  • plików tekstowych,
  • dużych plików.

Wyjście:

F10

lub:

Esc

10. F4 - edycja pliku

F4

Domyślnie uruchamia:

mcedit

To wbudowany edytor Midnight Commandera.

Jeżeli skonfigurujesz zewnętrzny edytor, F4 może uruchamiać np.:

vim
nvim
nano

11. F5 - kopiowanie

F5

Kopiuje zaznaczony plik lub katalog.

Najczęściej:

aktywny panel → drugi panel

Przykład:

Lewy panel:

/home/user/projekt

Prawy panel:

/var/www/projekt

Zaznaczasz:

index.html

i naciskasz:

F5

MC zaproponuje:

Copy "index.html" to "/var/www/projekt"

12. F6 - przenoszenie / zmiana nazwy

F6

Służy do:

  • przenoszenia pliku,
  • przenoszenia katalogu,
  • zmiany nazwy.

Zmiana nazwy:

stary.txt

F6:

nowy.txt

Jeżeli podasz inną ścieżkę, plik zostanie przeniesiony.


13. F7 - tworzenie katalogu

F7

Tworzy nowy katalog.

Przykład:

F7
backup
Enter

Efekt:

./backup

14. F8 - usuwanie

F8

Usuwa:

  • plik,
  • katalog,
  • zaznaczoną grupę plików.

MC zwykle prosi o potwierdzenie.

Uwaga:

MC nie jest koszem systemowym.

Usunięcie pliku na serwerze zwykle oznacza prawdziwe:

rm

lub odpowiednik.


15. F9 - główne menu

F9

Aktywuje górne menu.

Znajdziesz tam m.in.:

Left
File
Command
Options
Right

Menu pozwala dostać się do praktycznie każdej funkcji MC.


16. F10 - wyjście

F10

Kończy MC.

Jeżeli terminal przechwytuje F10, można użyć:

Esc
0

17. Zaznaczanie plików

Insert

Insert

Zaznacza plik i przesuwa kursor do następnego.

Można zaznaczyć wiele plików:

Insert
Insert
Insert

Potem:

F5

skopiuje wszystkie zaznaczone pliki.


18. Zaznaczanie według maski

+

Pozwala zaznaczyć pliki według wzorca.

Przykład:

*.log

zaznaczy wszystkie logi.

Inny przykład:

*.jpg

Odznaczanie

-

Pozwala odznaczyć pliki według maski.


19. Szybkie przejście do katalogu

Można wpisać:

cd /etc/nginx

w linii poleceń MC.

Po:

Enter

aktywny panel przejdzie do katalogu.

Można też użyć menu:

F9
Command
Directory hotlist

20. Directory Hotlist

MC ma listę ulubionych katalogów.

Uruchomienie:

Ctrl+\

Można tam dodać np.:

/home/user/projects
/etc/nginx
/var/www
/var/log
/usr/local/etc

Dzięki temu nie trzeba pamiętać pełnych ścieżek.


21. Szybki podgląd katalogów

Można ustawić jeden z paneli jako:

Quick View

Panel będzie automatycznie pokazywał zawartość wskazanego pliku.

Przydatne przy:

  • przeglądaniu konfiguracji,
  • czytaniu logów,
  • porównywaniu plików.

22. Sortowanie

Panel można sortować według:

Name
Extension
Size
Modify time
Access time
Change time
Unsorted

Menu:

F9
Left / Right
Sort order

Popularne:

Name
Modify time
Size

23. Pokazywanie ukrytych plików

Pliki zaczynające się od:

.

np.:

.bashrc
.ssh
.git
.config

są domyślnie plikami ukrytymi.

Włączenie / wyłączenie:

Ctrl+H

24. Odświeżenie panelu

Ctrl+R

Odświeża zawartość paneli.

Przydaje się, gdy pliki zmieniły się poza MC.


25. Shell wewnątrz MC

Jedną z największych zalet MC jest możliwość korzystania z normalnego shella.

Na dole znajduje się linia poleceń.

Możesz wpisać:

ls -lah
git status
docker ps
systemctl status nginx
service nginx status
make
go test ./...

MC uruchomi polecenie w katalogu aktywnego panelu.


26. Ukrywanie paneli i korzystanie z pełnego shella

Ctrl+O

Ukrywa oba panele.

Dostajesz pełny terminal.

Ponowne:

Ctrl+O

przywraca MC.

To bardzo wygodny tryb pracy:

MC
↓
Ctrl+O
↓
shell
↓
Ctrl+O
↓
MC

27. Historia poleceń

Linia poleceń MC korzysta z historii.

Można używać:

↑
↓

do poruszania się po poprzednich poleceniach.


28. Wstawianie nazwy pliku do linii poleceń

Bardzo przydatne skróty.

Ctrl+Enter

Wstawia nazwę zaznaczonego pliku do linii poleceń.

Przykład:

zaznaczony:

backup.tar.gz

Po:

Ctrl+Enter

w linii poleceń pojawi się:

backup.tar.gz

Ctrl+Shift+Enter

W wielu terminalach wstawia pełną ścieżkę.

Obsługa może zależeć od emulatora terminala.


29. Wyszukiwanie plików

Menu:

F9
Command
Find file

Można szukać:

*.conf
*.go
nginx.conf

Możliwe jest również wyszukiwanie tekstu wewnątrz plików.

Przykład:

Content:
listen 443

Dzięki temu MC może zastąpić prosty:

find

oraz:

grep -R

30. mcedit - wbudowany edytor

Uruchomienie z MC:

F4

Uruchomienie bez MC:

mcedit plik.txt

31. Podstawy mcedit

Najważniejsze skróty:

F2   zapis
F3   zaznaczanie
F4   zamiana
F5   kopiowanie
F6   przenoszenie zaznaczenia
F7   wyszukiwanie
F8   usuwanie zaznaczenia
F10  wyjście

W wielu konfiguracjach dostępne są również skróty:

Ctrl+S
Ctrl+F
Ctrl+Z
Ctrl+Y

ale zachowanie może zależeć od konfiguracji i terminala.


32. Zapis pliku w mcedit

F2

Zapisuje dokument.

Jeżeli plik jest nowy, MC zapyta o nazwę.


33. Wyszukiwanie tekstu w mcedit

F7

Wpisujesz np.:

server_name

MC znajduje następne wystąpienie.


34. Zamiana tekstu

F4

Przykład:

search:
www.example.com

replace:
example.com

35. Zaznaczanie tekstu

F3

Rozpoczyna zaznaczenie.

Przesuwasz kursor.

Ponowne:

F3

kończy zaznaczenie.

Potem można:

F5

skopiować zaznaczenie.


36. Edycja plików systemowych

Jeżeli uruchomisz:

mc

jako zwykły użytkownik, nie będziesz mógł zapisywać np.:

/etc/fstab
/etc/ssh/sshd_config
/etc/nginx/nginx.conf

Można uruchomić:

sudo mc

ale nie zawsze jest to najlepszy sposób.

Bezpieczniej często użyć:

sudoedit /etc/nginx/nginx.conf

lub:

sudo mcedit /etc/nginx/nginx.conf

Jeżeli świadomie administrujesz systemem:

sudo mc

jest oczywiście możliwe.

Trzeba jednak pamiętać, że wtedy wszystkie operacje MC wykonują się jako root.


37. Uprawnienia plików

MC pozwala zmieniać prawa dostępu.

Zaznacz plik.

Menu:

F9
File
Chmod

lub skrót zależny od konfiguracji.

Zobaczysz prawa:

Owner
Group
Other

oraz:

read
write
execute

Czyli odpowiednik:

chmod

38. Właściciel pliku

MC umożliwia zmianę właściciela.

Menu:

F9
File
Chown

Odpowiada poleceniu:

chown

Przykład shellowy:

sudo chown user:user plik.txt

39. Dowiązania symboliczne

MC potrafi tworzyć symlinki.

Menu:

F9
File
Symlink

Odpowiednik:

ln -s źródło link

Przykład:

ln -s /var/www/site ~/site

40. Archiwa

Jedna z bardzo wygodnych funkcji MC:

archiwa można często otwierać tak, jak katalogi.

Przykład:

backup.tar.gz

Naciśnij:

Enter

MC pokaże zawartość archiwum.

Można wtedy kopiować pliki z archiwum do drugiego panelu.

Obsługiwane formaty zależą od zainstalowanych narzędzi, np.:

tar
tar.gz
tar.bz2
tar.xz
zip
7z
rpm
deb

41. MC jako menedżer plików na serwerze

Typowy sposób pracy:

lewy panel:
 /etc/nginx/sites-available

prawy panel:
 /var/www

Możesz:

  • edytować konfigurację,
  • kopiować pliki,
  • podglądać logi,
  • uruchamiać polecenia,
  • restartować usługę.

42. Połączenia SFTP / SSH

MC posiada wirtualne systemy plików.

Można otworzyć zdalny serwer przez SFTP.

Przykład:

sftp://user@server/

lub zależnie od wersji MC:

sh://user@server/

Wpisz ścieżkę przez:

Ctrl+L

lub odpowiednią funkcję menu.

Przykład:

sftp://user@192.168.1.20/

Po połączeniu jeden panel może pokazywać komputer lokalny, a drugi serwer.

Przykład:

LEFT
/home/user/project

RIGHT
sftp://user@server/var/www/project

Wtedy:

F5

kopiuje plik przez sieć.


43. SSHFS kontra VFS MC

MC może korzystać ze swojego mechanizmu VFS.

Alternatywą jest:

sshfs

Przykład:

mkdir ~/server
sshfs user@server:/ ~/server

Następnie MC widzi:

~/server

jak zwykły katalog.


44. FTP

MC historycznie obsługuje FTP.

Przykładowa ścieżka:

ftp://user@server/

Do nowych zastosowań lepiej używać:

SFTP

ponieważ klasyczny FTP nie szyfruje transmisji.


45. Panel informacji

Jeden panel może pokazywać informacje o zaznaczonym pliku.

Menu:

Left / Right
Info

Można zobaczyć:

  • rozmiar,
  • właściciela,
  • grupę,
  • uprawnienia,
  • czas modyfikacji,
  • system plików.

46. Tree View

Panel można przełączyć w widok drzewa katalogów.

Menu:

Left / Right
Tree

Pozwala poruszać się po strukturze katalogów.


47. Porównywanie katalogów

MC potrafi porównać katalogi w lewym i prawym panelu.

Menu:

F9
Command
Compare directories

Przydatne np. dla:

projekt lokalny
vs
projekt na serwerze

lub:

backup
vs
oryginał

48. Obliczanie rozmiaru katalogów

Normalnie katalog może być pokazany jako:

4096

co nie oznacza rozmiaru jego zawartości.

Aby policzyć rzeczywisty rozmiar katalogu:

Ctrl+Space

MC obliczy rozmiar.

Przy dużych katalogach może to chwilę potrwać.


49. Polecenia shella i aktywny katalog

Jeżeli aktywny panel znajduje się w:

/home/user/project

i wpiszesz:

git status

polecenie wykona się właśnie tam.

To bardzo wygodne.

MC działa wtedy trochę jak połączenie:

file manager
+
terminal
+
edytor

50. Git i MC

MC nie jest klientem Git, ale świetnie współpracuje z Gitem.

Przykład:

git status
git diff
git add .
git commit -m "Update configuration"
git pull
git push

Możesz jednocześnie:

  • przeglądać pliki w panelach,
  • edytować je F4,
  • wykonywać Git z linii poleceń.

51. Docker i MC

MC jest wygodnym dodatkiem przy pracy z Dockerem.

Przykłady:

docker ps
docker compose up -d
docker compose logs -f
docker exec -it container_name sh

Możesz edytować:

Dockerfile
docker-compose.yml
.env

przy pomocy:

F4

52. Systemd i MC

Na Debianie możesz np. edytować:

/etc/systemd/system/moj-serwis.service

potem:

sudo systemctl daemon-reload
sudo systemctl restart moj-serwis
sudo systemctl status moj-serwis

Wszystko bez wychodzenia z MC.


53. FreeBSD i MC

Na FreeBSD MC działa praktycznie tak samo.

Różnica wynika głównie z samego systemu.

Konfiguracje usług często znajdują się w:

/usr/local/etc

np.:

/usr/local/etc/nginx

Konfiguracja startu usług:

/etc/rc.conf

Sterowanie usługą:

service nginx status
service nginx restart

Pakiety:

pkg install
pkg upgrade
pkg delete

MC jest więc bardzo wygodnym narzędziem administracyjnym także na FreeBSD.


54. Konfiguracja MC

Menu:

F9
Options
Configuration

Można ustawić m.in.:

  • potwierdzenie usuwania,
  • zachowanie przy kopiowaniu,
  • wyświetlanie ukrytych plików,
  • sposób pracy paneli,
  • edytor,
  • zachowanie klawiatury.

55. Pliki konfiguracyjne

Współczesne wersje MC używają zwykle:

~/.config/mc/

Znajdziesz tam m.in.:

ini
panels.ini
hotlist
menu

Przykład:

ls -la ~/.config/mc/

56. Zewnętrzny edytor

MC może używać np.:

vim
nvim
nano

Zmienna środowiskowa:

export EDITOR=vim

lub:

export EDITOR=nvim

MC może jednak nadal korzystać z mcedit, jeśli opcja:

Use internal edit

jest włączona.

Można ją zmienić w:

F9
Options
Configuration

57. Zewnętrzny viewer

Podobnie można skonfigurować zewnętrzny program do podglądu.

Domyślny viewer MC jest jednak bardzo dobry do:

  • logów,
  • kodu,
  • plików tekstowych.

58. Uruchomienie MC w konkretnym katalogu

mc /var/www

albo:

cd /var/www
mc

59. MC z dwoma katalogami

Można uruchomić:

mc /etc/nginx /var/www

Wtedy panele otworzą wskazane katalogi.

To bardzo wygodne.


60. MC przez SSH

Typowy scenariusz:

ssh user@server

a potem:

mc

Na serwerach bez GUI MC może znacząco przyspieszyć pracę.


61. Sesje tmux i screen

Dobrym połączeniem jest:

SSH
+
tmux
+
MC

Przykład:

tmux
mc

Jeżeli połączenie SSH zostanie zerwane, sesja tmux może pozostać aktywna.


62. Przydatne skróty - ściąga

Skrót Funkcja
Tab zmiana aktywnego panelu
Enter wejście / uruchomienie
F3 podgląd
F4 edycja
F5 kopiowanie
F6 przenoszenie / rename
F7 nowy katalog
F8 usuwanie
F9 menu
F10 wyjście
Insert zaznaczenie pliku
Ctrl+O ukrycie/pokazanie paneli
Ctrl+H ukryte pliki
Ctrl+R odświeżenie
Ctrl+\ directory hotlist
Ctrl+Space rozmiar katalogu
Ctrl+Enter nazwa pliku do linii poleceń
+ zaznacz według maski
- odznacz według maski

63. Terminal i problemy z klawiszami F1-F10

Niektóre terminale lub środowiska graficzne przechwytują:

F1
F10
Alt
Ctrl

MC posiada alternatywne sekwencje.

Klasyczny mechanizm MC:

Esc

a następnie drugi klawisz.

Przykład:

Esc
1

odpowiada często:

F1
Esc
2

→ F2

itd.


64. „Meta” w dokumentacji MC

W dokumentacji można spotkać:

M-x

M oznacza:

Meta

W praktyce zwykle:

Alt+x

albo:

Esc
x

65. MC i sudo

Uruchomienie:

sudo mc

daje pełne prawa root.

To bardzo wygodne, ale potencjalnie niebezpieczne.

Przykład:

F8

może wtedy naprawdę usunąć:

/etc
/usr
/var

Dlatego warto normalnie pracować jako zwykły użytkownik.

Root tylko wtedy, gdy faktycznie jest potrzebny.


66. Schemat wygodnej pracy

Dobry model:

zwykły użytkownik
    ↓
mc
    ↓
przeglądanie / kopiowanie / edycja własnych plików
    ↓
sudo tylko dla konkretnych poleceń

np.:

sudo systemctl restart nginx

zamiast:

sudo mc

przez cały czas.


67. Backup konfiguracji MC

Warto skopiować:

cp -a ~/.config/mc ~/.config/mc.backup

lub:

tar czf mc-config.tar.gz ~/.config/mc

68. Praca z bardzo dużymi katalogami

MC może zwolnić w katalogach zawierających:

  • setki tysięcy plików,
  • bardzo wolny filesystem sieciowy,
  • katalogi FUSE,
  • ogromne archiwa.

W takich sytuacjach często szybszy będzie shell:

find
grep
rsync
cp

69. MC nie zastępuje rsync

Do prostego kopiowania:

F5

jest świetne.

Do synchronizacji tysięcy plików lepiej:

rsync

Przykład:

rsync -avh --delete source/ destination/

MC jest dobry do zarządzania plikami.

rsync jest lepszy do masowej synchronizacji.


70. MC nie zastępuje shella

Warto znać oba.

MC:

szybka orientacja
kopiowanie
przenoszenie
edycja
podgląd

Shell:

automatyzacja
potoki
grep
find
awk
sed
rsync
skrypty

Najlepszy workflow to połączenie obu.


71. Przykład 1 - edycja nginx

Uruchamiasz:

mc

Lewy panel:

/etc/nginx/sites-available

Zaznaczasz:

example.conf

F4:

edycja

Po zmianie:

F2

Potem:

Ctrl+O

i:

sudo nginx -t

Jeżeli konfiguracja jest poprawna:

sudo systemctl reload nginx

Wracasz:

Ctrl+O

72. Przykład 2 - deployment aplikacji Go

Lewy panel:

/home/user/project

Prawy:

/var/www/project

Budowanie:

go build

Powstaje:

app

Kopiujesz:

F5

Potem:

sudo systemctl restart project

73. Przykład 3 - backup konfiguracji

Lewy panel:

/etc/nginx

Prawy:

/home/user/backup/nginx

Zaznaczasz pliki:

Insert

kopiujesz:

F5

74. Przykład 4 - kopiowanie plików z VPS

Lewy panel:

/home/user/project

Prawy panel:

sftp://user@vps/

Następnie:

F5

Możesz kopiować pliki lokalne na serwer i odwrotnie.


75. Przykład 5 - znalezienie dużych plików

MC może sortować według rozmiaru:

F9
Left
Sort order
Size

Dla dokładniejszej analizy lepiej jednak użyć:

du -sh *

lub:

du -ah . | sort -h | tail

76. Przykład 6 - szukanie konfiguracji

W MC:

F9
Command
Find file

Nazwa:

*.conf

Treść:

listen 443

MC pokaże pliki zawierające daną frazę.


77. Przykład 7 - praca z logami

Przejdź do:

/var/log

Zaznacz:

syslog

lub:

messages

i:

F3

Dla logów aktualizowanych na żywo lepsze będzie:

tail -f plik.log

lub:

journalctl -f

78. Przykład 8 - Git + MC

Otwierasz projekt:

mc ~/projects/example-site

Edytujesz:

F4

Potem:

Ctrl+O
git diff
git status
git add .
git commit -m "Update layout"

Wracasz:

Ctrl+O

79. Przykład 9 - szybkie porównanie produkcji i developmentu

Lewy:

/home/user/project

Prawy:

/var/www/project

Menu:

Command
Compare directories

MC zaznaczy różnice.


80. Przykład 10 - FreeBSD

Uruchom:

mc

Przejdź do:

/usr/local/etc/nginx

Edytuj:

nginx.conf

F4.

Potem:

Ctrl+O

Test:

nginx -t

Restart:

service nginx restart

81. Przykładowy workflow

Przy pracy na Debianie i FreeBSD bardzo wygodny zestaw to:

MC
+
Vim / Neovim
+
shell
+
tmux
+
Git

MC służy wtedy głównie do:

nawigacji
kopiowania
przenoszenia
szybkiego podglądu
pracy z katalogami

Vim / Neovim:

edycja kodu i konfiguracji

Shell:

administracja
Git
Docker
systemd
rc.d
kompilacja

tmux:

utrzymywanie sesji

82. Minimum, które warto zapamiętać

Jeżeli chcesz używać MC sprawnie, wystarczy na początek zapamiętać:

Tab       zmiana panelu

F3        podgląd
F4        edycja
F5        kopiuj
F6        przenieś / zmień nazwę
F7        katalog
F8        usuń
F10       wyjdź

Insert    zaznacz

Ctrl+O    shell
Ctrl+H    ukryte pliki
Ctrl+R    odśwież

Ctrl+\    ulubione katalogi

I jedną zasadę:

aktywny panel jest źródłem, a drugi panel bardzo często jest miejscem docelowym operacji.


83. Ściąga - Debian

Instalacja:

sudo apt install mc

Start:

mc

Edycja:

mcedit plik

Konfiguracja:

~/.config/mc/

84. Ściąga - FreeBSD

Instalacja:

pkg install mc

Start:

mc

Konfiguracja:

~/.config/mc/

Systemowe konfiguracje programów z pakietów często:

/usr/local/etc/

85. Kiedy MC jest szczególnie dobry?

MC jest świetny gdy:

  • pracujesz po SSH,
  • administrujesz VPS-em,
  • zarządzasz FreeBSD,
  • potrzebujesz szybko kopiować pliki między katalogami,
  • przeglądasz konfigurację,
  • chcesz uniknąć ciągłego pisania długich ścieżek,
  • pracujesz na systemie bez GUI,
  • chcesz mieć menedżer plików i shell w jednym terminalu.

86. Kiedy lepiej użyć innych narzędzi?

Do masowego wyszukiwania:

find
fd

Do szukania tekstu:

grep
rg

Do synchronizacji:

rsync

Do automatyzacji:

Bash
Python
Go

Do zaawansowanej edycji:

Vim
Neovim

Do utrzymywania sesji:

tmux

MC nie konkuruje z tymi narzędziami.

On je bardzo wygodnie spina.


Podsumowanie

Midnight Commander jest jednym z najbardziej praktycznych programów terminalowych dla administratora i użytkownika Linuxa lub FreeBSD.

Jego największą zaletą nie jest to, że zastępuje shell.

Największą zaletą jest to, że pozwala pracować jednocześnie w dwóch światach:

graficzna logika menedżera plików
+
pełna moc terminala

Dobrze opanowany MC pozwala bardzo szybko:

  • poruszać się po serwerze,
  • kopiować i przenosić pliki,
  • edytować konfiguracje,
  • przeglądać logi,
  • pracować ze zdalnymi maszynami,
  • używać shella bez opuszczania programu.

Dla Debiana i FreeBSD jest to jedno z tych narzędzi, które warto mieć praktycznie na każdej maszynie.

Oficjalne źródła

  • Midnight Commander: https://midnight-commander.org/
  • MC manual: https://midnight-commander.org/wiki/doc/common/index