FreeBSD初心者運用日記 このページをアンテナに追加

2009-02-09

[][]ジャンプする前の場所に戻る方法 04:01 ジャンプする前の場所に戻る方法 - FreeBSD初心者運用日記 を含むブックマーク はてなブックマーク - ジャンプする前の場所に戻る方法 - FreeBSD初心者運用日記 ジャンプする前の場所に戻る方法 - FreeBSD初心者運用日記 のブックマークコメント

シングルコーテーションを二回押すと、ジャンプする前の場所に戻る。

もう一回押すと、元の位置に戻る。

ctrl+oで過去のカーソルの位置をさかのぼることができる

ctrl+iでその逆ができる。

[][]カーソルの移動 03:53 カーソルの移動 - FreeBSD初心者運用日記 を含むブックマーク はてなブックマーク - カーソルの移動 - FreeBSD初心者運用日記 カーソルの移動 - FreeBSD初心者運用日記 のブックマークコメント

10Hで、表示されている画面の上から10行目にとぶ

10Lで、表示されている画面の下から10行目にとぶ

[][]上下に移動する 03:50 上下に移動する - FreeBSD初心者運用日記 を含むブックマーク はてなブックマーク - 上下に移動する - FreeBSD初心者運用日記 上下に移動する - FreeBSD初心者運用日記 のブックマークコメント

viで上下に移動する場合、jkを使いますが、+と-を使うことができます。

jkと違うのは、移動したときにカーソルが行頭にくることです

2009-02-03

[][][]タブ(tab)で区切られたファイルをawkコマンドで扱う方法 00:37 タブ(tab)で区切られたファイルをawkコマンドで扱う方法 - FreeBSD初心者運用日記 を含むブックマーク はてなブックマーク - タブ(tab)で区切られたファイルをawkコマンドで扱う方法 - FreeBSD初心者運用日記 タブ(tab)で区切られたファイルをawkコマンドで扱う方法 - FreeBSD初心者運用日記 のブックマークコメント

awkコマンドのデフォルトのデリミタは空白であり、タブ(tab)で区切られたファイルを扱う場合は、以下のようにする。

~$ cat hoge.dat | sed 1d | awk -F'\t' '{if ($7=="p1") print}'

[][][]psコマンドの結果から特定の端末タイプのもののみ表示する方法 00:28 psコマンドの結果から特定の端末タイプのもののみ表示する方法 - FreeBSD初心者運用日記 を含むブックマーク はてなブックマーク - psコマンドの結果から特定の端末タイプのもののみ表示する方法 - FreeBSD初心者運用日記 psコマンドの結果から特定の端末タイプのもののみ表示する方法 - FreeBSD初心者運用日記 のブックマークコメント

psコマンドの結果から端末タイプがp1のもののみ表示するには以下のようにする

~$ ps auxww | sed 1d  | awk '{if ($7=="p1") print} '
bush    529  0.0  0.4  3164  2032  p1  Ss   12:23AM   0:00.08 /usr/local/bin/bash
bush    649  0.0  0.2  1444   936  p1  R+   12:40AM   0:00.00 ps auxww
bush    650  0.0  0.4  3164  2032  p1  R+   12:40AM   0:00.00 /usr/local/bin/bash
bush    651  0.0  0.4  3164  2032  p1  R+   12:40AM   0:00.00 /usr/local/bin/bash

sed 1dは1行目を削除している。ちなみに、sed 1,3dとすると、1~3行目を削除する。

同じことをawkでやると、awk '{if (NR > 1) print}'となる。ちなみにNRはnumber recordの略。

tailで同じことをやるなら、tail +2とする。ちなみにtail -2とすると、後ろから二行分を表示する

2009-02-02

[][]unix timeについて 23:59 unix timeについて - FreeBSD初心者運用日記 を含むブックマーク はてなブックマーク - unix timeについて - FreeBSD初心者運用日記 unix timeについて - FreeBSD初心者運用日記 のブックマークコメント

1970年01月01日からの経過秒数のことらしい。

詳細は、以下のページを参照

Unix time - Wikipedia

[][][]hashコマンドについて 23:32 hashコマンドについて - FreeBSD初心者運用日記 を含むブックマーク はてなブックマーク - hashコマンドについて - FreeBSD初心者運用日記 hashコマンドについて - FreeBSD初心者運用日記 のブックマークコメント

bash限定な話。(zshもだけど)

hashコマンドについて説明する前に、コマンドを実行したときの動きを説明する。

以下のようにhogeコマンドを実行したとする。

$ hoge

そうすると、環境変数PATHに登録されている複数のディレクトリからhogeコマンドをサーチするわけですが、

よく使うコマンドを毎回サーチするのは無駄なので、bashとかzshなんかは使用するパスをキャッシュしてるらしい。

このキャッシュを登録してる所が、ハッシュテーブルというところらしい。

ハッシュテーブルの中身は以下のようにして表示できる

~$ hash
hits    command
   3    /usr/bin/man
   3    /bin/ls

ちなみに、キャッシュをクリアする場合は、hash -rする。

~$ hash -r
~$ hash
hash: hash table empty

typeコマンドなんかで、以下のようにhashedと表示されるやつは、

~$ type ls
ls is hashed (/bin/ls)

[][][]lsコマンドでファイルアクセス時刻やファイル作成時刻を表示する 22:39 lsコマンドでファイルアクセス時刻やファイル作成時刻を表示する - FreeBSD初心者運用日記 を含むブックマーク はてなブックマーク - lsコマンドでファイルアクセス時刻やファイル作成時刻を表示する - FreeBSD初心者運用日記 lsコマンドでファイルアクセス時刻やファイル作成時刻を表示する - FreeBSD初心者運用日記 のブックマークコメント

ファイルアクセス時刻を表示

~$ ls -lu hoge.dat
-rw-r--r--  1 bush  wheel  220 Feb  2 22:47 hoge.dat

lsコマンドでファイル作成時刻を表示する方法も調べたみた。

ls -lcで表示されるのはどうもファイル作成時刻とは違うものらしい。

以下のページによると、伝統的なUNIXはファイル作成時刻は保持しないらしい。。orz

参考:UNIX/Linuxの部屋 用語集:タイムスタンプ UNIX におけるファイルの時刻管理 (atime/ctime/mtime) (更新時刻・更新日時・変更日時)

でも、このページによるとFreeBSDで使用されているUFS2では、inodeが生成された時刻を保持しているらしい。

これはかなり驚きの事実です。。

どうもls -lcのcは、create timeではなくchange timeのことらしいです。(#まぎらわしい、、