Linux'ta tmux Nasıl Kullanılır (ve Neden Ekrandan Daha İyidir)
Yayınlanan: 2022-01-29 Linux tmux
komutu, screen
gibi bir terminal çoklayıcıdır. Savunucuları çoktur ve vokaldir, bu yüzden ikisini karşılaştırmaya karar verdik. tmux
gerçekten daha mı iyi, yoksa sadece bildiklerini tercih etme durumu mu?
tmux vs ekran
Hem tmux
hem de GNU screen
komutları, terminal çoklayıcılardır. Tek bir terminal penceresinde birden fazla pencereye sahip olmanıza ve bunlar arasında ileri ve geri atlamanıza izin verir. Bir pencere, her biri size bağımsız bir komut satırı sağlayan bölmelere ayrılabilir.
Ayrıca bir oturumu ayırabilirsiniz ve arka planda çalışan başsız bir varlığa dönüşür; onu başlatan terminal penceresini bile kapatabilirsiniz. Hazır olduğunuzda, yeni bir terminal penceresi açabilir ve halen çalışmakta olan oturumu yeniden ekleyebilirsiniz. Bunu bir SSH bağlantısı üzerinden de yapabilirsiniz.
Bir bilgisayardaki oturumu ayırabilir, eve gidebilir ve uzaktaki bilgisayarda oturum açabilirsiniz. Yeniden bağlandığınızda, arka plan oturumunu yeniden bağlayabilir ve tekrar etkileşimli olarak kullanabilirsiniz.
Ekran Komutu nedir?
screen
komutu aynı zamanda bir terminal çoklayıcıdır ve seçeneklerle doludur. Bununla yapabileceğiniz her şey hakkında bilgi için ayrıntılı makalemize göz atın.
Bu sefer tmux
üzerinde yoğunlaşacağız. Devam ederken, screen
aynı özelliği veya işlevi nasıl işlediğinden bahsedeceğiz.
screen
konusunda bizi rahatsız eden tek bir şey vardı. Bunu ulaştığımızda ele alacağız ve tmux
daha iyi olup olmadığına bakacağız.
İLGİLİ: Linux ekran Komutu Nasıl Kullanılır
tmux'u yükleme
screen
, popüler Linux dağıtımlarında genellikle varsayılan olarak kuruluyken, tmux
kurulu değildir. Ubuntu'ya tmux
yüklemek için aşağıdakini yazın:
sudo apt-get install tmux
Manjaro'da pacman
kullanabilirsiniz:
sudo pacman -Sy tmux
Fedora 31'de tmux
zaten kuruludur.
Bir tmux Oturumu Başlatma
tmux
başlatmak için sadece yazın ve Enter'a basın:
tmux
Bir tmux
oturumundayken terminal penceresi bir durum çubuğu gösterecektir.
Durum çubuğunun sağ tarafında ana bilgisayar adı, saat ve tarih gösterilir. Sol taraf, aşağıdaki oturumla ilgili bilgileri gösterir:
- [0]: Bu, oturum adıdır. Varsayılan olarak, sıfırdan başlayarak numaralandırılırlar. Aşağıdaki oturumlara nasıl anlamlı isimler verebileceğinizi ele alıyoruz.
- 0:bash*: 0, bunun bu oturumdaki ilk pencere olduğunu gösterir. Bu oturumda çalışan tek işlem
bash
. Bir program çalıştırırsanız, adı burada görünecektir. Yıldız işareti (*), baktığınız pencerenin bu olduğu anlamına gelir. Birtmux
oturumunda her yeni pencere oluşturduğunuzda, pencere numarası ve içinde çalışan programın adı durum çubuğuna eklenir.
screen
komutu varsayılan olarak size bir durum çubuğu vermez. Kör uçmanız ve neler olup bittiğini anlamak için zekanıza güvenmeniz gerekiyor, bu da biraz pratik gerektiriyor. (Kendi durum çubuğunuzu yapılandırmadığınız sürece.)
Artı tarafta, bir dizi terminal penceresi gayrimenkulünü kaybetmeyeceksiniz. Elbette, bir terminal çoklayıcı kullanmayı değerli kılmak için normalde terminal pencerenizi genişletirsiniz. Bu durumda, durum çubuğu için bir satırın kaybolması pek sorun olmaz. Bilgileri görebilmeniz için terminal pencerelerinin resimlerini varsayılan boyutta burada bıraktık.
Komutlar tmux
tuş vuruşları kullanılarak verilir ve bunun iki bölümü vardır. İlk olarak, tmux
dikkatini çekmek için Ctrl+B'ye basın. Ardından, tmux
bir komut göndermek için hızlı bir şekilde sonraki tuşa basın. Komutlar, harflere, sayılara, noktalama işaretlerine veya ok tuşlarına basılarak verilir.
Dikkatini çekmek için Ctrl+A tuşlarına basmanız dışında screen
'de aynıdır.
Pencereyi kapatmak için Ctrl+B'ye basın ve ardından hızla X'e basın. Durum çubuğu sarıya döner. Ardından, pencereyi kapatmak istediğinizi onaylamanız istenir.
Pencereyi kapatmak için Y'ye veya fikrinizi değiştirirseniz N'ye basın. Daha sonra Enter tuşuna basmanız gerekmez; Seçiminizi kaydetmek için Y veya H yeterlidir.
Y'ye basarsanız, pencere kapanır. Bu oturumdaki tek pencere bu olduğu için oturum sonlandırılır.
tmux
oturumu kapatılır ve tmux'u başlattığınız komut satırına tmux
. Terminal penceresinde “[çıkış]” ifadesini göreceksiniz.
Bu, bariz olanı belirtiyor gibi görünebilir, ancak bu, oturumu kapattığınızın ve ayrı ve çalışır durumda bırakmadığınızın bir onayıdır. Aşağıda ayırma oturumlarını tartışacağız.
Adlandırılmış bir tmux Oturumu Başlatma
Düzenli olarak birden fazla tmux
oturumu başlatırsanız, her birine anlamlı bir ad vermenin işlevselliğini çabucak takdir edeceksiniz. Oturumları screen
içinde de adlandırabilirsiniz, ancak oturum pencerelerinde hiçbir yerde görüntülenmezler.
tmux
bir oturum adıyla başlatmak için new
(yeni oturum) komutunu ve -s
(oturum adı) seçeneğini kullanın. Oturumumuz “geek-1” olarak adlandırılacak, bu yüzden aşağıdakileri yazıyoruz:
tmux yeni -s geek-1
tmux
oturumu yüklendiğinde, en soldaki durum çubuğunda ilk giriş olarak “geek-1” görüntülenir.
Daha Fazla Windows Ekleme
Geçerli oturumda yeni bir pencere oluşturmak için Ctrl+B'ye ve ardından C'ye basın. Mevcut oturumda boş bir terminal penceresi göreceksiniz. Bu yeni pencerede çalışan bir şeyimiz olacak, hadi -w
(takip et) seçeneğiyle dmesg
komutunu başlatalım:
mesaj -w
Şimdi oturumda iki penceremiz var; biri top
çalışıyor, diğeri dmesg
. Yine de her seferinde yalnızca birini görebiliriz (bununla ilgili birazdan daha fazlası).
Durum çubuğunun sol tarafına bir göz atın. Hâlâ “geek-1” tmux
oturumundayız. Sıfır penceresinde top çalışıyor ve birinci pencerede dmesg
çalışıyor. dmesg
sonraki yıldız işareti (*) bize hangi pencerenin görünür olduğunu söyler.
Pencereler arasında geçiş yapmak için Ctrl+B tuşlarına ve ardından aşağıdaki tuşlardan birine basın:
- N : Sonraki pencereyi görüntüleyin.
- P: Önceki pencereyi görüntüleyin.
- 0 ila 9: 0 ila 9 numaralı bir pencere görüntüleyin.
Ayrıca listeden bir pencere seçebilirsiniz. Ctrl+B'ye ve ardından W'ye basarsanız, bir pencere listesi görünür.
Kehribar rengi vurgu çubuğunu taşımak için Yukarı veya Aşağı Oklara, Ana Sayfaya veya Bitir'e basın. Ekranın alt bölümü, vurgulanan penceredeki içeriğin bir önizlemesini gösterir.
Vurgulanan pencereye gitmek için Enter'a veya geçiş yapmadan pencere listesinden çıkmak için Esc'ye basın.
Oturumları Ayırmak ve Eklemek
Ctrl+B'ye ve ardından D'ye basarsanız, oturumu ayırırsınız. Arka planda çalışmaya devam edecek, ancak onu göremeyecek veya onunla etkileşime geçemeyeceksiniz.
Oturumda top
başladık, bu nedenle göstermek için devam eden bir sürecimiz var. Ardından Ctrl+B'ye ve ardından D'ye basıyoruz. Oturum kayboluyor ve bir arka plan oturumu oluyor.
Orijinal terminal penceresine dönüyoruz. tmux
bize oturumun ayrıldığını söyleyen bir mesaj var. Aynı zamanda seansa verdiğimiz ismi de hatırlatıyor. Bu kullanışlıdır, çünkü bir arka plan oturumuna eklemek ve ardından onu etkileşimli bir oturuma geri yüklemek için kullandığımız şey budur.
Ayrılmış bir oturum eklemek için, -t
(hedef oturum) seçeneğiyle kendi kendini açıklayan attach-session
komutunu kullanacağız. Ayrıca hatırlamak istediğimiz oturumun adını da sağlayacağız.
Aşağıdakileri yazıyoruz:
tmux ek oturumu -t geek-1
Oturumumuz geri döner ve tekrar görünür, etkileşimli bir oturum olur.
Oturumu ayırmadan önce başlattığınız uzun süreli veya sürekli işlemler, oturumu eklediğinizde (bitirmedikçe) arka planda çalışmaya devam eder.
screen
bunu yapabilir, ancak sezgisel olarak değil.
Birden Fazla Oturumu Yönetme
Başka bir terminal penceresi açalım ve “geek-2” adında yeni bir tmux
oturumu başlatalım:
tmux yeni -s geek-2
Bu oturumda dmesg
başlatacağız:
mesaj -w
Şimdi orijinal “geek-1” tmux
oturumumuz ve “geek-2” adında yeni bir oturumumuz var.
Durum çubuğu bize bu oturumun “geek-2” olarak adlandırıldığını ve dmesg
çalıştıran bir penceresi olduğunu gösteriyor.
Ctrl+B'ye ve ardından D'ye basarsak, o oturumu ayırırız.
“Geek-1” tmux
oturumuna geri dönersek, tmux
oturumlarının bir listesini görmek için Ctrl+B'ye ve ardından S'ye basarız.
Açık olmak gerekirse, bu bir oturum listesidir. Daha önce gördüğümüz benzer ekran, tek bir oturumdaki pencerelerin bir listesiydi.
Yukarı ve Aşağı Oklara, Ana Sayfaya ve Bitir'e basarak kehribar rengi vurgu çubuğunu hareket ettirebilirsiniz. Alt kısım, vurgulanan oturumdaki içeriğin bir önizlemesini görüntüler.
Sağ Ok'a basarsanız, vurgulanan oturumun pencereleri görüntülenir.
Vurgulanan oturuma veya pencereye gitmek için Enter'a veya oturumları değiştirmeden oturum listesinden çıkmak için Esc'ye basın. Yeni bir oturum seçerseniz, mevcut oturumunuz ayrılır ve seçtiğiniz oturum eklenir.
Bunu yapmadan önce “geek-2” oturumunu ayırdık. Ancak bunu, hala orijinal terminal pencerelerine bağlı olan oturumlarla yapabilirsiniz. Bunu yaptığınızda, tüm ekran değişiklikleri her iki tmux
oturumunda aynı anda görünecektir.
screen
komutu da benzer bir dizi komut aracılığıyla bunu yapabilir.
Pencere Bölmeleri ile Çalışma
Ctrl+B'ye basar ve ardından çift tırnak işareti ("") kullanırsanız, pencereyi yatay olarak iki bölmeye bölersiniz.
Bu yalnızca geçerli pencereyi etkiler; oturumdaki diğerleri değiştirilmeyecek. Bu oturumdaki pencereleri listelemek için üst bölmedeki tmux ls
komutunu kullandık. İki tane var ve durum satırı bize birinci pencerede olduğumuzu söylüyor. Ctrl+B ve ardından 0 (sıfır) tuşlarına basarak sıfır penceresine geçersek, bıraktığımız gibi olduğunu görürüz.
Bunlar, bir pencerede iki görünüm değil, iki bağımsız komut satırıdır; onlar ayrı ve ayrı kabuklardır. Bunu her bölmede farklı bir komut çalıştırarak gösterebiliriz.
Aşağıdakileri yazıyoruz:
uname -a
ls -hl
Bir bölmeden diğerine geçmek için Ctrl+B'ye ve ardından Yukarı, Aşağı, Sol veya Sağ Ok'a basın.
Ctrl+B'ye ve ardından yüzde işaretine ( %)
basarsanız, geçerli bölmeyi dikey olarak böler.
Ctrl+B'ye ve ardından tmux
her bölmenin numarasını kısaca yanıp sönmesini sağlamak için Q'ya basın.
Bu numaralar, tmux
gelen istemlerde ve mesajlarda kullanılır. Geçerli bölmeyi kapatmak için Ctrl+B ve ardından X tuşlarına basın. Durum çubuğu sarıya döner ve bu bölme numarasını kapatmak istediğinizi onaylamanız istenir. Bölmeyi kaldırmak için Y'ye veya her şeyi olduğu gibi bırakmak için N'ye basın.
Y'ye basarsanız, bölme kaldırılır.
screen
komutunun da bölmeleri vardır, ancak yine de, kullanımları daha az sezgiseldir. screen
ilgili bizi rahatsız eden şey, bir oturumu bölmelerle ayırırsanız, o oturumu yeniden bağladığınızda kaybolurlar. Bu çok çabuk eskiyor.
A Ctrl+B Hile Sayfası
Aşağıda tmux
kullanabileceğiniz farklı komutların bir kopya sayfasını ekledik.
Oturum Komutları
- S: Oturumları listeleyin.
- $: Geçerli oturumu yeniden adlandırın.
- D: Geçerli oturumu ayırın.
- Ctrl+B ve ardından ?: Yardım sayfasını
tmux
görüntüleyin.
Pencere Komutları
- C: Yeni bir pencere oluşturun.
- ,: Geçerli pencereyi yeniden adlandırın.
- W: Pencereleri listeleyin.
- N: Bir sonraki pencereye git.
- P: Bir önceki pencereye git.
- 0 ila 9: Belirtilen pencere numarasına gidin.
Bölme Komutları
- %: Yatay bir bölme oluşturun.
- “: Dikey bir bölme oluşturun.
- H veya Sol Ok: Soldaki bölmeye gidin.
- I veya Sağ Ok: Sağdaki bölmeye gidin.
- J veya Aşağı Ok: Aşağıdaki bölmeye gidin.
- K veya Yukarı Ok: Yukarıdaki bölmeye gidin.
- S : Panel numaralarını kısaca gösterin.
- O: Sırayla bölmeler arasında hareket edin. Hepsini dolaşana kadar her basış sizi bir sonrakine götürür.
- }: Geçerli bölmenin konumunu bir sonrakiyle değiştirin.
- {: Geçerli bölmenin konumunu öncekiyle değiştirin.
- X: Geçerli bölmeyi kapatın.
Nasıl Karşılaştırıyorlar
İşlevsellik açısından, screen
ve tmux
benzer şekilde çalışır ve aynı ana özellikleri sunar. Belirgin olarak farklı olan bu özelliklere erişme şeklinizdir. tmux
, çeşitli işlevlere ulaşmanın daha kolay ve rahat yollarını sunar. Ancak, tek fark bu değil.
Oturumları ve pencereleri tmux
yeniden adlandırma yeteneği düzgün ve bir oturumu yeniden eklediğinizde bölmeleri tutması bir oyun değiştirici.
screen
, bir oturumu ayırdığınızda ve yeniden eklediğinizde bölmeleri tamamen kaybeder. Bu, ilk etapta ayrılmaktan kaçınmanıza neden olacak kadar sinir bozucu.
İnanılmaz derecede esnek komut dosyası oluşturma yetenekleri de dahil olmak üzere tmux
için çok daha fazlası var. Bunu kontrol etmeyi kendine borçlusun.
Linux Komutları | ||
Dosyalar | tar · pv · kedi · tac · chmod · grep · diff · sed · ar · adam · pushd · popd · fsck · testdisk · seq · fd · pandoc · cd · $PATH · awk · birleştirme · jq · katlama · uniq · dergictl · kuyruk · stat · ls · fstab · yankı · daha az · chgrp · chown · rev · bak · diziler · tür · yeniden adlandır · zip · unzip · mount · umount · yükle · fdisk · mkfs · rm · rmdir · rsync · df · gpg · vi · nano · mkdir · du · ln · yama · dönüştürmek · rclone · parçalamak · srm | |
süreçler | takma ad · ekran · üst · güzel · renice · ilerleme · strace · systemd · tmux · chsh · geçmiş · at · toplu · ücretsiz · hangi · dmesg · chfn · usermod · ps · chroot · xargs · tty · pembemsi · lsof · vmstat · zaman aşımı · duvar · evet · öldür · uyku · sudo · su · zaman · groupadd · usermod · gruplar · lshw · kapatma · yeniden başlatma · durdurma · güç kapatma · passwd · lscpu · crontab · tarih · bg · fg | |
ağ | netstat · ping · traceroute · ip · ss · whois · fail2ban · bmon · kazmak · parmak · nmap · ftp · curl · wget · kim · whoami · w · iptables · ssh-keygen · ufw |
İLGİLİ: Geliştiriciler ve Meraklılar için En İyi Linux Dizüstü Bilgisayarlar