Ev Ses Unix / Linux mermileri 101

Unix / Linux mermileri 101

İçindekiler:

Anonim

Unix ve Linux sistemlerindeki komut satırı zaten çok güçlü, ancak kabuklar gözle görülenden daha güçlü bir araçtır. Nasıl yapacağınızı bildiğiniz sürece bunları özelleştirebilir ve kalbinizin içeriğine geçirebilirsiniz.

Kabuk nedir?

Neredeyse her Unix ve Linux el kitabı, işletim sistemi etrafında bir çeşit şeker çubuğuna benzeyen bir kabuk ambalajının standart şemasına sahiptir. Kabuk, çekirdek, dosya sistemi ve çeşitli sistem çağrıları ve kullanıcı dahil olmak üzere işletim sistemi arasındaki bir arabirimden başka bir şey değildir. Uzun yıllar boyunca, grafik kullanıcı arayüzleri 1980'lerde yaygın olan tek etkileşimli kullanıcı arayüzüdür. Grafik kullanıcı arabirimleri, aynı işlevlerin çoğuna hizmet ettikleri için bir kabuk türü olarak da düşünülebilir: programları başlatma, sistemi yapılandırma ve dosyaları yönetme.


Bu mütevazi metin tabanlı arayüzler şaşırtıcı bir güce sahiptir. Bir kere, tam teşekküllü programlama dilleri. Python gibi daha güçlü komut dosyası dillerinin ortaya çıkmasından önce, kabuk komut dosyaları C'nin gücüne ihtiyaç duymayan programlar yazmak için idealdir. Sistem görevlerini otomatikleştirmek ve hızlı prototipleme için hala yararlıdırlar.


Ayrıca, dosyalarla çalışmayı ve dosyaları bulmayı kolaylaştıran bir dizi özelliğe de sahiptirler. En yaygın kullanılanlardan biri "joker karakter" veya "globbing" dir. Hemen hemen tüm Unix ve Linux kullanıcıları, herhangi bir karakterle eşleşmesi için "*" joker karakterine aşinadır. Bu aslında kabuğun işi. Farklı mermilerin daha güçlü seçenekleri var.


Unix'in ayırt edici özelliklerinden biri, program giriş ve çıkışını yönlendirme yeteneğidir. Kabuk bu işlevselliği uygular.


Kabuk sadece başka bir programdır, bu yüzden doğru becerilere sahip herhangi bir programcı için bir tane oluşturmak mümkündür. Yıllar içinde ortaya çıkan birkaç büyük mermi olmuştur.

Tarih ve Kabukların Toplanması

İşletim sisteminin ilk günlerinde birkaç Unix mermisi olmasına rağmen, Bell Laboratuarları dışında büyük bir tanınma elde eden ilk kişi Stephen R. Bourne'un adını taşıyan Bourne Kabuğu idi. Kabuğun ana yeniliği, yapılandırılmış programlama için özellikleri desteklemesi ve kabuğun ilk kez gerçek bir programlama dili olarak kullanılmasını mümkün kılmasıydı. Bourne kabuğunu taklit eden yeni kabuklardan biri olsa da, tüm modern Unix ve Linux sürümleri hala onu kullanmak için vazgeçilmezdir.


Bir sonraki büyük kabuk, genellikle "csh" olarak kısaltılmış C Kabuğuydu. Bu kabuk, Unix'in BSD lezzetinin önemli bir bileşeni haline gelen UC Berkeley'de geliştirildi. Adından da anlaşılacağı gibi, sözdizimi C programlama diline benzeyecek şekilde tasarlanmıştır, ancak gerçekten etkileşimli kullanım için tasarlanmıştır.


Kullanıcıların, tüm satırı yeniden yazmak zorunda kalmadan daha önce verdikleri komutları geri dönmelerine ve tekrar etmelerine izin veren bir geçmiş mekanizması ve birden fazla görevi çalıştırmayı kolaylaştıran gelişmiş iş kontrolü içeriyordu. (Bu, çoğu insanın hala metin tabanlı terminaller kullandığı bir zamandı.)


Bir sonraki büyük kabuk da Bell Laboratuvarlarından çıkan Korn Shell'di. Kabuğa bu arada grubun değil David Korn'un adı verildi. Korn kabuğunun ana yeniliği, tarih işlevselliğini daha da genişleterek komut satırı düzenlemenin başlamasıdır. Kullanıcılar geri dönebilir ve vi veya Emacs düzenleyicilerine benzer komutları kullanarak yazdıkları komutları düzenleyebilir.


Büyük mermilerden Bourne Again Shell veya bash, 80'lerin sonlarındaki tanıtımından bu yana en popüler olanıdır. GNU projesinin bir parçası olarak geliştirilen bu kabuk, Bourne kabuğuyla uyumluluğu korurken C ve Korn mermilerinin yeniliklerini içeriyor. Çoğu Linux dağıtımında "standart" kabuktur.


İlk kez 1990 yılında piyasaya sürülen Z Shell (zsh), komut satırı kullanıcısının hayalidir. Sadece diğer mermilerin sahip olduğu diğer önemli özelliklerin çoğuna sahip olmakla kalmaz, aynı zamanda birçok güçlü özellik ile delicesine özelleştirilebilir. En güçlülerden biri, kullanıcıların geçerli çalışma dizinindeki dosyalar yerine komutlar verirken alt dizinlerdeki dosya adlarını eşleştirmelerine izin veren özyinelemeli globbing'dir. Gerçekten gelişmiş kullanıcılar, tamamlama seçeneklerini özelleştirerek dosyaları tamamen yazmadan dosyaları eşleştirebilirler. Ve şişman parmaklı daktilocular için, yazımınızı da düzeltebilir. Bu kabuk çok gelişmiş, manuel sayfası çok uzun bölümlere ayrılmıştır.

Komut

Daha önce de belirtildiği gibi, kabuklar sadece komut satırı arayüzleri değil, güçlü programlama dilleri. Kabuk kodlamanın güzelliği, hem düzenli etkileşimli kullanımda hem de komut dosyalarında aynı dili kullanabilmenizdir, bu da öğrenme eğrisini daha düz hale getirir. Modern kabuklar, akış kontrolü, fonksiyonlar ve değişkenler dahil olmak üzere tüm olağan programlama dili özelliklerini içerir. Hatta birkaçı ilişkilendirilebilir diziler gibi gelişmiş veri yapılarına sahiptir.


Güçlerine rağmen, kabuklarda programlamanın birkaç tuzağı var. En büyük sorun, başka bir sistemde bulunmayan bazı programlara veya Unix veya Linux'un belirli bir lezzetine bağlı olan komut dosyaları yazmanın çok kolay olmasıdır. Bu nedenle kabuk komut dosyaları, yalnızca tek bir sistemde çalıştırılacağını bildiğiniz programlar için en uygunudur. Taşınabilir bir şey oluşturmaya çalışıyorsanız ve bir C programı yazmak istemiyorsanız, en iyi seçeneğiniz Perl veya Python gibi başka bir komut dosyası dilinde yazmaktır.

Unix / Linux Komut Satırının Altına Bir Bakış

Unix / Linux komut satırınızın yüzeyinin altında gizlenen daha fazla güç var. Bu makale, gerçekten neler yapabileceğinizi görmek için favori kabuğunuzun kaputunun altına bir göz atmanız için size ilham verebilir. Kabuk komut dosyalarına girmek istiyorsanız, Unix Elektrikli El Aletleri ve Bash Kabuğunu Öğrenme başlıklı kitaplara göz atmak isteyebilirsiniz. Stephen R. Bourne'un kabuğundaki orijinal makalesi, eski bile olsa, kabuk komut dosyası yazma dünyasına iyi bir giriş niteliğindedir.

Unix / Linux mermileri 101