Hatena::ブログ(Diary)

What am I looking for?

2012-05-19

シェルコマンドの並行性

P34. Memo

パイプライン中の各コマンドは、OS上で並行処理で同時に実行され、また、パイプを通る標準入出力のデータは、テンポラリファイルを使用せずに受け渡されるため、パイプラインは非常に効率のよい実行方法です。

な、なんと。パイプライン中の各コマンドは並行処理されるのか。

すげーと思いつつ活用シーンがすぐに思いつかない。

grep A | grep B みたいに、grepした結果をさらにgrepで絞り込む処理とかだと先のgrepが処理完了するまで後のgrepが待たされる気がする。



15分後くらいに追記:

grepだとダメだね。grep対象のリソースファイルが前後のgrepで共有してるからね。競合してしまうものね。

共有リソースをつかわない処理だったらいいかんじに並列処理してくれるのかな。


30分後くらいに追記:

いやgrepでも並行処理を有効活用してる気がしてきた。

先のgrepでは対象のファイルをまずメモリに展開してそのgrep結果をメモリに展開し、その結果を後のgrepが処理しているんだから参照してるメモリ空間は別物だと思われ、

先のgrep結果が出たらそれをいそいそと逐次処理している後のgrepが思い浮かんだ。

2011-11-23

CentOS5にSubversionインストール

下のページ参考にさせて頂きました。感謝。

http://wiki.minaco.net/index.php?Linux%2FSubversion%2Fyumからインストール

SELinuxが動いてると下のメッセージが出るらしく、上のページに確認事項で書いてあったのに見落としていて、1時間くらいハマった。。

This XML file does not appear to have any style information associated with it. The document tree is shown below.
<D:error xmlns:D="DAV:" xmlns:m="http://apache.org/dav/xmlns" xmlns:C="svn:">
<C:error/>
<m:human-readable errcode="13">Could not open the requested SVN filesystem</m:human-readable>
</D:error>

2011-11-03

Shellコマンドライン編集用のキー入力(不完全)

シェルコマンドライン操作するためのキー入力をよく忘れるのでメモ。

たいがい動作内容を表す英単語の頭文字に由来したキー入力になってるから、

キー入力の由来となる英単語もセットで覚えれば、もしもキー入力を忘れてしまっても、

動作内容から英単語を想像して、キー入力を思い出せるので

自分は、キー入力の由来となる英単語もセットで覚える(プログラム言語のAPI然り)。

対となる概念もセットで覚える。


移動

カーソル移動

Ctrl + b 左に1 文字移動(backward)

Ctrl + f 右に1文字移動(forward)

Ctrl + a 行頭の移動(ahead)

Ctrl + e 行末に移動(end)


カーソル移動(単語単位)

Esc, b 1単語分、左に移動(backward)

Esc, f 1単語分、右に移動(forward)


文字列操作

文字の削除

Ctrl + d カーソル上の1文字を削除(delete)

Ctrl + h カーソルより左の1文字を削除(???)


単語単位の文字列の削除

Esc, Delete or Esc, Backspace 単語上のカーソルより左の1単語を削除(delete)

Ctrl + w カーソルより左の1単語を削除(word)

Esc, d 単語上のカーソルより右の文字列を削除(delete)


文字列の削除

Ctrl + k カーソルより右の文字列を削除(kill)

Ctrl + u カーソルより左の文字列を削除(???)


取り消し

Ctrl + y 最後に「文字列の削除」で削除した文字列を取り出す(yank)

2011-08-28

CentOS6.0でホスト名を書き換える

/etc/sysconfig/network

でホスト名を管理しているので、エディタで編集。


[root@localhost ~]$ vi /etc/sysconfig/network


NETWORKING=yes

HOSTNAME=localhost.localdomain


HOSTNAMEをlocalhostからcentkunに変更


#HOSTNAME=localhost.localdomain

HOSTNAME=centkun.localdomain


OS再起動すれば、プロンプトのホスト名が変わっていることを確認できる(プロンプトにホスト名が表示される設定になっていることが前提)。


[root@centkun ~]$


環境変数HOSTNAMEも変わっている。


echo $HOSTNAME// centkun.localdomain

Mac Book AirでVirtualBox上にCentOS6.0をネットワークインストールしてみる(大雑把備忘録)

※この記事はあくまで個人的な備忘録かつ初心者のやっていることなので、いろいろ情報が抜けています。参考に同じような事をやろうとする人は、他の詳しいサイトを見たほうがいいです。

VirtualBoxインストールすると、マシン上で動いているメインのOS(ホストOS)上で、仮想的にOS(ゲストOS)を動かせる。

今回はゲストOSとして、サービス用として信頼が高いらしいCentOSの最新版である6.0をインストールしてみる。(なぜ信頼が高いかは知らないのであとで調べる)


1.まずはVirtualBoxインストール

http://www.virtualbox.org/wiki/Downloadsアクセスし、

VirtualBox {最新のVirsionナンバー} for OS X hosts をダウンロード

ダウンロードしたdmgを展開後、流れに沿ってインストール。(詳細は省略)


2.CentOSOSイメージ(ネットワークインストール用)入手

http://mirror-status.centos.org/#jp

から、生きてる健康なサーバを選択(自分はhttp://ftp.riken.jp/Linux/centos/を選択した)。

http://ftp.riken.jp/Linux/centos/6/isos/x86_64/

まで、ディレクトリを辿ったら、

CentOS-6.0-x86_64-netinstall.iso

ダウンロード


3.CentOSインストール(細かい設定は省略、他サイト参照)

VirtualBoxを起動して、新規仮想マシンを作成。

CentOS-6.0-x86_64-netinstall.isoを仮想CDドライブにマウント。

・途中、ネットワークインストールさせるimage.isoを指定させるところがあるので

http://ftp.riken.jp/Linux/centos/6/os/x86_64/images/直下のinstall.imgを指定。

・以降流れに沿ってインストール(詳細は省略)


しかし、Mac Book Airはいいね。久しぶりにいい買い物したわーって気分。