Tingkat konseptual
Saat Anda memulai proses dari shell Anda, direktori kerja saat ini dari proses adalah sama dengan direktori kerja shell Anda saat ini. Dalam konteks shell, direktori kerja saat ini adalah lokasi Anda saat ini "di."
Direktori kerja saat ini dari proses apa pun digunakan untuk menafsirkan jalur relatif. Sebagai contoh, jika direktori kerja shell Anda saat ini adalah /home/renedan Anda berlari ls ..dari shell, proses ini direktori kerja saat ini, /home/rene, akan digunakan untuk tekad ..untuk /home.
Anda dapat melihat direktori kerja saat ini dari semua proses yang berjalan di sistem Anda dengan lsof | grep '\scwd\s'(perhatikan bahwa Anda mungkin perlu menjadi root untuk melihat proses pengguna lain.) Ini dapat memberi Anda gambaran tentang bagaimana direktori kerja saat ini berhubungan dengan proses yang berjalan di sistem Anda.
Tingkat program
Direktori shell yang berfungsi saat ini adalah direktori yang Anda lihat dan modifikasi dengan built-in shell pwddan cdmasing - masing. Perintah-perintah ini memanggil panggilan sistem seperti getcwddan chdiryang berfungsi dengan direktori kerja shell Anda saat ini.
Menggunakan bashsebagai contoh, cdbuilt-in akhirnya menjalankan baris ini:
if (chdir (nolinks ? newdir : tdir) == 0)
dan pwdbuilt-in akhirnya menjalankan baris ini:
the_current_working_directory = getcwd (0, PATH_MAX);
Shell hanyalah contoh yang mudah digunakan direktori penggunaan saat ini; panggilan sistem yang sama juga digunakan oleh program lain. Suatu program dapat mengubah direktori kerjanya saat ini ke /usrdan setiap jalur relatif yang menggunakan program akan mulai dari /usrdirektori,
Tingkat kernel
Direktori kerja saat ini dari suatu proses disimpan oleh kernel. Linux menyimpannya di pwdanggota yang fs_structditunjuk oleh fsanggota a task_struct. The pwdanggota adalah pathstruct, yang menunjuk ke informasi tentang gunung ( vfsmount) dan lokasi direktori di filesystem ( dentry). Setiap proses memiliki task_structketerkaitan dengannya.
The chdirdan getcwdsistem panggilan memodifikasi dan mengambil informasi di pwd.