Unix / Linux - Çevre

Bu bölümde Unix ortamı hakkında ayrıntılı olarak tartışacağız. Önemli bir Unix kavramı,environment, ortam değişkenleri tarafından tanımlanan. Bazıları sistem tarafından, bazıları sizin tarafınızdan, bazıları ise kabuk tarafından veya başka bir programı yükleyen herhangi bir program tarafından belirlenir.

Bir değişken, bir değer atadığımız bir karakter dizesidir. Atanan değer bir sayı, metin, dosya adı, cihaz veya başka herhangi bir veri türü olabilir.

Örneğin, önce bir TEST değişkeni ayarlıyoruz ve sonra değerine echo komut -

$TEST="Unix Programming"
$echo $TEST

Aşağıdaki sonucu verir.

Unix Programming

Ortam değişkenlerinin kullanılmadan ayarlandığını unutmayın. $işareti ancak bunlara erişirken önek olarak $ işaretini kullanıyoruz. Bu değişkenler, biz kabuktan çıkana kadar değerlerini korurlar.

Sisteme giriş yaptığınızda, kabuk adı verilen bir aşamadan geçer. initializationortamı kurmak için. Bu genellikle kabuğun aşağıdaki dosyaları okumasını içeren iki aşamalı bir işlemdir -

  • /etc/profile
  • profile

Süreç aşağıdaki gibidir -

  • Kabuk, dosyanın /etc/profile var.

  • Varsa, kabuk onu okur. Aksi takdirde bu dosya atlanır. Hata mesajı gösterilmez.

  • Kabuk, dosyanın .profileana dizininizde var. Giriş dizininiz, oturum açtıktan sonra başladığınız dizindir.

  • Varsa, kabuk onu okur; aksi takdirde, kabuk onu atlar. Hata mesajı gösterilmez.

Bu dosyaların her ikisi de okunduğu anda, kabuk bir komut istemi görüntüler -

$

Bu, yürütülmelerini sağlamak için komutları girebileceğiniz istemdir.

Note - Burada ayrıntılı olarak açıklanan kabuk başlatma işlemi, tümü için geçerlidir Bourne tür kabukları, ancak bazı ek dosyalar bash ve ksh.

.Profile Dosyası

Dosya /etc/profile Unix makinenizin sistem yöneticisi tarafından korunur ve bir sistemdeki tüm kullanıcılar için gerekli olan kabuk başlatma bilgilerini içerir.

Dosya .profilekontrolünüz altında. Bu dosyaya istediğiniz kadar kabuk özelleştirme bilgisi ekleyebilirsiniz. Yapılandırmanız gereken minimum bilgi kümesi şunları içerir:

  • Kullandığınız terminal türü.
  • Komutların bulunacağı dizinlerin listesi.
  • Terminalinizin görünümünü ve hissini etkileyen değişkenlerin bir listesi.

Kontrol edebilirsiniz .profileana dizininizde mevcuttur. Vi düzenleyicisini kullanarak açın ve ortamınız için ayarlanmış tüm değişkenleri kontrol edin.

Terminal Türünü Ayarlama

Genellikle, kullandığınız terminal türü otomatik olarak login veya gettyprogramları. Bazen, otomatik yapılandırma işlemi terminalinizi yanlış tahmin eder.

Terminaliniz yanlış ayarlanmışsa, komutların çıktısı tuhaf görünebilir veya kabukla düzgün bir şekilde etkileşime giremeyebilirsiniz.

Durumun böyle olmadığından emin olmak için çoğu kullanıcı terminallerini aşağıdaki şekilde en düşük ortak paydaya ayarlar -

$TERM=vt100
$

YOLUN AYARLANMASI

Komut istemine herhangi bir komut yazdığınızda, komutun çalıştırılabilmesi için kabuğun bu komutu bulması gerekir.

PATH değişkeni, kabuğun komutları araması gereken yerleri belirtir. Genellikle Yol değişkeni şu şekilde ayarlanır -

$PATH=/bin:/usr/bin
$

Burada, iki nokta üst üste karakteriyle ayrılmış tek tek girişlerin her biri (:)dizinlerdir. Kabuğun bir komutu yürütmesini talep ederseniz ve PATH değişkeninde verilen dizinlerin hiçbirinde bulamazsa, aşağıdakine benzer bir mesaj görünür -

$hello
hello: not found
$

Bir sonraki bölümde tartışılacak olan PS1 ve PS2 gibi değişkenler var.

PS1 ve PS2 Değişkenleri

Kabuğun komut isteminiz olarak görüntülediği karakterler, PS1 değişkeninde saklanır. Bu değişkeni istediğiniz herhangi bir şey olacak şekilde değiştirebilirsiniz. Değiştirir değiştirmez, o andan itibaren kabuk tarafından kullanılacaktır.

Örneğin, şu komutu verdiyseniz -

$PS1='=>'
=>
=>
=>

Komutunuz => olacaktır. Değerini ayarlamak içinPS1 çalışma dizinini göstermesi için komutu verin -

=>PS1="[\u@\h \w]\$"
[root@ip-72-167-112-17 /var/www/tutorialspoint/unix]$
[root@ip-72-167-112-17 /var/www/tutorialspoint/unix]$

Bu komutun sonucu, komut isteminin kullanıcının kullanıcı adını, makinenin adını (ana bilgisayar adı) ve çalışma dizinini görüntülemesidir.

Epeyce var escape sequencesPS1 için değer bağımsız değişkenleri olarak kullanılabilir; bilgi isteminin sizi bunaltmaması için kendinizi en kritik olanla sınırlamaya çalışın.

Sr.No. Kaçış Sırası ve Açıklaması
1

\t

HH: MM: SS olarak ifade edilen mevcut saat

2

\d

Hafta içi Ay Tarihi olarak ifade edilen güncel tarih

3

\n

Yeni hat

4

\s

Mevcut kabuk ortamı

5

\W

Çalışma dizini

6

\w

Çalışma dizininin tam yolu

7

\u

Mevcut kullanıcının kullanıcı adı

8

\h

Mevcut makinenin ana bilgisayar adı

9

\#

Mevcut komutun komut numarası. Yeni bir komut girildiğinde artar

10

\$

Etkin UID 0 ise (yani, kök olarak oturum açtıysanız), bilgi istemini # karakteriyle sonlandırın; aksi halde $ işaretini kullanın

Değişikliği her oturum açtığınızda kendiniz yapabilir veya değişikliğin PS1'de otomatik olarak yapılmasını sağlayabilirsiniz. .profile dosya.

Tamamlanmamış bir komut verdiğinizde, kabuk ikincil bir komut istemi görüntüler ve komutu tamamlamanızı ve vurmanızı bekler. Enter tekrar.

Varsayılan ikincil komut istemi > (büyüktür işaretidir), ancak yeniden tanımlanarak değiştirilebilir PS2 kabuk değişkeni -

Varsayılan ikincil komut istemini kullanan örnek aşağıdadır -

$ echo "this is a
> test"
this is a
test
$

Aşağıda verilen örnek, PS2'yi özelleştirilmiş bir komut istemiyle yeniden tanımlamaktadır -

$ PS2="secondary prompt->"
$ echo "this is a
secondary prompt->test"
this is a
test
$

Ortam Değişkenleri

Aşağıda, önemli ortam değişkenlerinin kısmi listesi verilmiştir. Bu değişkenler aşağıda belirtildiği gibi ayarlanır ve erişilir -

Sr.No. Değişken ve Açıklama
1

DISPLAY

Ekranın tanımlayıcısını içerir. X11 programlar varsayılan olarak kullanmalıdır.

2

HOME

Mevcut kullanıcının ev dizinini gösterir: cd için varsayılan argüman built-in komut.

3

IFS

Gösterir Internal Field Separator Bu, ayrıştırıcı tarafından genişletmeden sonra sözcük ayırma için kullanılır.

4

LANG

LANG, varsayılan sistem yerel ayarına genişler; LC_ALL bunu geçersiz kılmak için kullanılabilir. Örneğin, değeript_BR, dil (Brezilya) Portekizce ve yerel ayar Brezilya olarak ayarlanır.

5

LD_LIBRARY_PATH

Dinamik bağlayıcıya sahip bir Unix sistemi, dinamik bağlayıcının yürütmeden sonra bir işlem görüntüsü oluştururken, diğer dizinlerde arama yapmadan önce paylaşılan nesneleri araması gereken dizinlerin sütunlarla ayrılmış bir listesini içerir.

6

PATH

Komutlar için arama yolunu gösterir. Kabuğun komutları aradığı iki nokta üst üste işaretiyle ayrılmış dizin listesidir.

7

PWD

Cd komutu tarafından belirlenen geçerli çalışma dizinini gösterir.

8

RANDOM

Her başvurulduğunda 0 ile 32.767 arasında rastgele bir tamsayı üretir.

9

SHLVL

Her bash örneği başlatıldığında birer birer artar. Bu değişken, yerleşik çıkış komutunun geçerli oturumu sonlandırıp sonlandırmadığını belirlemek için kullanışlıdır.

10

TERM

Görüntü türünü ifade eder.

11

TZ

Saat dilimini ifade eder. GMT, AST vb. Değerler alabilir.

12

UID

Kabuk başlangıcında başlatılan mevcut kullanıcının sayısal kullanıcı kimliğine genişler.

Aşağıda, birkaç ortam değişkenini gösteren örnek örnek verilmiştir -

$ echo $HOME
/root
]$ echo $DISPLAY

$ echo $TERM
xterm
$ echo $PATH
/usr/local/bin:/bin:/usr/bin:/home/amrood/bin:/usr/local/bin
$