ご注意ください

  • 当ブログのコメントやトラックバックに、アカウントハックサイトや、そのようなサイトへリダイレクト(転送)される可能性が高いサイトへのリンクが時々貼られているようです。
    そのようなサイトへのリンクが貼られたコメント・トラックバックは、見つけ次第削除・禁止ワード登録していますが、今後も危険なサイトへのリンクが貼られる可能性がありますので、安易にリンク先へ飛ばないよう充分ご注意ください。

オンラインゲーム関連

著作権表示

  • 当ブログに記載されている
    会社名・製品名・システム名などは、
    各社の登録商標、もしくは商標です。

    当ブログ上の文章・写真・画像の
    無断転載、無断転用、直リンクなどは
    行わないでください。

    (C) 1998-2016 Vertex.
    (C) 2002-2016 SQUARE ENIX CO., LTD.
    (C) CAPCOM CO., LTD. 2007, 2016

    All Rights Reserved.
無料ブログはココログ

« 2009年12月 | トップページ | 2010年2月 »

C言語のremove()とunlink()

ファイルを削除する処理を追加したとき、自分はいつもremove()を使っていたけど、ふと、unlink()と何が違うのかが気になったので調べてみた。

調べてみたと言っても、「Manpage remove」「Manpage unlink」というキーワードでググってみただけ。

linux.or.jpのマニュアルページによると、remove()はファイルを指定された場合は内部でunlink()を呼び、ディレクトリを指定された場合はrmdir()を呼ぶらしい。

ということは、通常はremove()を使っていてもいいし、明示的にファイルだけを削除対象とする、という意味でunlink()を使ってもいいようだ。

逆に、ディレクトリが指定されたら削除したくない、という場合は、remove()よりunlink()の方がいいのかな。unlink()でディレクトリを削除しようとすればエラーとしてEISDIRが返るようだし。

ディレクトリなのかファイルなのかは事前チェックするべきかもしれないけど…。

とりあえず備忘録としてメモメモ。


Manpage of REMOVE
Manpage of UNLINK

ロビンマスクまで…

今朝、電車待ちの間に何気なく携帯でYahooニュースを見ていたら…。

なんと、アニメ「キン肉マン」でロビンマスクやアシュラマン、アニメ「ドラゴンボール」では牛魔王やミスターサタンなどの声を担当していた郷里大輔氏が亡くなられたらしい。

ニュースを見る限りでは、自殺かもしれないとのこと。

先日の田の中勇氏に続き、ほかの人には真似のできない独特な声を持つ声優さんが亡くなられたことで、非常に残念。

ご冥福をお祈りいたします。

最近は特に、映画や吹き替えなどに俳優やタレントが起用され、声優界は踏み荒らされていて大変な状況だと思う。制作側も、声が本業の人たちをもっと大事に扱ってもらいたい。

目玉の親父、永遠に…

びっくりしました。

アニメ「ゲゲゲの鬼太郎」の目玉の親父の声を担当していた田の中勇氏が亡くなったとか。

昔から慣れ親しんだ声だっただけに、非常に残念でならないです。

今はただただ、ご冥福をお祈りいたします。

この独特な声、跡を継げる人なんていないだろうなぁ…。

NICに複数IP設定

Linuxを普通に使っているだけではあまりお世話になることがないけど、固定IPを変更したときに移行期間を設けたり、開発で複数IPを使いたい場合に役に立つかも。

ということで、備忘録としてメモメモ。

◆条件◆
eth0のNICに、192.168.1.200 と 192.168.1.201 のIPを追加する


◆複数IPをエイリアスで一時的に設定する方法1
# ifconfig eth0:0 192.168.1.200
# ifconfig eth0:1 192.168.1.201


◆複数IPをエイリアスで一時的に設定する方法2(RedHatのみ)
# ip addr add 192.168.1.200/24 brd 192.168.1.255 dev eth0 label eth0:0
# ip addr add 192.168.1.201/24 brd 192.168.1.255 dev eth0 label eth0:1


◆複数IPをエイリアスで永続的に設定する方法
以下の2つのファイルを作成
  /etc/sysconfig/network-scripts/ifcfg-eth0:0
  /etc/sysconfig/network-scripts/ifcfg-eth0:1

中身はそれぞれ以下の通り
  # cat ifcfg-eth0:0
    DEVICE=eth0:0
    BOOTPROTO=none
    ONBOOT=yes
    TYPE=Ethernet
    IPADDR=192.168.1.200
    NETMASK=255.255.255.0
  # cat ifcfg-eth0:1
    DEVICE=eth0:1
    BOOTPROTO=none
    ONBOOT=yes
    TYPE=Ethernet
    IPADDR=192.168.1.201
    NETMASK=255.255.255.0

ネットワークの再起動
  # /etc/init.d/network restart


◆エイリアスではなく直接NICにIPを複数設定する方法
# ip addr add 192.168.1.200/24 brd 192.168.1.255 dev eth0
# ip addr add 192.168.1.201/24 brd 192.168.1.255 dev eth0


NICに直接IPを複数指定すると、ifconfigでは確認できないため、ipコマンドを使用して確認する。
# ip addr show dev eth0


ipコマンドで追加したIPを解除するには、以下のようにする。
# ip addr del 192.168.1.200 dev eth0
# ip addr del 192.168.1.201 dev eth0
もしくは、
# ip addr flush dev eth0
で一括解除

Linuxのロケール設定

理由はこうだから!とズバッと説明できなくて困ったこと。

RedHat Linux ES4で、デフォルトの文字コードが「ja_JP.UTF-8」になっているけど、localeコマンドで文字コードを確認してみると「ja_JP.utf8」はあるけど「ja_JP.UTF-8」というのはない。

でも、LANG="ja_JP.UTF-8" としても、LANG="ja_JP.utf8" としても、今のところ全く問題なく動いている。

localedefコマンドでロケールを定義するときに「ja_JP.UTF-8」とするか「ja_JP.utf8」とするかの違いだけだと思っていたけど、そうでもないらしい?

それぞれの指定方法は、一体何が違うんだろう…。

特に問題は発生していないけど、いつかまた同じ疑問にぶつかるかもしれないので、メモメモ。

« 2009年12月 | トップページ | 2010年2月 »

フォト
2017年5月
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      

最近のトラックバック