私の.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/"username"ディレクトリにありますか?
答え1
bashがデフォルトで見る唯一のものは、ユーザーのホームディレクトリです。はい。 Linuxでは、通常/etc/skelという単一のソースもあります。ただし、ユーザーのホームディレクトリが/ homeの下にある必要はありません。
.bash_loginファイルと.bash_profileファイルがどこにあるかを尋ねるように質問を編集したことがわかります。プロンプトによると、#
rootとして実行しているとします。この場合、ファイルは次のようになります。
/root/.bash_history
/root/.bashrc
ユーザーのホームディレクトリに対する上記の元の回答を参照してください。この場合、ルートのホームディレクトリは常に/homeではありません/root
。
答え2
によるとman bash
:
bashが--loginオプションを使用して対話型ログインシェルまたは非対話型シェルとして呼び出されると、まず/ 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
コマンドの1つ(現在ログインしている各ユーザー)を順番に使用してコマンドを読み取って実行することができます。 (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
存在する。
答え3
ファイルの場所はbashrc
ディストリビューションによって異なります。以下はシステムの基本的なリストですbashrc
。
/etc/bashrc
(Red Hat、Fedoraなど)/etc/bash.bashrc
(Debian、Ubuntu、Linux Mint、BackTrack、Kaliなど)/etc/bash.bashrc.local
(水洗、オープン水洗など)
その後、個人のシングルユーザーがいて、bashrc
ほとんどはデフォルト~/.bashrc
ですべてのディストリビューションに保存されます...リストにディストリビューションの1つがない場合、または特別なシステムがある場合は、いつでもGoogleがbashrc
そのディストリビューションの場所を見つけることができます。またはシステム...
答え4
人々がすでに述べたように、/etc/skel/.bashrcでbashrcのスケルトンを見つけることができます。ユーザーごとに異なるbash構成が必要な場合は、そのユーザーのホームフォルダに.bashrcファイルを配置する必要があります。
.bash_profileと.bash_loginの場合、ユーザーは手動で作成してbashrcを介して接続する必要があります。 bash_profileとbash_loginは、ロードするさまざまな設定に対してより体系的な感じを与えるために存在します。私は簡単に編集するためにbashrcの複雑な内容をクリーンアップする必要がないように、個人的にすべてのエイリアスをbash_profileに保存します。
以下は、.bashrcファイルのコンテンツの例です。
if [ -f ~/.bash_profile ]; then
. ~/.bash_profile
fi