Linux の 101 試験対策: システム・ファイルの検索と配置

ファイルシステム階層標準でのファイルの配置場所

Linux® システムでのファイルシステム階層標準 (FHS: Filesystem Hierarchy Standard) に従った正しいファイルの配置場所について学び、重要なファイルとコマンドを検索する方法を覚えてください。この記事の内容は、Linux のシステム管理者として認定するための LPI 101 試験に備えるためにも、ファイルの編成および管理について調べる上でも役立ちます。

Ian Shields, Senior Programmer, IBM

Ian ShieldsIan Shields は、developerWorks Linux ゾーンの様々な Linux プロジェクトに関わっています。彼はノースキャロライナ州 Research Triangle Park にある IBM のシニア・プログラマーです。1973年にオーストラリアのキャンベラでシステム・エンジニアとして IBM に入社して以来、カナダのモントリオールやノースキャロライナ州 Research Triangle Park で、コミュニケーション・システムやパーベイシブ・コンピューティングに携わってきました。彼はいくつかの特許を保持しています。Australian National University にて純粋数学および哲学で学位を取得し、また North Carolina State University にてコンピューター・サイエンスで修士号と博士号を取得しています。Ian について詳しく知るには、My developerWorks で彼のプロフィールを見てください。


developerWorks 貢献著者レベル

2010年 6月 09日

この連載について

この連載は Linux システム管理タスクの学習に役立つだけでなく、LPIC-1 (Linux Professional Institute Certification レベル 1) 試験に備えるための教材にもなります。

連載の各記事についての説明とリンクについては、連載のロードマップを参照してください。現在進行中のこのロードマップは、LPIC-1 試験の最新の目標 (2009年4月) を反映しています。完成した記事はその都度ロードマップに追加されていきますが、当面は developerWorks の LPI 認定試験対策チュートリアルで同様の教材の以前のバージョンを調べてください。これらのバージョンは、2009年4月より前の LPIC-1 目標に対応しています。

概要

この記事では、ファイルシステム階層標準 (FHS、Filesystem Hierarchy Standard) について学びます。この記事で説明する内容は以下のとおりです。

  • FHS に従ったファイルの配置場所について
  • Linux システムでファイルとコマンドを検索する方法
  • FHS に定義されている各種の重要なファイルとディレクトリーを検索する方法と、これらのファイルおよびディレクトリーの用途

この記事は、Linux Professional Institute の Junior Level Administration (LPIC-1) 101 試験の主題 104 の 104.7 の試験対策に役立ちます。この目標の重要度は 2 です。

前提条件

この連載の記事を最大限に活用するには、Linux の基礎知識と、記事に記載されたコマンドを演習できる実際の Linux システムが必要です。プログラムのバージョンによって出力のフォーマットに違いが出てくる場合もあるため、コマンドの実行結果は必ずしもここに記載するリストや図とまったく同じであるとは限りません。特に、記載する出力のほとんどは、お使いのシステムにインストールされているパッケージによって大きく左右されます。出力がかなり違っているとしても、重要な共通点は認識できるはずです。


ファイルシステム階層標準

Ian とつながるには

Ian は developerWorks で人気の高いお馴染みの著者の 1 人です。Ian が書いたすべての developerWorks 記事を閲覧してみてください。また、My developerWorks では、Ian のプロフィールを調べることや、彼やその他の著者、そして他の読者とつながることができます。

ファイルシステム階層標準 (FHS、Filesystem Hierarchy Standard) は、Linux や他の UNIX® ライクなシステムでの共通ディレクトリー構造を規定する文書です。Linux ディストリビューションの違いに関係なく、同じ標準的な場所にファイルを配置することによって、ディストリビューションに依存しないソフトウェア開発を容易にする FHS は、Linux Standard Base (「参考文献」を参照) でも採用されています。FHS により、ユーザーも、ソフトウェアも、インストールされたファイルとディレクトリーの位置を予測できるようになっています。FHS 準拠のファイルシステムは、オペレーティング・システムが大抵の UNIX ファイルシステムに備わっている基本的なセキュリティー機能をサポートすることを前提とします。

互いに独立した 2 つの FHS カテゴリー

FHS の中核となっているのは、互いに独立した以下の 2 つのファイル特性です。

共有可能であるか、共有不可であるか
共有可能ファイルは、そのファイルが配置されているシステムとは別のシステム上でも使用することができます。一方、共有不可のファイルは、そのファイルを使用するシステム上に配置しなければなりません。
静的であるか、可変であるか
静的ファイルとは、システム管理者の介入 (例えばパッケージのインストールやアップグレードなど) によってのみ変更されるファイルのことです。静的ファイルにはマニュアル、ライブラリー、およびバイナリーが含まれます。一方、可変ファイルとは静的ファイル以外のすべてのファイル (ログ、スプール・ファイル、データベース、ユーザー・データなど) を指しており、これらのファイルはユーザーやシステム・プロセスによって変更されることがあります。

以上の区別により、異なる一連の特性を持ったファイルを、それぞれ別のファイルシステムに保管することができます。表 1 に、FHS 文書から抜粋した FHS 準拠のファイル配置例を記載します。

表 1. FHS の例
共有可能共有不可
静的/usr
/opt
/etc
/boot
可変/var/mail
/var/spool/news
/var/run
/var/lock

特定のファイルの検索

Linux システムに何百、何千ものファイルが含まれていることは珍しくありません。私が最近インストールした 64-bit の Fedora 13 システムには、/usr 階層だけをとっても 75,000 を超えるファイルが保管されています。他に私が使っているシステムのほとんどでも、ファイルの数は 100,000 を超えているか、場合によっては 200,000 に達しています。次の 4 つのセクションでは、この膨大なデータのなかからファイル、特にプログラムを探し出すために利用できるツールについて説明します。


PATH での設定内容

複数の Linux システムを使ったことがあれば、もうご存知だと思いますが、root としてログインすると、ユーザーとしてログインしているときには実行できないコマンド (fdisk など) を実行できるようになります。コマンドラインでプログラムを実行すると、bash (または別の) シェルが要求されたプログラムを見つけるために、ディレクトリーのリストをひと通り検索します。ディレクトリーのリストが指定されるのは PATH 環境変数で、root ユーザーのパスには /sbin を組み込むことができますが、root 以外のユーザー・パスには組み込めません。リスト 1 に、2 つの異なるディストリビューションでのユーザー・パスの例と、root パスの例を記載します。

リスト 1. PATH の例
ian@pinguino:~$ # An Ubuntu 9.10 system
ian@pinguino:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games

[ian@echidna ~]$ # An openSUSE 11.2 system
ian@attic4:~> echo $PATH
/usr/lib64/mpi/gcc/openmpi/bin:/home/ian/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/u
sr/X11R6/bin:/usr/games:/usr/lib64/jvm/jre/bin:/usr/lib/mit/bin:/usr/lib/mit/sbin

[root@echidna ~]# # And as root
attic4:~ # echo $PATH
/usr/lib64/mpi/gcc/openmpi/bin:/sbin:/usr/sbin:/usr/local/sbin:/root/bin:/usr/local/bin:/
usr/bin:/bin:/usr/bin/X11:/usr/X11R6/bin:/usr/games:/usr/lib64/jvm/jre/bin:/usr/lib/mit/b
in:/usr/lib/mit/sbin

上記を見るとわかるように、PATH 環境変数はコロンで区切られたディレクトリー名のリストに過ぎません。fdisk コマンドは、実際には /sbin/fdisk にあります。そのため上記のパスのうち、ユーザーがこのコマンドを実行する際に、完全修飾名 (/sbin/fdisk) を入力するのではなく、fdisk とだけ入力すればよいのは、最初と最後のパスだけです。

通常、ユーザーのパスは .bash_profile または .bashrc などの初期化ファイルに設定されます。この初期化ファイルに新しいパスを指定することで、現行の bash プロセスに対してパスを変更することができます。新しいパスの値を以降の他のプロセスでも使用できるようにする場合には、忘れずに PATH 環境変数をエクスポートしてください。その一例をリスト 2 に記載します。

リスト 2. PATH の変更方法
ian@attic4:~> fdisk
Absolute path to 'fdisk' is '/sbin/fdisk', so running it may require superuser privileges
 (e.g. root).
ian@attic4:~> export PATH=/sbin:$PATH
ian@attic4:~> fdisk

Usage: fdisk [-l] [-b SSZ] [-u] device
E.g.: fdisk /dev/hda  (for the first IDE disk)
  or: fdisk /dev/sdc  (for the third SCSI disk)
  or: fdisk /dev/eda  (for the first PS/2 ESDI drive)
  or: fdisk /dev/rd/c0d0  or: fdisk /dev/ida/c0d0  (for RAID devices)

which、type、whereis コマンド

前のセクションでは、fdisk コマンドを実行しようとしたときに、このコマンドを使用できない場合がある理由を説明しました。その一方、コマンド名を入力したときに、実際に実行されることになるコマンドを見つけるのに役立つコマンドもいくつかあります。

which コマンド

which コマンドは、コマンド名を入力したユーザーのパスを検索し、実際に実行されるコマンド (存在する場合) を表示します。リスト 3 は、fdisk コマンドを検索する場合の例です。

リスト 3. which の使用方法
ian@attic4:~> which fdisk
which: no fdisk in (/usr/lib64/mpi/gcc/openmpi/bin:/home/ian/bin:/usr/local/bin:/usr/bin:
/bin:/usr/bin/X11:/usr/X11R6/bin:/usr/games:/usr/lib64/jvm/jre/bin:/usr/lib/mit/bin:/usr/
lib/mit/sbin)
ian@attic4:~> export PATH=/sbin:$PATH
ian@attic4:~> which fdisk
/sbin/fdisk

which コマンドが表示するのは、ユーザーのパスで検出されたコマンドの最初のオカレンスだけです。複数のオカレンスがあるかどうかを調べるには、リスト 4 に示すように、-a オプションを追加します。

リスト 4. 複数のオカレンスを検出する場合の which の使用方法
ian@attic4:~> which awk
/usr/bin/awk
ian@attic4:~> which -a awk
/usr/bin/awk
/bin/awk
/usr/bin/X11/awk

上記で awk コマンドが検出されている場所は、usr/bin (システム上のコマンドのメイン・ディレクトリー)、/bin (このディレクトリー内のコマンドは、システム管理者とユーザーの両方が使用できます。他のファイルシステムが 1 つもマウントされていない場合、このディレクトリーは必須です)、そして /usr/bin/X11 (X Window System 用のバイナリーが置かれるディレクトリー) の 3 箇所です。

この連載の別の記事「Linux の 101 試験対策: ハード・リンクとシンボリック・リンクの作成および変更」で、これらの 3 つのファイルが結局はすべて 1 つの gawk コマンドを表していることを調べる方法を説明しています (リスト 5 を参照)。

リスト 5. すべて gawk にリンクされている awk コマンド
ian@attic4:~> ls -l $(which -a awk)
lrwxrwxrwx 1 root root 4 2010-02-09 00:46 /bin/awk -> gawk
lrwxrwxrwx 1 root root 8 2010-02-09 00:46 /usr/bin/awk -> /bin/awk
lrwxrwxrwx 1 root root 8 2010-02-09 00:46 /usr/bin/X11/awk -> /bin/awk

type コマンド

シェルの組み込みコマンドなど、which コマンドでは検出できないコマンドもあります。type コマンドは、指定されたコマンド・ストリングが実行に際してどのように評価されるかを調べるための組み込みコマンドです。リスト 6 では whichtype を使用して、type コマンドはパスに置かれているような実行可能コマンドではなく、シェルの組み込みコマンドであることを明らかにしています。

リスト 6. type の使用方法
ian@attic4:~> which type
which: no type in (/usr/lib64/mpi/gcc/openmpi/bin:/home/ian/bin:/usr/local/bin:/usr/bin:/
bin:/usr/bin/X11:/usr/X11R6/bin:/usr/games:/usr/lib64/jvm/jre/bin:/usr/lib/mit/bin:/usr/l
ib/mit/sbin)
ian@attic4:~> type type
type is a shell builtin

whereis コマンド

プログラムが置かれている場所だけでなく、さらに詳しい情報が必要な場合には、whereis コマンドを使用してください。例えば、このコマンドを使用して man ページや他の情報を検索することができます (リスト 7 を参照)。

リスト 7. whereis による man ページの検索方法
ian@attic4:~> whereis awk
awk: /bin/awk /usr/bin/awk /usr/lib64/awk /usr/bin/X11/awk /usr/share/awk 
/usr/share/man/man1/awk.1.gz /usr/share/man/man1p/awk.1p.gz

whereis は、/sbin 内にある awk のコピーを検出しなかったことに注意してください。whereis が使用するディレクトリーは固定されているため、このコマンドで必ず検索対象を検出できるとは限りません。whereis コマンドはソース・ファイルの検索、代替検索パスの指定、および異常なエントリーの検索にも対応します。whereis の振る舞いを変更する方法、またはこのコマンドが使用する固定パスを変更する方法については、man ページを調べてください。


find コマンド

連載の以前の記事「Linux の 101 試験対策: ファイルとディレクトリーの管理」では、名前 (ワイルドカードを含む)、パス、サイズ、またはタイムスタンプを基準にファイルを検索する方法を学びました。また、別の記事「Linux の 101 試験対策: ハード・リンクとシンボリック・リンクの作成および変更」では、特定のファイルまたは i ノードへのリンクを検索する方法を学びました。

find コマンドはいわば、Linux システムのファイル検索ツールを集めたスイス・アーミー・ナイフです。以前の記事で説明した機能の他、このコマンドのユーザーまたはグループ名を基準にファイルを検索する機能、そしてアクセス権を基準にファイルを検索する機能も役に立つと思います。

例えば、あるユーザーが /tmp 階層に保管しているファイルを調べたいとします。リスト 8 に、root ユーザーがユーザー ian の /tmp に含まれるすべてのファイルを検索する方法を示します。

リスト 8. ユーザーおよびグループを基準としたファイルの検索
attic4:~ # find /tmp -user ian
/tmp/kde-ian
/tmp/kde-ian/closeditems
/tmp/kde-ian/closeditems/_1.66
/tmp/kde-ian/systemsettingsR27913.tmp
/tmp/.ICE-unix/2288
/tmp/orbit-ian
/tmp/orbit-ian/linc-12f7-0-33cb4ce9b1fbf
/tmp/orbit-ian/linc-7d00-0-70e5ebaa4ddac
/tmp/orbit-ian/linc-12ea-0-68260abbd2051
/tmp/orbit-ian/linc-12ea-0-3377ca55c0bd2
/tmp/ksocket-ian
/tmp/ksocket-ian/klauncherMT2183.slave-socket
...

-group テストを使って、グループを基準にファイルを検索することもできます。さらに、-nouser および -nogroup オプションを使用することで、システムのどのユーザーにも、またはどのグループにも属していないファイルを検索することも可能です。他のテストと同様、「!」を使用すればテストの否定を実行することができます。通常、私は自分のユーザー番号を、一部のシステムでデフォルトとして使われている 1000 に設定しています。そこで、グループ番号を同じく 1000 に設定した ian というグループを作成します。他のシステムでは今でも番号が 500 から始まっていたり、新規ユーザーをデフォルトで「users」グループに配置したりする場合もあります。Red Hat 6.2 システムを基に記録された古い研究資料では、未だにユーザー番号が 500 となっています。リスト 9 に現在のユーザー・グループが所有してないディレクトリーを見つける方法を示します。research/rh62/involution は、ユーザー番号 500 およびグループ番号 4 が所有していますが、私が現在使用しているシステムには、このユーザーとグループはどちらも存在しません。数値によるユーザー ID またはグループ ID を基準にファイル、あるいはディレクトリーを検索するには、-uid または -gid テストを使用してください。

リスト 9. ian が所有していないディレクトリーの検索
ian@attic4:~> find -L research -maxdepth 2 -type d ! -group ian
research/rh62/involution
research/rh62/programs
research/lost+found
find: `research/lost+found': Permission denied
ian@attic4:~> ls -ld research/rh62/involution
drwxr-xr-x. 2 500 4 4096 1999-11-10 08:09 research/rh62/involution

アクセス権を基準にファイルを検索するには、-perm テストと併せて、chmod コマンドや umask コマンドで使用するような記号式を使用します。完全一致のアクセス権を検索することもできますが、それよりも、アクセス権の式の先頭にハイフンを付けて、検索対象は指定のアクセス権を持つファイルのみにし、その他のアクセス権は任意であることを指定すると有効な場合がよくあります。リスト 10 では、ユーザー、グループ、および全員が実行可能なファイルを検索する方法、そして他のユーザーは読み取ることのできないファイルを検索する 2 つの方法を説明します。

リスト 10. アクセス権を基準としたファイルの検索
ian@attic4:~> find . -maxdepth 1 -type f -perm -uga=x
./.xinitrc.template
ian@attic4:~> ls -l ./.xinitrc.template
-rwxr-xr-x 1 ian users 1446 2010-02-09 08:55 ./.xinitrc.template
ian@attic4:~> find . -maxdepth 1 ! -perm  -o=r
./.Xauthority
./.pulse
...
ian@attic4:~> find . -maxdepth 1 ! -perm  -0004
./.Xauthority
./.pulse
...

これまで、find コマンドで実行できる主な検索のタイプをいくつか説明してきましたが、出力をさらに絞り込むには、複数の式を組み合わせ、その組み合わせに正規表現を追加するという方法があります。この万能のコマンドについて詳しく学ぶには、man ページを使用してください。あるいは情報システムがインストールされている場合には、info  find を使用すると、さらに詳しい情報を調べることができます。

リスト 11 に、find を使用して検索する最後の例を記載します。最初の例では、cd を実行して /usr/include にカレント・ディレクトリーを変更し、表示される内容が長くなりすぎないようにしてから、パス名に大/小文字に関わらず packet という単語が含まれるすべてのファイルを検索しています。2 番目の例では、出力をさらに絞り込んで、ディレクトリーではなく、サイズが 1500 バイト以上のファイルだけを検索対象としています。お使いのシステムでの実際の出力は、どのパッケージがインストールされているかによって異なります。

リスト 11. find の最後の例
ian@attic4:/usr/include> find . -iregex ".*packet.*"
./c++/4.4/java/net/DatagramPacket.h
./c++/4.4/gnu/classpath/jdwp/processor/PacketProcessor.h
./c++/4.4/gnu/classpath/jdwp/transport/JdwpPacket.h
./c++/4.4/gnu/classpath/jdwp/transport/JdwpReplyPacket.h
./c++/4.4/gnu/classpath/jdwp/transport/JdwpCommandPacket.h
./netpacket
./netpacket/packet.h
./net/if_packet.h
./linux/if_packet.h
ian@attic4:/usr/include> find . -iregex ".*packet.*" ! -type d -size +1500c
./c++/4.4/java/net/DatagramPacket.h
./c++/4.4/gnu/classpath/jdwp/transport/JdwpPacket.h
./netpacket/packet.h
./linux/if_packet.h

注意する点として、正規表現は、find によって返される完全パスと一致していなければなりません。正規表現とワイルドカードの違いを思い出してください。


locate および updatedb コマンド

find コマンドを実行するたびに、このコマンドは指定されたすべてのディレクトリーを検索します。検索時間を短縮するには、locate という別のコマンドを使用することができます。このコマンドは毎回ファイルシステムを検索するのではなく、パス情報が保管されたデータベースを検索します。

locate コマンド

locate コマンドは、一致するファイルをデータベースで検索します。このデータベースは通常、cron ジョブによって毎日更新されます。

locate コマンドが検索対象とするのはファイル名だけではありません。このコマンドは、パス名の構成部分も突き合わせます。ファイル名は単一引用符で囲み、より正確に突き合わせるために 1 つ以上のグロビング文字を含めてください。リスト 12 に、bin/ls というストリングが含まれるパスを検出する方法を示します。このリストには、グロビング文字を使って出力を絞り込む 2 つの例も記載されています。

リスト 12. locate を使用したパスの検索と出力の絞り込み
ian@attic4:~> locate /bin/ls
/bin/ls
/bin/lsmod
/usr/bin/lsattr
/usr/bin/lsb_release
/usr/bin/lscpu
/usr/bin/lsdev
/usr/bin/lshal
/usr/bin/lsof
/usr/bin/lsscsi
/usr/bin/lsusb
ian@attic4:~> locate '\/bin/ls'
/bin/ls
ian@attic4:~> locate '/bin/ls*'
/bin/ls
/bin/lsmod

updatedb コマンド

locate コマンドがデフォルトで使用するデータベースは、/var ファイルシステムの例えば /var/lib/located などの場所に保管されています。この場所は、セキュリティーの強化や速度向上のために slocate パッケージや mlocate パッケージを使用しているシステムでは異なる可能性があります。locate データベースの統計を検索するには、locate  -S を使用することができます (リスト 13 を参照)。

図 13. Locatedb の統計
ian@attic4:~> locate -S
Database /var/lib/locatedb is in the GNU LOCATE02 format.
Locate database size: 3011297 bytes
All Filenames: 259149
File names have a cumulative length of 15751703 bytes.
Of those file names,

        11421 contain whitespace,
        0 contain newline characters,
        and 0 contain characters with the high bit set.
        Compression ratio 80.88% (higher is better)

このデータベースを作成、または更新するために使用するコマンドは、updatedb です。このコマンドは通常、cron ジョブとして毎日実行されます。updatedb の構成ファイルは、/etc/updatedb.conf (場合によっては /etc/sysconfig/locate) です。データベースが毎日更新されるようにするには、root ユーザーが /etc/updatedb.conf を編集して、DAILY_UPDATE=yes を設定する必要があります。データベースを即時作成するには、root として updatedb コマンドを実行します。

locate を使用する際には、セキュリティーや、updatedb データベースの日次ビルドに関するネットワーク上のファイル I/O についても考慮しなければなりません。詳細については、man ページおよび updatedb 構成ファイルを調べてください。


ルート・ファイルシステムの FHS ディレクトリー

FHS が目標としているのは、ルート・ファイルシステムをできる限り小さく維持することです。けれども、ルート・ファイルシステムには、経験を積んだ管理者がこれらの作業を行うために必要とするユーティリティーを含め、システムのブート、リストア、リカバリー、あるいは修理に必要なすべてのファイルが保管されていなければなりません。システムをブートするには、他のファイルシステムのマウントを許可するのに十分なファイルがルート・ファイルシステムに置かれている必要があることに注意してください。

表 2 に、FHS がルート (/) ファイルシステム内に規定しているディレクトリーと、それぞれのディレクトリーの用途を記載します。このリストに記載されているディレクトリー、またはそのディレクトリーへのシンボリック・リンクは必ず存在していなければなりません。ただし、オプションと記されているディレクトリーについては、対応するサブシステムが存在する場合に限り、必要となります。

表 2. FHS で規定されたルート・ファイルシステム
ディレクトリー用途
bin 必須コマンドのバイナリー
boot ブート・ローダーの静的ファイル
dev デバイス・ファイル
etc ホスト固有のシステム構成
lib 必須の共有ライブラリーおよびカーネル・モジュール
media 取り外し可能なメディアのマウント・ポイント
mnt ファイルシステムを一時的にマウントするためのマウント・ポイント
opt アドオン・アプリケーションのソフトウェア・パッケージ
sbin 必須のシステム・バイナリー
srv このシステムが提供するサービスのためのデータ
tmp 一時ファイル
usr 2 次階層
var 可変データ
home ユーザーのホーム・ディレクトリー (オプション)
lib<qual> 代替フォーマットに必須の共有ライブラリー (オプション)
root root ユーザーのホーム・ディレクトリー (オプション)

/usr および /var 階層

/usr と /var の 2 つの階層は、FHS が専用のセクションを設けるほどに複雑です。/usr ファイルシステムは、ファイルシステムのなかで 2 番目に主要なセクションで、ここには共有可能な読み取り専用のデータが含まれます。/usr は複数のシステム間で共有することができますが、現在の慣例で共有していることはほとんどありません。

/var ファイルシステムには、スプール・ディレクトリーおよびファイル、管理データとロギング・データ、短期データと一時データを含めた可変データ・ファイルが保管されます。/var にはシステム間で共有できない部分がありますが、その他の部分 (/var/mail、/var/cache/man、/var/cache/fonts、/var/spool/news など) は共有することができます。

この標準を完全に理解するには、FHS 文書を読んでください (「参考文献」を参照)。

参考文献

学ぶために

製品や技術を入手するために

  • ご自分に最適な方法で IBM 製品を評価してください。評価の方法としては、製品の試用版をダウンロードすることも、オンラインで製品を試してみることも、クラウド環境で製品を使用することもできます。また、SOA Sandbox では、数時間でサービス指向アーキテクチャーの実装方法を効率的に学ぶことができます。

議論するために

コメント

developerWorks: サイン・イン

必須フィールドは(*)で示されます。


IBM ID が必要ですか?
IBM IDをお忘れですか?


パスワードをお忘れですか?
パスワードの変更

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む

 


お客様が developerWorks に初めてサインインすると、お客様のプロフィールが作成されます。会社名を非表示とする選択を行わない限り、プロフィール内の情報(名前、国/地域や会社名)は公開され、投稿するコンテンツと一緒に表示されますが、いつでもこれらの情報を更新できます。

送信されたすべての情報は安全です。

ディスプレイ・ネームを選択してください



developerWorks に初めてサインインするとプロフィールが作成されますので、その際にディスプレイ・ネームを選択する必要があります。ディスプレイ・ネームは、お客様が developerWorks に投稿するコンテンツと一緒に表示されます。

ディスプレイ・ネームは、3文字から31文字の範囲で指定し、かつ developerWorks コミュニティーでユニークである必要があります。また、プライバシー上の理由でお客様の電子メール・アドレスは使用しないでください。

必須フィールドは(*)で示されます。

3文字から31文字の範囲で指定し

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む

 


送信されたすべての情報は安全です。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=Linux
ArticleID=498937
ArticleTitle=Linux の 101 試験対策: システム・ファイルの検索と配置
publish-date=06092010