Skip to content

Commit bf3cb1a

Browse files
committed
Create 2024-01-14-tmux.markdown
1 parent 9f191cc commit bf3cb1a

1 file changed

Lines changed: 87 additions & 0 deletions

File tree

_posts/2024-01-14-tmux.markdown

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
---
2+
sitemap: true
3+
layout: b-post
4+
title: "Daha Verimli Bir Konsol: tmux"
5+
modified:
6+
author: Taylan Özgür Bildik
7+
tags: [terminal]
8+
categories: blog
9+
cover:
10+
permalink: /:title
11+
toc: true
12+
---
13+
14+
15+
Söz konusu konsol araçları olduğunda pek çok alternatife sahibiz. Fakat standart bir konsol yerine `tmux` aracını tercih etmek konsol üzerindeki verimliliğimizi artırabilir.
16+
17+
`tmux` sayesinde tek bir konsol oturumunu birden fazla parçaya bölüp kullanabiliyoruz. Zaten aracımızın ismi de **t**erminal **mu**ltiple**x**er ifadesinden geliyor.
18+
19+
## tmux Kurulumu
20+
21+
Bu araç varsayılan olarak yüklü gelmediği için `sudo apt install tmux` ya da `sudo dnf install tmux` komutu ile kurabilirsiniz.
22+
23+
```bash
24+
┌──(taylan㉿linuxdersleri)-[~]
25+
└─$ sudo apt install tmux
26+
Reading package lists... Done
27+
Building dependency tree... Done
28+
Reading state information... Done
29+
The following NEW packages will be installed:
30+
tmux
31+
0 upgraded, 1 newly installed, 0 to remove and 1827 not upgraded.
32+
Need to get 455 kB of archives.
33+
After this operation, 1,137 kB of additional disk space will be used.
34+
Get:1 http://kali.download/kali kali-rolling/main amd64 tmux amd64 3.3a-4 [455 kB]
35+
Fetched 455 kB in 14s (32.1 kB/s)
36+
Selecting previously unselected package tmux.
37+
(Reading database ... 291994 files and directories currently installed.)
38+
Preparing to unpack .../archives/tmux_3.3a-4_amd64.deb ...
39+
Unpacking tmux (3.3a-4) ...
40+
Setting up tmux (3.3a-4) ...
41+
Processing triggers for man-db (2.9.4-4) ...
42+
Processing triggers for kali-menu (2021.4.2) ...
43+
```
44+
45+
Aracımız kurulduktan sonra `tmux` komutu ile başlatabiliyoruz.
46+
47+
![tmux.webp]({{ site.url }}/egitim/temel-linux/network/tmux.webp){:class="responsive img-zoomable"}
48+
49+
`tmux` komutunu girdikten sonra, **tmux** oturumunda bash kabuğu çalıştırılıyor. Bu araç üzerinden komutlarımızı girebiliyoruz. Dilersek dikey ve yatay olarak yeni konsol oturumları eklememiz mümkün. `tmux` kısayollarını kullanabilmek için öncelikle <kbd>Ctrl</kbd> + <kbd>B</kbd> tuşuna basıyoruz. Daha sonra dikey olarak yeni konsol ekleyeceksek yüzde işareti <kbd>%</kbd> tuşuna basıyoruz.
50+
51+
![tmux-vertical.webp]({{ site.url }}/egitim/temel-linux/network/tmux-vertical.webp){:class="responsive img-zoomable"}
52+
53+
Eğer yatay olarak bölüp yeni konsol oturumu eklenecekse <kbd>Ctrl</kbd> + <kbd>B</kbd> tuşuna bastıktan sonra tırnak işaretini <kbd>“</kbd> oluşturan tuşa basıyoruz.
54+
55+
![tmux-horizontal.webp]({{ site.url }}/egitim/temel-linux/network/tmux-horizontal.webp){:class="responsive img-zoomable"}
56+
57+
Bu konsollar arasında geçiş yapmak için <kbd>Ctrl</kbd> + <kbd>B</kbd> tuşuna bastıktan sonra klavyemizdeki sağ sol yön tuşları ile ilgili konsol oturumuna geçiş yapabiliyoruz. Zaten hangi konsolda olduğunuzu, pencereleri birbirinden ayıran renkli çizgi sayesinde takip edebilirsiniz.
58+
59+
![tmux-new-sessions.gif]({{ site.url }}/egitim/temel-linux/network/tmux-new-sessions.gif){:class="responsive img-zoomable"}
60+
61+
Eğer bir oturumu sonlandırmak istiyorsanız üzerinde bulunduğunuz `tmux` oturumunu `exit` komutunu girerek kapatabilirsiniz.
62+
63+
![tmux-exit.gif]({{ site.url }}/egitim/temel-linux/network/tmux-exit.gif){:class="responsive img-zoomable"}
64+
65+
Konsol oturumunu sonlandırmak yerine, ilgili konsolun arkaplanda çalışmaya devam etmesini sağlayıp, bu konsol oturumundan geçici süreliğine ayrılmanız da mümkün. Örneğin ben denemek için `tmux` komutunu girip yeni bir konsol oturumu başlatıyorum. Ve bu oturumda `top` komutunu çalıştırıyorum. Normalde eğer konsol kapanacak olursa bu `top` aracı da kapanacağı için çalışmayı sürdürmeyecek. Fakat ben oturumu tamamen kapatmak yerine oturumdan ayrılmak için <kbd>Ctrl</kbd> + <kbd>B</kbd> tuşlamasını yapıp <kbd>D</kbd> tuşuna basıyorum. Buradaki <kbd>D</kbd> tuşu “**detach**” yani “**ayırmak**” ifadesinden gelen bir kısaltma. Bu sayede konsoldaki hiç bir işlem sonlandırılmadan biz konsoldan ayrılmış oluyoruz. Ayrıldığımız oturumları görmek için de `tmux list-sessions` komutunu kullanıyoruz.
66+
67+
![tmux-detach.gif]({{ site.url }}/egitim/temel-linux/network/tmux-detach.gif){:class="responsive img-zoomable"}
68+
69+
Ayrıldığımız oturumlara geri dönmek için `tmux attach` komutunu kullanabiliyoruz.
70+
71+
![tmux-attach.gif]({{ site.url }}/egitim/temel-linux/network/tmux-attach.gif){:class="responsive img-zoomable"}
72+
73+
Eğer ayrıldığımız birden fazla oturum varsa geçiş yapmak istediğimiz oturumu `tmux attach -t oturum-sayısı` komutuyla özel olarak belirtmemiz gerekiyor.
74+
75+
![tmux-multi-sessions.gif]({{ site.url }}/egitim/temel-linux/network/tmux-multi-sessions.gif){:class="responsive img-zoomable"}
76+
77+
Bu yaklaşım sayesinde oturumlarda gerçekleştirilen işlemler sonlandırılmadan, başka konsol oturumlarında çalışabiliyoruz. Örneğin bir konsolda ssh ile bağlantı sağlayıp işlemler gerçekleştiriyorken, bu şekilde konsoldan ayrıldığımızda ssh bağlantısı ve tabii ilgili işlemler arkaplanda devam edecek. Biz de dilediğimiz zaman bu konsol oturumuna dönebileceğiz.
78+
79+
Bu esnek kullanım özelliğine ek olarak, konsol üzerinde kopyalama ve yapıştırma gibi işlemleri gerçekleştirmemiz de mümkün. Bu özellik, komut satırı arayüzünde çalışan tty konsolları üzerinde çalışmamız gerektiğinde, fare kullanamadığımızda işimizi inanılmaz kolaylaştırıyor.
80+
81+
Kopyalamak için <kbd>Ctrl</kbd> + <kbd>B</kbd> tuşlamasından sonra <kbd>[</kbd> sembolünü temsil eden tuşlamayı yapıyoruz. Bu noktadan itibaren imlecimizi mevcut konsol yazıları üzerinde yön tuşları ile rahatça hareket ettirebiliyoruz. Kopyalamak istediğimiz bölümün başına yön tuşları ile geldikten sonra seçme işlemi için <kbd>Ctrl</kbd> + <kbd>Space</kbd> tuşuna bastıktan sonra yine yön tuşları ile ilgili yazı seçiyoruz. Seçme işlemi bittikten sonra <kbd>Ctrl</kbd> + <kbd>W</kbd> tuşu ile seçili metni kopyalıyoruz.
82+
83+
Kopyalanmış olan metni yapıştırmak için de <kbd>Ctrl</kbd> + <kbd>B</kbd> tuşlamasından sonra <kbd>]</kbd> sembolünü temsil eden tuşlamayı yapmamız yeterli oluyor.
84+
85+
![tmux-copy-paste.gif]({{ site.url }}/egitim/temel-linux/network/tmux-copy-paste.gif){:class="responsive img-zoomable"}
86+
87+
`tmux` aracının en temel kullanımı bu şekilde. Tabii ki aracın kullanımı ve konfigürasyonuna dair pek çok ek ayrıntı mevcut fakat temel kullanım amacı için burada bahsetmiş olduğumuz kadarlık bilgi yeterli. Daha fazlası için ek araştırma yapmakta özgürsünüz.

0 commit comments

Comments
 (0)