Dahili ve Harici Linux kabuk komutları
Giriş
Linux'un masaüstü tarafında ve tabletlerdeki ilerlemelerine rağmen komut satırından başlayarak öğretilmesi gerektiğine inanıyoruz. Bunun nedeni, Unix ™ 'ten ağır bir şekilde borç alan bir işletim sistemidir ve başlangıçta üzerinde bir metin arabiriminden başka bir şey yoktu. Çalışmalar, eğer varsa, bir grafik kullanıcı arabirimi (GUI) kullanmak yerine komut satırında daha verimli olduğunu göstermiştir. "Varsa", fotoğraf / video düzenleme veya grafiksel ortam gerektiren başka bir görevden bahsetmediğimiz anlamına gelir. Bu, komut satırı arabirimi (CLI) veya GUI aracılığıyla çözülebilen bir görev olduğunda, CLI yolunun daha verimli olduğu anlamına gelir. Dikkate alınması gereken bir diğer şey de Linux dünyasının parçalanmasıdır. Örneğin, OpenSUSE'den YasT kazandı 't Başka bir dağıtımda mevcut olduğundan, belirli bir yazılım parçasıdır. Bu parçalanma CLI dünyasında da görülür, özellikle de çeşitli dosyaların konumlarına gelince, ancak bu durumda sizi haberdar edeceğiz. Henüz ikna olmamanız durumunda, CLI çevresinde yolunuzu öğrenene kadar Linux veya benzer bir işletim sistemi bilmediğinizi unutmayın. Linux'un gücü orada yatıyor ve bundan bir kariyer yapmak istiyorsanız, takip edin: ilginç ve eğlenceli bir yolculuk.veya benzer herhangi bir işletim sistemi, CLI çevresinde yolunuzu öğrenene kadar. Linux'un gücü orada yatıyor ve bundan bir kariyer yapmak istiyorsanız, takip edin: ilginç ve eğlenceli bir yolculuk.veya benzer herhangi bir işletim sistemi, CLI çevresinde yolunuzu öğrenene kadar. Linux'un gücü orada yatıyor ve bundan bir kariyer yapmak istiyorsanız, takip edin: ilginç ve eğlenceli bir yolculuk.
Dahili ve harici Linux kabuk komutları
Bu kelime seçiminden şaşkın olabilirsiniz ve bunun iyi bir nedeni olabilir. Ancak bu, iç komutlara ve belki de dış komutlar için "geri kalan" ifadesine atıfta bulunurken, sık sık karşılaşacağınız bir terminolojidir. Ama o zamana kadar gitmeden önce, aynı sayfada olduğumuzdan emin olalım. Üzerinde çalışacağımız kabuk bashLinux dağıtımlarında en çok kullanıldığı için. Bu en iyisi olduğunu söylemiyor, ama yine de öznel bir terim. 4.xx'den önce bash'ın herhangi bir sürümünü kullanan herhangi bir popüler ve hala korunmuş Linux dağıtımı bilmiyorum, bu yüzden de kullanacağız. Sürekli tartışmalı dağıtım desteği ile ilgili olarak, LPI esas olarak Red Hat ve Debian veya türev dağılımlarına (örneğin Fedora veya Ubuntu) odaklanıyor gibi görünüyor, bu yüzden de destekleyeceğiz. Bununla birlikte, en azından bu düzeyde, dağıtım daha az konuyla ilgilidir: önemli olan, güncel bir kabuk ve dağıtımdır.
Lütfen web sayfalarımız salt metin dostu olacak şekilde yazıldığından, saf konsol ortamında veya GUI'de bir kabuğunuzun hazır olduğundan emin olun. Kabuğunuzun bash olduğundan emin olun ve başlayalım! Yazarak kabuğu kontrol edebilirsiniz.
$ echo $SHELL
Dağıtımınız kabuğunu kendine özgü yerlerde gizlemedikçe, yukarıdaki komut geri dönmelidir /bin/bash
. Sürümle ilgili olarak, Red Hat veya Debian artı türevlerini nasıl kontrol edebileceğiniz aşağıda açıklanmıştır:
$ rpm -q bash #on RH $ dpkg -l bash #on Debian
Artık doğru sürümü çalıştırdığımızdan eminiz, iç ve dış komutların ne olduğunu görelim. İç kısımlar (özellikle diğerlerine kıyasla küçük bir sayı) kabuğunuzda yerleşik olan komutlardır . Bu yüzden kabuğu ve sürümü kontrol etmek için önemli gördük, çünkü diğer kabuklar farklı yerleşik veya hiç yok olabilir. Cd - change directory - gibi sık sık kullanacağınız komutlar kabuk yerleşikleridir. İronik olarak, bir komutun yerleşik olup olmadığını bize gösteren bir kabuk yerleşiktir. Evet, biliyorum, biraz çılgınca geliyor, ama gerçek bu. Komut tiptir ve genellikle hiçbir seçenek olmadan kullanılır, sadece bilmek istediğiniz addır. Gözlemek:
$ type cd cd is a shell builtin $ type bash bash is /usr/bin/bash $ type type type is a shell builtin
Şimdi, tüm yerleşik bash tekliflerini görmek istiyorsanız, ya bu belgenin kapsamı dışında olan derin açıklamalar için kabuğunuzun belgelerine bakabilir veya okuyabilir ve kısa bir açıklama alabilirsiniz. bazıları, aşağıdaki gibi:
alias | Bu komut, komutları tanımlamanızı sağlar. veya mevcut olanları değiştirin. Örneğin, 'diğer ad rm = rm -i' rm'yi etkileşimli hale getirir, böylece yanlışlıkla herhangi bir dosyayı silmezsiniz. |
break | Çoğunlukla kabuk komut dosyalarında bir döngünün yürütülmesi |
cd | Dizini değiştirin. Örneğin, 'cd / usr' geçerli dizini / usr yap. Ayrıca bkz. |
continue | Bir döngünün yürütülmesine devam etmek için çoğunlukla kabuk komut dosyalarında kullanılır |
echo | Değişkenlerin değerini de listeleyin ortama özgü veya kullanıcı tarafından bildirilenler, ancak basit bir dize de görüntüleyebilir. |
export | Kullanıcının belirli ortamları dışa aktarmasına izin verir değişkenleri, böylece değerleri sonraki tüm komutlarda kullanılır |
fg | Askıya alınan bir işin yürütülmesine devam etme ön plan. Ayrıca bg. |
history | Bağımsız değişken olmadan, numaralı bir liste verir. önceden verilen komutlar. Bağımsız değişkenlerle, söz konusu listede belirli bir sayıya atlar. |
kill | Varsayılan olarak bir sonlandırma sinyali gönderin veya işlem kimliğine bir seçenek olarak ne olursa olsun sinyal verilir. |
pwd | Çalışma dizinini yazdır |
read | Çoğunlukla betiklerde kullanılır, kullanıcıdan veya başka bir programdan girdi |
test | Bir ifade ile argüman olarak kullanıldığında, adı geçen ifadenin değerlendirmesine bağlı olarak 0 veya 1 döndürür |
times | Birikmiş kullanıcı ve sistem sürelerini yazdırın kabuk için ve kabuktan geçen işlemler için. Dönüş durumu 0. |
type | Ne tür bir emir olduğunu gösterir argüman alındı. |
unalias | Takma adı görün |
wait | Genellikle bir işlem kimliği verilir, söz konusu işlem sona erer ve durumunu döndürür. |
Tüm dahili komutları öğrenemeyeceğinizi düşünüyorsanız endişelenmeyin. Diğer makaleler bash ile ilgilenecek ve kaçınılmaz olarak daha fazla yerleşik komutlarla uğraşmak zorunda kalacağız. Her neyse, bash manuel sayfasını okumanız ve olabildiğince pratik yapmaya çalışmanız şiddetle tavsiye edilir, özellikle de bunun sonunda yapılan bazı egzersizler kasıtlı olarak hariç tutulan bazı basit iç komutlarla ilgilenecektir.
Harici komutların ne olduğunu görelim. Bunlar sisteminizin sunduğu komutlardır, tamamen kabuktan bağımsız olanlardır ve genellikle herhangi bir Linux dağıtımında bulunabilirler. Çoğunlukla / bin ve / usr / bin dizininde bulunurlar ve bu konumların kullanılabilir olması için $ PATH değişkeninizin bir parçası olması gerekir. Esas olarak süper kullanıcılar / sistem yöneticileri tarafından kullanılan komutlar / sbin ve / usr / sbin dizinlerinde bulunur ve genellikle çalıştırmak için kök ayrıcalıkları gerekir. Yani / sbin ve / usr / sbin root'un $ PATH'ındadır, ancak "normal" bir kullanıcıda değildir. Kısacası, bu, bir kullanıcının kullanabileceği harici komutların sırasını tutan bir ortam değişkenidir. Yani, $ PATH içinde / bin varsa, ls yazabilirim ve / bin / ls harici komutunun tam adresini yazmak yerine çalışır.
Egzersizler
1. $ PATH değerinizin ne olduğunu bulun ve kök kullanıcının $ PATH değeriyle karşılaştırın. Neden bu olduğunu düşünüyorsun? Açıklamak.
2. Ne olduğunu öğrenin . (evet, bu bir noktadır) dahili komut yapar ve neden yararlıdır.
3. Harici komutlarla aynı ada sahip birkaç yerleşik vardır. Onları nasıl buldun?
4. ne dönüş durumu yankı olabilir? Açıklamak.