実行後のコマンド結果を diff する

これを知った時感動して震えたのでメモ
shell の機能を使ってこんな事ができる

  • sort した結果同士を一発で diff する
  • ローカルファイルと ssh 先のファイルをコマンド一発で diff する

※/bin/bash 限定ぽい

書式

diff <(hogehoge) <(fugafuga")

sort した結果同士を一発で diff する
[user@server ~]$ cat > file1
5
4
2
1
[user@server ~]$ cat > file2
1
2
3
5
[user@server ~]$ diff <(cat file1 | sort) <(cat file2 | sort)
3c3
< 4
---
> 3
ローカルファイルと ssh 先のファイルをコマンド一発で diff する
[user@server1 ~]$ diff /etc/ssh/ssh_config <(ssh server2 "cat /etc/ssh/ssh_config")

sudo を経由してもおk

[user@server1 ~]$ diff <(sudo cat /etc/ssh/sshd_config) <(ssh server2 "sudo cat /etc/ssh/ssh_config")
差分がずらずら(あればだけど)

頭に - (ハイフン)を付けたファイルの削除方法

なんかの拍子に作成してしまい、有識者に助けられたのでメモしておく

状況としてはこんな感じ

※以下環境は mac

localhost:test hoge$ ls
-kesitai_file	futu_file

普通に rm で消してみると

localhost:test hoge$ rm -kesitai_file 
rm: illegal option -- k
usage: rm [-f | -i] [-dPRrvW] file ...
       unlink file

引数に認識されちゃって消せない

点々とか付ければいけるんじゃね、と思っても

localhost:test hoge$ rm "-kesitai_file" 
rm: illegal option -- k
usage: rm [-f | -i] [-dPRrvW] file ...
       unlink file
localhost:test hoge$ rm '-kesitai_file' 
rm: illegal option -- k
usage: rm [-f | -i] [-dPRrvW] file ...
       unlink file

shell に渡される段階でクオーテーションが展開(外れる)されるので 結果変わらず

じゃあどうするか

localhost:test hoge$ rm ./-kesitai_file 
localhost:test hoge$ ls
futu_file

パスをちゃんと指定すれば消える、確かに消えた。オレの 10 分と焦りを返して欲しい。

ちなみに手元の CentOS 5.4 で試してみると

[hoge@localhost ~]$ rm -machigai_file 
rm: invalid option -- m
Try `rm ./-machigai_file' to remove the file `-machigai_file'.
Try `rm --help' for more information.

`rm ./-machigai_file' を試せと警告してくれる。仕事中は焦ってこの警告が目に入らなかったのかなぁ。。

MacBookAir 11 inch 購入

物欲に負けて MacBookAir を買ってしまった。。orz
ということでセットアップ履歴をメモ

初回起動 => software update と Google IME をインストール

この時点でのディスク容量はこちら

$ df -h
Filesystem      Size   Used  Avail Capacity  Mounted on
/dev/disk0s2   113Gi   13Gi   99Gi    12%    /
devfs          107Ki  107Ki    0Bi   100%    /dev
map -hosts       0Bi    0Bi    0Bi   100%    /net
map auto_home    0Bi    0Bi    0Bi   100%    /home

MacBookFirmware を update して再起動後、いつもの起動音とは違う Beep 音が鳴り響いた。問題なく起動したけどアレは仕様、、、なのかな。ドキドキした。

Time Machine 初回同期を実施

容量は 9.33 GB だった

いろいろツールをインストール

クラウド仮想化バンザイヽ(´∀`)ノ

いろいろ環境を同期

その他お好みで環境をカスタマイズ

何となく近未来な雰囲気にする方法

※英語は適当にそれっぽい日本語に読み替えてください。

左上リンゴマーク → System Preferences → Date & Time → Clock

まで進んで、Announce the time にクリック。Customize Voice で好みの音声を選択。
これにより Mac が時刻を読み上げてくれて、不思議と近未来な雰囲気を楽しむことが期待できます。
ちなみに自分は Vicki を選んでます。これは金髪美人に違いない!!

Linux 触っててへーって思った事。 .bash_logout について

ユーザを su とかして作業した後に logout すると、画面がいったんクリアされる。
これってユーザのホームディレクトリにある「.bash_logout」の中に書かれてる clear コマンドの仕業だったんだね!いやぁびっくり!


【Cent OS 5.4 の中身より】

[hoge@localhost ~]$ cat .bash_logout
# ~/.bash_logout


clear

ちなみに clear コマンドは Ctrl+l でもイケマス。

Windows7 の XP Mode セットアップまで

Thinkpad X200s を購入しました ヽ(´ー`)ノ

OS は Windows7 Professional 64bit 版
せっかくなので Windows XP Mode ってやつを試してみた。
そもそも Windows7 Pro 以上であれば既にインストールされているものかと思っていたが、別途インストールが必要な模様。

1) Windows XP Mode および Windows Virtual PC をダウントード/インストール

Microsoft のページより Windows XP Mode と Windows Virtual PC を落とてインストール
詳細は以下ページを参照。

Windows XP Mode のダウンロード
http://www.microsoft.com/japan/windows/virtual-pc/download.aspx

Windows XP Mode → Windows Virtual PC の流れで順番があるみたいなのでご注意を
(逆に入れたどうなんだろう。。。)

すごい簡単だなぁと思いきや、「ハードウェアの仮想化機能をオンにしてね」的なエラーがでて怒られてしまった。
参考としてキャプチャーを取得したが一度インストールした後なので少しメッセージが違うかも(復元できませんでしたって言葉はなかった気がする)。。。

2) 仮想化機能をオンにする

Thinkpad の場合再起動をしてロゴ表示中に「F1」ボタンを押と BIOS 設定画面にいける。
そこで

Config → CPU

と移動して、「Intel(R) Virtualization Technology」を有効(Enabled)に設定する。
(1 行下の「Current setting」 が Enabled になればよいかと)
あとは F10 を押して保存と再起動を行うのみ、、、と思いきや、このまま起動しても同様のエラーが出てしまった。
どうやら一度電源を落として数秒(10秒ぐらい待ったらOKでした)待ってから起動しろとの事。

起動後は初回はパスワードなどのセットアップがあり、全部で 5 分ぐらいかかり Windows XP が起動。いやーよかったよかった。