ファイルシステムの操作

ルータのフラッシュメモリなどにディレクトリを作成、削除したり、ファイルをコピー、作成、削除するなどのファイルシステムの操作も可能です。Windowsのコマンドプロンプトとよく似ています。ファイルシステムの操作の概要について解説します。

ファイルシステムの表示

利用可能なファイルシステムをshow file systemsコマンドで確認することができます。

R1#show file systems
File Systems:

     Size(b)     Free(b)      Type  Flags  Prefixes
           -           -    opaque     rw   archive:
           -           -    opaque     rw   system:
      129016      127563     nvram     rw   nvram:
           -           -    opaque     rw   null:
           -           -   network     rw   tftp:
*    8388604     8388604     flash     rw   flash:
           -           -     flash     rw   slot0:
           -           -     flash     rw   slot1:
           -           -    opaque     wo   syslog:
           -           -    opaque     rw   xmodem:
           -           -    opaque     rw   ymodem:
           -           -   network     rw   rcp:
           -           -   network     rw   pram:
           -           -   network     rw   http:
           -           -   network     rw   ftp:
           -           -    opaque     ro   cns:

ファイルシステムを識別するための識別子は、以下のように定義されています。

メモリ領域 ファイルシステム識別子
RAM system:
フラッシュメモリ flash:
NVRAM nvram;
USBフラッシュメモリ usbflash0:
TFTP tftp:
HTTP http:

ファイルシステム識別子とファイル名によって、さまざまなメモリ領域上のデータをファイルとして特定できます。

デフォルトファイルシステムの変更

デフォルトのディレクトリを変更するために、cd(change directory)コマンドを利用します。デフォルトは「flash:」です。デフォルトディレクトリを指定すると、関連するコマンドの指定にディレクトリを省略できます。また、現在のデフォルトのディレクトリは、pwdコマンドで確認できます。

R1#cd nvram:
R1#pwd
nvram:/

ファイルのリストの表示

dirコマンドでディレクトリ内のファイルのリストを表示することができます。

#dir [<filesystem:>]

R1#dir
Directory of nvram:/

  123  -rw-        1401                      startup-config
  124  ----           0                      private-config

129016 bytes total (127563 bytes free)

ディレクトリの作成、削除

ディレクトリを作成するために、特権EXECモードでmkdirコマンドを利用します。

#mkdir <directory-name>

Center#mkdir temp
Create directory filename [temp]?
Created dir flash:temp
Center#dir
Directory of flash:/

    1  -rw-    30112780  Sep 13 2012 06:43:22 +00:00  c890-universalk9-mz.150-1.M3.bin
    2  -rw-         840   Aug 6 2014 01:57:46 +00:00  vlan.dat
    3  drw-           0  Jun 26 2019 01:35:40 +00:00  temp

252997632 bytes total (222875648 bytes free)

また、ディレクトリを削除するにはdeleteコマンドを利用します。

#delete [/force] [/recursive] <directory-name>

/forceのオプションは削除を確認するプロンプトを省略します。/recursiveのオプションはディレクトリのすべてのファイルおよびサブディレクトリを削除します。

ディレクトリの削除には、rmdirコマンドも利用できます。

ファイルのコピー

設定ファイルの保存と管理でも触れているcopyコマンドによって、ファイルのコピーを実行できます。

#copy <source-filename> <destination-filename>

copyコマンドはrunning-configをstartup-configにコピーするだけでなく、IOSで管理するさまざまなファイルのコピーが可能です。

tarファイルの作成

ディレクトリ内のファイルを1つにまとめるtarファイルを作成できます。tarファイルを作成するには次のコマンドを利用します。

archive tar /create <destination-filename> <source-directory-name>

<destination-filename> : 作成するtarファイル名
<source-directory-name> : tarファイルにまとめるディレクトリ名

また、tarファイル内にまとめているファイルのリストを確認するには、次のコマンドを利用します。

archive tart /table <filename>

<filename> : tarファイル名

以下は、「configs」ディレクトリの中のファイルを「configs.tar」のファイルにまとめている例です。

Center#dir configs
Directory of flash:/configs/

    6  -rw-        1241  Jun 26 2019 04:56:42 +00:00  config1.cfg
    7  -rw-        1241  Jun 26 2019 04:57:20 +00:00  config2.cfg

252997632 bytes total (222863360 bytes free)
Center#archive tar /create configs.tar flash:/configs
archiving config1.cfg (1241 bytes)
archiving config2.cfg (1241 bytes)
Center#dir
Directory of flash:/

    1  -rw-    30112780  Sep 13 2012 06:43:22 +00:00  c890-universalk9-mz.150-1.M3.bin
    2  -rw-         840   Aug 6 2014 01:57:46 +00:00  vlan.dat
    3  drw-           0  Jun 26 2019 01:38:26 +00:00  temp
    5  drw-           0  Jun 26 2019 04:56:18 +00:00  configs
    8  -rw-        4096  Jun 26 2019 05:47:02 +00:00  configs.tar


Center#archive tar /table configs.tar
config1.cfg (1241 bytes)
config2.cfg (1241 bytes)

ファイルの内容の表示

moreコマンドで読み込み可能なファイルの内容をコンソール上に表示することができます。

#more <filename>

<filename> : 表示するファイル名

以下は、「configs」ディレクトリ内の「config1.cfg」の内容を表示している例です。

Center#more flash:/configs/config1.cfg
!
version 15.0
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname Center
!
boot-start-marker
boot-end-marker
~省略~