Linux'ta Varsayılan Kabuğunuzu chsh ile Nasıl Değiştirirsiniz
Yayınlanan: 2022-01-29 Bash, tek Linux kabuğu değildir. Çok popüler olan Zsh gibi diğer mermileri denemek kolaydır. Beğendiğiniz birini bulduğunuzda, onu varsayılan kabuğunuz yapmak için chsh
komutunu kullanın. Size nasıl olduğunu göstereceğiz.
Kabuk Neden Önemlidir?
Kabuk, sizinle işletim sistemi arasında oturur. Komutları yazmanıza ve programları çalıştırmanıza izin veren bir terminal penceresi içindeki ortamı sağlar. Kabuk, girişinizi kontrol eder ve ne istediğinizi bulur. Teklifinizi kendisi gerçekleştirebiliyorsa, bunu yapar. Dışarıdan yardıma ihtiyacı olursa, yolunu arar ve istediğiniz her şeyi yapabilecek programları bulur.
Linux'ta birçok farklı kabuk mevcuttur. Hepsi aynı temel görevleri gerçekleştirmenize izin verir: dosya sistemini keşfetme, dosyalarla çalışma, programları başlatma ve komut dosyalarını çalıştırma. Ancak, her biri bu görevleri kendi yöntemleriyle yerine getirir ve kendine özgü özellikleri ve özellikleri vardır.
Kabuklar, şeylerin belirli bir şekilde davranmasını isteyen insanlar tarafından tasarlanma eğilimindedir. Düşünceniz o tasarımcınınkiyle uyumluysa, o kabuk sizin için uygun olabilir. Ayrıca, Linux'ta yeni bir kabuk denemek kolaydır.
Ubuntu dahil çoğu Linux dağıtımında, varsayılan kabuk bash
. Harika bir iş çıkarıyor ve çok yetenekli. Ancak başka bir kabuk, iş akışınız üzerinde büyük etkisi olacak, zaman kazandıran bir fark sunabilir. Bakmazsan asla bilemezsin!
İLGİLİ: ZSH Nedir ve Neden Bash Yerine Kullanmalısınız?
bir kova dolusu kabuk
Farklı Linux kabuklarını daha önce ele aldık, ancak işte en yaygın olanlara hızlı bir giriş:
- bash: Bourne kabuğu birçok dağıtımda varsayılandır.
- rbash: Bu Kısıtlı
bash
kabuğu, içinde çalışan kişi veya komut dosyasına minimum işlevsellik sağlar. - kül: Almquist kabuğu, bash'ın daha hafif bir versiyonudur.
- tire: Debian Alquist Shell, Ubuntu'daki varsayılan kabuk betiğidir.
bash
varsayılan oturum açma ve etkileşimli kabuk olsa da, sistem işlemlerini çalıştırmak içindash
kullanılır çünkübash
çok daha hafiftir. - zsh: Z kabuğu, kabukların
bash
ailesinin modern bir yorumudur. Komut yazım denetimleri ve önerilen düzeltmeler gibi düzgün iyileştirmeler sunar. - balık: Bu dostça etkileşimli kabuk, sıfırdan yazılmıştır ve diğer kabuk ailelerinden türetilmemiştir. Kullanıcı dostu olması amaçlanmıştır. Diğer birçok avantajının yanı sıra, balık, tahmini metne benzer şekilde geçmişinize ve geçerli klasörün içeriğine dayalı olarak komutlar için öneriler sunar.
- ksh: KornShell, özellikle güçlü bir betik dili sağlar.
İLGİLİ: Bash, Zsh ve Diğer Linux Kabukları Arasındaki Fark Nedir?
Kurulu Kabukları Listeleyin
Bilgisayarınızda hangi kabukların kurulu olduğunu görmek için bu komutu kullanın. /etc/shells
dosyasının içeriğini listeler:
kedi /etc/kabuklar
bash
, dash
ve rbash
bahsettik ama sh
nedir?
sh
, 1971'de Bell Labs şöhretinden Ken Thompson tarafından yazılan Thompson kabuğudur. Artık korunmuyor ve uzun zamandan beri modern mermiler tarafından yerini aldı. Yalnızca, hala ilk satırları aşağıdakilere sahip olan eski komut dosyalarıyla uyumluluğu korumak için dahil edilmiştir:
#!/bin/sh
Bu, sisteme komut dosyasını yürütmek için sh
kabuğunu kullanma talimatı verir. Makinenizde gerçekten o eski kabuğa sahip misiniz ve komut dosyalarınızı çalıştırmak için kullanılıyor mu? which
komut, bir komut yazdığınızda hangi programın gerçekten çalıştığını bize söyleyecektir.
sh
yazdığınızda nelerin çalıştığını görelim:
hangi sh
Bu bir ikili dosya buluyor gibi görünüyor. yine de biraz daha derine inersek, bunun aslında komut dosyalarını yürütmek için kullanılan hafif kabuk olan dash
işaret eden sembolik bir bağlantı olduğunu göreceğiz:
ls -l /bin/sh
Bu, modern sistemlerde sh
bulmayı bekleyen komut dosyaları için bir güvenlik ağı sağlamanın temiz ve hafif bir yoludur.
Başka Bir Kabuk Yükleme
fish
kabuğunu kuralım ve dave
için varsayılan olarak ayarlayalım. Ubuntu'da aşağıdaki komutu yazıyoruz:
sudo apt-get install balık
Manjaro'da pacman
kullanın:
sudo pacman -Sy balığı
Fedora'da aşağıdakini yazın:
sudo dnf balık yükle
Kurulum tamamlandığında, kurulu kabukları bir kez daha kontrol edebilirsiniz:
kedi /etc/kabuklar
Yeni kabuğumuz /usr/bin/fish
olarak görünüyor. Bu yola dikkat edin; kısa süre içinde buna ihtiyacınız olacak.
$SHELL Ortam Değişkeni
$SHELL
ortam değişkeni, mevcut kabuğunuzun adını tutar. Hangisine ayarlandığını echo
ile kontrol edebiliriz:
yankı $ KABUK
fish
kabuğuna başlayalım:
balık
Şimdi $SHELL
ortam değişkeninin ne dediğini tekrar kontrol edelim:
yankı $ KABUK
echo $SHELL
ilk kullandığımızda, bash
kabuğundayız. Ortam değişkeni, /bin/bash
bash
yürütülebilir dosyasının yolunu tutar.
fish
kabuğunu başlattığımızda, samimi bir karşılama mesajı alıyoruz ve komut istemi değişiyor. Şaşırtıcı olabilecek şey, $SHELL
ortamının hala yürütülebilir bash
/bin/bash
yolunu tutmasıdır. Sorun değil - bu normal.
Yeni bir kabuk (veya başka bir program) başlattığınızda, ana kabuğun ortamını devralır. Bu nedenle, fish
kabuğu, bash
kabuğundan global ve dışa aktarılan ortam değişkenlerini devralır. $SHELL
ortam değişkenindeki değer değiştirilmediğinden, fish
kabuğunda bash
kabuğunda yaptığı değerle aynı değere sahiptir.
Diğer programlar gibi fish
çalıştırıyoruz. fish
kabuğundan exit
için de çıkış kullanabiliriz. Diğer herhangi bir program gibi kapanır ve bash
kabuğuna geri döneriz.
Bu, yeni mermileri denemek, ne yapabildiklerini ve onlarla iyi geçinip geçinemediğinizi görmek için harika. Atlamayı yapmadan önce keşfedebilir ve birini merminiz olarak kabul edebilirsiniz.
fish
- veya başka bir kabuğu - varsayılanınız yapmaya karar verirseniz, chsh
komutunu kullanmanız gerekir.
chsh Komutu
chsh
komutu, varsayılan kabuğunuzu değiştirmenize izin verir. İşin püf noktası, hem varsayılan oturum açma hem de varsayılan etkileşimli kabukları değiştirmenize izin verdiğini bilmektir. Birini veya diğerini veya her ikisini de değiştirmek isteyebilirsiniz.
Bir komut istemi almak için her oturum açtığınızda, oturum açma kabuğunuz olarak yapılandırılmış kabuğu kullanırsınız. Halihazırda oturum açtığınızda ve bir terminal penceresi açtığınızda, etkileşimli kabuğunuz olarak yapılandırılmış kabuğu kullanırsınız. Bunlar aynı veya farklı kabuklar olabilir.
Giriş kabuğunuzu ayarlamak için parametresiz chsh
kullanın:
chsh
Parolanız istenir. Ardından, yeni kabuğun yolunu yazmalı ve Enter tuşuna basmalısınız.
Bu test bilgisayarına başka bir bilgisayardan uzaktan bağlantı yaparsak, giriş yaptıktan sonra kendimizi fish
kabuğunda buluruz.
Etkileşimli kabuğunuzu değiştirmek için -s
(kabuk) seçeneğiyle chsh
kullanın. Komut satırında yeni kabuğa giden yolu iletin:
chsh -s /usr/bin/balık
Parolanız istenir ve mevcut kabuğunuzun komut istemine dönersiniz. Değişikliğin geçerli olması için oturumu kapatıp tekrar açmanız gerekir. Bunu yaptığınızda, selamlamayı ve fish
kabuğu komut istemini göreceksiniz.
$SHELL
ortam değişkeni artık yeni varsayılan kabuğunuzun yolunu tutar:
yankı $ KABUK
Başka Bir Kullanıcı Hesabının Kabuğunu Değiştirme
Kök ayrıcalıklarınız varsa ve sudo
kullanabiliyorsanız, diğer kullanıcı hesaplarının kabuklarını değiştirebilirsiniz. Komut, o kişinin kullanıcı adının komut satırına eklenmesiyle öncekiyle aynıdır:
sudo chsh -s /usr/bin/fish mary
mary
bir sonraki oturum açtığında, bir terminal penceresi açtığında yeni kabuğu görecek.
Herkesin Sevdiği Vardır
Kabuk seçiminiz konusunda rahat olduğunuz ve işinize yaradığı sürece, bu harika! Unutmayın, kurulum rutinleri gibi genel komut dosyalarını çalıştırabilmelidir. Burada bahsedilen mermiler için bu bir sorun olmamalı.
Tabii ki, ayrıca yeni bir kabuk indirip kurabilir ve bilgisayarınızda herhangi bir yapılandırma değişikliği yapmadan bir test sürüşüne çıkabilirsiniz. Düğümü atmaya hazır olduğunuzda, chsh
töreni sizin için yapacak.
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