Tüm barındırma hizmetlerinde 15% tasarruf edin

Becerilerini test et ve herhangi bir hosting planında İndirim kazan

Kodu kullanın: Skills Başlayın
Bölüm
Linux Sanal Sunucular

tmux Kullanımı: Linux’ta Terminal Çoğullama Rehberi

Bir Linux sunucusunu verimli bir şekilde yönetmek doğru araçları gerektirir — ve tmux kadar dönüştürücü olan birkaç araç vardır. İster birden fazla işlemi yöneten bir geliştirici, ister uzak oturumları koruyan bir sistem yöneticisi, ister terminalde yaşayan bir ileri kullanıcı olun, tmux (Terminal Multiplexer) komut satırıyla nasıl etkileşim kurduğunuzu temel olarak değiştirir.

Bu kapsamlı rehber tmux hakkında bilmeniz gereken her şeyi kapsar: nedir, neden önemlidir, nasıl kurulur ve yapılandırılır ve gerçek dünya sunucu ortamlarında — VPS Hosting ve özel altyapı dahil olmak üzere — etkili bir şekilde nasıl kullanılır.

tmux Nedir?

tmux, tek bir pencere içinde birden fazla terminal oturumunu oluşturmanıza, yönetmenize ve gezinmenize olanak tanıyan açık kaynaklı bir terminal çoğullaştırıcısıdır. Düzinelerce ayrı SSH bağlantısı veya terminal sekmesi açmak yerine, tmux her şeyi tek bir kalıcı, yapılandırılmış çalışma alanında organize etmenizi sağlar.

Özünde, tmux üç hiyerarşik konsept üzerinde çalışır:

  • Oturumlar — En üst düzey konteyner. Bir oturum bir veya daha fazla pencere içerir ve bağlantıyı kestiğiniz sonra bile devam eder.
  • Pencereler — Tarayıcı sekmelerine benzer şekilde, her pencere tam terminal ekranını kaplar.
  • Panolar — Bir pencere içindeki alt bölümler. Bir pencereyi yatay veya dikey olarak birden fazla panoya bölebilir ve bağımsız işlemleri aynı anda çalıştırabilirsiniz.

Bu mimari, tmux’u uzak sunucu ortamlarında özellikle güçlü kılar. SSH aracılığıyla bir VPS veya Dedicated Server‘a bağlı olduğunuzda, bağlantı kesilmesi artık kaybedilen işi anlamına gelmez — tmux oturumunuz arka planda çalışmaya devam eder ve yeniden bağlandığınız anda yeniden bağlanmaya hazır olur.

tmux Neden Kullanılır? Sistem Yöneticileri ve Geliştiriciler için Temel Faydalar

Komutlara geçmeden önce, tmux’un profesyonel sunucu yönetiminde neden standart bir araç haline geldiğini anlamak değerlidir:

1. Oturum Kalıcılığı

Uzun süreli işlemler — veritabanı göçleri, derleme işleri, günlük izleme — SSH bağlantınız kesilse bile kesintisiz devam eder. Bu, uzak altyapıda çalışırken kritiktir.

2. Paralel İş Akışı Yönetimi

Terminalinizi bölmelere ayırarak aynı anda bir yapılandırma dosyasını düzenleyin, bir günlüğü takip edin ve sistem kaynaklarını izleyin — pencereler arasında geçiş yapmadan.

3. İşbirlikçi Erişim

Birden fazla kullanıcı aynı tmux oturumuna aynı anda bağlanabilir, paylaşılan bir sunucuda gerçek zamanlı çift programlama veya işbirlikçi hata ayıklamayı etkinleştirir.

4. Yeniden Üretilebilir Çalışma Alanları

Karmaşık çok bölmeli, çok pencereli düzenleri kaydedin ve geri yükleyin, böylece çalışma ortamınız oturumlar arasında tutarlı olur.

5. Hafif ve Evrensel

tmux tamamen terminalde çalışır, GUI bağımlılığı yoktur, bu da onu başsız sunucular, konteynerler ve minimal Linux kurulumları için ideal kılar.

tmux Kurulumu

tmux, neredeyse her büyük Linux dağıtımının varsayılan paket depolarında mevcuttur. Sisteminiz için uygun komutu seçin:

Ubuntu / Debian

sudo apt update
sudo apt install tmux

CentOS / RHEL / Fedora

# CentOS/RHEL 7
sudo yum install tmux

# CentOS/RHEL 8+ and Fedora
sudo dnf install tmux

Arch Linux

sudo pacman -S tmux

macOS (Homebrew aracılığıyla)

brew install tmux

Kurulumu Doğrulayın

tmux -V

Bu, tmux 3.3a gibi yüklü sürümü döndürmelidir.

tmux Ön Ek Tuşunu Anlamak

Her tmux klavye kısayolu bir ön ek tuşu ile başlar — tmux’a bir sonraki tuş vuruşunun bir komut olduğunu, normal giriş olmadığını işaret eden bir tuş kombinasyonu.

Varsayılan ön ek Ctrl + b. Bu kılavuz boyunca bunu <prefix> olarak göstereceğiz. Yani <prefix> c şu anlama gelir: Ctrl + b tuşlarına basın, her iki tuşu bırakın, ardından c tuşuna basın.

> Pro İpucu: Birçok deneyimli kullanıcı, ergonomik nedenlerle ön eki Ctrl + a olarak değiştirir (GNU Screen’e benzer). Bunu özelleştirme bölümünde ele alacağız.

Core tmux Komutları: Oturumlar

Yeni Bir Oturum Başlatma

tmux’ı varsayılan adsız oturumla başlatın:

tmux

Açıklayıcı bir adla oturum başlatın (şiddetle önerilir):

tmux new -s session_name

Örneğin, bir web sunucusunu yönetirken:

tmux new -s webserver

Etkin Oturumları Listeleme

tmux dışından, çalışan tüm oturumları listeleyin:

tmux ls

Örnek çıktı:

webserver: 3 windows (created Mon Jan 13 10:22:01 2025)
database: 1 window (created Mon Jan 13 09:15:44 2025)

Bir Oturumdan Ayrılma

Geçerli oturumdan ayrılmak için (arka planda çalışır durumda bırakmak):

<prefix> d

Yani: Ctrl + b, ardından d.

Normal kabuğunuza döndürüleceksiniz ve tmux oturumu tüm işlemleriyle birlikte çalışmaya devam edecektir.

Bir Oturuma Yeniden Bağlanma

Belirli bir adlandırılmış oturuma yeniden bağlanın:

tmux attach-session -t session_name

Veya kısaltmayı kullanın:

tmux a -t session_name

Yalnızca bir oturum varsa:

tmux attach

Bir Oturumu Yeniden Adlandırma

tmux içindeyken:

<prefix> $

Yeni adı yazın ve Enter tuşuna basın.

Bir Oturumu Sonlandırma

Belirli bir oturumu ve tüm işlemlerini sonlandırmak için:

tmux kill-session -t session_name

Tüm oturumları sonlandırmak için:

tmux kill-server

Temel tmux Komutları: Pencereler

Pencereler bir oturum içinde sekmeler gibi işlev görür. Her pencere tamamen bağımsız bir işlem çalıştırabilir.

İşlemKısayol
Yeni pencere oluştur<prefix> c
Sonraki pencereye geç<prefix> n
Önceki pencereye geç<prefix> p
Numaraya göre pencereye geç<prefix> 0–9
Geçerli pencereyi yeniden adlandır<prefix> ,
Tüm pencereleri listele<prefix> w
Geçerli pencereyi kapat<prefix> &

Core tmux Commands: Panes

Panes, tek bir pencereyi birden fazla terminal alanına bölmenize izin verir — tmux’ın en güçlü özelliklerinden biridir.

İşlemKısayol
Pane’i yatay olarak böl (üst/alt)<prefix> "
Pane’i dikey olarak böl (sol/sağ)<prefix> %
Pane’ler arasında gezin<prefix> Arrow Keys
Pane’i yeniden boyutlandır (basılı tutun ve tekrarlayın)<prefix> Ctrl + Arrow Keys
Pane’i tam ekrana yakınlaştır / geri yükle<prefix> z
Pane’i yeni bir pencereye dönüştür<prefix> !
Geçerli pane’i kapat<prefix> x
Pane numaralarını göster<prefix> q

Pratik Örnek: Sunucu İzleme Düzeni

Web sunucusunu izlemek için tipik bir üç pane düzeni:

# Start a new session
tmux new -s monitor

# Split horizontally to create a bottom pane
# Press: <prefix> "

# In the top pane: run htop
htop

# Switch to bottom pane: <prefix> Arrow Down
# Split bottom pane vertically: <prefix> %

# Bottom-left: tail the web server error log
tail -f /var/log/nginx/error.log

# Bottom-right: watch active connections
watch -n 2 'ss -tuln'

Bu, tek bir terminal penceresinde gerçek zamanlı bir pano sağlar — bir üretim sunucusunu yönetirken paha biçilmezdir.

Kopyalama Modu: Kaydırma ve Metin Seçme

Varsayılan olarak, tmux’ta fare kaydırma tekerleği çalışmaz. Çıktıyı kaydırmak veya metin kopyalamak için Kopyalama Modunu kullanırsınız.

Kopyalama Moduna Girin

<prefix> [

Kopyalama Modunda Gezinme

İşlemTuş
Yukarı kaydırArrow Up veya Ctrl + u
Aşağı kaydırArrow Down veya Ctrl + d
İleri ara/
Geri ara?
Seçimi başlatSpace
Seçimi kopyalaEnter
Kopyalama modundan çıkq

Kopyalanan Metni Yapıştır

<prefix> ]

tmux’u Özelleştirme: .tmux.conf Dosyası

tmux’un gerçek gücü, ~/.tmux.conf konumunda bulunan yapılandırma dosyası aracılığıyla iş akışınıza uyarlandığında ortaya çıkar.

Adım 1: Yapılandırma Dosyasını Açın veya Oluşturun

nano ~/.tmux.conf

Dosya mevcut değilse, bu komut onu otomatik olarak oluşturur.

Adım 2: Özelleştirmelerinizi Uygulayın

Aşağıda, en etkili özelleştirmeleri kapsayan iyi açıklamalı, üretime hazır bir yapılandırma bulunmaktadır:

# ============================================
# ~/.tmux.conf — tmux Configuration
# ============================================

# --- Prefix Key ---
# Change prefix from Ctrl+b to Ctrl+a (more ergonomic)
unbind C-b
set -g prefix C-a
bind C-a send-prefix

# --- Mouse Support ---
# Enable mouse for pane selection, resizing, and scrolling
set -g mouse on

# --- Indexing ---
# Start window and pane numbering at 1 (easier keyboard navigation)
set -g base-index 1
setw -g pane-base-index 1

# --- Pane Splitting ---
# Intuitive split shortcuts (| for vertical, - for horizontal)
bind | split-window -h
bind - split-window -v
unbind '"'
unbind %

# --- Pane Navigation (Vim-style) ---
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R

# --- Pane Resizing ---
bind -r H resize-pane -L 5
bind -r J resize-pane -D 5
bind -r K resize-pane -U 5
bind -r L resize-pane -R 5

# --- Visual Appearance ---
# Enable 256-color support
set -g default-terminal "screen-256color"

# Status bar styling
set -g status-bg colour235
set -g status-fg colour136

# Left status: session name
set -g status-left "#[fg=colour166,bold] [#S] "
set -g status-left-length 20

# Right status: hostname, date, and time
set -g status-right "#[fg=colour166]#H #[fg=colour136]| %Y-%m-%d #[fg=colour71]%H:%M "
set -g status-right-length 60

# Highlight active window in status bar
setw -g window-status-current-style fg=colour166,bold

# --- History ---
# Increase scrollback buffer size
set -g history-limit 10000

# --- Reload Config ---
# Reload tmux config with <prefix> r
bind r source-file ~/.tmux.conf ; display-message "Config reloaded!"

Adım 3: Kaydedin ve Çıkın (nano)

  • Kaydet: Ctrl + O, ardından Enter
  • Çık: Ctrl + X

Adım 4: Yapılandırmayı Yeniden Yükleyin

tmux zaten çalışıyorsa, değişiklikleri yeniden başlatmadan uygulayın:

<prefix> :

Ardından şunu yazın:

source-file ~/.tmux.conf

Enter tuşuna basın. Veya, yukarıdaki yapılandırmadan yeniden yükleme bağlamasını eklediyseniz, basitçe şuna basın:

<prefix> r

Adım 5: Özelleştirmelerinizi Doğrulayın

  • Yeni önek tuşu: Ctrl + a tuşuna basın, ardından yeni bir pencere oluşturmak için c tuşuna basın.
  • Fare desteği: Odağı değiştirmek için farklı bölmelere tıklayın; fare tekerleği ile kaydırın.
  • Durum çubuğu: Hostname, tarih ve saatin alt sağ köşede göründüğünü doğrulayın.
  • Bölme bölmeleri: Dikey bölme için <prefix> | tuşuna basın, yatay için <prefix> - tuşuna basın.

Gelişmiş tmux Teknikleri

Shell Scriptleri ile Oturum Düzenlerini Komut Dosyası Haline Getirme

Tüm çalışma alanı kurulumunuzu bir shell scripti ile otomatikleştirin:

#!/bin/bash
# start-dev.sh — Launch a preconfigured development environment

SESSION="dev"

tmux new-session -d -s $SESSION -n "editor"

# Window 1: Code editor
tmux send-keys -t $SESSION:1 "vim ." Enter

# Window 2: Server logs
tmux new-window -t $SESSION -n "logs"
tmux send-keys -t $SESSION:2 "tail -f /var/log/nginx/access.log" Enter

# Window 3: Shell (split into two panes)
tmux new-window -t $SESSION -n "shell"
tmux split-window -h -t $SESSION:3
tmux send-keys -t $SESSION:3.1 "htop" Enter

# Attach to the session
tmux attach-session -t $SESSION

Çalıştırılabilir hale getirin ve çalıştırın:

chmod +x start-dev.sh
./start-dev.sh

Pane’leri Senkronize Etme

Aynı komutu tüm pane’lere aynı anda gönderin — birden fazla sunucuyu yönetmek için son derece kullanışlıdır:

<prefix> :
setw synchronize-panes on

Devre dışı bırakmak için:

setw synchronize-panes off

Oturumları Kullanıcılar Arasında Paylaşma

İki kullanıcı gerçek zamanlı işbirliği için aynı oturuma bağlanabilir:

# User 1 creates a session
tmux new -s shared

# User 2 attaches to it
tmux attach -t shared

Her iki kullanıcı da aynı terminali gerçek zamanlı olarak görür ve kontrol eder.

tmux Hızlı Referans Cheat Sheet

Oturum Komutları

KomutAçıklama
tmux new -s nameAdlandırılmış oturum oluştur
tmux lsOturumları listele
tmux a -t nameOturuma bağlan
tmux kill-session -t nameOturumu kapat
<prefix> dOturumdan ayrıl
<prefix> $Oturumu yeniden adlandır

Pencere Komutları

KısayolAçıklama
<prefix> cYeni pencere
<prefix> n / pSonraki / önceki pencere
<prefix> 0–9Numaraya göre pencereye geç
<prefix> ,Pencereyi yeniden adlandır
<prefix> &Pencereyi kapat

Panel Komutları

KısayolAçıklama
<prefix> %Dikey olarak böl
<prefix> "Yatay olarak böl
<prefix> ArrowPanellerde gezin
<prefix> zPaneli yakınlaştır / uzaklaştır
<prefix> xPaneli kapat
<prefix> qPanel numaralarını göster

tmux in Real-World Server Scenarios

Scenario 1: Running Long Deployments on a VPS

When deploying applications on a VPS with cPanel or a custom control panel, long-running deployment scripts are a common pain point. With tmux:

tmux new -s deploy
./deploy.sh
# Detach with <prefix> d — the deployment continues even if SSH drops

Reattach later to check progress:

tmux a -t deploy

Scenario 2: Multi-Server Administration

When managing multiple Dedicated Servers, open separate tmux windows for each server:

tmux new -s admin
# Window 1: Server A
ssh admin@server-a.example.com

# <prefix> c — new window
# Window 2: Server B
ssh admin@server-b.example.com

# <prefix> c — new window
# Window 3: Server C
ssh admin@server-c.example.com

Switch between servers instantly with <prefix> 1, <prefix> 2, <prefix> 3.

Scenario 3: Monitoring Web Hosting Infrastructure

For users on Shared Web Hosting who have SSH access, tmux provides a lightweight way to keep monitoring scripts running persistently without requiring a dedicated process manager.

Yaygın tmux Sorunlarını Giderme

tmux: command not found

Dağıtımınızın paket yöneticisini kullanarak tmux’ı yükleyin (yukarıdaki kurulum bölümüne bakın).

Renkler yanlış görünüyor veya bozuk

Bunu ~/.tmux.conf‘e ekleyin:

set -g default-terminal "screen-256color"

Ve SSH istemciniz ile terminal emulatörünüzün 256 rengi desteklediğinden emin olun.

Fare kaydırması çalışmıyor

set -g mouse on öğesinin yapılandırmanızda olduğundan ve yapılandırmanın yeniden yüklendiğinden emin olun. Bazı terminal emülatörleri ek yapılandırma gerektirir.

Yeniden bağlandıktan sonra oturumumu bulamıyorum

Tüm etkin oturumları listelemek için tmux ls komutunu çalıştırın. Hiçbiri görünmüyorsa, sunucu yeniden başlamış olabilir. Önyüklemede tmux oturumlarını otomatik olarak başlatmak için bir işlem denetçisi veya systemd hizmeti kullanmayı düşünün.

Önek tuşu yanıt vermiyor

~/.tmux.conf söz dizimini doğrulayın. Yaygın bir hata, yeni bir önek ayarlamadan önce unbind C-b komutunu unutmaktır.

Sonuç

tmux, Linux iş akışınıza ekleyebileceğiniz en etkili araçlardan biridir. Oturum kalıcılığı, esnek pencere yönetimi, bölme bölünmesi ve derin özelleştirilebilirliğinin kombinasyonu, terminalde ciddi şekilde çalışan herkes için — geliştiriciler ve DevOps mühendislerinden üretim altyapısını yöneten sistem yöneticilerine kadar — vazgeçilmez kılmaktadır.

tmux öğrenmeye yapılan yatırım hemen sonuç verir: artık bırakılan SSH bağlantılarından kayıp iş yok, artık terminal pencerelerini karıştırmak yok ve artık bağlam değiştirme yükü yok. Yüksek performanslı bir VPS Hosting planında iş yükleri çalıştırıyor olsanız veya bare-metal Dedicated Servers yönetiyor olsanız, tmux size yapılandırılmış, dayanıklı ve verimli bir komut satırı ortamı sağlar.

Temel bilgilerle başlayın — bir oturum oluşturun, bir bölmeyi bölün, ayırın ve yeniden bağlayın — ardından ihtiyaçlarınız geliştikçe ~/.tmux.conf oluşturmaya kademeli olarak başlayın. Birkaç gün içinde, bunu olmadan nasıl yönettiğinizi merak edeceksiniz.

*tmux becerilerinizi uygulamaya koymak için güvenilir bir sunucu ortamına mı ihtiyacınız var? AlexHost’un VPS Hosting planları, Dedicated Servers ve VPS Control Panels — performans, stabilite ve tam root erişim için tasarlanmış — yelpazesini keşfedin.*