Jump to content 日本-日本語
日本HPホーム 製品 & サービス サポート & ドライバー ソリューション ご購入方法
お問い合わせ

製品とサービス  >  ソフトウェアとOS  >  HP-UX   >  Knowledge-on-Demand  >  UNIXの教科書 基礎編

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

3日目:シェルの基本を知る

HP-UX/Integrityサーバー お問い合せ
コンテンツに進む
第3日目:シェルの基本を知る
UNIXの教科書〜はじめよう! WindowsとLinuxからのステップアップ〜 3日目
シェルの基本を知る
ワイルドカードを知る

2時間目:ワイルドカードを知る

ここでちょっと話題を変えて、ファイルのコピー方法について簡単に説明しておきましょう。ファイルのコピーにはcpコマンドを使います。cpコマンドの詳しい使い方の説明は次回に譲ることにして、ここでは、基本的な使い方を紹介しましょう。

次に示すように、引数の順番は、最初にコピーするファイルのパス、2番目にコピー先のパスを指定します。逆ではないことに注意してください。

cp コピーもとのパス コピー先のパス

たとえば、カレントディレクトリの下の「Readme.txt」を、カレントディレクトリの下のDocumentsディレクトリの下に「backup.txt」という名前でコピーするには次のようにします。

$ cp Readme.txt Documents/backup.txt

このとき、同じ名前で別のディレクトリにコピーする場合には、コピー先にファイル名は省略可能です。前述のReadme.txtをDocumentsディレクトリの下に同じ名前でコピーするには次のようにします。

$ cp Readme.txt Documents/

このとき、コピー先の最後の「/」は付けても付けなくてもかまいません。

四色君:
「~」や「..」といった記号が便利なのはわかりましたが、カレントディレクトリを表す「.」は使い道があるのですか? たとえば、カレントディレクトリの一覧を表示するのに、わざわざ「ls . <Enter>」としなくても、単に「ls <Enter>」としても同じですよね。
四色君
マリー先生
マリー先生:
そうね、lsコマンドなどでは引数を指定しないとカレントディレクトリが対象になるから、ピリオド「.」は不要ね。ピリオド「.」がよく使われるは、たとえば、カレントディレクトリにファイルをコピーするといったときかな。次の例では、cpコマンドのコピー先に「.」を指定して、「samples/sample.txt」をカレントディレクトリにコピーしているの。

$ cp samples/sample.txt .

ワイルドカード

たとえば、たくさんのファイルの中から拡張子が「.html」のファイルだけを、別のディレクトリにコピーしたいといった場合はどうすればよいでしょうか? 1つずつコピーしてもかまいませんが面倒ですし、コピーし忘れもあるでしょう。そのようなケースで活躍するのが、「ワイルドカード」と呼ばれる特別な記号です。ワイルドカードはトランプにおけるジョーカーのような万能カード的なイメージで使える記号です。

<表3:ワイルドカードの記号と意味>

* 0個以上の任意の文字列に一致する
? 1文字と一致する

まず、「*(アスタリスク)」はファイル名の中の任意の文字列と一致します。たとえば、拡張子が「.html」のファイルは「*.html」と表記できるわけです。したがって、カレントディレクトリのDocumentsディレクトリから拡張子が「.html」のファイルを、public_htmlディレクトリにコピーするには次のようにします。

$ cp Documents/*.html public_html/

タックス君:
「*」は0個以上の任意の文字列に一致するということは、たとえば、「.html」という名前の隠しファイルがあった場合、「cp Documents/*.html public_html/」でそれもコピーされるのですか?
タックス君
マリー先生
マリー先生:
隠しファイルはコピーされないわ。ワイルドカードはファイル名の先頭の「.」には一致しないようになっているの。

「?」は任意の1文字に一致します。たとえばDocumentsディレクトリから、ファイル名が7文字のファイルの一覧をlsコマンドで表示するには次のようにします。

$ ls Documents/???????  【Enter】
Documents/2007doc  Documents/ABCnews

「?」と「*」を組み合わせることでより柔軟な指定も可能です。 たとえば、カレントディレクトリの下で、拡張子が3文字のファイルの一覧を表示するには次のようにします。

$  ls *.???  【Enter】
Readme.txt   profile.txt  sample.png

四色君:
ワイルドカードはそれぞれのコマンドがファイル名に展開しているのですか?
四色君
マリー先生
マリー先生:
いいえ、ワイルドカードはシェルによって展開された後に、カーネルに伝えられるの。たとえば、ユーザが「ls *.html」のように実行すると、シェルがカレントディレクトリから拡張子が「.html」のファイルを探して「ls sample.html info.html 」のようなコマンドがカーネルに送られるというわけ。

練習問題

第1問:2つ上のディレクトリの下にあるusrディレクトリの一覧を表示するコマンドはどれか?

a) ls ../usr
b) ls ~/./usr
c) ls ./usr
d) ls ../../usr
正解はこちら
d) ls ../../usr
1つ上のディレクトリは「..」で表記できる。したがって2つ上のディレクトリは「../..」となる。

第2問:現在/homeディレクトリにいるときに、ユーザ「taro」のホームディレクトリに移動するコマンドとして正しくないのはどれか?

a) cd ./taro
b) cd taro
c) cd /home/taro
d) cd home/taro
正解はこちら
d) cd home/taro
先頭が「/」で始まらないパスは相対パスと見なされる。したがって「home/taro」はカレントディレクトリの下の「home/taro」、つまり「/home/home/taro」を表すことになる。

第3問:Documentsディレクトリの下のprofile.txtをカレントディレクトリにコピーするコマンドはどれか?

a) cp Documents/profile.txt .
b) cp Documents/profile.txt /home
c) cp Documents/profile.txt ~
d) cp Documents/profile.txt ..
正解はこちら
a) cp Documents/profile.txt .
カレントディレクトリにファイルをコピーする場合、cpコマンドの2番目の引数に「.」を指定すればよい。

第4問:~/Documentsディレクトリの下で、ファイル名の先頭がAで始まりかつ拡張子が3文字のファイルを、カレントディレクトリの下のbackupディレクトリにコピーするコマンドはどれか? このとき拡張子を除くファイル名は2文字以上とする。

a) cp ~/Documents/A?*.* backup
b) cp ~/Documents/A?*.??? backup
c) cp ~/Documents/A*.??? backup
d) cp ~/Documents/A??.??? backup
正解はこちら
b) cp ~/Documents/A?*.??? backup
(c)のようにcp ~/Documents/A*.??? backupとすると、「A.txt」のような拡張子を除くファイル名が1文字のファイルもコピーされてしまう。

連載記事一覧 戻る 1  |  2

教科書シリーズ 「UNIXの教科書」 「HAクラスターの教科書」 連載記事一覧

UNIXの教科書「基礎編」

第1日目:ログインしてコマンドを実行してみる
第2日目:ディレクトリやファイルを操作してみる
第3日目:シェルの基本を知る
第4日目:ファイルの基本操作
第5日目:viエディタの操作(基本編)
第6日目:リダイレクションとパイプを活用する
期末試験

UNIXの教科書「応用編」

第1日目:grepコマンドと正規表現
第2日目:ファイルの検索
第3日目:viエディタの操作(活用編)
第4日目:ファイルの圧縮とアーカイブ
第5日目:ジョブとプロセスの操作
第6日目:シェルの環境設定
第7日目:シェルスクリプトでより便利に
期末試験

UNIXの教科書「運用編」

第1日目:ユーザーの管理
第2日目:ファイルの安全管理(その1)
第3日目:ファイルの安全管理(その2)
第4日目:ネットワークの基本を理解する
第5日目:ネットワーク関連のコマンド
第6日目:システム情報の表示
期末試験 New!

HAクラスターの教科書

第1日目:ハードウェア構成を知る
第2日目:ネットワークを設定する
第3日目:共有ディスクを構成する
第4日目:HAクラスターを構成する
第5日目:パッケージを構成する
第6日目:障害テストを実施する
期末試験

 その他の連載記事


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

お問い合わせ

ご購入前のお問い合わせ


ご購入後のお問い合わせ

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

ショールーム

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