|
>> seg fault のメッセージが表示されてうまく実行できません。 > 現在、手元には その本もUNIX環境もないので、確かなことは > 言えませんが、どこかで char *buf="abc" などと初期化して > いる部分があると思います。・・・以下省略 さっそくのご教示ありがとうございます。 以上参考にさせていただき、さらに修行していきます。 |
|
文字列リテラルは、昔のCでは、結構普通に書き換えたりしてたみたいです。 unixの古いccのライブラリでも、この書き換えをやっているという話を聞いたことがあります。 (聞いたのは、一時ファイルの名前を作るライブラリ関数だったような…) ANSI C以前は、自動変数の場合には、配列の初期化ができなかったために、 便宜的に利用してたのかもしれません。それとも、スタックに文字列を確保しても、 これを関数の呼び出し元に返すことはできないので、mallocを使う代わりに 静的領域を利用してたのかな…にしても毎回同じ領域が使用されるので、 static にすれば済むことって気も…? いずれにしても、ROM化やコンパイラが同じ文字列リテラルを共用させるために、 ANSI C以降は、文字列リテラルの変更は未定義とされたようです。 |
|
> いずれにしても、ROM化やコンパイラが同じ文字列リテラルを共用させるために、 に加えて、複数プロセスでデータセグメントを共有させるため、 例えば ls を並行して2個実行した場合、スタックとヒープは 2個用意されるが、データセグメントは1個しか用意されない、 と思ってるんですが、全然違うかも。 # アセンブラやってないんで、ここらへん いまいち感覚的に理解できない。 |
|
>に加えて、複数プロセスでデータセグメントを共有させるため、 DOSが長いもので、マルチプロセスのメモリ管理はよく分からないです(苦笑)。 >例えば ls を並行して2個実行した場合、スタックとヒープは >2個用意されるが、データセグメントは1個しか用意されない、 とすると、文字列リテラルだけでなく、静的な変数まで共有される 訳ですよね。 素人考えでは、ホントにそれで良いの?と思っちゃいます… 例えば、コマンドラインオプションで設定されるフラグが グローバル変数だったりすると(あり得ますよね)、前後のlsの オプション指定が異なる場合に、先のlsのフラグまで影響を 受けちゃうおそれがないのかなぁ…? |
|
すいません、よく考えずに適当なことを言ってしまいました(^^; では、2個のlsで共有される領域は何だろう? |
|
>では、2個のlsで共有される領域は何だろう? うーん、unixのメモリ管理はよく知りませんです(苦笑) |
|
ここすごいですねっ!内容がすごく充実しててびっくりしました。<BR> 分からないことがあったら来てみようと思います。<BR> ところで質問です。<BR> ○○○.zip のようなファイルはどうやって解凍すればいいのでしょうか?<BR> gzip -d とか uncompress も試してみたけど、やっぱりだめでした。<BR> UNIXでは解凍できないんですか? |
|
> ここすごいですねっ!内容がすごく充実しててびっくりしました。 ども。ついさっき更新しましたのでよろしく。 http://X68000.startshop.co.jp/~68user/unix/history.html > ○○○.zip のようなファイルはどうやって解凍すればいいのでしょうか? unzip、zipなどのコマンドがあります。unzip -l hoge.zip で一覧表示。 unzip -e hoge.zipで展開です。 |
|
私もここのファン(?)ですが掲示板の投稿は初めてです。早速ですが、UNIXのコマンドについて教えて下さい。 su - username この時のハイフンはどんな意味を持つのでしょうか? |
|
FreeBSD の su ならば - は -l と同じです。 マニュアル: http://www.jp.freebsd.org/cgi/mroff.cgi?subdir=man&man=su&dir=jpman-3.2.0%2Fman ソース: http://www.jp.freebsd.org/cgi/cvsweb.cgi/src/usr.bin/su/su.c?rev=1.29.2.2 多分他のUNIXでも同じだとは思うけど、確信はありません。 |
|
ありがとうございます。 ご教示の通り、 - と -l は同じでした。 |
|
WindowsでFTPサーバのソフトを作成したいのですが、 よくわかりません。UNIXの場合は拝見させて頂いたのですが winの場合はちょっと違うみたいでして・・・。 宜しければレスお願い致します。 |
|
すいません、Windows環境は持ってない&使ってないので わかりませんです。 # FTPクライアントではなくて、「FTPサーバのソフト」なんですか? # いわゆる ftpd を作成されるのですか? |
|
>FTPクライアントではなくて、「FTPサーバのソフト」なんですか? >いわゆる ftpd を作成されるのですか? はい、ftpdです。1ヶ月ほど前より悩んでおります。 RFC日本語版やら、winsock本を読んでいるのですが、 どうしてもFTPportが開いてくれないのです。 >すいません、Windows環境は持ってない&使ってないので >わかりませんです。 いえいえ。私もわからなかったので、ご存知かと思いまして 質問しました。有難う御座いました。また悩み続けます(^^;)。 |
|
echoサーバのような単純なサーバではうまくいってるんでしょうか? まずはそういう簡単なサーバを作りながら winsock を理解しては どうでしょう。 # winsockを知らない人間が言う言葉ではないな(^^; ## 既にやっておられたらすいません。 |
|
>## 既にやっておられたらすいません。 全くやってなかったですが、今、ソースは見つけました。 http://www.macnica.co.jp/soft/prog/win_echo.txt こういうので良いのでしょうか? >まずはそういう簡単なサーバを作りながら winsock を理解しては >どうでしょう。 了解しました。echoサーバっていうのは、サーバーにあるMSGを 送るとそのMSGを送り返してくる機能を持ったものみたいですね。 調べてみました。ちょっとソースを理解してみます。 有難う御座いました。 |
|
> こういうので良いのでしょうか? そういうのです。 それで Winsock 上での socket・bind・listen・accept を覚えてから、 ftpd を作る、と。最初からコネクション2本な ftpd にチャレンジする よりは簡単だと思います。 |
|
有難う御座いました。 頑張ってみます。 |
|
UNIXでフロッピーディスク(FD)に書き込んでWindows98で読み込む事が出来るのですか。 またその逆はできるのですか。できるとしたらどのようなファイルが出来るのですか。 教えて下さい。 |
|
# Who are you? UNIXで書いてWinで読む、Winで書いてUNIXで読む、両方できます。 UNIX/Win の両方から読める形式は、FAT ファイルシステムというものですが、 Windows で普通にフロッピーをフォーマットすれば FAT になります。 UNIX でフロッピーを見る場合は mount という作業が必要になります。 FreeBSD の場合はこちら。 http://www.jp.FreeBSD.ORG/QandA/HTML/350.html 他の UNIX 系 OS でも似たようなもんだと思います。UNIX からの 読み込み・書き込みは、ふつーに cp・mv・エディタなどで /mnt 以下のファイルを操作すればいいでしょう。 あるいは UNIX からフロッピーにアクセスする際には、mtools を使う という手もあります(たしか mount は必要なかったような)。 |
|
始めまして 始めてここにきました。 ア!? だから始めましてなんですね^^;; 偶然検索していて見つけました。 今日はとってもお勉強になりました。 また、ちょくちょく来ますです♪ 頑張ってくださいね。 敬具。 |
|
はじめまして、塩蔵です。 すごく充実した内容ですね。 UNIX初心者の僕としましては、びっくりです。 突然ですが、質問あります。 EUCコードで、全角Aは、16進でa3c1となるんですが、 あるファイルに全角Aを書いて、 odコマンドで、”od −x ファイル名”を実行すると、 c1a3と表示されてしまいます。 なぜ、EUCコードで、全角Aは、16進でa3c1であるのに、 c1a3と表示されるのでしょうか? それとも、odコマンドの使い方が間違ってるのでしょうか? お願い致します。 |
|
> c1a3と表示されてしまいます。 http://www.cs.gunma-u.ac.jp/~j5306050/net/c-http-1.html に少し書いてありますが、バイトオーダーの違いです。 試してみると、Pentium のようなリトルエンディアンマシンでは c1a3、 Sparcのようなビッグエンディアンマシンでは a3c1 になりました。 しかし、バイトオーダーを意識させるダンプコマンドってのは アリなのかなぁ…? |
|
システムリプレイス時のトラブルで、24日朝〜25日23時の間の メールが全部消えてしまいました(25日21時にPOPを覗くと数十通 あったけど、その分が全部消えてしまった)。 「alloc:/ file system full」な方と、出版社の方、 申し訳ありませんが、もう一回メール下さい。 多分私信はその2通だけだったと思うけど、他にメール出してた方が、 いらっしゃいましたら、すみませんが再送して下さい。 |
|
日付を間違えてた。 システムリプレイス時のトラブルで、24日朝〜24日23時の間の メールが全部消えてしまいました(24日21時にPOPを覗くと数十通 あったけど、その分が全部消えてしまった)。 です。 |
|
こんにちわ。 自分のページにカウンターを置きたいのですが、 fluteでCGIは使えますか?掲示板は可能なんですが 他から取ってきたカウンタはエラーが出て良く分からないんです。 ここにあったカウンターもいただきましたが、どう変更して、どのようなファイルをどう置いたらいいのかよくわかりません。助けてください。 |
|
> fluteでCGIは使えますか? 使えます。勝手に覗かせてもらいましたが wwwcount.cgi の内容が変です。 コマンドライン上から % perl -c wwwcount.cgi とすると、 Unmatched right bracket at wwwcount.cgi line 75, at end of line syntax error at wwwcount.cgi line 75, near "}}" wwwcount.cgi had compilation errors. となります。改行コードの問題でしょうか? 最初からもう一度転送しなおして下さい。少なくとも % perl -c wwwcount.cgi でエラーが出る状況では、CGI経由でも絶対に動きません。 > ここにあったカウンターもいただきましたが うちのは設置手順がめんどくさいので、お勧めしません :-) |
|
できました。自宅のパソコンでダウンロードしたものを 学校に転送してやると、やはり改行コードがおかしくなってるようでした。 結局、学校の端末からもう1度作り直しました。 さすがプロ!ありがとうございました(笑) |
|
こんにちは。 新しいサーバーを構築して、そのサーバーに現サーバーの /etc/passwd と /etc/shadowファイルを移行したいので すが、試しに1つだけ /etc/passwd をそのまま移して( group,ホームディレクトリ、シェルのパスは変えました。) 、/etc/shadowはそのまま現サーバーの/etc/shadowを移し ました。 そのあと、 > pwconv > creatiadb として、メールを送受信してみたのですが、ログインは認識 しているようなのですが、パスは認識してくれないようです。 何か、他にやる事が有るのでしょうか? よろしくお願いします。 |
|
Linux ですか? 僕は FreeBSD 以外知らないのですが、 > パスは認識してくれないようです これは、「ログインシェルが認識されない」という意味ですか? あるいは「パスワードが認識されない」という意味ですか? 前者なら、一般的な UNIX では、ログインシェルとして使う シェルは、事前に /etc/shells にフルパスで書いておく必要が ありますが、それはいじりましたか? 後者ならわかりません。もちろん現サーバのパスワードを 入力したんですよね? あとLinux って、デフォルトではシャドウ パスワードを使わないそうですが、新サーバのそこらへんの設定は しました? |