İçeriğe atla

Çevre değişkeni

Çevre değişkenleri, çevresel değişkenler ya da ortam değişkenleri (ing. environment variable), işletim sistemi seviyesinde konfigüre edilebilen ve bilgisayar işlemleri tarafından erişilebilen değişkenlerdir. Çoğu kez belli programların ve dosyaların konumlarını (ing. path) ve birden fazla işlem tarafından kullanılabilen bilgi ve ayarları tutmak için kullanılırlar. Çoğunlukla bir karakter dizisi (ing. string) olurlar.

Ortam/çevre kelimesi ile kast edilen programın çalıştırma ortamıdır (ing. run-time environment). Böylece aynı işlem farklı çalıştırma ortamlarında ekstra bir konfigürasyona gerek kalmadan çalışabilir, aynı ortamdaki farklı işlemler aynı veriye ortam değişkenleri üzerinden ulaşabilirler.

Örneğin çalışan bir işlem TEMP ortam değişkeninin değerine bakarak geçici dosyalarını saklayabileceği dizin konumunu (path) öğrenebilir. Herhangi bir nedenle bu konum değiştirilmek istendiğinde yazılımlarda bir değişikliğe gerek kalmadan TEMP ortam değişkeni değiştirilir.

Aynı kavram için kullanılan bir başka terim de global değişkendir. Kullanıcılar ve bilgisayar programları bu değişkenlerin değerlerini okuyabilir ve/veya değiştirebilirler.

Unix ve Unix-tipi işletim sistemleri

Komut satırı

Linux ve BSD gibi birçok Unix tipi işletim sisteminde çevre değişkenleri komut satırı yorumlayıcısı (Unix-shell) çalışmaya başladığında okunur ve kullanılır. Daha önceden tanımlanmış olan bu değişkenler Unix kabuğu çalışmaya başladığında bir veya birçok konfigürasyon dosyasından okunur ve buna göre işlemler yapılır. Örneğin Bourne-Shell'de bu değişkenler /etc/profile dizininde tutulur. Ayrıca Shell kullanıcının uyarlayabileceği kullanıcı tarafından belirlenen çevre değişkenlerini kullanıcının "home" dizininde belli dosyalarda saklar. Daha önce tanımlanmış olan çevre değişkenler printenv gibi bir komutla görülebilir. env komutu/programı ise bir programın değiştirilmiş bir ortamda (başka çevre değişkenleri altında) çalışması sağlanabilir ya da çevre değişkenleri değiştirilebilir. Her iki komut da coreutils'in parçalarıdır.

Öntanımlı çevre değişkenleri

  • PATH − Konumlar (path) listesidir. Tam konum (fullpath) belirtilmeden komut girildiğinde işletim sistemi komutu bu listedeki konumlarda arar.
  • HOME − Kullanıcının dosya sistemi içindeki ana dizinini (home directory) gösterir.
  • TERM − Kullanılan bilgisayar terminalinin türünü ya da terminal emulatörünü tanımlar.
  • MAIL − Kullanıcının e-postalarının bulunduğu konumu belirtir.

Microsoft

MS-DOS ve Windows kabuğunda (komut işlemcisi) işlevselliği aynıdır. Windows'ta yeni bazı fonksiyonlar ve Standart değişkenler eklenmiştir.

Kaydetme

Çevre değişkenler komut satırından veya .cmd ve .BAT gibi programlar tarafından SET komutlarıyla kaydedilir. (Örneğin SET PROMPT=$P$G) SET komutu tek başına kullanıldığında ise tüm çevre değişkenler listelenir. Değişken değerlerini silmek için ise değişken adından sonra sadece = işareti verilir. (Örneğin SET PROMPT=).

Sorgulama

Elde edilmek istenen değişken % işaretleri arasında kullanılır. Örneğin APPDATA değişkeninin tuttuğu dizine gitmek için CD %APPDATA% şeklinde bir komut verilir.

Öntanımlı çevre değişkenleri

Variable Windows XP Windows Vista/7 Açıklama
%ALLUSERSPROFILE% (%PROGRAMDATA%) C:\Dokumente und Einstellungen\All Users C:\ProgramData
%APPDATA% C:\Dokumente und Einstellungen\{username}\Anwendungsdaten C:\Users\{username}\AppData\Roaming
%COMPUTERNAME% {computername}
%COMMONPROGRAMFILES% C:\Programme\Gemeinsame Dateien C:\Program Files\Common Files
%COMMONPROGRAMFILES(x86)% C:\Programme (x86)\Gemeinsame Dateien C:\Program Files (x86)\Common Files
%COMSPEC% %SystemRoot%\System32\cmd.exe Komut satırının olduğu dizin
%SystemRoot% uyumlu genişleme
DOS'da da geçerli
%HOMEDRIVE% C:\ C:\
%HOMEPATH% \Dokumente und Einstellungen\{username} \Users\{username}
%LOCALAPPDATA% n/aC:\Users\{username}\AppData\Local
%LOGONSERVER% \\{domain_logon_server}
%OS% Windows_NT Windows_NT
%PATH% %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem [1]
%SystemRoot% uyumlu genişletme
DOS'da da geçerli
%PATHEXT% .COM, .EXE, .BAT, .CMD, .VBS, .VBE, .JS, .WSF, .WSH .com, .exe, .bat, .cmd, .vbs, .vbe, .js, .jse, .wsf, .wsh, .msc
%PROGRAMFILES% C:\Programme C:\Program Files
%PROGRAMFILES(X86)% C:\Programme (x86) C:\Program Files (x86)
%PROMPT% $P$G DOS'da da geçerli
%SystemDrive% C:\ C:\
%SystemRoot% C:\Windows (Windows 2000 und davor: C:\WINNT) C:\Windows
%TEMP% oder %TMP% C:\Windows\TEMP [2]
%USERDOMAIN% {userdomain}
%USERNAME% {username} Aktif kullanıcı adı
%USERPROFILE% %SystemDrive%\Dokumente und Einstellungen\{username} C:\Users\{username}
%WINDIR% C:\Windows C:\Windows Tarihsel biçim(16-Bit-Windows), uyum sağlamak için tutulmakta. %SystemRoot% ile sürekli aynı olmalı.
%PUBLIC% n/aC:\Users\Public
%PSModulePath% n/a%SystemRoot%\system32\WindowsPowerShell\v1.0\Modules\

Notlar

  1. ^ Noktalı virgül ile ayrılarak tanımlanmış bir Path varsa, komut aktif dizinden bulunamazsa, sırayla bu dizinlerde aranır ve ilk bulunduğu yerde çalıştırılır.
  2. ^ Güvenlik açısından tüm kullanıcıların ulaşabileceği genel bir dizin yerine, kullanıcı bazlı örneğin %HOMEDRIVE%%HOMEPATH%\TEMP gibi bir dizin olması önerilir.

İlgili Araştırma Makaleleri

<span class="mw-page-title-main">Unix</span>

UNIX türevi işletim sistemleri çok işlemcili çok pahalı makinelerden tek işlemcili, basit ve çok ucuz ev bilgisayarlarına kadar pek çok cihaz üzerinde çalışabilen esnek ve sağlamlığı çok değişik koşullarda test edilmiş sistemlerdir. Fakat özellikle kararlı yapısı ve çok kullanıcılı-çok görevli yapısıyla çok işlemcili sunucularda adeta standart haline gelmiştir ve özellikle akademik dünyada iş istasyonları üzerinde çok yaygın bir kullanım alanı bulmuştur. UNIX, Interdata 7/32, VAX ve Motorola 68000 arasında hızla yayıldı.

<span class="mw-page-title-main">MS-DOS</span> 1980li yıllarda kişisel bilgisayar işletim sistemi

MS-DOS, Microsoft firmasının geliştirdiği bir DOS sistemidir. 1980'li yıllarda PC uyumlu platformlar üzerinde kullanılan en yaygın işletim sistemiydi. 1990'lı yılların ortalarından 2000 yılına kadarki en popüler işletim sistemleri olan Windows 9x ailesinin temeli olarak kullanıldı. Masaüstü bilgisayarlardaki popülerliğini, zamanla Windows NT mimarisi kullanan yeni nesil Windows işletim sistemlerine bıraktı.

Telnet, Internet ağı üzerindeki çok kullanıcılı bir makineye uzaktaki başka bir makineden bağlanmak için geliştirilen bir TCP/IP protokolü ve bu işi yapan programlara verilen genel isimdir. Telnet iki bileşenden oluşur: (1) iki tarafın nasıl iletişim kuracağını belirleyen protokolün kendisi ve (2) hizmeti sağlayan yazılım uygulaması.Kullanıcı verileri, İletim Kontrol Protokolü (TCP) üzerinden 8 bitlik bayt yönlendirmeli bir veri bağlantısında Telnet kontrol bilgisi ile bant içi serpiştirilir. Telnet, 1969'da RFC 15 ile başlayarak geliştirildi, RFC 855'te genişletildi ve ilk İnternet standartlarından biri olan İnternet Mühendisliği Görev Gücü (IETF) İnternet Standardı STD 8 olarak standartlaştırıldı. encryption sağlayan bazı Telnet eklentileri geliştirilmiştir. Bağlanılan makineye girebilmek (login) için orada bir kullanıcı isminizin (İng:username) ve bağlantının gerçekleşebilmesi için bir telnet erişim programınızın olması gereklidir. Fakat bazı kütüphane ve herkese açık telnet bazlı web servisleri, bağlantı sırasında kullanıcı ismi (numarası) istemeyebilirler; ya da, kullanıcı isim ve parola olarak ne yazmanız gerektiği bağlandığınızda otomatik olarak karşınıza çıkar. Telnet, BBS sistemlere İnternet üzerinden erişimde günümüzde yaygın olarak kullanılmaktadır. Telnet erişim programları, günümüzdeki işletim sistemlerinin çoğunda işletim sistemi ile birlikte gelmektedir. Çok kullanıcılı işletim sistemleri genellikle kullanıcılara metin tabanlı bir arayüz sunar ve bu sistemlerde tüm işlemler klavye vasıtası ile komut isteminden gerçekleştirilir.

Berkeley r-komutları, bir Unix sisteminin kullanıcılarının TCP/IP bilgisayar ağı üzerinden başka bir Unix bilgisayarında oturum açmasını veya komutlar vermesini sağlamak için tasarlanmış bir bilgisayar programları paketidir. Berkeley r-komutları, 1982'de Berkeley'deki Kaliforniya Üniversitesi'ndeki Computer Systems Research Group (CSRG) tarafından, TCP/IP'nin erken uygulanmasına dayanarak geliştirildi.

<span class="mw-page-title-main">Make</span>

Make dosyaları bir formdan diğerini çevirme işlemini otomatikleştiren bir araçtır. Bu işlemi, çevrilecek programların ihtiyaç duyacağı diğer programları kontrol ettikten sonra gerekli programları çalıştırarak çevirme işlemini gerçekleştirir. Çevrilen programı çalıştırmak için ihtiyaç duyulan diğer programlara bağımlılıklar denir. Unix/Linux tabanlı işletim sistemlerinde, kaynak kodu nesne koduna derlerken ve nesne kodlarını çalıştırılabilir (executable) ve kütüphane (library) dosyalarına bağlarken (linking) sıklıkla kullanılır. Bağımlılık grafiğini çıkarmak için "Makefile" ismi verilen bir dosya kullanır ve shell'e geçirilmek üzere kullanılan betikleri (script) oluşturur.

Boru hattı (pipeline), yazılım mühendisliğinde, her bir elemanın çıktısı bir sonraki elemanın girdisi olacak şekilde sıralanmış işlemler zinciridir. Genellikle, ardışık birimlerin aralarına bir miktar arabellek (buffer) konulmaktadır. Bu boruhatları arasındaki bilgi akışı çoğunlukla bayt katarları (stream) ve bit katarları şeklindedir.

<span class="mw-page-title-main">Komut satırı</span> yazıyla komutlar girilen ve çıktının da yazıyla ifade edildiği bilgisayar arayüz sistemi

Komut satırı, bir bilgisayar kullanıcısının, belirli metinleri (komutları) girerek, bilgisayarla iletişime geçmesini sağlar. Komut satırı arayüzleri; konsol, kabuk, terminal veya uçbirim diye de adlandırılır.

mkdir

mkdir (make directory) yeni bir dizin oluşturmak için Unix, DOS, OS/2 ve Microsoft Windows işletim sistemlerinde kulanılan bir komuttur. Windows sistemlerinde mkdir yerine md kullanılır.

Java platformu dillerinden olan BeanShell, kendi sözdiziminin yanı sıra Java programlama dili sözdiziminin büyük bir bölümünü desteklemesi nedeniyle, Java programlama dilinin komut kabuğu olarak da görülebilir. BeanShell'in bu özelliği, küçük Java kod parçalarının denenmesinde ve Java platformu için yazılmış sınıf dosyalarının yüklenip, birim sınamalarının yapılmasında, düzenle-derle-çalıştır döngüsünü kısaltması sayesinde, büyük kolaylık sağlar.

ps (Unix)

Çoğu Unix benzeri işletim sisteminde, ps programı o anda çalışan işlemleri görüntüler. "top" adındaki bir başka Unix yardımcı programı ise çalışan süreçlerin gerçek zamanlı bir görünümünü sağlar.

Güvenli kabuk,, ağ hizmetlerinin güvenli olmayan bir ağ üzerinde güvenli şekilde çalıştırılması için kullanılan bir kriptografik ağ protokolüdür. En iyi bilinen örnek uygulaması bilgisayar sistemlerine uzaktan oturum açmak için olandır.

<span class="mw-page-title-main">Metin tabanlı kullanıcı arayüzü</span> bir metin ekranına çıktı vermeye veya onu kontrol etmeye dayalı arabirim türü

Metin tabanlı kullanıcı arayüzü, metinsel kullanıcı arayüzü veya terminal kullanıcı arabirimi olarak da adlandırılır, grafik kullanıcı arayüzlerinin (GUI) icadından bir süre sonra ortaya çıkan ve onu grafik kullanıcı arayüzünden ayırt etmek için türetilen yeni bir terimdir. TUI'de bilgisayar grafikleri metin kipinde görüntülenir. Gelişmiş bir TUI, GUI'ler gibi tüm ekran alanını kullanabilir ve fare ve diğer girişleri kabul edebilir.

cmd.exe Windows komut satırı uygulaması

cmd.exe, Microsoft Windows, Windows NT, Windows CE, OS/2, EComStation ve ReactOS'un varsayılan Komut satırı uygulamasıdır. Uygulama çeşitli işletim sistemlerinde farklılık gösterebilir ancak kullanımı ve komutları hemen hemen aynıdır.

chown

chown komutu, change owner talimatının kısaltması olup Unix ve Unix benzeri işletim sistemlerinde dosya sistemindeki dosyaların, dizinlerin sahibini değiştirmek için kullanılır.

rm (Unix)

rm Unix ve Unix benzeri işletim sistemlerinde dosyaları, dizinleri ve sembolik linkleri silmek için kullanılan bir komuttur.

env, Unix ve Unix-benzeri işletim sistemleri için bir kabuk komutudur. Ya çevre değişkenlerinin bir listesini yazdırmak ya da mevcut çevreyi değiştirmeden başka bir aracı değiştirilmiş bir ortamda çalıştırmak için kullanılır. Env kullanarak değişkenler eklenip çıkarılabilir ve var olan değişkenlere yeni değerler atanarak değiştirilebilir.

<span class="mw-page-title-main">Tcsh</span>

tcsh C kabuğuna (csh) temelli ve geriye dönük uyumlu bir Unix kabuğudur.

<span class="mw-page-title-main">Süper kullanıcı</span> sistem yönetimi için kullanılan özel kullanıcı hesabı

Bilgisayar biliminde süper kullanıcı, sistem yönetimi için kullanılan özel bir kullanıcı hesabıdır. İşletim sistemine (OS) bağlı olarak bu hesabın adı root, admin veya supervisor olabilir. Bazı durumlarda hesabın adı belirleyici faktör değildir. Unix benzeri sistemlerde, örneğin kullanıcı tanımlayıcısı (UID) sıfır olan kullanıcı, hesabın adına bakılmaksızın süper kullanıcıdır. Rol tabanlı güvenlik modeli uygulayan sistemlerde, süper kullanıcı rolüne sahip herhangi bir kullanıcı, süper kullanıcı hesabının tüm eylemlerini gerçekleştirebilir. En az ayrıcalık ilkesi, süper kullanıcı hesabının sınırsız, sistem çapında değişiklikler yapma kabiliyetine sahip olmasından dolayı çoğu kullanıcının ve uygulamanın işlerini gerçekleştirmek için sıradan bir hesap altında çalışmasını önerir.

<span class="mw-page-title-main">Bağlama (bilgisayar bilimi)</span>

Bağlama, bilgisayarın işletim sisteminin, depolama aygıtındaki dosya ve dizinleri, bilgisayarın dosya sistemi aracılığıyla kullanıcıların erişimine sunduğu bir işlemdir.