運用・管理 / ファイル操作


ローカルファイル
デバイス
ファイルとディレクトリー
ローカルパス表記
デバイス名を含む絶対パス
デバイス名を含まない絶対パス
相対パス
ワイルドカード
ローカルディレクトリーの操作
ローカルファイルの操作
AMFネットワークにおけるファイル操作
VCS構成におけるファイル操作
リモートファイル
リモートURL表記
リモートファイルの操作
コンソールポート経由のファイル転送


本製品におけるファイルの操作方法について説明します。

ローカルファイル

本製品の記憶デバイス上に存在するファイルを「ローカルファイル」と呼びます。

本製品では、物理的な記憶デバイス上にファイルシステムが構築されており、各種デバイス上のデータを「ファイル」として統一的にアクセスすることが可能です。

本製品のファイルシステムは、UNIXやMS-DOS/Windowsとよく似た階層型のファイルシステムです。ディレクトリー区切りがスラッシュ(/)である点や、パス名の大文字小文字を区別する点はUNIXに準じていますが、デバイスごとにルートディレクトリーを持つ点はMS-DOS/Windowsに似ています。

デバイス

本製品は、システム再起動後もデータが保持される記憶デバイスとして、フラッシュメモリーとNVS(Non-Volatile Storage)を搭載しています。また、取り外し可能な外部記憶装置として、USBメモリーにも対応しています。それぞれの特長は次のとおりです。

表 1
名称
デバイス名
説明
フラッシュメモリー flash 電源を切っても情報が保持される比較的大容量の記憶装置。起動用のファームウェアイメージファイルや設定スクリプトファイルなどを保存するために使う。また、例外発生時(プロセスが異常終了したとき)に生成されるコアダンプファイル(*.tgz)や永続ログ(permanentログ)もフラッシュメモリーに保存される。一般的なコンピューターのハードディスクに相当する
NVS(Non-Volatile Storage) nvs バッテリーバックアップされた比較的小容量の記憶装置。各種設定情報を保存するために使う
USBメモリー usb 電源を切っても情報が保持される着脱可能な記憶装置。ファームウェアイメージファイルや設定スクリプトファイルの持ち運び、バックアップ、インストールなどに使う。サポートするファイルシステム(フォーマット)はFAT32、ext2、ext3、ext4

Note
フラッシュメモリーの空き容量が8MByte以下の場合、NSMプロセス異常終了時のコアダンプファイル(*.tgz)が正しく保存されません。コアダンプファイルを正しく保存するには10MByte以上の空き容量を確保して運用するようにしてください。フラッシュメモリーの空き容量を確認するにはshow file systemsコマンドを、不要なファイルを削除するにはdeleteコマンドを使います。また、例外の発生日時や対象プロセスは、show exception logコマンドで確認できます。

Note
USBメモリー上の起動時コンフィグ(スタートアップコンフィグ)の実体ファイルを指定するには、USB 2.0である必要があります。ご使用の際には、お客様の使用環境で事前に検証を行った上で導入してください。

Note
機器に装着している外部メディア(USBメモリー)を抜き、再度機器に装着した時、以下のログが出ます。

また、機器に装着している外部メディアを抜き、PCに装着すると、PC上で「スキャンして修復しますか?」というメッセージが出ますが、ログのみの問題で、ファイルの破損はありません。

これらのデバイス上にはファイルシステムが構築されており、ファイル単位でデータにアクセスすることが可能です。

ファイルとディレクトリー

各デバイス上のファイルシステムは、ファイルとディレクトリーから構成されています。ファイルはプログラムやテキストなど具体的なデータを格納する入れ物であり、ディレクトリーは他のファイルやディレクトリーを整理するための入れ物です。

ファイル名、ディレクトリー名の命名規則は一般的なUNIXファイルシステムに準じています。以下におもな特長を列挙します。大文字小文字を区別する点には特にご注意ください。


ローカルパス表記

ローカルファイルシステム上のファイルやディレクトリーは、「ローカルパス」(パス)を使って表します。パスの表記には、大きく分けて次の3つの形式があります。

表 3
DEVICE:/PATH デバイス名を含む絶対パス 指定したデバイス(DEVICE)のルートディレクトリー(/)を起点とした、あいまいさのまったくない厳密なパス表記です。この形式を使えば、カレントディレクトリーがどこであるかにかかわらず、ファイルやディレクトリーを一意に識別できます
/PATH デバイス名を含まない絶対パス カレントディレクトリーの存在するデバイス(以下、カレントデバイスと呼びます)のルートディレクトリー(/)を起点としたパス表記です。同じ表記であっても、カレントデバイスがどこであるかによって、指し示されるファイルやディレクトリーが異なります
PATH 相対パス カレントディレクトリーを起点としたパス表記です。同じ表記であっても、カレントディレクトリーがどこであるかによって、指し示されるファイルやディレクトリーが異なります

ここで、DEVICEは、前述した記憶デバイスの名前です。具体的にはflashnvsusbの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- Feb 28 2011 06:43:19  070628.cfg

ここでは、ファイル属性を表す「-rw-」欄の先頭文字が「-」なのでファイルと判断できます。同欄の先頭文字が「d」ならディレクトリーです(例「drwx」)。

■ なお、デバイス名の後には暗黙のうちにスラッシュ(/)が付加されます。すなわち、デバイス名から始まるパス表記は、つねに指定したデバイスのルートディレクトリー(/)を起点とする絶対パスとして扱われます。

たとえば、次のパス表記では、PATH要素(bkup/ipbasic.cfg)の先頭にスラッシュがありません。そのため、一見したところ相対パスであるような印象を受けます。


しかし、デバイス名flash:の後には暗黙のスラッシュが仮定されるため、実際には次の表記と同じ扱いを受けます。


さらに、デバイス名を単独で表記する場合はコロンを省略することもできますので、次の3つの表記も等価となります(フラッシュメモリー上のルートディレクトリーを指す)。


デバイス名を含まない絶対パス

■ 次の表記は、カレントデバイス上の絶対パス/log/messagesを表します。


これは、カレントデバイスがflashなら「flash:/log/messages」、nvsなら「nvs:/log/messages」、usbなら「usb:/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」のファイル、ディレクトリーを表します。


■ 次の表記は、フラッシュメモリー上の/logディレクトリーにあるすべてのファイル、ディレクトリーを表します。


■ 次の表記は、フラッシュメモリーのルートディレクトリーにあるファイル、ディレクトリーのうち、先頭文字が「ABC」、その後に任意の文字列(空文字列も可)が続き、「5」が来た後にまた任意の文字列、さらにドットが来て、さらに任意の文字列が来て、最後に「t」が来るものを表します。具体的には「ABC-123456789.txt」や「ABC12345.t」、「ABC01A5AA.1rt」などが当てはまります。


■ 次の表記は、1階層上のディレクトリーにある拡張子「.txt」を持つすべてのファイル、ディレクトリーを表します。


ローカルディレクトリーの操作

おもなディレクトリー操作についてコマンド例を示します。

Note
ファイルシステムの操作は基本的に特権EXECモードで行います。

■ カレントディレクトリーを確認するには、pwdコマンドを使います。
ログイン直後のカレントディレクトリーはフラッシュメモリーのルートディレクトリー(flash:/)です。
awplus# pwd
flash:/

■ カレントディレクトリーを移動するには、cdコマンドを使います。
awplus# cd home/zein
awplus# pwd
flash:/home/zein

awplus# cd ..
awplus# pwd
flash:/home

awplus# cd flash:/log
awplus# pwd
flash:/log

awplus# cd flash:/
awplus# pwd
flash:/
Note
外部メディア(USBメモリー)を抜く前には、必ずcdコマンドでカレントディレクトリーを外部メディア以外のデバイスに移動してください。カレントディレクトリーが外部メディア上にある状態で、外部メディアを抜き、その後外部メディアを挿しなおすと、本製品が外部メディアを認識しないことがあります。その場合は、カレントディレクトリーを外部メディア以外に移動し(例:cd flash:/)、その後外部メディアを抜き挿ししてください。

Note
Apricorn社のSecureUSBメモリーASK-256-8GB/16GB/32GB使用時、カレントディレクトリーがUSBメモリー上にある間は、ASK-256-8GB/16GB/32GB上のアクセスLEDが点滅状態のままになりますが、動作上の問題はありません。また、カレントディレクトリーをUSBメモリー以外に移動すると点滅状態は解除されます。

■ ディレクトリーを作成するには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
「flash:/log」ディレクトリーには永続ログ(permanentログ)が保存されているため、誤って削除しないようご注意ください。

ローカルファイルの操作

おもなファイル操作についてコマンド例を示します。

Note
ファイルシステムの操作は基本的に特権EXECモードで行います。

■ カレントディレクトリーのファイルとサブディレクトリーの一覧は、dirコマンドで表示できます。
awplus# dir
 20593063 -rwx Jan  7 2013 00:46:55  x510-5.5.0-1.3.rel
      594 -rw- Feb 26 2011 04:58:03  snmpv1.cfg
      564 -rw- Feb 26 2011 04:57:28  basicip.cfg
      472 -rw- Feb 26 2011 04:57:10  basicvlan.cfg
      312 -rw- Feb 26 2011 04:56:41  default.cfg

■ 特定ファイルの一覧を見たいときはワイルドカードを使います。
awplus# dir *.cfg
      594 -rw- Feb 26 2011 04:58:03  flash:/snmpv1.cfg
      564 -rw- Feb 26 2011 04:57:28  flash:/basicip.cfg
      472 -rw- Feb 26 2011 04:57:10  flash:/basicvlan.cfg
      312 -rw- Feb 26 2011 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-xxxxxxxxxxx-X.Y.Z-1180494447.core? (y/n)[n]:y 
Deleting..
Delete flash:nsm-xxxxxxxxxxx-X.Y.Z-1180496473.core? (y/n)[n]:y 
Deleting..
Delete flash:nsm-xxxxxxxxxxx-X.Y.Z-1180504045.core? (y/n)[n]:y 
Deleting..
Delete flash:nsm-xxxxxxxxxxx-X.Y.Z-1180917976.core? (y/n)[n]:y 
Deleting..
Successful operation

Note
deleteコマンドでファイルを削除するときは、対象ファイル1つ1つに対して、本当に削除してよいかを確認してきますが、必要なファイルまで削除してしまわないよう充分にご注意ください。

Note
削除したファイルを元に戻すことはできません。ファイル操作時は充分注意を払ってください。

Note
「flash:/log」ディレクトリーには永続ログ(permanentログ)が保存されているため、誤って削除しないようご注意ください。

■ ファイルをコピーするには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

AMFネットワークにおけるファイル操作

AMFネットワークでは、特殊な記法により他のAMFノードのファイルシステムを操作できます。詳しくは「アライドテレシスマネージメントフレームワーク(AMF)」の応用編をご覧ください。

VCS構成におけるファイル操作

VCS構成時には、特殊な記法により他のVCSメンバーのファイルシステムを操作できます。詳しくは「バーチャルシャーシスタック(VCS)」の応用編をご覧ください。

リモートファイル

本製品の記憶デバイス上に存在する「ローカルファイル」に対し、ネットワーク上の他のホストに存在するファイルを「リモートファイル」と呼びます。

本製品では、各種ファイル操作コマンドにおいて、リモートファイルをローカルファイルとほぼ同様に扱うことができます。

リモートURL表記

本製品では、リモートファイルおよびディレクトリーの場所を、次に示す「リモートURL」(URL)形式で表します。

Note
ローカルファイルを表すときに使用するパス(特に「デバイス名を含む絶対パス」)もURLの一種と考えることができますが、本マニュアルではリモートファイルを表す表記形式を「(リモート)URL」、ローカルファイルを表す表記形式を「(ローカル)パス」と呼んで区別することにします。


ここで、httptftpscpsftpは、リモートファイルにアクセスするための方式(プロトコル)を表します。

HOSTは、リモートホストのIPアドレス(IPv4/IPv6)またはホスト名です。

Note
IPv4とIPv6の両方に対応しているのはSCPとSFTPだけです。TFTPとHTTPはIPv4のみの対応です。

Note
URL中にIPv6アドレスを記述するときは、アドレス全体をスクエアブラケット([ ])で囲んでください(例:「scp://manager@[2001:db8: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」とだけ指定します。
awplus# copy tftp flash
Enter source host name []:172.17.28.70 ↓ (TFTPサーバー)
Enter source file name []:x510-5.5.0-1.3.rel ↓ (ダウンロード対象ファイル)
Enter destination file name [x510-5.5.0-1.3.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」とだけ指定します。
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」とだけ指定します。
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」とだけ指定します。
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) 2012 - 2020 アライドテレシスホールディングス株式会社

PN: 613-001763 Rev.AK