Linux da sevilmeyen konulardan birisi de terminaldir. Siyah ekranda çalışmak alışkın olmayan birisi için ciddi anlamda rahatsız edici olmaktadır. Bu durum yeni başlayan bir Linux kullancısını; Linux ‘un engin güzelliklerini görmeden, hızlıca uzaklaşmasına sebep olmaktadır.
Yeni gelişmeler ile güzel görünümlü ve daha çok fare ile kullanılan uygulamalar her ne kadar artsa da, yine bu sevilmeyen terminal içerisine dalmak gerekmektedir.
Bu yazımda bu sevimsiz ama elimiz – ayağımız olan bu nesneyi nasıl daha güzel görünümlü hale getirebileceğimizi anlatmaya çalışacağım.
Diğer işletim sistemlerinde de olan çevre değişkenlerine erişerek/değiştirerek çalışmalarımızı daha kolay hale getirebiliyoruz. Bu konuda PS1 değişkeni üzerinde duracağız. Bu çevre değişkeni terminaldeki karşılama satırıdır (prompt).
PS1 değişkeni ile; karşılama satırında istediğimiz şeyleri yazdırmamız ve/veya renklendirmemiz mümkün olacaktır.
Bir sevimsiz konsol açalım. Bu açtığımız konsol bir kabuk içerisinde çalışmaya başlayacaktır. Bu günlerde en çok bash kabuğu kullanılmaktadır. Bununla birlikte sh, zsh, tcsh/csh, ksh, fish, vb. kabuklar da bulunmaktadır.[1]
Bize ilk karşılama satırını ön tanımlı olarak gelen PS1 değişkeni verecektir.
1 |
echo “$PS1” |
komutu ile bu değişkenin içeriğini görebiliyoruz. Buradaki “echo” komutu diğer işletim sistemlerinden de aşına olduğumuz, kendinden sonra gelen yazıyı ekrana basmaya yarıyor. Bir değişken olduğunu belitmek için başına “$” işaretini ekliyoruz. Genelde çevre değişkenleri büyük harf ile yazılmaktadır. PS1, PS2, PATH, vb. Bu değişkenleri öğrenmek için “env” komutunu kullanabiliriz. Konuyu fazla dağıtmadan devam edelim.
1 |
echo “$PS1” |
Çıktı olarak da:
1 |
[\u@\h \W]\$ |
Şimdi bu garip şeylerin bir kaçı ne işe yarıyor, inceleyelim:
|
Tarih “Cmt Eki 04″ şeklinde |
|
ASCII kaçış(escape) karakteri (\033 şekilde de yazmak mümkün) |
|
Bilgisayar adının ilk kısmı (“pc1”) |
|
Bilgisayar tam adı (“pc1.sirketadi.com”) |
|
O andaki kabul adı (“bash” gibi) |
|
O anki zaman 24 saat formatında (“23:59:59″) |
|
O anki zaman 12 saat formatında (“11:59:59″) |
|
12 saat formatı eki öö/ös |
|
Kullanıcı adı |
|
Bir satır alta |
|
O andaki çalışma tam yolu (“/home/kullaniciAdi”) |
|
Mevcut geçmiş olay numarası |
|
Komut sayısı |
|
Root seviyede olmayan tüm kullanıcılar için “$” karakteri görünür; eğer root ise “#” karakteri görünür |
|
Backslash karakteri |
|
Bazı görünmeyen karakterlerin yazdırılmasından sonra (kaçış karakteri gibi) formatın düzgün görünmesi için kabuğun uygun hesabı yapmasını sağlar. \[\e[31m\] gibi yazılmalı |
|
Yukarıdaki açılan parantezi kapatmak için |
Artık sıkıcı açıklamalardan sonra başlayabiliriz.
1 |
export PS1="\u - \h$ " |
yazınca
1 |
kullaniciAdi - serverAdi$ |
haline dönecektir.
1 |
export PS1="[\t]\n\u@\h:\w\$ " |
yazdığımızda da:
1 2 |
[18:42:39] kullaniciAdi@serverAdi:~$ |
halini alacaktır.
Peki eğlence nerede?
1 |
export PS1="\[\e[31m\][\t]\n\u@\h:\w\$\[\e[m\]\$> " |
işte buradan başlıyor.
\e (escape, \007) karakterinden sonra renkli yazılar yazmak artık mümkün olacaktır.
Peki bu renkler ve formatlar nasıldır?
Ekleme
Kod |
Açıklama |
1 |
Kalın / Parlak |
2 |
Soluk |
4 |
Alt çizgili |
5 |
Yanıp – sönen |
7 |
Arka renk ile terslenmiş |
8 |
Gizli(Şifre girişi için kullanılabilir.) |
Temizleme
Kod |
Açıklama |
0 |
Tüm değişiklikleri sıfırla |
21 |
Sadece kalın/parlak olanı sıfırla |
22 |
Sadece soluk olanı sıfırla |
24 |
Sadece alt çizgiyi sıfırla |
25 |
Sadece yanıp – sönmeyi sıfırla |
27 |
Sadece terslenmiş rengi sıfırla |
28 |
Sadece görünmezliği sıfırla |
Yazı rengi
Kod |
Açıklama |
39 |
Ön tanımlı yazı renk |
30 |
Siyah |
31 |
Kırmızı |
32 |
Yeşil |
33 |
Sarı |
34 |
Mavi |
35 |
Pembe |
36 |
Turkuaz |
37 |
Açık gri |
90 |
Koyu Gri |
91 |
Açık kırmızı |
92 |
Açık yeşil |
93 |
Açık sarı |
94 |
Açık mavi |
95 |
Açık pembe |
96 |
Açık turkuaz |
97 |
Beyaz |
Arka renk
Kod |
Açıklama |
49 |
Ön tanımlı arka renk |
40 |
Siyah |
41 |
Kırmızı |
42 |
Yeşil |
43 |
Sarı |
44 |
Mavi |
45 |
Pembe |
46 |
Turkuaz |
47 |
Parlak gri |
100 |
Koyu gri |
101 |
Parlak kırmızı |
102 |
Parlak yeşil |
103 |
Parlak sarı |
104 |
Parlak mavi |
105 |
Parlak pembe |
106 |
Parlak turkuaz |
107 |
Beyaz |
1 |
export PS1="[\[\e[37;40m\]\A\[\e[m\]] \[\e[37;42m\]\u\[\e[m\]@\[\e[35;46m\]\h\[\e[m\] [\[\e[35;40m\]\w\[\e[m\]] > " |
bu şekilde yazınca
haline gelmektedir.
Fakat bu kalıcı değil. Zira terminal kapatılıp açılınca eski haline gelecektir. Ancak ~/.bashrc dosyasına;
1 |
export PS1="[\[\e[37;40m\]\A\[\e[m\]] \[\e[37;42m\]\u\[\e[m\]@\[\e[35;46m\]\h\[\e[m\] [\[\e[35;40m\]\w\[\e[m\]] > " |
ilave eder ve kaydedersek. Artık hep ayarladığımız şekilde açılacaktır.
İyi eğlenceler…