UNIX/Linuxの部屋 FreeBSD・Solaris・Red Hat Linux・Fedora・CentOS・HP-UX を使った上で気づいたこと・調べたことをまとめました。 この web 内についての引用・リンク・紹介などの注意点は 本サイトへのリンクについて をお読み下さい。
この項では、ネットワークプログラムで使用する perl の関数を解説します。 関数には、perl の組み込み関数 (socket・bind など) と、Socket モジュールに よって設定される関数 (inet_aton・sockaddr_in など) があります (use Socket と書いてある関数)。 C の関数を知りたいときはオンラインマニュアルを見て下さい。 perl の関数とは引数の数が違うこともありますが、考え方はほぼ同じです。 また、定数は Socket モジュールによって設定されていますが、 実際は /usr/include/sys/socket.h で設定されている値が そのまま使われています。 おさらいしておくと、 クライアント getservbyname でサービス名からポート番号を取得 inet_aton で接続先のホスト名を IP アドレスに変換 socka
最終更新 2018-03-09 UNIX/Linux における diff コマンドは、2つのテキストファイルの違い (差分) を表示するコマンドである。ファイル内容が一致しているかの確認も可能。ディレクトリを再帰的にたどり、複数のファイルを一括して差分表示することもできる。
起動するとウィンドウが表示され、そのウィンドウに渡されるイベントが表示される。ウィンドウの上でマウスの移動、クリック、マウスポインタのフォーカスイン・アウト、expose、ウィンドウの移動、キーボードからの入力などが表示される。X アプリケーションのプログラミングや、xmodmap の設定時にキーコードを調べるときによく使われる。 例えば、ESC キーの keycode を調べたい場合は、xev を実行し、そのウィンドウの上にマウスポインタを合わせ、`ESC' キーを押す。すると KeyPress event, serial 18, synthetic NO, window 0x4000001, root 0x26, subw 0x0, time 3707594444, (165,170), root:(375,612), state 0x0, keycode 9 (keysym 0xff
xmodmap -pke とすると、現在の keycode (キーコード) と keysym (キーシンボル) の対応表が表示される。 % xmodmap -pke keycode 9 = Escape keycode 10 = 1 exclam keycode 11 = 2 at keycode 12 = 3 numbersign keycode 13 = 4 dollar (略) keycode 24 = q Q keycode 25 = w W keycode 26 = e E (略) keycode 100 = Left keycode 102 = Right keycode というのは、キーボード上のキーと一対一に対応している番号で、キーボードが変われば keycode も変わる可能性がある。keysym というのは、そのキーがどういう意味を持つかという論理的な識別子と考えるとよ
-add 数字 各ピクセルに指定の数を加える (全体にマスクをかける) -frame 選択したウィンドウのフレーム (ウィンドウマネージャが付ける枠やタイトル) もダンプする -name windowname 指定したウィンドウ (ウィンドウのタイトル名) をダンプする -root 画面全体をダンプする -id リソース ID を指定する。 例えばあるプログラムのプルダウンメニューを開いているスクリーンショットを取りたいとしよう。プルダウンメニューを開くにはマウスをそのウィンドウ上に持っていく必要がある。しかしそうすると端末上で xwd コマンドを実行できない。端末にマウスポインタを持っていくとプルダウンメニューが閉じてしまう。
X アプリケーション工房 多くの UNIX には C コンパイラが標準で付いており、 いろいろなアプリケーションを自作することができます。 しかし、X Window System 上で動く アプリケーションとなると、一段敷居が高くなってしまいます。 ここでは、X アプリケーションを作る方法をいくつか紹介します。 とてもじゃないけど、詳細なリファレンスは書けませんし、 書くつもりもありません。雰囲気を掴んだら専門書を買って勉強して下さい。 Xlib 編 (1) 簡単な X アプリケーションサンプル Xlib 編 (2) キー入力・マウス入力・その他イベント Xlib 編 (3) 複数のウィンドウ Xlib 編 (4) ダブルバッファリング 各項で解説したサンプルプログラム。tarball に添付してある Makefile を使用して % make とするか、あるいは % cc -o xlib
UNIX の関数群の説明です。関数にはシステムコールとライブラリ関数があります。システムコールとは、 各プログラムが OS の提供する機能を利用するための関数で、これが呼ばれると UNIX のカーネルが処理を行い実行します。一方、ライブラリ関数には2つのタイプがあり、 最終的にはシステムコールを呼び出すもの。直接システムコールを使うより便利な造りになっている 文字列操作や計算をおこないメモリ領域を操作するだけで、OS の提供する機能を使わないものがあります。簡単に言うと、ライブラリ関数というのは「便利だから、よかったら使ってね」というもので、システムコールは「〜したいならこれを使うしかないよ」というものです。例えば、open・read・write はシステムコールです。一方、fopen・fread・fgets などは、ライブラリ関数です。どちらの関数の機能も「ファイルの読み書きを行うこと」
HTTP クライアント ではお待ちかねの HTTP クライアントのソースを見てみましょう。 Socket モジュールを使っているので、Perl5 専用です。 http-client.pl 1: #!/usr/local/bin/perl -w 2: 3: # $Id: http-client.pl,v 1.3 2003/03/23 11:28:03 68user Exp $ 4: 5: use strict; 6: 7: use Socket; # Socket モジュールを使う 8: 9: # 接続先ホスト名 10: my $host = 'www.cs.gunma-u.ac.jp'; 11: 12: # HTTP プロトコルを使う 13: my $port = getservbyname('http', 'tcp'); 14: 15: # ホスト名を、IP アドレスの構造体に変換 16
csh・tcsh のシェル変数の簡単な説明です。sh・bash・ksh・zsh と csh・tcsh の間にはほとんど共通点はありません。よって、sh・bash・ksh・zsh をお使いの方には、このページは参考にならないでしょう。シェル変数とは、シェルの設定を決めるためのものです。以下に説明するシェル変数を参照するのは「シェルとシェルの内部コマンドのみ」であって、それ以外のあらゆるコマンド・プログラムはシェル変数とは一切関係ありません。 一般のコマンドの設定を変更するには、環境変数を設定したり、各コマンド専用の設定ファイルを使ったりします。環境変数については 簡易版 環境変数マニュアルを参照してください。 シェル変数の設定方法は、大別して2種類あります。一つは、ある機能を有効にする場合に % set SHELL_VARIABLEとし、無効にする場合は% unset SHELL_VARIA
環境変数とは、いろいろなアプリケーションが参照する定義です。LESSCHARSET のように、あるコマンドだけが参照する環境変数と、HOME、EDITOR などのように多くのコマンドが参照する環境変数があります。環境変数の設定方法は csh・tcsh と sh・bash で違います。 % setenv ENVIRONMENT_VARIABLE CONTENT (csh・tcshの場合) % ENVIRONMENT_VARIABLE=CONTENT; export ENVIRONMENT_VARIABLE (sh・bashの場合)とすると、環境変数 ENVIRONMENT_VARIABLE の値が CONTENT にセットされます。シェルによって 「=」を付けるかどうかが変わることに注意してください。現在設定されている環境変数を見るには、setenv コマンドや printenv コマンドを
RFC とは ネットワークプログラムはクライアントとサーバが協調して動かなくてはいけません。 そのためクライアントとサーバの動作をあらかじめ決めておく必要があります。 HTTP や POP3 など、今から作ろうとするクライアントについても きちんとプロトコルが規定されており、RFCとして公開されています。 普通のプログラムの場合、適当に書いても動けばいいや的な考え方でも 他に迷惑をかけなければ (異常にメモリを食うとかしない限り) 許されますが、 ネットワークプログラムの場合、クライアントが変なことをすると サーバや利用者に迷惑がかかります。 まぁ、HTTP や POP3 くらいならあまり迷惑がかかる人もいないのですが、 NNTP クライアントや SMTP クライアントの場合、news購読者や メールを受け取る人に直接被害が及びます (Microsoft の News リーダ、メーラーの評
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く