Jump to content 日本-日本語

製品  >  ソフトウェア  >  HP-UX   >  Knowledge-on-Demand  >  UNIXの教科書 基礎編

UNIXの教科書
〜はじめよう! WindowsとLinuxからのステップアップ〜

2日目:ディレクトリやファイルを操作してみる

HP-UX/Integrityサーバー お問い合せ
コンテンツに進む
2日目:ディレクトリやファイルを操作してみる
前回はHP-UXの概要とターミナルの基本操作について説明しましたが、コマンドラインの雰囲気がなんとなくつかめてきたでしょうか?第2回目では、まずHP-UXのファイルシステムの概要について説明します。その後で、ディレクトリやファイルを操作する基本的なコマンドをいくつか紹介していくことにしましょう。
UNIXの教科書〜はじめよう! WindowsとLinuxからのステップアップ〜 2日目
ファイルシステムを理解する
ファイルやディレクトリを操作する基本コマンド
2007年12月
大津 真

登場人物紹介

マリー先生 四色君 タックス君
マリー先生
HP-UXのエキスパート。
HP-UXのことなら何でもお任せ!
HP-UX普及のため世界を飛び回るスーパーウーマン。
四色君
これまで使ったことのあるパソコンはWindowsのみ。ただし、コマンドプロンプトは未経験。
タックス君
Windows、Linux、Macの経験あり。ただし、操作はGUI でやることが多く、コマンドラインはほとんど使ったことがない。
※これらは架空の人物であり、実在する人物とは一切関係ありません。


マリー先生
マリー先生:
さあみなさんHP-UXの操作に少しは慣れてきたかしら?さて今回も、コマンドラインの基本操作について学んでいきましょう。ところで、前回の説明に関してなにか質問ありますか?
四色君:
前回教えてもらったWindowsのTeraTermからHP-UXにリモートログインして、いろいろ操作しています。WindowsからCDEにログインして、デスクトップ環境をリモートコントロールできたらより便利だなと思うのですが……。
四色君
マリー先生
マリー先生:
それには「PC X サーバ」などと呼ばれる種類のソフトを使うと可能よ。代表的なのは「ASTEC-X このリンクをクリックすると、HP社外へリンクします。」と、「Reflection このリンクをクリックすると、HP社外へリンクします。」かしら。

HP-UXのファイルシステム概略図

今日の時間割

1時間目:ファイルシステムを理解する

UNIXでは、すべてのファイルを「ツリー構造」などと呼ばれる階層構造で管理しています。階層構造型ファイルステムは、今ではWindowsやMacといった一般的なOSでもすっかりおなじみの仕組みですが、UNIXはそのはしりであるといえます。次に、HP-UXのファイルシステムの概略図を示します。

HP-UXのファイルシステム概略図
図1:HP-UXのファイルシステム概略図

ツリー構造の“ツリー”とは日本語では木の意味ですが、ご覧のように、見た目が木を逆さまにしたようなイメージになるため、そのように呼ばれるわけです。なお、ツリー構造の頂点を表す記号は「/(スラッシュ)」です。ちょうど木の根っこの部分に相当するため、「ルート(“根っこ”という意味)」と呼ばれます。また、枝の分岐点に当たる部分を「ディレクトリ」と呼び、それぞれの葉の部分が個々の「ファイル」となるわけです。

四色君:
ディレクトリって、Windowsでいうところのフォルダと同じものですか?
四色君
マリー先生
マリー先生:
同じよ。GUI環境ではフォルダ、CUI環境ではディレクトリという用語が使われることが多いの。
四色君:
そういえばスーパーユーザのユーザ名も「root」でしたね。
四色君
マリー先生
マリー先生:
そう、UNIXでは、root(ルート)は、すべての権限が与えられた特別なユーザであるスーパーユーザのユーザ名であると同時に、ファイルシステムの頂点も表すの。
タックス君:
ディレクトリ構造は他のUNIXやLinuxでも同じですか?
タックス君
マリー先生
マリー先生:
基本的な部分に関してはね。たとえば、主な設定ファイルは/etcディレクトリの下にまとめるとか、デバイスファイルは/devディレクトリに置くといった点は一緒よ。ただし、こまかな部分はシステムによってまちまちなの。HP-UXのディレクトリ構造について詳しくはこちらを参照するといいわ。

絶対パスと相対パス

コマンドを使用して、ファイルやディレクトリに対して何らかの処理を行う場合、引数では対象となるファイルやディレクトリまでの道筋である「パス」を指定する必要があります。このとき、パスの指定方法は「絶対パス」と「相対パス」に大別されます。絶対パスはファイルシステムの起点であるルート「/」から指定する方法です。たとえばユーザごとに用意されている自由に使用可能な専用のディレクトリのことを「ホームディレクトリ」と呼びますが、このホームディレクトリはルート「/」の下の「home」というディレクトリの下の「ユーザ名」ディレクトリに設定されています。たとえば、ユーザ「o2」のホームディレクトリの下の「sample.txt」というファイルを絶対パスで指定するには、次のようになります。

/home/o2/sample.txt

Webサイトのアドレスと同じく、ディレクトリ間の区切り文字には「/」を使用します。つまり「/」はルートを表すだけでなく、区切りにも使用されるわけです。このように絶対パスではルート「/」から順にディレクトリをたどっていくため、目的のファイルやディレクトリを一意に指定できます。

それに対して相対パスのほうは、その名が示すとおり相対的なパスの指定です。現在自分がいるディレクトリのことを「カレントディレクトリ(あるいはワークディレクトリ)」と呼びますが、カレントディレクトリを起点にして相対的にファイルやディレクトリを指定する方法です。

たとえば、ログインした時点ではホームディレクトリがカレントディレクトリになりますが、その下のsample.txtというファイルは次のように指定します。

sample.txt

また、カレントディレクトリの下の「Documents」ディレクトリの下の「ReadMe」というファイルは、次のように指定できます。

Document/ReadMe

なお、現在のカレントディレクトリはpwdコマンドで確認できます。

$ pwd  【Enter】
/home/o2

四色君:
Windowsではディレクトリの区切りは「\」ですけど、UNIXでも使えますか?
四色君
マリー先生
マリー先生:
使えません。前回の3時間目でも紹介したけど、「\」は行末で使うとコマンドラインが次の行に継続する意味になるの。また、「エスケープシーケンス」と呼ばれる特殊文字を表すのにも使われるわ。たとえば「\n」はキャリッジリターン(改行)、「\t」はタブね。それと、UNIXではディレクトリもある種のファイルとして扱うの。
四色君:
ディレクトリがファイルってどういうことですか?
四色君
マリー先生
マリー先生:
ディレクトリは、そのディレクトリの下の階層のファイルやディレクトリに関する情報が格納されているファイルのようなイメージで考えるといいわ。これ以降の説明で、単にファイルといった場合にはディレクトリも含んでいることがほとんどなので注意してね。それだけでなく、ディスクやプリンタなどの周辺機器も「デバイスファイル」という特別なファイルとして扱えるの。つまりUNIXではなんでもファイルというわけ。
タックス君:
ファイルシステムのフォーマットとしてはWindowsでは「NTFS」、Macは「HFS+」、Linuxでは「ext3」などが一般的に使われますけど、HP-UXの標準フォーマットはなんですか?
タックス君
マリー先生
マリー先生:
現在HP-UXの標準ファイルシステムはジャーナリング機能をサポートした「JFS(Journal File System)」が採用されているの。
四色君:
ジャーナリング機能って?
四色君
マリー先生
マリー先生:
簡単に言えば、ファイルシステムの更新情報を逐次記録しておいて、システムがクラッシュした場合の復旧を安全にそして迅速にできる仕組みよ。最近ではNTFSやHFS+といったファイルシステムでもサポートされているの。なお、JFSは米VERITAS Software社(2004年に米Symantec社と合併、現在の社名はSymantec)が開発したファイルシステムであるところから、システム情報などでは「vsfs (VERITAS File System)」と表示されるわ。

テキストファイルのファイルの中身を表示する

UNIXにはテキストファイルの中身を表示するコマンドがいくつか用意されていますが、その中でもっとも基本的なのが「cat」コマンドです。引数には目的のファイルのパスを指定します。たとえば「/etc/hosts」というファイルにはIPアドレスとホスト名の対応が記述されていますが、その中身を表示するには次のようにします。

$ cat /etc/hosts  【Enter】
## Configured using SAM by root on Thu Nov 22 17:19:53 2007
## Configured using SAM by root on Thu Nov 22 17:19:53 2007
# @(#)B.11.31_LRhosts $Revision: 1.9.214.1 $ $Date: 96/10/08 13:20:01 $
#
# The form for each entry is:
# <internet address>    <official hostname> <aliases>
#
# For example:
# 192.1.2.34    hpfcrm  loghost
#
# See the hosts(4) manual page for more information.
# Note: The entries cannot be preceded by a space.
#       The format described in this file is the correct format.
#       The original Berkeley manual page contains an error in
#       the format description.
#
127.0.0.1       localhost       loopback
192.168.1.13    devedge

なお、catコマンドに「-n」オプションを指定して実行すると、各行の左に行番号を表示します。

$ cat -n /etc/hosts  【Enter】
     1  ## Configured using SAM by root on Thu Nov 22 17:19:53 2007
     2  ## Configured using SAM by root on Sat Dec  1 21:50:24 2007
     3  # @(#)B.11.31_LRhosts $Revision: 1.9.214.1 $ $Date: 96/10/08 13:20:01 $
     4  #
     5  # The form for each entry is:
     6  # <internet address>    <official hostname> <aliases>
     7  #
     8  # For example:
     9  # 192.1.2.34    hpfcrm  loghost
    10  #
    11  # See the hosts(4) manual page for more information.
    12  # Note: The entries cannot be preceded by a space.
    13  #       The format described in this file is the correct format.
    14  #       The original Berkeley manual page contains an error in
    15  #       the format description.
    16  #
    17
    18  127.0.0.1       localhost       loopback
    19  192.168.1.13    devedge
    20  192.168.1.102  imac
    21  192.168.1.240 susev

長いファイルを表示するのに便利なページャ

catコマンドでは単にファイルの中身が画面にはき出されているだけなので、長いテキストファイルは画面がスクロールしてしまって最初のほうが見られません。長いファイルを閲覧するのに便利なのが、ファイルを1画面ずつ表示してくれる「ページャ」と呼ばれる種類のプログラムです。HP-UXではページャとして「more」コマンドが用意されています。次に、moreコマンドの実行画面を示します。スペースキーで次の画面に、「b」をタイプすると1つ前の画面に戻ります。終了するには「q」をタイプします。

moreで「/etc/inetd.conf」を表示
図2:moreで「/etc/inetd.conf」を表示

タックス君:
文字列を検索することはできるのですか?
タックス君
マリー先生
マリー先生:
まず「/」をタイプして、続けてもキーワードを入力してEnterを押せば、ファイルの後ろに向かって検索できるわ。「?」の後にキーワードを指定すれば、ファイルの前の方向に向かって検索できるの。同じ文字列を同じ方向に向かって検索するには「n」をタイプしてね。

休み時間:UNIXのオンラインマニュアル

UNIXのほぼすべてのコマンドには、man形式のオンラインマニュアルが用意されています。オンラインマニュアルは「man コマンド名」を実行すると表示されます。なお、オンラインマニュアルの表示はmoreコマンドが担当します。したがって、スペースキーで次のページに、前のページに戻るには「b」をタイプします。終了は「q」です。

manコマンドでオンラインマニュアルを参照
図3:manコマンドでオンラインマニュアルを参照

HP-UXの日本語オンラインマニュアルは、シフトJISと日本語EUCの2種類の文字コードで用意されています。なお、マニュアルが英語で表示される場合は、LANG環境変数という言語環境を設定する変数を設定したうえでmanコマンドを実行する必要があります。環境変数について学ぶのはまだまだ先のことになりますので、ひとまず理解は措いて次のようにタイプしてください。

$ export LANG=ja_JP.SJIS	←シフトJISに設定する場合
$ export LANG=ja_JP.eucJP	←日本語EUCに設定する場合


連載記事一覧 1  |  2 次のページへ

本ページの内容は執筆時の情報に基づいており、異なる場合があります。

お問い合わせ

ご購入前のお問い合わせ


ご購入後のお問い合わせ

HPEサポートセンター
製品の標準保証でご利用いただける無償のサービスです。

ショールーム

ショールーム 導入をご検討のお客様へ
業務アプリケーションの継続・標準化・開発性とシステム担当者様、システム開発者様が抱える悩み・疑問に対する解決策実体験して頂けます。
印刷用画面へ
プライバシー ご利用条件・免責事項