Linux'ta .bashrc dosyası nerede bulunur?


14

.Bash_login ve .bash_profile'ımı bulamıyorum

root@linux:~# locate .bash*
/etc/bash.bashrc
/etc/skel/.bashrc
/etc/skel/.bashrc.original
/home/noroot/.bashrc
/home/noroot/.bashrc.original
/root/.bash_history
/root/.bashrc
/usr/share/base-files/dot.bashrc
/usr/share/doc/adduser/examples/adduser.local.conf.examples/bash.bashrc
/usr/share/doc/adduser/examples/adduser.local.conf.examples/skel/dot.bashrc
/usr/share/kali-defaults/.bashrc
root@linux:~# 

Her kullanıcı için her zaman yalnızca bir .bashrc ve .bash_profile dosyası var mı?

Ve .bashrc ve .bash_profile her zaman / home / "kullanıcı adı" dizininde mi bulunur?

Yanıtlar:


15

Varsayılan olarak bash'a bakanlar yalnızca kullanıcının ana dizinindedir, evet. Ayrıca Linux - / etc / skel'de onlar için genellikle tek bir kaynak vardır. Ancak kullanıcının ana dizininin / home altında olması gerekmez.

Sorunuzu, .bash_login ve .bash_profile dosyalarınızın nerede olduğunu soracak şekilde düzenlediğinizi görüyorum. #İstemi temel alarak , bunu root olarak çalıştırdığınızı varsayacağım. Bu durumda, dosyalarınız

/root/.bash_history
/root/.bashrc

Bir kullanıcının ana dizini ile ilgili yukarıdaki orijinal cevabımı görün - her zaman / home değil; bu durumda root'un ana dizini olur /root.


10

Göre man bash:

Bash etkileşimli bir giriş kabuğu veya --login seçeneğiyle etkileşimli olmayan bir kabuk olarak çağrıldığında, dosya varsa / etc / profilinden komutları okur ve yürütür. Bu dosyayı okuduktan sonra ~ / .bash_profile, ~ / .bash_login ve ~ / .profile bu sırayla arar ve var olan ve okunabilir olan ilk komutları okur ve yürütür.

~/.bash_profile
    The personal initialization file, executed for login shells

~/.bashrc
    The individual per-interactive-shell startup file

Ayrıca /etc/bashrc( /etc/bash.bashrcDebian tabanlı Linux'ta) vardır System wide functions and aliases. Varsayılan olarak bu, etkileşimli olmayan, giriş yapmayan mermiler için bile ayarlanmıştır.

DÜZENLE:

tildeYollarında gösterir home directoryanda oturum açan bir. Bash, ~/.bash_profile, ~/.bash_login, or ~/.profilekomutları okumak ve yürütmek için bu sırayla (şu anda oturum açmış olan her kullanıcı için) yalnızca birini kullanabilir . (Debian tabanlı işletim sistemlerinde genellikle ~/.bash_profile or ~/.bash_login. dosya yoktur ~/.profile. Bu dosya ~/.bash_profile or ~/.bash_loginoluşturulmadıkça okunup kullanılacağını açıklar .

#~/.profile: executed by the command interpreter for login shells.

#This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login bulunmaktadır.


Bu sorumu nasıl cevaplıyor?

1
@BROY Yaptığınız sorudan ziyade sormanız gereken soruya cevap veriyor.
Shadur

Bazı kişilerin proje dizinlerine bir .bash_profile dosyası koyduğunu gördüm, bu gerçekten bash tarafından alınıyor mu? Bunun varsayılan olarak olması gerektiğini düşünmüyorum.
Alexander Mills

6

Bulunduğunuz bashrcdosyanın konumu Burada sistem için temel bir listedir ... dağıtıma bağlıdır bashrc:
/etc/bashrc(Redhat, Fedora vb)
/etc/bash.bashrc(Debian, Ubuntu, Linux Mint, sarfınazar Kali vs.)
/etc/bash.bashrc.local(vs Suse, OpenSuse)
Sonra orada bashrcÇoğunlukla ~/.bashrctemelde her dağıtım için saklanan özel tek kullanıcı ... Listelenen dağıtımlardan birine sahip değilseniz veya özel bir sisteminiz varsa, bashrco dağıtım için her zaman google'da konum arayabilirsiniz veya sistem ...
Saygılarımızla,
İlginç ...


1

İnsanların daha önce de belirttiği gibi, /etc/skel/.bashrc'de bir bashrc iskeleti bulabilirsiniz. Farklı kullanıcılar farklı bash yapılandırmaları isterse, o kullanıcıların ana klasörüne bir .bashrc dosyası koymalısınız.

.Bash_profile ve .bash_login söz konusu olduğunda, kullanıcının bunları manuel olarak oluşturması ve bashrc aracılığıyla bağlaması gerekir. Bash_profile ve bash_login, yüklediğiniz farklı ayarlar için daha düzenli bir his oluşturmak için var. Ben şahsen bash_profile tüm takma adları tutmak böylece hızlı bir düzenleme yapmak için bashrc bir karmaşa ile sıralamak zorunda değilsiniz.

İşte .bashrc dosyanızda ne olduğuna bir örnek:

if [ -f ~/.bash_profile ]; then
        . ~/.bash_profile
fi
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.