Linux .bashrc, .bash_profile ve .profile fərqləri
Linux .bashrc, .bash_profile ve .profileLinux .bashrc, .bash_profile və .profile faylları shell startup fayllarıdır və başlanğıcda avtomatik olaraq komandalarınızı işə salırlar.
Terminalda çox vaxt keçirirsinizsə, shell mühitinizi özəlləşdirmək istəyə bilərsiniz. Bu, alias yaratmaq, $PATH dəyişəninə yeni bir qovluq əlavə etmək və ya shell prompt görünüşünü dəyişdirmək ola bilər.
Bu özəlləşdirmələri etmək üçün lazım olan komandalar .bashrc, .bash_profile və ya bash shell tərəfindən oxunan və icra edilən başqa bir konfiqurasiya faylına yerləşdirməyinizi söylədiklərində çaşqınlıq yaşamış ola bilərsiniz. Çünki hələ hansı faylın hansı məqsədlə istifadə edildiyini bilmirik.
Bu yazıda bash başlanğıc faylları, .bashrc və .bash_profile faylları arasındakı fərq haqqında danışacağıq.
İnteraktiv Giriş və Non-Login Shell nədir?
Linux sistemlərində bash shell istifadə edərkən çox vaxt “İnteraktiv Giriş” (Interactive Login) və “Non-Login Shell” anlayışlarına rast gəlirık. Bu anlayışların nə olduğunu anlamaq sistem davranışını daha yaxşı başa düşmək üçün vacibdir. Bu məqalədə hər iki shell üzərində ətraflı dayanacağıq.
İnteraktiv giriş Shell-ə nəzər salaq – İnteraktiv Giriş Shell sistemə giriş etdikdə (məsələn, SSH vasitəsilə uzaqdan qoşularkən) istifadə edilən shell-dir. Bu shell, sistemlə ıstifadəçinin birbaşa ælaqə qurmalarına imkan yaradar.İnteraktiv giriş shell sistemə ıstifadəçi adı və parolu daxil edildikdə yaranır. Bu növ shell adətən terminal emulatorlarında şəxsi profillərin yüklənməsi üçün istifadə olunur.İnteraktiv giriş shell sistemi aşağıdakı konfiqurasiya fayllarını oxuyur aşğıdakı fayllara baxış keçirək.
/etc/profile – Bütün istifadəçilər üçün qlobal planlar.
~/.bash_profile – İstifadəçi tərəfindən müəyyən edilmiş xüsusi profillər.
~/.profile (əgər varsa) – Alternativ şəxsi konfiqurasiya faylı.
Sistemdə ıstifadə edən zaman ilkin çevrənin (“environment”) qüurulması. nümunə olaarq, PATH dəyişənlərinin təyin olunması və Aliaslar, skriptlər və funksiyaların yüklənməsi.
Non-Login Shell – terminal emulatorunda yeni pəncərə açıldıqda və ya birbaşa shell icra edildikdə yaranır. Bu shell sistemə giriş etmədn başlayır və adətən interaktiv istifadə üçün təyin edilir.İşləmə qaydasına baxaq Terminal emulatorundan yeni bir pəncərə açdıqda, bash shell “Non-Login” rejimində başlayır. Bu halda, giriş prosesi işləmədiyinə görə yalnız non-login konfiqurasiya faylları oxunur.Oxudğu fayllara nəzər salsaq
~/.bashrc – Non-login shell rejimi üçün konfiqurasiya düzəlişləri.
Gündəlik ıstifadə üçün və Aliasların, funksiyaların və skriptlərin yüklənməsi ndə istifadə olunur
Bash startup faylları
Bash interaktiv giriş kerneli kimi işə salındıqda, /etc/profile faylını axtarır və fayl varsa, faylda sadalanan komandaları yerinə yetirir. Sonra Bash ~/.bash_profile, ~/.bash_login və ~/.profile üçün sadalanan ardıcıllıqla axtarış aparır və tapılan ilk oxuna bilən fayldan komandalarını yerinə yetirir.
Bash interaktiv qeyri-giriş qabığı kimi işə salındıqda, o, ~/.bashrc faylındakı əmrləri oxuyur və icra edir, əgər varsa və oxuna bilər.
.bashrc və .bash_profile faylları arasındakı fərq
Linux çərçivəsində bash shell istifadə edərkən, çox vaxt .bashrc və .bash_profile fayllarına rast gəlinir. Bu faylların hansı məqsədlə istifadə edildiyini anlamaq, shell çevrənizi düzgün təyin etməyinizə kömək edəcək. Gəlin bu iki faylın funksiya və istifadə çərçivəsini ətraflı araşdıraq.
.bash_profile faylına baxış keçirək .bash_profile faylı, İnteraktiv giriş Shell (Interactive Login Shell) istifadə edildikdə avtomatik olaraq oxunur. Bu fayl ilk dəfə sistemə giriş etdikdə istifadəçinin şəxsi profilini yükləmək üçün istifadə edilir.Funksiyalarına baxaq.
- Sistemə daxil olduqda, qabıq mühiti qurur.
- PATH qlobal dəyişənləri təyin edir.
- Başlanğıcda bash skriptlərinin və funksiyalarının avtomatik yüklənməsini təmin edir.
.bashrc faylına baxış keçirək .bashrc faylı Non-Login Shell istifadə edilərkən avtomatik olaraq oxunur. Terminal emulatorunda yeni bir pəncərə açdıqda və ya birbaşa shell icra edildikdə işləyir.Aşağıda qeyd olunan funksiyanalqlığına baxış keçirək.
- Aliyaslar, funksiya təyinləri və shell davranış düzənişlərini idarə edir.
- Gündəlik istifadə və qısa yolları daha rahat edir.
- Non-login shell üçün spesifik dəyişikliklər təyin edir.
Sizin üçün edə biləcəyimiz tövsüyələrə baxaq.
- Qlobal Dəyişikliklər üçün .bash_profile-dan istifadə edin: PATH kimi dəyişənlər və ya sistem girişində yüklənməsi lazım olan proqramları buraya daxil edin.
- Gündəlik Təyinlər üçün .bashrc-də saxlayın: Aliyaslar, promtın dəyişdirilməsi və ya funksiya təyinləri burada daha uyğun olacaq.
- Bütün Dəyişikliklərə Dıqqətlə Nəzarət Edin: Fayllarda edilən dəyişikliklər shell çevrənizə birbaşa təsir edəcək.
Əksər Linux distroları ~/.bash_profile əvəzinə ~/.profile istifadə edir. ~/.profile bütün kernellər tərəfindən oxunduğu halda, ~/.bash_profile yalnız Bash tərəfindən oxunur.