Bence probleminizin kökü, bir Terminal Emulator ve Shell arasındaki farkı ve Linux'un nasıl işlem başlatılacağını çözemediğini anlamıyor olmanızdır.
İlk olarak, "Terminal Emülatörü" var, Gnome tabanlı ortamda bu genellikle Gnome Terminali.
Daha sonra "Kabuk" var, Linux'ta bu genellikle bash, ancak diğer mermiler de mümkün.
Bir "Kabuk", bir "Terminal Emulator" içinde çalışır. Bu ayrım, fiziksel bir Terminalin girdi alan donanım, renkli metinler vb. Yazdığı ve Shell'in kullanıcı komutunu işleyen ve verilen komutları temel alan diğer işlemleri yöneten bir yazılım olduğu fiziksel terminallerin çağından gelir.
Günümüzde, herhangi bir görüntüyü görüntüleyebilen genel amaçlı bir ekranımız var, bu yüzden artık fiziksel bir Terminal kullanmıyoruz, bunun yerine fiziksel terminallerin işini taklit eden bir yazılım olan "Terminal Emülatörlerine" ve halen Daha önce olduğu gibi aynı ole 'kabuğu (iyi, modern kabukları, bir kağıdın fiziksel sınırlaması ile sınırlı olmamak, fakat bölme kalıntısı gibi) bir yazılım terminali öykünücüsünde bulunmaktan faydalanır.
Bir "Kabuk" her zaman bir Terminal Emulator'da çalışmaz; Ayrıca Nautilus (ipucu ipucu, Nautilus, büyük kabuklu deniz canlılarının adıdır) veya Windows Gezgini (Internet Explorer ile karıştırılmaması) gibi Grafik Kabuk vardır.
Her iki komut satırı kabuğunda, örneğin bash ve grafik bir kabuk, örneğin Nautilus'ta, bir çalıştırılabilir execute
bit ayarına göre işaretlenir .
Bir komut satırı kabuğunda ls -l
bir dosyanın izin bitlerini görüntülemek için kullanabilirsiniz , örneğin rwxrwxrwx, herkesin programı okuyabileceği / yazabileceği / çalıştırabileceği anlamına gelir; rwxr-xr-- sahibinin tam izne sahip olduğu, dosya grubundaki kişilerin okuyabileceği ve yürütebileceği ancak yazamayacağı ve diğerlerinin yalnızca dosyayı okuyabileceği anlamına gelir. Nautilus'ta, bir dosyaya> Özellikler> İzin sekmesine sağ tıklayın. İzin özellikleri sayfasında, dosyanın iznini komut satırı kabuğundaki gibi yapabilirsiniz.
Yürütme biti ayarlanmış bir dosya çalıştırılabilir olarak kabul edilir ve ./filename (komut satırı kabuğu) veya çift tıklatma (grafik kabuğu) yapılarak çalıştırılabilir.
Son olarak, bir kabuğun bir dosyayı nasıl yürüttüğü konusunda birkaç incelik daha vardır. Çoğu Linux kabuğunda, derlenmiş bir çalıştırılabilir olmayan python / perl / php / bash ile yazılmış bir betiği "çalıştırabilirsiniz". Bu dosyalar yerel olarak derlenebilir bir dosya olmadığından, çalıştırılmak için bir tercümana (örneğin python tercüman) ihtiyaç duyarlar. Dosya terkibini tercüman olarak belirleyen Windows kabuğundan (Explorer) farklı olarak; Linux kabukları, bu gibi görünen "hashbang" satırına bakarak doğru yorumlayıcıyı bulur.
#!/usr/bin/python
Bir dosyanın yürütme biti ayarlandığında ve dosyanın bu hashbang satırı olduğunda, kabuk, / usr / bin / python yorumlayıcısını argüman olarak geçerli dosya ile çağırır.
Nautilus ayrıca bir programın komut satırı uygulaması olduğunda tanıyabilir ve uygulamayı bir Terminal içinde çalıştırmanızı önerebilir. Yürütülebilir bir komut dosyasını çift tıklattığınızda, Nautilus bunu bir Terminal'de çalıştırmak, Terminal olmadan çalıştırmak veya dosyayı bir Metin Düzenleyicide düzenlemek isteyip istemediğinizi soracaktır.