unix
Rubyでシェルもどきを作る - @tmtms のメモ Goの勉強で, 上記の記事の Go版を書いてみました リポジトリ https://github.com/syohex/go-shell-modoki 基本 forkでなくて go routineを使っています. 終了の待ち合わせはチャネルを 用いました. package main i…
シンボリックリンクをrm -rf symlink/すると不幸になる - かーねる・う゛いえむにっき ですが、ディレクトリを消してしまうというリスクをそもそもなくして しまえばいいですよね。その答えが unlinkコマンドです。 unlinkコマンド ファイルだけ消せる rmコ…
はじめに 「詳解 UNIXプログラミング」の第十一章を示します. 本家 http://d.hatena.ne.jp/atsuoishimoto/20110329/1301324988 11.1 割り込み文字を無効にし、ファイルの終わりの文字を変更する PerlではC言語っぽいインタフェースでなく、OOishなインタフェ…
仕事が忙しくなり 4ヶ月ほど放置してましたが、再開. はじめに 「詳解 UNIXプログラミング」の第十章を示します. 本家 http://d.hatena.ne.jp/atsuoishimoto/20110328/1301279230 10.1 SIGUSR1とSIGUSR2を捕捉する簡単なプログラム #!/usr/bin/env perl use …
はじめに 「詳解 UNIXプログラミング」の第八章を示します。 本家 http://d.hatena.ne.jp/atsuoishimoto/20110324/1300933805 8.1 fork関数の例 forkでは親プロセスと子プロセスのメモリ空間が異なるため グローバル変数も共有しません。これはマルチスレッ…
はじめに 「詳解 UNIXプログラミング」の第九章を示します。 9.1 オーファンドプロセスグループの作成 オーファンドとは親のいない状態という意味のようです。 #!/usr/bin/env perl use strict; use warnings; use POSIX; # オーファンドプロセスグループの…
はじめに 「詳解 UNIXプログラミング」の第七章を示します。 本家 http://d.hatena.ne.jp/atsuoishimoto/20110322/1300757335 7.1 終了ハンドラの例 Perlには atexitはなく、ENDブロックを使います。 #!/usr/bin/env perl use strict; use warnings; # 終了…
はじめに 「詳解 UNIXプログラミング」の第六章を示します。 本家 http://d.hatena.ne.jp/atsuoishimoto/20110318/1300407363 6.1 getpwnam関数 getpwnamは/etc/passwdの内容を取得する関数なのですが、 Perlでの仕様がよくわからない。普通は 7つしかフィー…
はじめに 「詳解 UNIXプログラミング」の第五章を示します。 本家 http://d.hatena.ne.jp/atsuoishimoto/20110317/1300328961 5.1 getc()とputc()を用いて標準出力へコピーする 1章あたりでも書いた気がするけど。 Perlでは putcがありませんので、printを使…
はじめに 「詳解 UNIXプログラミング」の第三章を示します。 本家 http://d.hatena.ne.jp/atsuoishimoto/20110310/1299715993 3-1標準入力ファイルがシーク可能で有るかどうかを調べる POSIX::lseekが使えます。 #!/usr/bin/env perl use strict; use warnin…
はじめに 「詳解 UNIXプログラミング」の第四章を示します。 本家 http://d.hatena.ne.jp/atsuoishimoto/20110315/1300142354 4.1 指定したファイルの種類を出力する もっと種類は調べられますが、Python版に合わせています。 詳しくは "man 2 stat"等を参照…
はじめに 「詳解 UNIXプログラミング」の第一章を示します。 本家 http://d.hatena.ne.jp/atsuoishimoto/20110307/1299456377 1.1 ディレクトリ内の全てのファイルをリストする opendirと readdirで実現できます。 #!/usr/bin/env perl use strict; use warn…
初めに id:atsuoishimotoさんのPythonで学ぶ「詳解 UNIXプログラミング」シリーズで Perlで書いたらどうなるかというのがあれば面白いんじゃないかなと思って書きます。 本は一応持っているのですが、全然読めてないので、 コードは id:atsuoishimotoさんが…
最近 2人ほどに教えたのですが、意外に知られていないのではということで メモっておきます。 最近は git等のバージョン管理ツールで基本開発を行なっているので 直接パッチを扱うっていう機会は減っているかと思いますが、それでも たまにありますよね。パ…
tailって真面目に作るとどうなるんだろうということが気になったので、 ソースコードを読んでみます。ソースは NetBSD 5.0.2です。 場所は usr/src/usr.bin/tailになります。tail -fとかは考えずに 普通にファイルの終わり n行を表示する場合についてのみ考…
lsとかは色がつけられるのに, なんで grepはカラーにできないだって 思っていたら普通にあった。 % grep --colorGNU grepはこれでいけるはずです。aliasしておくと良いでしょう alias grep='grep --color'最近は emacsの lgrepも使うようになったためか, カ…