日別アーカイブ: 2010年5月1日, 21時31分

ubuntuのlsコマンドの色変更

 ゴールデンウィークだ。
 ひたすら、神奈川県立高校の入試問題を解く。

 独自入試といって、やたらムズいのが出てきてるのだ。

 休み明けに10校ぶん、全部解いて提出。

● よく

 高校入試?、あー大学入試を教えてるんじゃないんだー

 など言われては、こちらの雰囲気を伝えるのが困難なのでいくつか書いてみる。

● 2010年 横浜翠嵐高校 問1(カ)

 nは2以上の自然数である。n^2ー1が1260の約数となるようなnをすべて求めなさい。
(n^2はnの2乗)

● 2010年 横浜翠嵐高校 問4

 1から72までの異なる整数が1つずつ書かれた72枚のカードが3組ある。この3組のカードが、書かれた数が小さい順に左から横一列に並べられており、上から順番にカードの列をそれぞれ列A、列B、列Cと呼ぶことにする。
 これらの列に対して、次の操作(1)または操作(2)を何回か行う。

(1) 列Aの右端からn枚のカードを、列Aの左側にそれらの順番を変えずに並べる。
(2) 列Bの右端からk枚のカードを、列Bの左側にそれらの順番を変えずに並べ、列Cの右端からm枚のカードを、列Cの左側にそれらの順番を変えずに並べる。

 このとき、次の問いに答えなさい。

(ア)最初の状態で、n=4とし操作(1)を12回行った。このとき、列Aの左端にあるカードに書かれた数を求めなさい。

(イ)最初の状態で、n=20とし操作(1)を行う。45が書かれたカードが、始めて列Aの左端にくるまで、操作(1)は何回必要か求めなさい。

(ウ)最初の状態で、k=32、m=42とし操作(2)を行う。列Bの左端にあるカードと列Cの左端にあるカードが、両方とも1が書かれたカードになるまで、操作(2)は最低何回必要かを求めなさい。ただし操作(2)は1回以上行うこととする。

 解き方がわかったら解説付きで教えて下さい (T_T)

 休み明けに、教室長研修で解説授業をやる(我々が任意に指名されて)っぽい噂が。

 何となくそれっぽい解説は立ててみたけど、
 現状模範解答はあるが解説は出版もされてなく(今年の過去問なので)、解説が手元にない状態なので、
 僕の解法が一番ステキな方法なのか分からず。

 研修で意気揚々と「これがこーですからぁ」なんて言ってて、
 実はもっと劇的に簡単な解法があったりするとかなり恥ずかしい事態に。

 うごご。

● その後

 柏陽高校という高校の入試問題を解いてて、なんか模範解答と違う答えが。
 たぶん、どっかで僕が計算ミスしてるんだろうから
 excelで。

 というか

● せっかくだから

 ubuntuでOpenOfficeででしょう!

 と、ubuntuの端末開いて、samba共有の玄箱をlsすると。

 読みづれぇぇ。
 この配色にした人の気持ちが分からない。

● というわけで

 ずっと流してたけど、GWだし、現実逃避もしたいしで、

● 調べた

 ubuntuで ls の色設定を変える方法。

主に:http://physics.s.chiba-u.ac.jp/~kurasawa/ubuntu.html

 ありがたいです。

● .bashrc

 これが、シェルが立ち上がる度に動くスクリプト?のようだ。
 この中に

# enable color support of ls and also add handy aliases
if [ -x /usr/bin/dircolors ]; then
  eval ”’dircolors -b’”
  alias ls=’ls –color=auto’
    :
fi

 というのがあって、/usr/bin/dircolors という実行ファイルがあるようだ。

● dircolors

 に、オプション -p を付けて実行すると、dircolors自身用の設定ファイルを吐き出す。

 この設定ファイルの中身をカスタマイズして、~/.dir_colors みたく保存する。

$ dircolors -p > ~/.dir_colors
$ vi ~/.dir_colors

 で、上記の画像でおかしかったのは「ow」と「sg」。
 これを変えるのだ。

↓これが「sg」
SETGID 35;47 # file that is setgid (g+s)
OTHER_WRITABLE 34;01 # dir that is other-writable (o+w) and not sticky
↑これが「ow」

 各々、上記のように数字を変えて、文字色は青系に。

 設定値は数字で、文字色と背景色をそれぞれ指定する。
 31;42とか、34みたく。

 数字の意味は、dircolors -p した出力内にコメントで記載されてる。

# Attribute codes:
# 00=none 01=bold 04=underscore 05=blink 07=reverse 08=concealed
# Text color codes:
# 30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white
# Background color codes:
# 40=black 41=red 42=green 43=yellow 44=blue 45=magenta 46=cyan 47=white

● で、~/.dir_colorを

 カスタマイズした内容で保存したら、
 ~/.bashrcの先ほどの行を

# enable color support of ls and also add handy aliases
if [ -x /usr/bin/dircolors ]; then
  #eval ”’dircolors -b’”         # ←削除
  eval ”’dircolors -b ~/.dir_colors’”  # ←追加
  alias ls=’ls –color=auto’
    :
fi

 みたく変えると、端末が立ち上がる度に、
 環境変数?LS_COLORSに多量の設定値を代入する命令を吐き出してくれて、
 それが実行される。

 という仕組みのよう。

● で、すっきり

使用前:

使用後:

 シェルは読めねど高楊枝。
 再び入試問題を解く旅に出る。
 ゴールデンウィークは赤ん坊に付き合ったり、入試問題10校分分析してる内に終わりそうだ・・・。