Linuxの.bashrcファイルはどこにありますか?


13

.bash_loginと.bash_profileが見つかりません

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:~# 

すべてのユーザーに対して常に1つの.bashrcおよび.bash_profileファイルのみがありますか?

また、.bashrcと.bash_profileは常に/ home / "user name"ディレクトリにありますか?

回答:


14

デフォルトでbashが参照するのは、ユーザーのホームディレクトリだけです(はい)。通常、Linuxには/ etc / skelという単一のソースもあります。ただし、ユーザーのホームディレクトリは/ homeの下にある必要はありません。

質問を編集して、.bash_loginファイルと.bash_profileファイルの場所を尋ねました。#プロンプトに基づいて、これをrootとして実行していると仮定します。その場合、ファイルは

/root/.bash_history
/root/.bashrc

ユーザーのホームディレクトリに関する上記の私の元の回答を参照してください-常に/ homeであるとは限りません。この場合、ルートのホームディレクトリは/rootです。


9

によるとman bash

bashが対話型ログインシェルとして、または--loginオプションを使用した非対話型シェルとして呼び出されると、bashは最初にファイル/ etc / profileが存在する場合、ファイルからコマンドを読み取って実行します。そのファイルを読み取った後、〜/ .bash_profile、〜/ .bash_login、および〜/ .profileをこの順序で探し、最初に存在して読み取り可能なコマンドからコマンドを読み取り、実行します。

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

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

あります/etc/bashrc/etc/bash.bashrc含まれているDebianベースのLinuxで)System wide functions and aliases。デフォルトでは、これは非対話型、非ログインシェルに対しても設定されています。

編集:

tildeパス内に示しhome directory、現在ログインしているユーザーの。Bashは~/.bash_profile, ~/.bash_login, or ~/.profile、コマンドの読み取りと実行に、(現在ログインしているユーザーごとに)のいずれかをこの順序でのみ使用できます。(Debianベースのオペレーティングシステムは通常~/.bash_profile or ~/.bash_login. 、ファイルを使用していません~/.profile。このファイルは、~/.bash_profile or ~/.bash_login作成されない限り読み取られて使用されることを説明しています。

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

#This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login 存在します。


これは私の質問にどのように答えますか?

1
@BROYこれは、あなたがした質問ではなく、あなたが尋ねるべきだった質問に答えます。
シャドゥール

プロジェクトディレクトリに.bash_profileファイルを配置する人を見たことがありますが、bashによって実際に取得されるのでしょうか。私はそれがデフォルトで起こるはずだとは思わない。
アレクサンダーミルズ

5

あなたのbashrcファイルの場所はここで...ディストリビューションに依存しているシステムのための基本的なリストであるbashrc
/etc/bashrc(RedHatの、Fedoraの、など)
/etc/bash.bashrc(Debianのは、Ubuntu、Linuxのミント、バックトラック、カーリーなど)
/etc/bash.bashrc.local(Suseの、openSUSEの、など)が
続いていますbashrcほとんどの~/.bashrc場合、基本的にすべてのディストリビューションに格納されているプライベートシングルユーザー...ディストリビューションのいずれかがリストされていないか、特別なシステムがない場合はbashrc、そのディストリビューションの場所をGoogleでいつでも検索できます。システム...
よろしく、
興味深い...


1

すでに述べたように、/ etc / skel / .bashrcにbashrcのスケルトンがあります。ユーザーごとに異なるbash構成が必要な場合は、そのユーザーのホームフォルダーに.bashrcファイルを配置する必要があります。

.bash_profileと.bash_loginの場合、ユーザーはそれらを手動で作成し、bashrcを介してリンクする必要があります。bash_profileとbash_loginは、ロードするさまざまな設定に対してより整理された感じを作成するために存在します。私は個人的にすべてのエイリアスをbash_profileに保持しているので、簡単に編集するためにbashrcで混乱する必要はありません。

.bashrcファイルに含まれるものの例を次に示します。

if [ -f ~/.bash_profile ]; then
        . ~/.bash_profile
fi
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.