Linuxユーザの立場から、役立つ情報や困ったときの解決方法を分かりやすく、かつ簡潔に記事にまとめています。主に、Ubuntu 8.04(→9.04)やCentOS 5.2(→5.3)で確認したことですが、他のディストリビューションでも応用できると思います。内容は(1)設定ファイルの書き方(2)役立つソフトウェア紹介やインストール方法(3)便利なコマンドの使い方や活用例(4)困ったときの解決方法です。このページの末尾にキーワード別で記事を分類してあります。また、真上の「ブログ検索」フォームからブログ内の記事を検索できます。

2008年10月25日土曜日

.bashrcで初期設定 このエントリーを含むはてなブックマーク

前回の記事「.bash_profileで環境変数を設定する」に引き続き、本記事は.bashrcの設定についてまとめます。2つの設定ファイルはともにシェルに初期設定を登録するためのファイルですが、.bash_profileは基本的にログイン時にのみ読み込まれるのに対して、.bashrcはシェルが起動する度に読み込まれるのでした。

.bashrcとは

シェルを起動する度に読み込まれる設定ファイルです(ホームディレクトリに置いておきます)。.bashrcでは、主にエイリアスやユーザ定義関数、シェルの起動の度に実行するコマンドなどを登録します。

umask

ファイル作成したときは、読み書き実行に関して誰が行えるか(ファイルへのアクセスの権限)を取り決めることができます。これをパーミッションといいます。ファイル(file.txt)のパーミッションは小文字のエルをオプションとして指定することで、lsコマンドで確認できます。

$ ls -l file.txt
-rw-r--r-- 1 hoge hoge 3 2008-10-25 20:05 file.txt

この出力結果の見方は「パーミッションとは」に分かりやすい説明が載っています。

.bashrcに

umask 022
という1行を入れておくと、ファイルを新規作成したときに、そのファイルのパーミッションは644になります。すなわち、作成したユーザは読み書きができますが、それ以外の人は読むことしかできません。

fortune

fortuneは、実行する度に格言やジョークを端末に表示するプログラムである。シェルを立ち上げる度に、自動的にfortuneを実行するようにbashrcに書き込んでおくと楽しい。apt-getなどで、

# apt-get install fortune-mod 
インストールする。

ちなみに、fortuneの語源はフリー百科事典『ウィキペディア(Wikipedia)』によると、「フォーチュン・クッキー(fortune cookie)とは、中に運勢の書かれた紙片の入った菓子である。アメリカ合衆国の中華料理店では殆どの店で食後に出される。」とのこと。

フォーチュンクッキーを開けたところ(出典:Wikipedia

.bashrcの設定例

# .bashrc

# User specific aliases and functions

alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
#alias ls='ls -F --color=auto'
alias ls='ls --color=auto --ignore-backups --human-readable -vxX '
alias eng='LANG=C LANGUAGE=C LC_ALL=C'

# don't put duplicate lines in the history. See bash(1) for more options
export HISTCONTROL=ignoredups
# ... and ignore same sucessive entries.
export HISTCONTROL=ignoreboth


# Source global definitions
if [ -f /etc/bashrc ]; then
     . /etc/bashrc
fi

# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
if [ -f /etc/bash_completion ]; then
 . /etc/bash_completion
fi

umask 022

/usr/games/fortune

ただし、ssh接続されるサーバ上のアカウントで/usr/games/fortuneの行を書いていたら そのアカウントに対してscpできない。回避方法としては、~/.bashrcでなく~/.bash_profileなどに書いておく(そうしたら、端末を立ち上げるごとでなくて、ログインにつき1回しかfortuneは実行されないが)。

ディストリビューションによっては、/usr/games/fortuneではなくて/usr/bin/fortuneかもしれない。fortuneをインストールしたが、実行ファイルの場所が分からないときは

$ which fortune
を実行して場所を確認すること。

0 コメント:

キーワード

キーワード別に記事を分類してあります。クリックすると各キーワードに該当する記事たちが表示されます。

筆者について

自分の写真
趣味はコンピュータ、音楽、写真などです。