Linux Terminallerini Yönetmek için 20 Ekran Komutu Örneği


Kısa: Bu kılavuzda, screen komutunun bazı yararlı örneklerini tartışacağız. Bu kılavuzun sonunda kullanıcılar, tek bir Linux terminal penceresi kullanarak birden fazla kabuk oturumuyla çalışabilecekler.

Linux kullanıcıları olarak genellikle büyük dosyaları indirmek veya kopyalamak, zaman alan veritabanı sorgularını yürütmek vb. gibi uzun süren görevler üzerinde çalışmamız gerekir. Bazen bu önemli görevler oturumun zaman aşımı nedeniyle aniden sonlandırılır.

Bu tür senaryoları hafifletmek için, fiziksel bir konsolu çeşitli işlemler (tipik olarak etkileşimli kabuklar) arasında çoğaltmak için kullanılabilen tam ekran bir yazılım programı olan screen komutunu kullanabiliriz. Kullanıcıya tek bir terminal penceresi yöneticisi içinde birkaç ayrı terminal örneğini açma olanağı sunar.

Ekran uygulaması, bir komut satırı arayüzünden birden fazla programla çalışıyorsanız ve programları terminal kabuğundan ayırmak için çok kullanışlıdır. Ayrıca oturumlarınızı diğer kullanıcılarla paylaşmanıza ve terminal oturumlarını ayırmanıza/bağlamanıza olanak tanır.

Bu kılavuzda, bir Linux sisteminde screen komutunun nasıl kurulacağını, yapılandırılacağını ve kullanılacağını tartışacağız. Bu kılavuz boyunca pratik örnekler kullanarak ekran komutunun kullanımını ve faydalarını anlayacağız.

Öyleyse başlayalım.

Linux'ta Screen Command'ı yükleyin

Ubuntu Sunucu Sürümü'mde, ekran komutu varsayılan olarak yüklenmiştir. Ancak Linux Mint'te varsayılan olarak yüklü bir ekran yoktur, bu nedenle kullanmadan önce apt-get komutunu kullanarak yüklemem gerekiyor .

Ekranı kurmak için lütfen dağıtım kurulum prosedürünüzü takip edin.

sudo apt-get install screen      [On Debian, Ubuntu and Mint]
sudo yum install screen          [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux]
sudo emerge -a sys-apps/screen   [On Gentoo Linux]
sudo apk add screen              [On Alpine Linux]
sudo pacman -S screen            [On Arch Linux]
sudo zypper install screen       [On OpenSUSE]    

Şimdi komutun başarıyla kurulduğunu doğrulayalım:

screen --version

Screen version 4.8.00 (GNU) 05-Feb-20

Aslında ekran, Linux'ta yüzlerce Linux komutunun içine gizlenmiş çok iyi bir terminal çoklayıcı programdır.

Aşağıdaki örneklerle screen komutunun Linux'taki kullanımını görmeye başlayalım.

Ekran Komut Söz Dizimi

ekran komutunun sözdizimi aşağıdaki gibidir

screen [OPTIONS] [ CMD [ ARGS ] ]

Yukarıdaki sözdiziminde, tüm parametrelerin seçenek olduğunu ve bunların ([]) köşeli parantezlerle temsil edildiğini görebiliriz.

1. İlk Kez Başlangıç Ekranı

Komut istemine ekranı yazmanız yeterlidir. Daha sonra ekran tam olarak komut istemindeki gibi bir arayüz gösterecektir.

screen

2. Ekran Parametresini Göster

Ekrana girdiğinizde tüm işlerinizi normal komut satırı ortamındaki gibi yapabilirsiniz. Ancak ekran bir uygulama olduğundan komutları veya parametreleri vardır.

Tırnak işaretleri olmadan “Ctrl-A” ve “?” yazın. Daha sonra ekranda tüm komutları veya parametreleri göreceksiniz.

Yardım ekranından çıkmak için “boşluk çubuğu ” düğmesine veya “Enter” tuşuna basabilirsiniz. (Lütfen “Ctrl-A” kullanan tüm kısayolların tırnak işaretleri olmadan yapıldığını unutmayın).

3. Tüm Açık Pencereler Nasıl Listelenir?

Önceki örnekte screen komutunu kullanarak yeni bir kabuk oturumu başlattık. Şimdi mevcut ekran oturumunun tüm açık pencerelerini listelemek için ctrl-a + " tuş kombinasyonunu kullanalım:

Yukarıdaki çıktıda pencerenin numarasını ve adını görebiliriz. İlk sütun pencere numarasını temsil eder ve sıfırdan başlar.

Sonraki sütun pencerenin adını temsil eder ve varsayılan biçimi şu şekildedir: @:<çalışma-dizini>.

4. Ekran Penceresi Oturumu Nasıl Sonlandırılır

ctrl-a + k tuş kombinasyonlarını kullanarak aktif pencere oturumunu sonlandırabiliriz. Bu eylemin, geçerli sanal pencereden komut yürütmeyi kesintiye uğratacağını unutmamak önemlidir.

Yukarıdaki çıktıda screen komutunun kullanıcının onayını beklediğini görüyoruz. Sol alt köşede uyarı mesajını gösterir.

Diğer Linux komutları gibi, işlemi sürdürmek için 'y' veya işlemi iptal etmek için 'n' komutunu kullanabiliriz.

5. İsimle Ekran Oturumu Nasıl Başlatılır

screen komutu, kullanıcı tanımlı bir adla bir oturum oluşturmamıza olanak tanır; bu, birden fazla oturum mevcut olduğunda kullanışlıdır.

Öyleyse, adlandırılmış bir oturum oluşturmak için komutun -S seçeneğini kullanalım:

screen -S demo-screen

Yukarıdaki komutta demo ekranı oturumun adıdır.

6. Terminal Oturumunu Ekranla Ayırın

Ekranın avantajlarından biri de onu çıkarabilmenizdir. Daha sonra ekranda yaptığınız hiçbir şeyi kaybetmeden geri yükleyebilirsiniz. İşte örnek senaryo:

Sunucunuzda SSH'nin ortasındasınız. Diyelim ki wget komutunu kullanarak sisteminiz için 400MB bir yama indiriyorsunuz.

İndirme işleminin 2 saat süreceği tahmin ediliyor. SSH oturumunun bağlantısını keserseniz veya bağlantı yanlışlıkla kesilirse indirme işlemi durur. Tekrar baştan başlamanız gerekiyor. Bunu önlemek için bir ekran kullanabilir ve onu ayırabiliriz.

Bu komuta bir göz atın. Öncelikle ekrana girmeniz gerekiyor.

screen

Daha sonra indirme işlemini gerçekleştirebilirsiniz. Örneğin Linux Mint'imde dpkg paketimi apt komutunu kullanarak yükseltiyorum.

sudo apt install dpkg
Reading package lists... Done
Building dependency tree      
Reading state information... Done
The following packages will be upgraded:
  dpkg
1 upgraded, 0 newly installed, 0 to remove and 1146 not upgraded.
Need to get 2,583 kB of archives.
After this operation, 127 kB of additional disk space will be used.
Get:1 http://debian.linuxmint.com/latest/ 
testing/main dpkg i386 1.16.10 [2,583 kB]
47% [1 dpkg 1,625 kB/2,583 kB 47%]     14,7 kB/s

İndirme işlemi devam ederken “Ctrl-A” ve “d“ tuşlarına basabilirsiniz. Bu tuşlara bastığınızda hiçbir şey görmeyeceksiniz. Çıktı şu şekilde olacaktır:

[detached from 5561.pts-0.mint]
pungki@mint ~ $

7. Terminal Oturumunu Ekranla Yeniden Ekleyin

Ekranı çıkardıktan sonra diyelim ki SSH oturumunuzun bağlantısını kesip eve gidiyorsunuz. Evinizde sunucunuza tekrar SSH yapmaya başlıyorsunuz ve indirme işleminizin ilerleyişini görmek istiyorsunuz. Bunu yapmak için ekranı geri yüklemeniz gerekir. Bu komutu çalıştırabilirsiniz:

pungki@mint ~ $ screen -r

Ve bıraktığınız sürecin hala devam ettiğini göreceksiniz.

1'den fazla ekran oturumunuz olduğunda ekran oturumunun kimliğini yazmanız gerekir. Kullanılabilir ekran sayısını görmek için -ls ekranını kullanın.

pungki@mint ~ $ screen -ls
pungki@mint ~ $ screen -ls
There are screens on:
        7849.pts-0.mint (10/06/2021 01:50:45 PM)        (Detached)
        5561.pts-0.mint (10/06/2021 11:12:05 AM)        (Detached)
2 Sockets in /var/run/screen/S-pungki

7849.pts-0.mint ekranını geri yüklemek istiyorsanız bu komutu yazın.

pungki@mint ~ $ screen -r 7849

8. Çoklu Ekran Terminal Pencerelerini Kullanma

İşinizi yapmak için 1 ekrandan fazlasına ihtiyaç duyduğunuzda bu mümkün mü? Evet öyle. Aynı anda birden fazla ekran penceresi çalıştırabilirsiniz. Bunu yapmanın 2 (iki) yolu vardır.

Öncelikle ilk ekranı ayırıp gerçek terminalde başka bir ekran çalıştırabilirsiniz. İkinci olarak, gösterildiği gibi iç içe geçmiş bir ekran yaparsınız.

Yeni pencereler oluşturmak için ctrl-a + c tuş kombinasyonunu iki kez kullanarak iki yeni pencere oluşturun. Daha sonra, tüm etkin pencereleri listelemek için ctrl-a + " tuş kombinasyonunu kullanalım:

Yukarıdaki çıktıda artık üç pencerenin olduğunu görebiliriz.

9. Ekran Penceresini Yeniden Adlandırma

Önceki örnekte iki yeni pencere oluşturduk. Ancak varsayılan adları onlar hakkında herhangi bir ayrıntı sağlamamaktadır. Böyle durumlarda onlara anlamlı isimler atayabiliriz.

Geçerli pencere oturumunu yeniden adlandırmak için ctrl-a + A tuş kombinasyonunu kullanabiliriz. Bu tuş birleşimi kullanıcıdan bir pencere başlığı ayarlamasını ister:

10. Ekran Terminali Pencereleri Arasında Geçiş Yapmak

Önceki örnekte birden fazla pencere oluşturduk. Şimdi bunlar arasında nasıl geçiş yapacağımızı görelim.

Öncelikle ctrl-a + " tuş kombinasyonunu kullanarak tüm aktif pencereleri listeleyelim. Ardından, uygun pencereyi seçmek için yukarı veya aşağı ok tuşunu kullanın. Son olarak seçilen pencereye geçmek için enter tuşuna basın. pencere.

Bu örnekte db-query başlıklı pencereyi seçtik.

11. Sonraki Ekran Penceresine Nasıl Geçilir?

Sonraki pencerelere geçmek için ctrl-a + n tuş kombinasyonunu kullanabiliriz. Bunu bir örnekle anlayalım.

Öncelikle ilk pencereye geçin ve ctrl-a + " tuş kombinasyonunu kullanarak doğrulayın:

Şimdi ctrl-a + n tuş kombinasyonuna iki kez basarak üçüncü pencereye geçelim ve ctrl-a + " tuş kombinasyonunu kullanarak doğrulamayı yapalım.

Yukarıdaki çıktıda artık üçüncü pencerede olduğumuzu görebiliriz.

12. Önceki Ekran Penceresine Nasıl Geçilir?

Benzer şekilde bir önceki pencereye geçmek için ctrl-a + p kombinasyonunu kullanabiliriz.

Şu anda üçüncü penceredeyiz. O halde ctrl-a + p tuş kombinasyonunu iki kez kullanalım ve tekrar ilk pencerede olduğumuzu doğrulayalım:

Yukarıdaki çıktıda artık ilk pencereye döndüğümüzü görebiliriz.

13. Geçerli ve Önceki Pencere Arasında Nasıl Geçiş Yapılır?

Bazen sadece iki pencere arasında geçiş yapmak isteriz. Bu gibi durumlarda ctrl-a + ctrl-a tuş kombinasyonunu kullanabiliriz.

Bunu anlamak için öncelikle ilk pencereye geçin:

Ardından son pencereye geçin:

Son olarak tekrar ilk pencereye geçmek için ctrl-a + ctrl-a tuş kombinasyonunu kullanın.

14. Belirli Bir Ekran Penceresine Nasıl Atlanır

Önceki örneklerde pencereler arasında geçiş yapmanın çeşitli yollarını gördük. Ancak bazen belirli bir pencereye atlamak isteriz. Bu tür senaryolarda pencere numaralarını kullanabiliriz.

Öncelikle ctrl-a + " tuş kombinasyonunu kullanarak pencere numarasını bulalım:

Yukarıdaki çıktıda ilk sütun pencere numarasını temsil eder. Screen komutunun numaralandırmaya sıfırdan başladığını unutmamak önemlidir.

Şimdi ctrl-a + 2 tuş kombinasyonunu kullanarak üçüncü pencereye geçelim ve doğru pencerede olduğumuzu doğrulayalım:

15. Ekran Penceresini Yatay Olarak Bölme

Normal terminallerde olduğu gibi ekran penceresini de bölebiliriz. Pencereyi yatay olarak bölmek için ctrl-a + S tuş kombinasyonunu kullanabiliriz.

Artık bölgeler arasında geçiş yapmak için ctrl-a + tab tuş kombinasyonunu kullanabiliriz.

Son olarak mevcut bölgeyi kaldırmak için ctrl-a + X tuş kombinasyonunu kullanabiliriz. Burada büyük X karakteri kullanmamız gerektiğini unutmamak gerekir.

16. Ekran Penceresini Dikey Olarak Bölme

Benzer şekilde, geçerli pencereyi dikey olarak bölmek için ctrl-a + | tuş kombinasyonunu kullanabiliriz:

Buna ek olarak bölgeler arasında geçiş yapmak için ctrl-a + tab tuş kombinasyonunu ve mevcut bölgeyi kapatmak için ctrl-a + X tuş kombinasyonunu da kullanabiliriz.

17. Linux'ta Ekran Günlüğünü Etkinleştirin

Bazen konsoldayken yaptıklarınızı kaydetmek önemlidir. Pek çok Linux sunucusunu yöneten bir Linux Yöneticisi olduğunuzu varsayalım.

Bu ekran kaydıyla, yaptığınız her komutu tek tek yazmanıza gerek yoktur. Ekran günlüğü işlevini etkinleştirmek için “Ctrl-A” ve “H“ tuşlarına basmanız yeterlidir. (Lütfen dikkatli olun, büyük 'H' harfleri kullanıyoruz. Büyük harf olmayan 'h' kullanıldığında yalnızca basılı kopya adlı başka bir dosyada ekranın ekran görüntüsü oluşturulur) .

Ekranın sol alt kısmında beğenmenizi söyleyen bir bildirim olacaktır: “screenlog.0” günlük dosyası oluşturuluyor. Ana dizininizde bir screenlog.0 dosyası bulacaksınız.

Bu özellik, ekran penceresindeyken yaptığınız her şeyi ekleyecektir. Koşu etkinliğini günlüğe kaydetmek üzere ekranı kapatmak için “Ctrl-A” ve “H” tuşlarına tekrar basın.

Loglama özelliğini aktif hale getirmenin diğer bir yolu ise ekranı ilk çalıştırdığınızda “-L” parametresini ekleyebilirsiniz. Komut bu şekilde olacak.

pungki@mint ~ $ screen -L

18. Linux Terminal Ekranını Kilitle

Ekranda ayrıca ekranı kilitlemek için bir kısayol da bulunur. Ekranı kilitlemek için “Ctrl-A” ve “x” kısayollarına basabilirsiniz. Ekranınızı hızlı bir şekilde kilitlemek istiyorsanız bu kullanışlıdır. Kısayola bastıktan sonra kilit ekranının örnek çıktısını burada bulabilirsiniz.

Screen used by Pungki Arianto  on mint.
Password:

Kilidini açmak için Linux şifrenizi kullanabilirsiniz.

19. Ekran Oturumuna Şifre Ekleyin

Güvenlik nedeniyle ekran oturumunuza şifreyi koymak isteyebilirsiniz. Ekranı yeniden eklemek istediğinizde bir Şifre sorulacaktır. Bu şifre yukarıdaki Kilit Ekranı mekanizmasından farklıdır.

Ekran şifrenizin korunmasını sağlamak için “$HOME/.screenrc” dosyasını düzenleyebilirsiniz. Dosya mevcut değilse manuel olarak oluşturabilirsiniz. Sözdizimi bu şekilde olacak.

password crypt_password

Yukarıdaki “crypt_password” oluşturmak için Linux'ta “mkpasswd” komutunu kullanabilirsiniz. İşte “pungki123” şifresini içeren komut.

pungki@mint ~ $ mkpasswd pungki123
l2BIBzvIeQNOs

mkpasswd yukarıda gösterildiği gibi bir karma şifre oluşturacaktır. Hash şifresini aldıktan sonra “.screenrc” dosyanıza kopyalayıp kaydedebilirsiniz. Yani “.screenrc” dosyası şu şekilde olacak.

password l2BIBzvIeQNOs

Ekranı bir sonraki çalıştırışınızda ve çıkardığınızda, aşağıda gösterildiği gibi yeniden takmayı denediğinizde bir şifre sorulacaktır:

pungki@mint ~ $ screen -r 5741
Screen password:

pungki123” olan şifrenizi yazdığınızda ekran tekrar yeniden eklenecektir.

Bu ekran şifresini uygulayıp “Ctrl-A” ve “x” tuşlarına bastığınızda çıktı bu şekilde olacaktır.

Screen used by Pungki Arianto on mint.
Password:
Screen password:

Size iki kez bir Şifre sorulacaktır. İlk şifre Linux şifreniz, ikinci şifre ise .screenrc dosyanıza koyduğunuz şifredir.

20. Terminal Oturumundan Ayrılma Ekranı

Ekrandan ayrılmanın 2 (iki) yolu vardır. Öncelikle ekranı ayırmak için “Ctrl-A” ve “d” tuşlarını kullanıyoruz. İkinci olarak ekranı sonlandırmak için çıkış komutunu kullanabiliriz. Ekranı kapatmak için “Ctrl-A” ve “K” tuşlarını da kullanabilirsiniz.

Ekran Komutu Hile Sayfası

screen -S <session_name>

Oturum adıyla yeni bir oturum başlatın.

screen -ls

Çalışan oturumları/ekranları listeleyin.

screen -x

Çalışan bir oturuma ekleyin.

screen -r <session_name>

Adıyla birlikte çalışan bir oturuma ekleyin.

screen -d <session_name>

Çalışan bir oturumu ayırın.

Ctrl-a c

Yeni pencere oluştur.

Ctrl-a Ctrl-a

Son ziyaret edilen etkin pencereye geçin.

Ctrl-a <number>

Numaraya göre pencereye geçin.

Ctrl-a ' <number or title>

Numaraya veya isme göre pencereye geçin.

Ctrl-a n or Ctrl-a <space>

Listedeki sonraki pencereye geçin.

Ctrl-a p or Ctrl-a <backspace>

Listedeki önceki pencereye geçin.

Ctrl-a "

Pencere listesine bakın.

Ctrl-a w

Pencere çubuğunu göster.

Ctrl-a k

Geçerli pencereyi sonlandır.

Ctrl-a \

Tüm pencereleri öldür.

Ctrl-a A

Geçerli pencereyi yeniden adlandırın.

Ctrl-a S

Ekranı yatay olarak bölün.

Ctrl-a | or Ctrl-a V

Ekranı dikey olarak bölün.

Ctrl-a tab

Sonraki görüntüleme bölgesine geçin.

Ctrl-a X

Mevcut bölgeyi kaldır.

Ctrl-a Q

Geçerli bölge dışındaki tüm bölgeleri kaldırın.

Ctrl-a H

Ekran oturumunda oturum açmayı etkinleştirin.

Ctrl-a x

Ekranı kilitle (şifre korumalı).

Bunlar, günlük bazda ekran komutunun kullanımından bazılarıdır. Ekran komutunun içinde hala pek çok özellik bulunmaktadır. Daha fazla ayrıntı için ekran kılavuz sayfasını görebilirsiniz.

Linux'ta screen komutunun en iyi başka örneğini biliyor musunuz? Aşağıdaki yorumlarda görüşlerinizi bize bildirin.