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