Linux'u dosya yürütme açısından Windows'tan farklı kılan şey, eski sistemin yürütülebilir dosyaları uzantılarıyla değil, özel bir yürütülebilirlik bayrağıyla program dosyaları olarak tanımlamasıdır. Yani her dosyanın üç çalıştırılabilirlik modu vardır: okuma, çalıştırma ve yazma. Sistemin belirli bir dosya ile ne yapabileceğini belirleyen bu modlardır. Bir kullanıcı internetten çeşitli yükleyiciler indirdiğinde veya bir komut dosyası oluşturduğunda, varsayılan olarak şu modlar atanır: okuma ve yazma. Kısacası, kullanıcı böyle bir programla hiçbir şey yapamaz, çünkü onunla başka bir şey yapılması gerekir.
Ancak her şeyden önce şu soruyla ilgilenmeliyiz: çalıştırılabilirlik nedir ve genel olarak ne anlama gelir? İstenen sonucu elde etmek için bir işlemci tarafından bir dizi veri üzerinde yürütülen bir dizi talimat olan bir programla başlayalım. İşlemci için talimatlar ve veriler arasında hiçbir fark yoktur.
Hem birincisi hem de ikincisi rakamlardan - baytlardan oluşur. Yani, belirli bir rakam kombinasyonu işlemciye belirli bir eylemi gerçekleştirme ihtiyacını ifade edecektir. İşlemci için hangi işlemin yürütüleceği konusunda temel bir fark yoktur - işletim sistemi verileri ya da bir metin dosyası. Hem birincisi hem de ikincisi yürütülecektir, ancak bir metin dosyası söz konusu olduğunda talimatlara olan ihtiyaç fiilen ortadan kalkmaktadır.
Yürütülebilirlik bayrakları, sistemin hangi talimatların yürütülmesi ve hangilerinin yürütülmemesi gerektiğini anlaması için icat edilmiştir. Aslında, ayarlanan yürütülebilirlik sınıfına bağlı olarak içerik hiçbir şekilde değişmez - fark sadece birkaç satıra indirgenir. Komut dosyalarında her şey aynı şekilde çalışır, sadece komutlar işlemci tarafından değil, bir yorumlayıcı tarafından, örneğin bash komut dosyalarında - bash kabuğunun kendisi tarafından yürütülür. Normal programların da kendi yükleyicileri vardır - bu ld-linux.so.2'dir.
Linux sistemi, chmod
adı verilen bayrakları yönetmenizi sağlayan özel bir yardımcı programa sahiptir. Bu yardımcı programı çağırmak için sözdizimini çağırmanız gerekir:
$ chmod category action flag file_address
Ve burada aşağıdakiler dikkate alınmalıdır:
Bayrak - mevcut bayraklardan biri -
r
(okuma),w
(yazma),x
(yürütme).Kategori - üç kategori için ayarlanabilir: dosya sahibi, veri grubu ve diğer tüm kullanıcılar. Komutta bunlar sırasıyla
u
(kullanıcı)g
(grup)o
(diğer) ile gösterilir.Eylem - + (artı) olabilir, bu da bayrağı ayarlamak veya - (eksi) bayrağı kaldırmak anlamına gelir.
Böylece, Linux'ta bir betiği çalıştırılabilir yapmak için kullanıcının çalıştırması gerekir:
$ chmod u+x file_address
Genellikle bu zaten çalıştırılabilir yapmak için yeterlidir, ancak diğer kullanıcıların bu dosyaları çalıştırmak için yetkilendirilmesi gerekiyorsa, daha fazlası eklenmelidir:
$ chmod ugo+x file_address
Bunları terminalde görmek için ls yardımcı programını kullanın:
$ ls -l file_directory
Bayraklar tüm kategoriler için dahil edilmiştir. İlk rwx
sahip bayrakları, ikincisi grup bayrakları ve üçüncüsü diğerleri içindir. Eğer ayarlanmamışsa, bir tire işareti onun yerini alacaktır.
Çalıştırılabilir bayrağının ayarını kaldırmak çok kolaydır. Aynı komut sadece eksi işareti ile kullanılır:
$ chmod u-x file_address
Şimdi GUI'de yönetilebilirliği ayarlama konusunu ele alalım.
Yeni başlayanlar için bu talimat daha kolay olacaktır. Örnek olarak GNOME yöneticisi Nautilus'u ele alalım. Bağlam menüsünü açmak için program veya komut dosyası nesnemize sağ tıklayın, ardından özellikleri seçin:
İzinler sekmesine gidin ve "Dosyanın bir program olarak çalışmasına izin ver" seçeneğini işaretleyin:
Artık sistem tarafından doğrudan yöneticiden başlatılacaktır. Bütün talimat bu. Artık internetten bir program veya komut dosyası başlatırken hiçbir zorluk yaşamayacaksınız.