[index]
CentreCOM x900シリーズ・SwitchBlade x908 コマンドリファレンス 5.3.3
運用・管理 / ファイル操作
- ローカルファイル
- デバイス
- ファイルとディレクトリー
- ローカルパス表記
- デバイス名を含む絶対パス
- デバイス名を含まない絶対パス
- 相対パス
- ワイルドカード
- ローカルディレクトリーの操作
- ローカルファイルの操作
- リモートファイル
- リモートURL表記
- リモートファイルの操作
- コンソールポート経由のファイル転送
本製品におけるファイルの操作方法について説明します。
ローカルファイル
本製品の記憶デバイス上に存在するファイルを「ローカルファイル」と呼びます。
本製品では、物理的な記憶デバイス上にファイルシステムが構築されており、各種デバイス上のデータを「ファイル」として統一的にアクセスすることが可能です。
本製品のファイルシステムは、UNIXやMS-DOS/Windowsとよく似た階層型のファイルシステムです。ディレクトリー区切りがスラッシュ(/)である点や、パス名の大文字小文字を区別する点はUNIXに準じていますが、デバイスごとにルートディレクトリーを持つ点はMS-DOS/Windowsに似ています。
デバイス
本製品は、システム再起動後もデータが保持される記憶デバイスとして、フラッシュメモリーとNVS(Non-Volatile Storage)を搭載しています。また、取り外し可能な外部記憶装置として、SDメモリーカードにも対応しています。それぞれの特長は次のとおりです。
表 1
名称 |
デバイス名 |
説明 |
フラッシュメモリー |
flash |
電源を切っても情報が保持される比較的大容量の記憶装置。起動用のファームウェアイメージファイルや設定スクリプトファイルなどを保存するために使う。一般的なコンピューターのハードディスクに相当する |
NVS(Non-Volatile Storage) |
nvs |
バッテリーバックアップされた比較的小容量の記憶装置。永続ログ(permanentログ)や各種設定情報を保存するために使う |
SDメモリーカード |
card |
電源を切っても情報が保持される着脱可能な記憶装置。ファームウェアイメージファイルや設定スクリプトファイルの持ち運び、バックアップ、インストールなどに使う |
これらのデバイス上にはファイルシステムが構築されており、ファイル単位でデータにアクセスすることが可能です。
ファイルとディレクトリー
各デバイス上のファイルシステムは、ファイルとディレクトリーから構成されています。ファイルはプログラムやテキストなど具体的なデータを格納する入れ物であり、ディレクトリーは他のファイルやディレクトリーを整理するための入れ物です。
ファイル名、ディレクトリー名の命名規則は一般的なUNIXファイルシステムに準じています。以下におもな特長を列挙します。大文字小文字を区別する点には特にご注意ください。
- 大文字小文字を区別する
たとえば、test.cfg、Test.cfg、test.CFGは、それぞれ別のファイルになります。
- さまざまな文字を使用可能
ただし、実運用上は、半角英数字と一部記号(ハイフン、アンダースコアなど)だけを使用することをおすすめします。
- ファイル名の最大長は約250文字(254文字)
ただし、あまり長い名前を付けると入力が面倒なので(CLIにファイル名の補完機能はありません)、実運用上は16文字程度にすることをおすすめします。
- ファイル名の形式は自由
ファイル名は一般的にベース名と拡張子をドット(.)で区切った形式としますが、ドットは複数あっても、まったくなくてもかまいません。たとえば、basename.txt、basename.ex1.ex2、basename-onlyはいずれも有効な名前です。
ただし、一部のファイルについては特定の拡張子を前提としています。次におもな例を挙げます。
表 2
拡張子 |
ファイルの種類 |
rel |
ファームウェアのイメージファイル |
cfg |
コンフィグファイル。設定を保存するだけであれば.cfgでなくてもよいが、boot config-fileコマンドで指定する起動時コンフィグ(スタートアップコンフィグ)の実体ファイルなどの場合は.cfgでなくてはならない |
scp |
スクリプトファイル。おもにトリガーから起動する |
core |
コアダンプファイル。例外発生時(プロセスが異常終了したとき)に自動生成されるファイルはこの拡張子を持つ |
また、以下の名前は予約されているため、ファイル名としては使用できません。
- flash
- nvs
- card
- tftp
- http
- scp
- sftp
- ドットファイル(隠しファイル)
名前の先頭にドット(.)が付いているファイルやディレクトリーは、「隠し属性」を持つものとして扱われます(ドットファイル)。ディレクトリー内容を表示するdirコマンドでは、allオプションを指定しないかぎり、隠し属性を持つファイルやディレクトリーは表示されません。
- 「.」と「..」
各ディレクトリーには、特殊な隠しディレクトリー「.」(ドット)と「..」(ドットドット)が暗黙のうちに存在しています。「.」はカレントディレクトリーを、「..」は親ディレクトリー(1階層上のディレクトリー)を表します。ただし、最上位のルートディレクトリーでは「..」と「.」は同じ意味になります。
- ディレクトリーもファイルの一種
ディレクトリーは、ファイルやディレクトリーを整理するという特殊な役割を持ちますがファイルの一種には変わりありません。したがって、ファイルとディレクトリーにはまったく同じ命名規則が適用されます。
ローカルパス表記
ローカルファイルシステム上のファイルやディレクトリーは、「ローカルパス」(パス)を使って表します。パスの表記には、大きく分けて次の3つの形式があります。
表 3
DEVICE:/PATH |
デバイス名を含む絶対パス |
指定したデバイス(DEVICE)のルートディレクトリー(/)を起点とした、あいまいさのまったくない厳密なパス表記です。この形式を使えば、カレントディレクトリーがどこであるかにかかわらず、ファイルやディレクトリーを一意に識別できます |
/PATH |
デバイス名を含まない絶対パス |
カレントディレクトリーの存在するデバイス(以下、カレントデバイスと呼びます)のルートディレクトリー(/)を起点としたパス表記です。同じ表記であっても、カレントデバイスがどこであるかによって、指し示されるファイルやディレクトリーが異なります |
PATH |
相対パス |
カレントディレクトリーを起点としたパス表記です。同じ表記であっても、カレントディレクトリーがどこであるかによって、指し示されるファイルやディレクトリーが異なります |
ここで、DEVICEは、前述した記憶デバイスの名前です。具体的にはflash、nvs、cardの3種類があります。
また、PATHは、各デバイス上におけるファイルやディレクトリーのパス名です。
パス名は0個以上のパス要素(ファイル名かディレクトリー名)をスラッシュ(/)で区切って連結したものです。パス名の最後の要素はファイル名かディレクトリー名、それ以外の要素は必ずディレクトリー名になります(例:「/DIR1/DIR2/FILE3」、「DIR4/DIR5」)。
先頭にスラッシュ(/)を付けた場合はルートディレクトリーからの絶対パス、そうでない場合はカレントディレクトリーからの相対パスと解釈されます。
以下では、各表記について具体例を挙げながら説明します。
デバイス名を含む絶対パス
■ 次の表記は、フラッシュメモリー上の絶対パス/bkup/070628.cfgを表します。
ここで、bkupがディレクトリーであることは間違いありませんが、070628.cfgがファイルであるかディレクトリーであるかは、名前からは判別できません。これを確認するには、該当要素(ここでは070628.cfg)の存在するディレクトリー(ここではflash:/bkup)に対してdirコマンドを実行してみます。
awplus# dir flash:/bkup ↓
312 -rw- Jun 28 2007 06:43:19 070628.cfg
|
ここでは、ファイル属性を表す「-rw-」欄の先頭文字が「-」なのでファイルと判断できます。同欄の先頭文字が「d」ならディレクトリーです(例「drwx」)。
■ なお、デバイス名の後には暗黙のうちにスラッシュ(/)が付加されます。すなわち、デバイス名から始まるパス表記は、つねに指定したデバイスのルートディレクトリー(/)を起点とする絶対パスとして扱われます。
たとえば、次のパス表記では、PATH要素(bkup/ipbasic.cfg)の先頭にスラッシュがありません。そのため、一見したところ相対パスであるような印象を受けます。
しかし、デバイス名flash:の後には暗黙のスラッシュが仮定されるため、実際には次の表記と同じ扱いを受けます。
さらに、デバイス名を単独で表記する場合はコロンを省略することもできますので、次の3つの表記も等価となります(フラッシュメモリー上のルートディレクトリーを指す)。
デバイス名を含まない絶対パス
■ 次の表記は、カレントデバイス上の絶対パス/log/messagesを表します。
これは、カレントデバイスがflashなら「flash:/log/messages」、nvsなら「nvs:/log/messages」、cardなら「card:/log/messages」を指し示します。
カレントデバイスとは、カレントディレクトリーの存在しているデバイスのことです(カレントディレクトリーはpwdコマンドで確認できます)。
相対パス
■ パス要素を1つだけ指定した次の表記は、相対パスのもっとも簡略な形式で、カレントディレクトリーに存在する指定した名前のファイルかディレクトリーを示します。
■ 次の表記は、カレントディレクトリーを起点とした相対パスtemp2/mynetwork.logを表します。
pwdコマンドで表示されるカレントディレクトリーが「flash:/temp」であるなら、この表記は「flash:/temp/temp2/mynetwork.log」を表します。pwdコマンドで表示されるカレントディレクトリーが「nvs:/」なら、この表記は「nvs:/temp2/mynetwork.log」を表します。
■ 次の表記は、カレントディレクトリーを起点とした相対パス../../mylan.cfgを表しています。「..」は前述のとおり、各ディレクトリーに存在する特殊な隠しディレクトリーで、「1階層上のディレクトリー」を示します。したがって、../..は2階層上のディレクトリーを表します。
pwdコマンドで表示されるカレントディレクトリーが「flash:/home/zein」であるなら、この表記は「flash:/mylan.cfg」を表します。
ワイルドカード
deleteコマンドとdirコマンドでは、ローカルファイルのパス指定時に特殊文字の「*」(アスタリスク)を使うことで、複数のファイルを一度に指定することができます。これをワイルドカード指定と呼びます。
これらのコマンドにおいて、アスタリスクはパス表記内での任意の文字列(空文字列を含む)を表します。
Note - デバイス名にワイルドカードを使うことはできません。
Note - ワイルドカードは、ピリオドで始まる隠しファイルや隠しディレクトリーの名前にはマッチしません。隠しファイルや隠しディレクトリーの名前にマッチさせるには、「.*」のようにしてピリオドを明示的に指定してください。
以下に例を示します。
■ 次の表記は、カレントディレクトリーにあるすべてのファイル、ディレクトリーを表します(隠しファイルと隠しディレクトリーは除く。以下同様)。
■ 次の表記は、カレントディレクトリーにある拡張子「.cfg」のファイル、ディレクトリーを表します。
■ 次の表記は、NVS上の/logディレクトリーにあるすべてのファイル、ディレクトリーを表します。
■ 次の表記は、フラッシュメモリーのルートディレクトリーにあるファイル、ディレクトリーのうち、先頭文字が「r」、その後に任意の文字列(空文字列も可)が続き、「1」が来た後にまた任意の文字列、さらにドットが来て、さらに任意の文字列が来て、最後に「l」が来るものを表します。具体的には「r1-5.2.1.rel」や「r12345.l」、「rr1rr1rr.1rl」などが当てはまります。
■ 次の表記は、1階層上のディレクトリーにある拡張子「.txt」を持つすべてのファイル、ディレクトリーを表します。
ローカルディレクトリーの操作
おもなディレクトリー操作についてコマンド例を示します。
Note - ファイルシステムの操作は基本的に特権EXECモードで行います。
■ カレントディレクトリーを確認するには、pwdコマンドを使います。
ログイン直後のカレントディレクトリーはフラッシュメモリーのルートディレクトリー(flash:/)です。
■ カレントディレクトリーを移動するには、cdコマンドを使います。
awplus# cd home/zein ↓
awplus# pwd ↓
flash:/home/zein
awplus# cd .. ↓
awplus# pwd ↓
flash:/home
awplus# cd nvs:/log ↓
awplus# pwd ↓
nvs:/log
awplus# cd flash:/ ↓
awplus# pwd ↓
flash:/
|
■ ディレクトリーを作成するにはmkdirコマンドを使います。
awplus# mkdir tmp ↓
Successful operation
|
■ ディレクトリーを移動するにはmoveコマンドを使います。
awplus# move tmp work ↓
Moving..
Successful operation
|
■ moveコマンドはディレクトリー名を変更(リネーム)するときにも使います。
awplus# move work work2 ↓
Moving..
Successful operation
|
■ ディレクトリーを削除するにはrmdirコマンドを使います。
awplus# rmdir unused ↓
Successful operation
|
ただし、rmdirコマンドでは、空でないディレクトリーを指定した場合はエラーになります。このようなときは、deleteコマンドでディレクトリー内のファイル、サブディレクトリーをすべて削除してから、もう一度rmdirコマンドを実行する必要があります。
あるいは、deleteコマンドをrecursiveオプション付きで実行すれば、指定したディレクトリー以下を一括削除できます。
awplus# delete recursive work2 ↓
Delete flash:/work2 and all of its contents? (y/n)[n]:y ↓
Deleting..
Successful operation
|
ローカルファイルの操作
おもなファイル操作についてコマンド例を示します。
Note - ファイルシステムの操作は基本的に特権EXECモードで行います。
■ カレントディレクトリーのファイルとサブディレクトリーの一覧は、dirコマンドで表示できます。
awplus# dir ↓
12547211 -rw- Nov 30 2007 16:41:33 r1-5.2.1-0.2.rel
594 -rw- Nov 26 2007 04:58:03 snmpv1.cfg
564 -rw- Nov 26 2007 04:57:28 basicip.cfg
472 -rw- Nov 26 2007 04:57:10 basicvlan.cfg
312 -rw- Nov 26 2007 04:56:41 default.cfg
12534263 -rw- Oct 1 2007 09:24:29 r1-5.2.1.rel
|
■ 特定ファイルの一覧を見たいときはワイルドカードを使います。
awplus# dir *.cfg ↓
594 -rw- Nov 26 2007 04:58:03 flash:/snmpv1.cfg
564 -rw- Nov 26 2007 04:57:28 flash:/basicip.cfg
472 -rw- Nov 26 2007 04:57:10 flash:/basicvlan.cfg
312 -rw- Nov 26 2007 04:56:41 flash:/default.cfg
|
■ ファイルの内容を見るには、show fileコマンドを使います。ただし、show fileコマンドで見ることができるのはテキスト形式のファイル(.txt、.log、.cfgなど)だけです。
awplus# show file snmpv1.cfg | include ip ↓
ip domain-lookup
no ip multicast-routing
ip address 172.16.10.1/24
ip address 172.21.10.1/24
|
■ ファイルを削除するにはdeleteコマンドを使います。ワイルドカード指定で複数ファイルをまとめて消すことも可能です。
awplus# del *.core ↓
Delete flash:nsm-r1-5.1.1-1180494447.core? (y/n)[n]:y ↓
Deleting..
Delete flash:nsm-r1-5.1.1-1180496473.core? (y/n)[n]:y ↓
Deleting..
Delete flash:nsm-r1-5.1.1-1180504045.core? (y/n)[n]:y ↓
Deleting..
Delete flash:nsm-r1-5.1.1-1180917976.core? (y/n)[n]:y ↓
Deleting..
Successful operation
|
Note - deleteコマンドでファイルを削除するときは、対象ファイル1つ1つに対して、本当に削除してよいかを確認してきますが、必要なファイルまで削除してしまわないよう充分にご注意ください。
Note - 削除したファイルを元に戻すことはできません。ファイル操作時は充分注意を払ってください。
■ ファイルをコピーするにはcopyコマンドを使います。
awplus# copy basicip.cfg basicip-backup.cfg ↓
|
■ ファイルを移動するにはmoveコマンドを使います。
awplus# move fuga.txt /home/zein/doc ↓
Moving..
Successful operation
|
■ moveコマンドはファイル名を変更(リネーム)するときにも使います。
awplus# move pote.txt bote.txt ↓
Moving..
Successful operation
|
■ テキスト形式のファイルを編集するには、editコマンド(内蔵フルスクリーンテキストエディター)を使います。
awplus# edit myscript.cfg ↓
|
リモートファイル
本製品の記憶デバイス上に存在する「ローカルファイル」に対し、ネットワーク上の他のホストに存在するファイルを「リモートファイル」と呼びます。
本製品では、各種ファイル操作コマンドにおいて、リモートファイルをローカルファイルとほぼ同様に扱うことができます。
リモートURL表記
本製品では、リモートファイルおよびディレクトリーの場所を、次に示す「リモートURL」(URL)形式で表します。
Note - ローカルファイルを表すときに使用するパス(特に「デバイス名を含む絶対パス」)もURLの一種と考えることができますが、本マニュアルではリモートファイルを表す表記形式を「(リモート)URL」、ローカルファイルを表す表記形式を「(ローカル)パス」と呼んで区別することにします。
- HTTPサーバー上のファイルおよびディレクトリー
http://HOST/PATH
- TFTPサーバー上のファイルおよびディレクトリー
tftp://HOST/PATH
- SCP(SSH)サーバー上のファイルおよびディレクトリー
scp://USER@HOST/PATH
- SFTP(SSH)サーバー上のファイルおよびディレクトリー
sftp://USER@HOST/PATH
ここで、http、tftp、scp、sftpは、リモートファイルにアクセスするための方式(プロトコル)を表します。
HOSTは、リモートホストのIPアドレス(IPv4/IPv6)またはホスト名です。
Note - IPv6を使用するにはフィーチャーライセンスが必要です。
Note - IPv4とIPv6の両方に対応しているのはSCPとSFTPだけです。TFTPとHTTPはIPv4のみの対応です。
Note - URL中にIPv6アドレスを記述するときは、アドレス全体をスクエアブラケット([ ])で囲んでください(例:「scp://manager@[3ffe:3:3:10::3]/backup.cfg」)。
Note - リモートホストをIPアドレス(IPv4/IPv6)ではなくドメイン名で指定するためには、あらかじめip name-serverコマンドでDNSサーバーの設定をしておき(初期状態では未設定)、ip domain-lookupコマンドでDNSへの問い合わせ機能を有効にしておく必要があります(初期状態で有効)。なお、指定したホスト名が複数のアドレスに解決された場合(IPv4アドレスとIPv6アドレスの両方が返ってきた場合や、複数のIPv4アドレスあるいは複数のIPv6アドレスが返ってきた場合など)は、成功するまで各アドレスを順に使って接続を試行しますが、その順序は不定です。
PATHは、リモートホスト上におけるファイルやディレクトリーのパスです。パスの表記形式や意味合いは、使用するアクセス方式(プロトコル)やリモートホストの設定によって異なります。
USERは、リモートホストにログインするためのユーザー名です。ログインを必要とするアクセス方式(プロトコル)でのみ有効です。
リモートファイルの操作
以下では、リモートファイルを操作する具体的なコマンド例を示します。
Note - ファイルシステムの操作は基本的に特権EXECモードで行います。
■ カレントディレクトリーにあるbasic.cfgをTFTPサーバーhiyoko.example.comにアップロードし、同サーバー上のファイルbasic.cfgとして保存する(バックアップする)には次のようにします。
awplus# copy basic.cfg tftp://hiyoko.example.com/basic.cfg ↓
Copying..
Successful operation
|
■ TFTPによるファイルダウンロードを対話式に行うには、コピー元に「tftp」、コピー先に「flash」(あるいは「nvs」)とだけ指定します。
awplus# copy tftp flash ↓
Enter source host name []:172.17.28.70 ↓ (TFTPサーバー)
Enter source file name []:r1-5.2.1.rel ↓ (ダウンロード対象ファイル)
Enter destination file name [r1-5.2.1.rel]: ↓ (ダウンロード後ファイル名。カッコ内の名前でよければ単にEnter)
Copying........................................
Successful operation
|
■ TFTPによるファイルアップロードを対話式に行うには、コピー先に「tftp」とだけ指定します。以下の例ではコピー元ファイル名を明示していますが、単に「flash」などと指定すればコピー元ファイルのパスも対話式に入力できます。
awplus# copy test2345.cfg tftp ↓
Enter destination host name []:172.17.28.70 ↓ (TFTPサーバー)
Enter destination file name [test2345.cfg]: ↓ (アップロード後ファイル名。カッコ内の名前でよければ単にEnter)
Copying..
Successful operation
|
■ HTTPサーバーwww.example.com上のファイル/~zein/work/myconfig.cfgをダウンロードし、カレントディレクトリーのファイルmyconfig.cfgとして保存するには次のようにします。
awplus# copy http://www.example.com/~zein/work/myconfig.cfg myconfig.cfg ↓
Copying..
Successful operation
|
■ HTTPによるファイルダウンロードを対話的に行うには、コピー元に「http」、コピー先に「flash」(あるいは「nvs」)とだけ指定します。
awplus# copy http flash ↓
Enter source host name []:172.17.28.70 ↓ (HTTPサーバー)
Enter source file name []:~zein/work/weekly.txt ↓ (ダウンロード対象ファイル)
Enter destination file name [weekly.txt]: ↓ (ダウンロード後ファイル名。カッコ内の名前でよければ単にEnter)
Copying..
Successful operation
|
■ SCPによるファイルダウンロードを対話式に行うには、コピー元に「scp」、コピー先に「flash」(あるいは「nvs」)とだけ指定します。
awplus# copy scp flash ↓
Enter source host name []:zein@172.17.28.1 ↓ (SCP(SSH)サーバー。通常は「ユーザー名@」を前置する)
Enter source file name []:tmp/test3456.cfg ↓ (ダウンロード対象ファイル)
Enter destination file name [test3456.cfg]: ↓ (ダウンロード後ファイル名。カッコ内の名前でよければ単にEnter)
Password:XXXXXXXX ↓ (SSHサーバーにログインするためのパスワード。実際には表示されません)
Copying..
Successful operation
|
■ SCPによるファイルアップロードを対話式に行うには、コピー先に「scp」とだけ指定します。以下の例ではコピー元ファイル名を明示していますが、単に「flash」などと指定すればコピー元ファイルのパスも対話式に入力できます。
awplus# copy test4567.cfg scp ↓
Enter destination host name []:zein@172.17.28.1 ↓ (SCP(SSH)サーバー。通常は「ユーザー名@」を前置する)
Enter destination file name [test4567.cfg]: ↓ (アップロード後ファイル名。カッコ内の名前でよければ単にEnter)
Copying..
Successful operation
|
■ SSHサーバー上のファイルwww/work/myconfig.cfgをSSHのサブアプリケーションであるSFTP(Secure FTP)経由で取得し、フラッシュメモリーのルートディレクトリーにmyconfig2.cfgとして保存するには次のようにします。ここでは、ログイン時のユーザー名としてはzeinを使用しています。
awplus# copy sftp://zein@www.example.com/www/work/myconfig.cfg flash:/myconfig2.cfg ↓
Password:XXXXXX ↓ (SSHサーバーにログインするためのパスワード。実際には表示されません)
Copying..
Successful operation
|
■ SFTPによるファイルダウンロードを対話式に行うには、コピー元に「sftp」、コピー先に「flash」(あるいは「nvs」)とだけ指定します。
awplus# copy sftp flash ↓
Enter source host name []:zein@172.17.28.1 ↓ (SFTP(SSH)サーバー。通常は「ユーザー名@」を前置する)
Enter source file name []:tmp/test5678.cfg ↓ (ダウンロード対象ファイル)
Enter destination file name [test5678.cfg]: ↓ (ダウンロード後ファイル名。カッコ内の名前でよければ単にEnter)
Password:XXXXXXXX ↓ (SSHサーバーにログインするためのパスワード。実際には表示されません)
Copying..
Successful operation
|
コンソールポート経由のファイル転送
本製品では、copyコマンドを使って、コンソールポート経由のファイル転送を行うこともできます。ファイル転送プロトコルとしては、ZMODEMを使用します。
Note - ファイルシステムの操作は基本的に特権EXECモードで行います。
■ カレントディレクトリーにあるファイルmyconfig2.cfgをコンソールポート経由で送信するには次のようにします。
awplus# copy myconfig2.cfg zmodem ↓
**B00000000000000
(通信ソフトウェア側でZMODEMによるファイル受信の操作を行う)
|
■ コンソールポート経由でファイルを受信し、カレントディレクトリーに保存するには次のようにします。保存時の名前にはZMODEMで通知されたものが使われます。
awplus# copy zmodem ↓
rz waiting to receive.**B0100000023be50
(通信ソフトウェア側でZMODEMによるファイル送信の操作を行う)
|
(C) 2007 - 2009 アライドテレシスホールディングス株式会社
PN: 613-000751 Rev.J