Perl の質問ですが、(101) とか ($x) とかいう式は、 ・スカラーをカッコに入れたもの と思われるのでしょうか、 ・要素数が1個のリスト と思われるのでしょうか。 ($x) = (6,7,8); と書くと、$x には 6 が入るので、($x) はリストのようです。 でも、そのあと、 $n = ($x); と書くと、$n には ($x) の要素数 1 ではなく、$x の値 6 が入ります。 $n = (); と書くと、$n にはゼロは入らないで undef が入るようです。 ということは、() は空リストではなく、 「無」をカッコで囲んだ式が入ってるということでしょうか。 というのは、空リストだとすると、 $n には空リストの要素数 0 が入るように思うからです。 |
みなさん、はじめまして。 ちょっと、C言語の質問をさせてもらっていいっですか? 自分は、redhadのLinux2.1を使っているのですが、 タイム関数の #include<time.h> が、使うことが出来ませんが、Linuxにおいては タイム関数は対応していないのでしょうか? ある、実験において実験結果をグラフにしようとしている のですが、タイム関数が使えないために、横軸がLOOP回数での 表示しか出来ずにグラフが成立しなくて困っています。 どうか、良きアドバイスをいただけないでしょうか? お願い致します。 |
>>2296 ふくし @a をスカラーコンテキストで評価すると、@a の要素数が得られますが、 (6,7,8) をスカラーコンテキストで評価すると最後の要素の 8 が 得られます、ってことで回答になってますでしょうか。 >>2297 ひろ POSIX にもある関数ですので使えるはずです。どうやったらどういう エラーが出たのかを詳しく書きましょう。 |
68 ユーザーさん> なるほど〜そのとおりのようですね。どうもありがとうございました。 |
はじめまして。UNIX初心者で申し訳ない質問なんですが、、 今自分が使っているOSのバージョンを知るコマンドってあるのでしょうか? DOSで言う「ver」にあたるものです。 手持ちの本に載ってなかったので、くだらない質問で申し訳ないんですが、 お願いします。 |
maru さん、はじめまして。 uname -v ですな。(DOS の方を知らんかった、、;;;) |
ふくしさん、さっそくありがとうございます。 DOSでのコマンド、お役にたててなによりです。(笑) |
はじめまして、けんといいます。すごく初心者なのですが、質問 させてください。 ネットワークプログラムをやろうと思い、 UNIXネットワークプログラミング(リチャードスティーブンス) の本を買ってきたのはいいですが、プログラムの実行の仕方が わかりません。学校のソラリスにTELNETでつないで、最初の例題 timetcpcli.cという、時間を返してくれるプログラムを 書いて、gccで実行したのですが、例題に特殊な"unp.h"という ヘッダーがあり、それを作者のHPからダウンロードしてきて、 timetcpcli.cと同じディレクトリーにコピーしました。 そしていざ、gccをやってみても、そのようなファイルもディレクトリ も存在しませんと返ってきました。ファイルとヘッダーを同じ ディレクトリーに置いといて実行できるのでしょうか? 大変初心者ですいません。自分がこのようなプログラムをやる 域に達していないのですが、どなたかご教授ください。 |
>>2303 ken > ファイルとヘッダーを同じディレクトリーに置いといて > 実行できるのでしょうか? #include "unp.h" と書いてあるならいけるはずです。 もしかして #include <unp.h> と書いてませんか? |
68userさん>失礼しました。今後、気をつけます。 さて、プログラムの方なのですが、参考図書とにらめっこして いたところ、恥ずかしい事にタイム関数の使い方を間違ってい ました。今後、こんなことのないように気をつけます。 有難うございました。 |
こんにちは、 Solaris2.6を使用しておりますが、 印刷のコマンドの「lp」と「lpr」の違いはなんでしょうか。 いろいろ調べたんですが、なかなか意味が理解できなくて。。 「lpr」の方はSunOS/BSD互換パッケージコマンドとありますが、それだけ の違いでしょうか。 よろしくお願いします。 |
こんにちは。質問したいことがあります。 UNIX上で、あるアプリケーションの画面(検索結果を表示しているような一般的 な画面)をそのままハードコピー感覚で印刷したいのですが、 これにはどういった処理・手順が必要なのでしょうか。 単純にlpコマンドではうまく印刷できないですよね? PostScriptに変換しないとやはりダメでしょうか。 ちなみにOSはSolaris2.6で出力プリンタはEPSON LP9200SXです。 (プリンタはLAN上にいます) プリンタの方でも何か設定が必要でしたら教えてください。 よろしくお願いします。 |
>>2306 pon > 「lpr」の方はSunOS/BSD互換パッケージコマンドとありますが、 > それだけの違いでしょうか。 それだけです。 BSD 系 UNIXには lpr の方しかなくて、SystemV 系は lp です。 Solaris の /usr/usb/ の下にあるのは全て BSD 互換コマンドです。 # ucb=University of California, Berkeley |
>>2307 まさお > プリンタはEPSON LP9200SXです。 これ、PostScript プリンタですよね。 http://www.i-love-epson.co.jp/products/printer/laser/lp9200ps3/9200ps32.htm ImageMagick 付属の convert で PostScript に変換して、 lp に流すのはどうでしょうか。 % xwd > image.wd % convert image.wd image.ps % lp -d printername image.ps あるいは、とにかくブラウザが見える画像形式に変換して、 ブラウザから印刷する、とか。 |
68user様、ありがとうございました。 やはりPostScript への変換が必要なのですね。 ところでこのPostScript変換ツールというのは、テキスト用、画像用とかいろいろとあるようですが、これらはみな1ツールとしてOSにインストールする必要があるということですよね。 以上ありがとうございました |
68userさん、さっそくのお返事ありがとうございます。 <unp.h>ではなく、"unp.h"としてもこのような、ファイル、 ディレクトリはありませんと返ってきます。 僕はウィンドウズユーザーなので、UNIXをやるときは学校と つなげるしかありません。僕の環境はOSはWin2000,next ftp とtera term proで学校のSun OS5.8につないでいます。 作者(リチャードスティーブン)のHPからunp.hと例題が 詰まったフォルダーをダウンロードしてきて、WIN上で解凍。 それをFTPで自分の学校のアカウントにおくりました。 自分のアカウントではcというディレクトリを作り、その中に、 例題のdaytimetcpcli.cというファイルと,"unp.h"という ファイルをおいて、gcc daytimetcpcli.cとうつと、このファイル、 ディレクトリはありませんとでてきます。例題も、unp.hも コピー&ペーストでありつけたので、打ち間違えはないのですが、 どこに問題があるのでしょうか?たいへんすいません、よろしく お願いします。 ちなみにunp.hというファイルは下記のURLにいって、それをコピー してきました。 http://www.sfc.wide.ad.jp/~nob/webdoc/unpv12e/lib/unp.h |
>>2310 まさお > テキスト用、画像用とかいろいろとあるようですが、これらはみな1ツールとして > OSにインストールする必要があるということですよね。 「1ツール」の意味がよくわかりませんが、 - テキスト用としては a2ps - dvi なら dvi2ps - 画像用としては convert で PostScript に変換 などと、別々のアプリケーションで配布されています。 ファイル形式ごとに、いちいちどの変換フィルタかますかを考えるのが面倒、 ということなら、file コマンドなどでファイル形式を判断し、適切なフィルタを 経由して lp にデータを渡すシェルスクリプトを書く、という手もあります。 >>2311 ken > このような、ファイル、ディレクトリはありません 意訳せず、正確なエラーメッセージを書いて下さい。 例えば unp.h を置いて、以下の内容のような foo.c というファイル #include "unp.h" main(){ } を置き、コンパイルすると % gcc foo.c In file included from foo.c:1: unp.h:7: ../config.h: No such file or directory In file included from foo.c:1: unp.h:200: ../lib/addrinfo.h: No such file or directory となります。config.h や addrinfo.h を用意していないということはありませんか? でなくて、 foo.c:1: unp.h: No such file or directory と出るなら本当に unp.h がないのでしょう。unp.h が置いてあるディレクトリに行って、 % cat unp.h とするとちゃんと表示されますか? |
>68userさん いろいろとありがとうございました。よくわかってきました。 ところで、もっと漠然とした質問で申し訳ないんですけど、UNIX上で画像などを印刷する場合は、ファイルをPostScript形式に変換しなければどんなことしても絶対印刷は無理!ということなのでしょうか。 (要はImageMagickやxvのインストールは必須ということでしょうか。) Postscriptがなかった時代は印刷できなかったんですかね。 では失礼します。 |
>>2313 まさお 要は、プリンタが解釈できる言語を流してやる必要があります。 PostScript プリンタは PostScript を解釈できます。LIPS な プリンタには LIPS で、ESC/Page なプリンタには ESC/Page な データを流してやらないといけません。 そのための変換ツールが、lipsf だとか、gs (GhostScript) だとか、a2ps とか dvi2ps とかなわけです。 どうでもいいですが、PostScript プリンタってのは価格が高いので、 普通の企業では LIPS とか ESC/Page なプリンタを買うことが多いです。 Canon やら Epson がドライバを出しているので Windows からの利用は OK なんですが、UNIX から非 PostScript プリンタを使うのは何かと 面倒だったりします。 |
>68userさん ありがとうございました。 いろいろ複雑ですね。ますます考えることが多くなってきました。 要はUNIXからアプリケーションの画面(スナップショット)を印刷する処理を 考えているところなのです。 プリンタがEPSON LP8200LP2 でOSがSolaris2.6です。 画像なので、以前教えていただいたようにImage Magickなどの変換ツールを あとからインストールしないとダメなようすね。 OSの方にあらかじめ組み込まれているコマンドとかがないのか探しているんですけど、 みつかりません。「jtops」というコマンドがOSにあるのですが、これはテキスト専用 でしょうか。 あと、教えていただいたLIPSやESC/PAGEというメーカーの制御コードもテキスト 専用なんですよね? 画像の印刷はやはりPostscript変換ということですよね。 たびたび失礼しました。 |
>>2315 まさお > 「jtops」というコマンドがOSにあるのですが、これはテキスト専用 > でしょうか。 のようですね。 > あと、教えていただいたLIPSやESC/PAGEというメーカーの制御コードも > テキスト専用なんですよね? いいえ、イメージもいけます。 てゆーか、そんなに難しく考える必要はなくて、PostScript プリンタ なんだから PostScript で送ってやればいいんですよ。 例えば ftp://gatekeeper.dec.com/contrib/share/lib/ghostscript/examples/tiger.ps を落として % lp -d printername < foo.ps で印刷できるはず。 あとは任意の画像を PostScript に変換するツールをインストールすれば おしまいです。convert でも xv でも gimp でもできます。 |
>68user さん ありがとうございました。 勉強になりました。 |
ネットワークプログラムなのですが、エラーメッセージとしては、 68userさんがおっしゃったように、 In file included from daytimetcpcli.c:1: unp.h:7: ../config.h: No such file or directory In file included from daytimetcpcli.c:1: unp.h:200: ../lib/addrinfo.h: No such file or directory というメッセージが返ってきます。しかし、unp.hも、addrinfo.h, config.hも同じディレクトリーにいれてgcc daytimetcpcli.cと うっても、上記のようなエラーが返ってきます。ヘッダーファイル が同じディレクトリーにあるのにこのようなメッセージが返ってくる ということは、やはりどこかに、なんらかの間違いがあるということ でしょうか?よろしくお願いいたします。 |
>>2318 ken /home/user/c/daytimetcpcli.c /home/user/c/unp.h というファイル配置で、カレントディレクトリが /home/user/c/ のとき ../config.h は /home/user/unp.h を表します (.. は親ディレクトリを表すから)。同様に ../lib/addrinfo.h は /home/user/lib/addrinfo.h を表します。 そこにヘッダファイルがないので No such file or directory になって いるわけです。本に、ヘッダファイルやソースファイルをどういう ディレクトリ構成で置きなさい、という記述はありませんか? |
>>2318 ken unpv12e.tar.gz を持ってきて試してみたところ…README にやり方が ちゃんと書いてありますがな。ドキュメントはちゃんと読みましょう。 % ./configure % cd lib % make % cd ../intro % make daytimetcpcli でうまくいきました。 Solaris8 (SunOS5.8) ではどうかはわかりませんが、FreeBSD では lib の make 時に IPV6_DROP_MEMBERSHIP というマクロが未定義だ というエラーが出ました。これは古いマクロで、今は IPV6_JOIN_GROUP に 変わっています。 んで、ここを書き換えるとコンパイルが通りました。 |
.tgzとして拡張子があるファイル、どう展開しますか? |
ひとつ教えてください。 Windowのダンプのコマンドの一般的な使い方は、 xwd -out display.xwd と入力し、そのあとにダンプしたいWindowをマウスで選択しますが、 このとき、ダンプをとりたいWindowをマウスで指定するのではなく、 プログラム上で指定したいのです。(たとえば、Window上に「印刷」ボタンを設け、それが押されたら今アクティヴなWindowを印刷する、とか。) そういった処理を行うこと可能なのでしょうか? |
はじめまして、 ネットワークプログラミング駆け出し者です。 このような、すばらしいHPを開かれている皆様に感謝致します。 とても、参考になります。 これからも、宜しくお願いします。 |
かなり勉強になりました。 telnetのところでGET index.html HTTP/1.0をやっても403エラーと 出てしまいます。どうしたら、うまくいくか教えてください。 お願いします。 |
cookの作成はどの様にすればいいですか?の作成はどの様にすればいいですか?の作成はどの様にすればいいですか?の作成はどの様にすればいいですか?の作成はどの様にすればいいですか?の作成はどの様にすればいいですか?の作成はどの様にすればいいですか?の作成はどの様にすればいいですか?の作成はどの様にすればいいですか?の作成はどの様にすればいいですか?の作成はどの様にすればいいですか?の作成はどの様にすればいいですか?の作成はどの様にすればいいですか?の作成はどの様にすればいいですか? |
はじめまして。 最近unixを触りだしたひよっこです。 大変素晴らしいHPでとても助かります。 実は、unixのシステム管理業務の一環として時間別/日別のcpuの使用率及びメモリ使用率を調べるコマンドを探しています。 cpu使用率はsar -Aでデータを取る事が出来たのですが、メモリ使用率 が分かりません。 どうしてよいのか途方に暮れています。良きアドバイスを頂けないでしょうか? |
いつもお世話になっております。Perl で助けてください。 0x00 から 0xff までループ、というつもりで、 for ("\x00".."\xff") { ... } とやってますが、\x00 のとき1回だけやって終わるみたいです。 なじぇ?(?.?) どなたかお願いします。 |
>>2321 lee > .tgzとして拡張子があるファイル、どう展開しますか? 「tgz 展開」で検索しましょう。 >>2322 pon > たとえば、Window上に「印刷」ボタンを設け、それが押されたら今アクティヴな > Windowを印刷する、とか。 というのができるのかどうかはわかりませんが、xwd の -id や -name オプションでウィンドウは指定できるでしょう。指定する 値は % xwininfo -root -all で表示されるものです。 >>2324 なっち > telnetのところでGET index.html HTTP/1.0をやっても403エラーと > 出てしまいます。 ブラウザでアクセスしても 403 となるなら、telnet でやっても 当然 403 です。もしブラウザでうまくいくのなら、Host ヘッダを 付けてやってみて下さい。 >>2326 ひよっこ OS は何ですか? 僕なら top を使いますが、sar -k とかでも できませんか? (試したことはありませんが) >>2327 ふくし > \x00 のとき1回だけやって終わるみたいです。 終わってしまいますね。よくわかりませんが、 for ("\\1" .. "\\9") { for ("!1" .. "!9") { などでも同様なので、\ という *文字* はマジックインクリメントの 対象外なんじゃないでしょうか。 で、実は本当にやりたいのは for (0x00 .. 0xff) { じゃあないですか? じゃなくて、もし \xXX という文字列が 欲しいのならば for (0x00 .. 0xff) { $hex = sprintf("%02x", $_); } あたりで。 |
いつもお世話になっております。 >実は本当にやりたいのは ばっちりです、、;;; |
はじめまして。 ここのプログラムは凄く参考になり助かっています。 サンプルプログラムの間違いなんですが、 http://jfx.startshop.co.jp/~68user/net/module-2.html にある、モジュールを使ったマルチスレッド版echoプログラムの 31行目「if ( fork() ){」は、 正しくは「if ( $pid = fork() ){」ですよね? |