Kavramsal seviye
Kabuğunuzdan bir işlem başlattığınızda, işlemin geçerli çalışma dizini kabuğunuzun geçerli çalışma diziniyle aynıdır. Kabuk bağlamında, geçerli çalışma dizini şu anda "bulunduğunuz" konumdur.
Herhangi bir işlemin geçerli çalışma dizini göreli yolları yorumlamak için kullanılır. Kullandığınız kabuğun Geçerli çalışma dizini olsaydı Örneğin, /home/reneve kaçtın ls ..kabuğundan, sürecin Geçerli çalışma dizini, /home/rene, kararlılığının için kullanılacak ..üzere /home.
Sisteminizde çalışan tüm işlemlerin geçerli çalışma dizinlerini lsof | grep '\scwd\s'şu şekilde görebilirsiniz (diğer kullanıcıların işlemlerini görmek için muhtemelen root olmanız gerektiğini unutmayın.) Bu size mevcut çalışma dizinlerinin sisteminizde çalışan işlemler.
Program seviyesi
Kabuğun geçerli çalışma dizini, kabuk yerleşikleriyle pwdve cdsırasıyla değiştirdiğiniz ve değiştirdiğiniz dizindir . Bu komutlar , kabuğunuzun geçerli çalışma dizini ile çalışan getcwdve böyle sistem çağrılarını çağırır chdir.
Kullanılması bashörnek olarak, cddahili sonunda bu çizgiyi çalıştırır:
if (chdir (nolinks ? newdir : tdir) == 0)
ve pwdyerleşik olarak sonunda bu satırı çalıştırır:
the_current_working_directory = getcwd (0, PATH_MAX);
Kabuk, şu andaki çalışma direktörünün kullanımına uygun bir örnektir; aynı sistem çağrıları diğer programlar tarafından da kullanılır. Bir program geçerli çalışma dizinini olarak değiştirebilir /usrve programın kullandığı göreli yollar dizinden başlayacaktır /usr,
Çekirdek seviyesi
Bir işlemin geçerli çalışma dizini çekirdek tarafından saklanır. Linux bunu depolayan pwdbir üyesi fs_structtarafından sivri fsbir üyesi task_struct. pwdÜyesi bir olduğunu pathmonte hakkındaki bilgilere işaret yapı, ( vfsmountdosya sisteminde) ve dizinin konum ( dentry). Her sürecin bir task_structilişkisi vardır.
chdirVe getcwdsistem çağrıları değiştirmek ve bilgi almak pwd.