Linux yolu Klasörün yolu nasıl belirlenir. Linux'ta çevreleyen değişkenler. Bash dışındaki kabukları hakkında notlar

Linux'daki çevre değişkenleri, kabuk tarafından tanımlanan özel değişkenlerdir ve yürütme sırasında programlar tarafından kullanılır. Sistem ve kullanıcı tarafından belirlenebilirler. Linux ortam değişkenleri sistem tarafından belirlenir ve sistem düzeyinde programlar tarafından kullanılır.

Örneğin, PWD komutu önceki işletim dizinini kaydetmek için bir sistem değişkeni kullanır. Özel ortam değişkenleri, kullanıcı tarafından geçerli kabuk için, geçici veya sürekli olarak yüklenir. Kabuğun değişkenlerini ekleme ve çıkarma konsepti, birkaç dosya, takım ve çeşitli kabuklar etrafında dönüyor.

Daha yaygın görünüyorsanız, çevre değişkeni üç tip olabilir:

1. Yerel Çevre Değişkenleri

Bu değişkenler yalnızca mevcut oturum için tanımlanır. Oturum tamamlandıktan sonra geri dönüşümsüz bir şekilde silinir, uzaktan erişim veya terminal emülatörü olsun. Herhangi bir dosyada saklanmazlar, ancak özel komutları kullanarak oluşturulur ve silinir.

2. özel değişkenler kabuğu

Linux'teki bu değişken kabukları belirli bir kullanıcı için tanımlanır ve her bir yerel terminal kullanarak sisteme girdiğinde yüklenir veya uzaktan bağlanır. Bu tür değişkenler genellikle yapılandırma dosyalarında depolanır: .bashrc, .bash_profile, .bash_login, .Profile veya kullanıcı dizininde yayınlanan diğer dosyalar.

3. Sistem Ortamı Değişkenleri

Bu değişkenler, tüm kullanıcılar için sistem boyunca mevcuttur. Sistemin başlangıcında sistem konfigürasyon sisteminden yüklenirler: / etc / çevre, / etc / profil, /etc/profile.d/ /etc/bash.bashrc.

Çevre Çevresinin Yapılandırma Dosyaları Linux

Burada, tüm sistem veya belirli bir kullanıcı için ortam değişkenlerini yapılandırmak için kullanılan çeşitli yapılandırma dosyalarını kısaca göz önünde bulunduracağız.

.bashrc.

Bu belirli bir kullanıcı değişkeni dosyasıdır. Kullanıcı her bir terminal oturumu oluşturduğunda yükleme, yani basitçe konuşmak, yeni bir terminal açar. Bu dosyada oluşturulan tüm ortam değişkenleri, yeni bir terminal oturumu her zaman her zaman yürürlüğe girdi.

.bash_profile.

Kullanıcı her şekilde SSH tarafından her bağlandığında bu değişkenler yürürlüğe girer. Bu dosya eksikse, sistem arayacaktır. Bash_login or.profile.

/ etc / çevre

Bu dosya, sistem seviyesindeki herhangi bir ortam değişkenlerini oluşturmak, düzenlemek ve silmektir. Bu dosyada oluşturulan ortam değişkenleri, her kullanıcı için ve hatta uzak bir bağlantıda bile tüm sistem için kullanılabilir.

/etc/bash.bashrc.

Sistem Bashrc. Bu dosya her kullanıcı için gerçekleştirilir, her yeni bir terminal oturumu oluşturduğunda. Yalnızca İnternet üzerinden bağlandığında yerel kullanıcılar için çalışır, bu tür değişkenler görünmeyecektir.

/ etc / Profil

Profil sistemi dosyası. Bu dosyadaki tüm değişkenler, sistemdeki herhangi bir kullanıcıya yalnızca uzaktan girilirse kullanılabilir. Ancak, yerel bir terminal oturumu oluştururken mevcut olmayacak, yani terminali keşfederseniz.

Bu dosyaları kullanarak oluşturulan tüm Linux ortam değişkenleri yalnızca bunları ortadan kaldırarak kaldırılabilir. Yalnızca her değişiklikten sonra, çıkıp oturum açmanız veya bu komutu çalıştırmanız gerekir:

kaynak name_name

Linux'ta Kullanıcı ve Sistem Ortamı Değişkenleri Ekleme

Şimdi, biraz teoriyi tanıdığınızda, pratik yapacağız. Linux'teki yerel çevre değişkenleri aşağıdaki komutlarla oluşturulabilir:

var \u003d değer
$ İhracat var \u003d değer

Bu değişkenler yalnızca mevcut terminal oturumu için kullanılabilir.

Çevre değişkenlerini silmek için, birkaç komut kullanabilirsiniz:

1. Env kullanarak

Varsayılan olarak, ENX kullanarak oluşturulan tüm ortam değişkenlerini görüntüleyebilirsiniz. Ancak -i seçeneğiyle, kabuğun tüm değişkenlerini geçici olarak silmenize ve komutu değişken olmadan çalıştırmanızı sağlar.

env -i ekibi

Var bu ekibi aktarmak istediğiniz herhangi bir değişkendir.

Böyle bir ekip, çevre değişkenleri olmadan kabuğu çıkaracak:

Böyle bir ortama başladıktan sonra hiçbir değişken mevcut olmayacak, ancak çıkıştan sonra her şey yerine dönecektir.

2. Ayarsız kullanarak.

Bu, ortam değişkenlerini Linux'u kaldırmanın başka bir yoludur. UNETM, mevcut oturumun sonuna kadar bir değişkeni ismiyle siler:

unsem name_name

3. Değişkenin değerini "" olarak ayarlayın.

Bu, çevre değişkenlerini Linux'ta kaldırmanın en kolay yolu, değişkenin boş değerini ayarlayarak, mevcut oturumun sonuna kadar onu silersiniz.

NOT: Bu tür yöntemlerle, sistem veya kullanıcı değişkenlerinin değerlerini değiştirebilirsiniz, ancak yalnızca geçerli oturum için alakalı olacaklar.

Kullanıcı ve sistem ortamı değişkenleri oluşturma

Bu bölümde, yalnızca mevcut oturum için değil, sistem ve kullanıcı değişkenlerinin nasıl kurulacağını ve silineceğini ve böylece etkinin yeniden başlatıldıktan sonra saklanacağını düşünün.

1. Linux'ta yerel değişkenleri kurun ve silin

Yerel bir değişkeni VAR olarak oluşturalım ve herhangi bir değer ayarlayalım, sonra ayrıştırmayı kullanarak silin ve kaldırıldığından emin olun:

Var1 \u003d "losst"
$ Echo $ var1
$ UNETET VAR1
$ Echo $ var1

Bir değişken oluşturmanın başka bir yolu, ihracat komutudur. Boş bir değer atamasını kaldırın:

İhracat var \u003d "losst"
$ echo $ var
$ Var \u003d.
$ echo $ var

Şimdi bir değişken oluşturun Var2, değeri de ayarlayacaktır. Ve sonra, env -i'yi çalıştırarak tüm yerel değişkenleri geçici olarak silin. Herhangi bir değişken olmadan kabuğu başlatacaktır. Çıkışa girdikten sonra, tüm değişkenler geri yüklenecektir.

Var2 \u003d "losst"
$ Echo $ var2
$ Env-iri bash
$ Echo $ var2

Özel değişkenleri takma ve silme

İstediğiniz değişkeni dışa aktarmak için Dışa Aktar komutunu ekleyerek, ana dizininizde Box.bashrc'i düzenleyin. Ardından, değişiklikleri uygulamak için kaynak komutunu çalıştırın. Örneğin, bir değişken CD oluşturun:

Böyle bir çizgi ekleyin (o, sonra yapıştırın, sonra esc ve: wq):

İhracat CD \u003d "Bu Losst Home"

Şimdi yapılandırmayı güncellemeye devam ediyor:

kaynak .bashrc.
$ Echo $ cd

Bu değişkeni kaldırmak için basitçe kaldırın. BASHRC.

Şimdi ortam değişkenini ekleyin. Bash_Profile. Bu değişken, zaten bildiğiniz gibi yalnızca uzaktan girişte mevcut olacaktır:

vi .bash_profile.

Bir çizgi ekle:

İhracat var2 \u003d "bu losst ev"

Ve değişiklikleri uygulamak ve değişkenin eklenmesini kontrol etmek için bu komutları uygulayın:

kaynak .bash_profile.
$ Echo $ var2

Değişken, yerel bir terminal oturumu oluşturduğunuzdan bu yana, şimdi SSH'ye bağlanın:

ssh. [E-posta Korumalı]
$ Echo $ var2

Bu ortam değişkenini, önceki durumda da dosyadan kaldırarak silebilirsiniz.

Yorum Yap: Bu değişkenler her zaman kullanılabilir, ancak tüm kullanıcılar için değil.

Sistem Ortamı Değişkenlerini Takma ve Çıkarma

Tüm kullanıcılar için, tüm terminal oturumlarında, /etc/bash.profile ekleyerek silinebilir hariç tüm terminal oturumlarında kullanılabilir bir değişken oluşturun:

vi /etc/bash.profile.

İhracat var \u003d "Bu sistem genişliğinde değişkendir"

Sonra güncelleniyoruz:

kaynak /etc/bash.bashrc.

Şimdi tüm kullanıcılar için bu değişken, tüm terminallerde mevcuttur:

echo $ var.
$ sudo su.
$ echo $ var
$ su -
$ echo $ var

Bu makineye uzaktan bağlanan tüm kullanıcılar için bir ortam değişkeni yapmak istiyorsanız, / etc / profil dosyasını düzenleyin:

İhracat var1 \u003d "Bu, yalnızca uzak oturumlar için sistem çapında değişkendir"

Yapılandırmayı güncelleyin ve değişkenin kullanılabilirliğini kontrol edin, sadece uzaktan kullanılabilir:

kaynak / etc / Profil
$ Echo $ var1

Linux'teki ortam değişkenini eklemeniz gerekirse, mevcuttur ve uzaktan ve yerel oturumlar için, / etc / çevre için dışa aktarın:

vi / etc / çevre

İhracat var12 \u003d "Ben her yerde müsaitim"

Kontrol:

kaynak / Etc / Çevre
$ Echo $ var12
$ sudo su.
$ Echo $ var12
$ Çıkış.
$ Ssh localhost.
$ Echo $ var12

Yeni yolun yol ortamı değişkenine eklenmesi gerektiğini merak ediyorum. Bunun düzenlenerek yapıldığını biliyorum. Bashrc (örneğin), ancak nasıl yapılacağını belirsizdir.

Böylece:

İhracat yolu \u003d ~ / opt / bin: $ yolu

İhracat yolu \u003d $ yolu: ~ / opt / bin

11 Yanıt

Basit malzeme

Yol \u003d $ yol: ~ / opt / bin yolu \u003d ~ / opt / bin: $ yolu

sonuna kadar ~ / Opt / Bin kodu eklemek istediğinize bağlı olarak (tüm diğer dizinleri aramak için, birkaç dizinde aynı isimde bir program varsa) veya başlangıçta (diğer tüm dizinleri aramak için) .

Aynı anda birden fazla giriş ekleyebilirsiniz. Yol \u003d $ yol: ~ / Opt / Bin: ~ / opt / düğüm / çöp kutusu veya sıralama için değişiklik sadece mükemmel.

Değişken zaten ortamdaysa ihracat yapmazsınız: Değişken değerindeki herhangi bir değişiklik çevreye yansır. Yol çevrede oldukça çok şeydir; Tüm UNIX sistemleri çok erken ayarlayın (genellikle ilk işlemde, aslında).

Yolunuz birçok farklı bileşen tarafından oluşturulursa, yinelenen kayıtları elde edebilirsiniz. Bkz. UNIX'in tespit edileceği ana dizinine nasıl bir yol ekleyeceğini, hangi komutu? Ve çoğaltmayı önlemek için AWK komutunu kullanarak $ yolun tekrarlayan sorunları silin.

Nereye koymak

Lütfen ~ / .bash_rc'nin herhangi bir program tarafından okunmadığını ve ~ / .bashrc, bash interaktif örnek yapılandırma dosyasıdır. Çevre değişkenlerini ~ / .bashrc'de belirlememelisiniz. Yol gibi çevre değişkenlerini belirlemek için doğru yer, ~ / .profile (veya ~ / .bash_profile, eğer bash dışında kabuğu sevmezseniz). Aralarındaki farkın ne olduğunu ve hangisini kullanmalıyım?

Bash dışındaki kabukları hakkında notlar

Bash, KSH ve ZSH, ihracat - özel sözdizimi ve hem yol \u003d ~ / opt / bin: $ yol ve dışa aktarma yolu \u003d ~ / opt / bin: $ yolu doğru şeyleri bile doğru şeyleri yap. Diğer Bourne / POSIX kabuklarında (birçok sistemde / bin / sh olan) gibi, İhracat, iki farklılık anlamına gelen normal bir ekip olarak analiz edilir:

  • ~ Sadece kelimenin başında, ödevler hariç (bkz. Komutun gerekli olduğu, UNIX'in algılanacağı bir ev dizinine nasıl bir yol ekleneceğine bakın;
  • $ Yol harici çift tırnak, yol boşlukları içeriyorsa veya \\ [*? .

Böylece, çizgi, dışa aktarma yolu \u003d ~ / Opt / Bin: $ yol gibi kabuklarda, değişmez string ~ / opt / bin /: ardından ilk etapta yol izler. PATH \u003d ~ / OPT / BIN: $ yolu (basit hedef) tırnak gerektirmez ve her şeyi doğru yapar. İhracatın taşınabilir bir komut dosyasında kullanmak istiyorsanız, bir ihracat yolu yazmanız gerekir \u003d "$ HOME / OPT / BIN: $ YOLU" veya PATH \u003d ~ / OPT / BIN: $ YOLU İHRACAT YOLU (veya PATH \u003d $ Ana Sayfa / OPT / BIN: $ Yola Toleanlık için İhracat Yolu, HEDEF GÜVENLİK İÇİN HİÇBİR GÖRÜNTÜLENDİRİLMESİ, VAR Export'ı kabul etmeyen ve Tilde'yi uzatmadığı için).

"Bourne kabuklarında (gerçek Bourne kabuğundaki gibi, Posix tarzındaki modern kabuklarda olduğu gibi) yanlıştı, ancak bugün böyle eski kabukları karşılaşmanın pek mümkün değil. Alt\u003e

Her durumda, işe yarıyor, ancak aynı şeyi yapmazlar: yol öğeleri soldan sağa kontrol edilir. İlk örnekte, ~ / opt / bin'deki çalıştırılabilir dosyalar, örneğin, / usr / çöp kutusundaki / usr / çöp kutusundaki ya da istediğiniz gibi olamaz.

Özellikle, güvenlik açısından, öne doğru yollar eklemek tehlikelidir, çünkü birisi girişinize ~ / opt / çöp kutunuza erişebiliyorsa, örneğin, muhtemelen yerine / bin'i kullanacağınız başka bir LS'ye yerleştirebilirler. / ls, farketmez. Şimdi SSH veya tarayıcınız ya da seçiminiz için aynı olduğunu hayal edin ... (Aynısı, yolunuza üç kez yerleştirilir.)

Söz konusu 2'de karıştırdım (söz konusu olduğundan, ilgili olmayan bir sorunla ilişkilendirildiği için):

Farklı çizgilere ek yollar eklemenin etkili yolu nedir? Başlangıçta, bir numara yapabileceğini düşündüm:

İhracat yolu \u003d $ yolu: ~ / opt / bin dışa aktarma yolu \u003d $ yolu: ~ / opt / düğüm / bin

Ancak bu, ikinci amaç için sadece ~ / Opt / düğüm / çöp kutusu eklenemez, ancak aynı zamanda yolla reçete edilir.

Bu olası bir geçici çözümdür:

İhracat yolu \u003d $ yolu: ~ / Opt / Bin: ~ / opt / düğüm / bin

Ancak okumanın rahatlığı için, bir yol için bir varış noktası olmayı tercih ederim.

Eğer öyle diyorsan

Yol \u003d ~ / opt / çöp kutusu

bu Herşey.yolunda olacak. Yol sadece değişken bir ortamdır ve yola eklemek istiyorsanız, değişkeni istenen içeriğe göre yeniden oluşturmanız gerekir. Soru 2'ye örnek olarak verdiğiniz şeydir, tam olarak sorunun noktasını tamamen kaçırmazsam yapmak istediğiniz şeydir.

Kodumdaki her iki formu da kullanıyorum. Çalıştığım her araba için ayarladığım ortak bir profile sahibim, bu gibi görünüyor: potansiyel olarak eksik dizinleri barındırmak için:

İhracat yolu \u003d / Opt / Bin: / Contrib / Bin: / bin: / Contrib / Bin: / bin: / usr / bin: / usr / sbin: / usr / bin / x11 # Bağlantısı için yola isteğe bağlı öğeler ekleyin $ Ana Sayfa / Yerel / Bin $ Home / Bin; [-D $ bindir] ise yapın; Sonra yol \u003d $ yol: $ (bağlayıcı) fi bitti

Linux, $ Yola Ortamı değişkeninden yürütülebilir arama yolunu belirler. $ Yol Ortamı Değişkeninin üstüne bir dizin / veri / myscriptler eklemek için aşağıdakileri kullanın:

Yol \u003d / veri / myscripts: $ yolu

Bu dizini yolun sonuna eklemek için aşağıdaki komutu kullanın:

Yol \u003d $ yolu: / Veri / MyScripts

Ancak öncekiler yeterli değil, çünkü ortam değişkenini komut dosyasının içinden yüklediğinizde, bu değişiklik yalnızca komut dosyasının içinde geçerlidir. Bu sınırlama iki şekilde sınırlıdır:

  • Komut dosyasının içindeki ortam değişkenini dışa aktarırsanız, komut dosyasının neden olduğu programların bir parçası olarak etkilidir. Lütfen bunun komut dosyasına neden olan programda etkili olmadığını unutmayın.
  • Komut dosyasına neden olan program, bir arama yerine açılarak yaparsa, komut dosyasındaki ortamdaki herhangi bir değişiklik arama programında etkilidir. DOT komutu veya kaynak komutu kullanılarak böyle bir dahil etme yapılabilir.

$ Ev / MyScript.sh Kaynak $ Ana Sayfa / MyScript.sh

Dahil, temel olarak çağrı senaryosunda "denilen" komut dosyasını içerir. C'de #include gibi görünüyor. Böylece, komut dosyası veya arama programının içinde etkilidir. Ancak, elbette, bu, arayanın neden olduğu herhangi bir program veya komut dosyası için etkili değildir. Çağrıların zincirine kadar verimli hale getirmek için, Dışa Aktar komutunu kullanarak ortam değişkeninin ayarını izlemelisiniz.

Örnek olarak, Bash Shell programı, açmak için file.bash_profile'in içeriğini içerir. Öyleyse, aşağıdaki 2 satırları yerleştirin V.Bash_Profile:

Yol \u003d $ yolu: / Veri / MyScripts İhracat yolu

bu 2 satır kodu bash programına etkili bir şekilde yerleştirir. Böylece, BASH'de $ yol değişkeni $ ev / MyScript.sh içerir ve ihracat talimatları nedeniyle, BASH adlı herhangi bir programın değiştirilmiş bir $ yol değişkeni vardır. Ve Bash davetiyesinden kaçtığınız programlar BASH olarak adlandırıldığından, yeni yol bash davetiyesinden kaçtığınız her şey için geçerlidir.

Alt çizgi, bir komut dosyasında etkin bir dizin eklemek veya eklemek için gereken yola yeni bir dizin eklemek içindir ve bir komut dosyasında bir dizin eklemek veya eklemek içindir ve $ PATH ortam değişkenini dışa aktarmanız gerekir.

Bir süredir, benimle, kopyalar hakkında endişelenmeden yola elemanları eklemeye yardımcı olan iki Pathadd ve Pathrm işlevi.

pathadd, bir yol argümanını ve eklenmesi durumunda yola eklenmesi, aksi takdirde ekleyeceği isteğe bağlı bir argüman kabul eder.

Herhangi bir durumda, eğer yolu eklerseniz, muhtemelen yolundaki her şeyi geçersiz kılmak istiyorsunuz, bu yüzden varsayılan olarak eklemeyi tercih ederim.

Paatdd () () (yeni "$ (% 1 /) Eğer [-D" $ 1 "] &&! Echo $ yol | grep -e -Q" (^ | :) $ newelement ($ | :) "; Sonra [ "$ 2" \u003d "sonra"]; sonra yol \u003d "$ yol: $ newelement" else yol \u003d "$ newelement: $ yol" fi) Pathrm () (yol \u003d "$ (echo $ yol | SED -E" s; \\ (^ \\ |: \\) $ (% 1 /) \\ (: \\ | \\ $ \\); \\ 1 \\ 2; g "-e" s; ^: \\ |: $; g "-e" s; ::; :; g ")")

Onları herhangi bir komut dosyasına yerleştirin, yol ortamını değiştirmek istediğiniz ve şimdi yapabilirsiniz.

PATHADD "/ FOO / BAR" PATHADD "/ BAZ / BAT" İhracat yolundan sonra

Zaten varsa bir yol eklememeniz garanti edilir. Başlangıcında / BAZ / BAT'ı başlatmak istiyorsanız.

PATHRM "/ BAZ / BAT" PATHADD "/ BAZ / BAT" İHRACAT YOLU

Şimdi, halihazırda ikiye katlanmadan yolundaysa, herhangi bir şekilde ön plana çıkarılabilir.

Eğitim / Önceden Eğitim İçin Yoksul Geçirmez Yöntem

Ekleme ve ekleme seçimi ile ilgili birçok husus var. Birçoğu diğer cevaplarda tarif edilmiştir, bu yüzden onları tekrar etmeyeceğim.

Önemli bir nokta, sistemik komut dosyaları kullanmazsa bile (neden) * 1, bir yol (örneğin, $ ev / bin) değişken bir Çarşamba yoluna eklemek için kurşun geçirmez yöntemi, kurşun geçirmez bir yöntem olmasıdır.

Yol \u003d "$ (yol: + $ (yol) :) $ home / bin"

eklemek için (yol yerine \u003d $ yol: $ ev / bin ") ve

Yol \u003d "$ home / bin $ (yol: +: $ (yol))"

eklemek için (yol yerine \u003d $ home / bin: $ yol ")

Bu, yanlış kurşun / nihai kolondan kaçınır, $ yolu başlangıçta istenmeyen yan etkileri olabilir ve bir kabus olabileceğinden, (bu cevap, bu cevap AWK -way durumunu kısaca dikkate alarak) benzeri görülmemiştir.

$ (Parametre: + kelime)

Parametre parametresi boşsa veya ayrılmazsa, hiçbir şey değiştirilmezse, aksi takdirde kelime kelimesi değiştirilir.

Böylece, $ (yol: + $ (yol) :) genişler: 1) Yola boşsa ya da ayrılmamışsa, 2) $ (yol): Yol takılıysa.

Not. Bu bash içindir.

* 1 Az önce DEVTOOLSETSET-6 / ENABLE Scripts'in gerçekten kullandığını, $ CAT / OPT / RH / DevToolSet-6 / Etkinleştir # Genel Çevre Değişkenleri İhracat Yolu \u003d / Opt / Rh / DevToolSet-6 / Root / USR / Bin $ (Yol: +: $ (yol)) ...

Diğer dağılımlarla konuşamıyorum, ancak Ubuntu, tüm kullanıcılar için standart bir arama yolu olan bir dosyaya, / etc / ortamı var. Bilgisayarım sadece benim tarafımdan kullanıldığından beri, eğer betiğe girdiğim geçici bir takviye değilse, oradayken istediğim herhangi bir dizin koydum.

Benim için (Mac OS X 10.9.5'te), bir yol adı (örneğin, / mypathname) dosyalarına / etc / yollara eklemek çok iyi çalıştı.

Düzenlemeden önce, Echo $ yolu döndürülür:

USR / bin: / bin: / usr / sbin: / sbin: / usr / local / bin

/ Etc / yollarını düzenledikten ve kabuğu yeniden başlattıktan sonra, değişken $ yolu / pathname kullanarak eklenir. Nitekim, yankı $ yolu döndürür:

USR / bin: / bin: / usr / sbin: / sbin: / MyPathname

Böylece bu / mypathnatname $ yol değişkenine eklendi.

İşletim sistemleri, genel ayarları belirlemek veya programların çalışmasını kontrol etmek için genellikle ortam değişkenlerini kullanır. Yol değişkeni, çevre değişkenlerinden biridir ve sürekli bilgileriniz olmadan kullanılır. Değişken, yürütülebilir dosyaların bulunduğu dizinlerin listesini saklar.

Adımlar

  1. 1 Echo $ yol komutunu girerek geçerli yolu bulun. Aşağıda gösterildiği gibi bir dizin listesi açılır (örnek):
    • [E-posta Korumalı]: ~ $ ECHO $ \u200b\u200bYOL / HOME / UZAIR / BIN: / USR / Yerel / SBIN: / USR / Yerel / bin: / usr / bin: / bin: / usr / Oyunlar
    • Not: Kataloglar kolon tarafından ayrılır.
  2. 2 Geçici olarak ekleyin:/ SBIN ve: / usr / sbin: Komuta girerek geçerli yola:
  3. 3 Yol değişkeninin değiştirildiğini onaylamak için komutu girin:
    • [E-posta Korumalı]: ~ $ ECHO $ \u200b\u200bYOL / HOMAN / UZAIR / BIN: / USR / LOCAL / SBIN: / usr / local / bin: / usr / sbin: / usr / bin: / sbin: / bin: / usr / Oyunlar
    • Yapılan değişikliklerin geçici olduğunu ve sistemi yeniden başlatırken iptal edileceğini unutmayın.
  4. 4 Programların performansını geçici bir değişkenle kontrol edin.
  5. 5 Yol değişkeninde kalıcı değişiklikler yapmak için, ~ / .bashrc dosyasına aynı dizeyi ekleyin.

Uyarı

  • Yol değişkeninin değiştirilmesi, işletim sisteminin dengesiz çalışmasına yol açabilir. Değişken, yürütülebilir dosyaları aramak için kullanılır. Değişken yanlış yapılandırılmışsa, programlar başarısızlıklarla çalışacaktır veya hiç çalışmaz. ~ / .Bashrc dosyasında değişiklik yazmadan önce daima geçici değişken ile programların doğruluğunu kontrol edin.

Ne olduğunu? Komut satırına girdiğiniz birçok komut, dosya sisteminden indirilen harici bir programın kullanılmasını gerektirir. Örneğin, MKDIR ve WC gibi komutlar aslında / bin klasöründedir.

Bash kılıfının tanımadığı talimatları girdiğinizde, program olarak çalıştırmaya çalışır ve program adı bulamazsa bir hata döndürür. Ve bu, yalnızca herhangi bir programı çalıştırabileceğiniz komut satırından dikkate aldığımız ana komutlar için de geçerlidir.


Ancak dosya sisteminde Linux olduğumuzu sanki, hangi dizinlerin hangi programların çalıştırılacağını bilir? OS, bilinmeyen bir komut alırken aramanız gereken bir klasör alt kümesini belirlemek için bir sistem ortamı değişkeni kullanır. Bu değişken yol denir ve ekranda bir sonraki yankı komutu ($ sembolü) tarafından görüntülenebilir:

Yankı $ yolu.

Bu komutun sonucu, kolon tarafından ayrılan klasörlere aşağıdaki yedi mutlak yollara benzeyecektir:

USR / Yerel / Bin: / sbin: / bin: / sbin: / bin: / usr / Oyunlar

Bilinmeyen bir Linux komutunu her girdiğinizde, ortam değişkeninde belirtilen klasörlerin her birini, görevlerinin sırasına göre, programı aynı isimde bulmaya çalışacaktır. Program bulunursa, başlar; Aksi takdirde, bir hata mesajı görüntülenir. Ancak en sevdiğiniz gümüş halkaları hediye olarak satın alırsanız hata olmayacak. Gümüş herhangi bir kadını süsleyecek!

Bu yedi klasör, işletim sistemindeki tüm temel programlara kolay erişim sağlar. Bu yedi klasör dışındaki herhangi bir program, yalnızca komut satırına kendi adına girerek çalıştırılamaz.

Örneğin, günlük yardımcı programını internetten ev klasörünüze indirdiniz. Adını komut istemine girerseniz, sistem yoluna dahil olmayan bir klasörde olduğu için bir hata mesajı alırsınız. Bu programı yürütmek için aşağıdaki satırı girin (size sembolün ~ ana klasörünüzün kısaltması olduğunu hatırlatıyorum):

Belirtilen yolunuzun dışındaki klasöre kaydettiyseniz, mutlak yol ve dosya adını girmek için yardımcı programı başlatmanız gerekir.

Tabii ki, günlük, kurulum gerektirmeyen basit bir özerk programın, kurulum işlemindeki ana uygulamaların çoğu çalıştırılabilir program dosyasını belirtilen yolunuzda bir yere yerleştireceği varsayılmaktadır. İşte böyle değişken yol ortamı.Sağlıkta Kullanım!

Zaten bildiğiniz gibi, sisteme herhangi bir kullanıcıya girdiğinizde, Shell'in özel bir örneği başlatılır - giriş kabuğu. Giriş kabuğu olarak çalıştırma sürecinde baskın Aşağıdaki dosyaları arar:

  • / etc / Profil
  • ~ / .bash_profile.
  • ~ / .bash_login.
  • ~ / .profile.

(belirtilen sırada) ve içinde bulunan komutları gerçekleştirir. Eğer bir baskın Etkileşimli moddaki komut satırından tekrar başlar (yani tek bir komut yapmamak için değil), sonra ~ / .bashrc dosyasını bulur ve içinde bulunan komutları çalıştırır. Bununla birlikte, MandraKe dağılımında, ~ / .bashrc dosyası giriş kabuğu için çağrılır ve sistem genelinde / etc / bashrc de ondan denir. Yani, gördüğünüz gibi, seçenekler mümkündür.

Ancak, bu komut dosyalarını çağırmanın sırası ne olursa olsun, her kullanıcının çalışma oturumu için yardımlarıyla, sözde "Kullanıcı Ortamı" veya bir çevreyi oluşturulur, bu da kendileri için yüklü değerlerle bir değişken kümesidir. Bu değerler bazı programlar ve yardımcı programlar tarafından okunur ve değerlerine göre sistemin davranışını çeşitli durumlarda değiştirir.

Dosyalar / etc / profil ve / etc / Bashrc, sistem genelinde kullanıcı genelinde ayarları tanımlar ve kalan listelenen dosyalar belirli bir kullanıcının bireysel ortamını tanımlar. Nispeten küçük eklemeler veya bireysel ayarlarda düzeltmeler veya düzeltmeler, varsayılan değerlerin değiştirilmesi, sistemde sizin için çok daha eğlenceli bir iş çıkarabilir (tadı hakkında, bildiğiniz gibi, tartışmadığınız ve varsayılan ayarları tanımlayan insanlar) tercihlerinizi tahmin edin) . Bu nedenle, kullanıcı ortamının temel değişkenlerini ve kendinizin nasıl değiştirebileceğinizi kısaca dikkate alalım.

İlk önce, varsayılan olarak belirlenen ortam değişkenlerine bakın. Dediğim gibi bölüm. 5.6. Komutlar kullanılarak yapılabilir aYARLAMAK. (ve benzer bir takım dizgi.) veya envir. Ayrı bir değişkene atanan değer, komut kullanılarak görüntülenebilir. echo $ isim.nerede İsim. - değişkenin adı.

Komuta göre göreceğiniz tüm değişkenlerden aYARLAMAK., Genellikle PS1 davetinin görünümünü ve yolun yollarının listesini değiştirin. Bu değişkenlerin değerlerini nasıl değiştireceğiniz hakkında, detaylı olarak açıklanmıştır. bölüm. 5.6. . Eğer biri bu bölümü kaçırdıysanız, şimdi bakın. Böylece, yalnızca komut dosyasının bu değişkene yeni değerler ayarlamak için olduğuna karar vermek için kalır. Bu sorunu yol değişkeni örneğinde düşünün.

Yol değişkeni, iki komut dosyasında: / etc / profilinde (tüm kullanıcılar için ortak yollar) ve kullanıcı komut dosyalarından birinde (örneğin, ~ / .bash_profile), kullanıcının önceden oluşturulmuş listeye yol ekleyebileceği yerlerde oluşturulur. Sadece bunu ~ / bashrc dosyasında yapmayın, çünkü ikincisi, ikinci, üçüncü, vb. Her zaman yeniden başlatıldığından. Kabuk örneği. Yol değişkenine bir yol eklemek için, aşağıdaki görüntüyü seçilen betiğe girmeniz gerekir (bu örnekte, / Ana / Kullanıcı / Bin yolu listeye eklenir:

Yol \u003d $ yol: / Ana Sayfa / Kullanıcı / Bin

Sonuncu kolonun olmadığı gerçeğine dikkat edin. Ve dizinlerin, yolun değişkeninde listelendikleri sırada istenen dosyayı aramada görüldüğünü unutmayın.

MS-DOS Linux'un aksine, geçerli dizinde yürütülebilir dosyalar için aranmaz. Bu nedenle, aramanın geçerli dizinde üretilmesini istiyorsanız, bu dizini eklemeniz gerekir (bir noktadan oluşan bir adı var) yol değişkenindedir. Ancak, güvenlik açısından, mevcut dizini arama yollarının listesine eklediğini unutmayın, çünkü saldırgan, sık kullanılan sistem kamu hizmetlerinden biri tarafından adlandırılan katalog kayıtlarından birinde kötü amaçlı bir program koyabilir. . Ve bu programı çalıştırdığınızda, sistem yardımcı programını çalıştırdığınızı göz önünde bulundurarak, özellikle de SuperUser adına başlattıysanız, sisteminize büyük zarar verebilir.

İsterseniz, takımdaki renk çıktısını açarak biraz "hayatınızı süsleyebilir" yazabilirsiniz. ls. (Varsayılan olarak siyah ve beyaz ise). Bunu yapmak için, bir dize ekleyen / etc / bashrc dosyasını düzenleyin:

alias \u200b\u200bls \u003d "ls -f - color"

Bu arada, eğer terminal emülatörü penceresinde gece yarısı virgül altını istiyorsanız, siyah ve beyaz değil, değişkeni ayarlayın. Colorterm:

Colorterm \u003d; İhracat Colorterm

V. KOSTROMIN (RUS-Linux Dot Net'teki KOS) - 8.8. Kullanıcının ortamını ayarlama
Konuya devam ediyor:
Akıllı telefon

Özel AHCI modunu yapılandırın ve etkinleştirin, tercihen her kullanıcıya önemli ölçüde genişletmek isteyen her kullanıcıya ve aynı anda, bilgisayarınızın çalışması için çalışmalarını iyileştirin ...