本文中,作者David Davis将列举出我们常用的 Cisco IOS文件管理命令,帮助我们巩固如何管理好Cisco 路由器上flash, nvram或其它文件系统里的文件,并教大家如何简单快速的备份路由器配置,升级路由器,或者仅仅是维护IOS文件系统。
--------------------------------------------------------------------------------------------
和Windows 或 Linux操作系统一样, Cisco IOS 也有自己管理文件的命令,这和DOS/Windows 的命令很类似。这些命令所管理和维护的文件包括IOS 路由器操作系统文件,配置文件或者其它类型的IOS 文件。对于任何Cisco管理员来说,知道这些命令都是必须的。
接下来就让我们看看十条必须知道的Cisco IOS 文件管理命令。
#1 dir
这条指令用来显示文件夹下的文件列表,输入dir ? 可以查看可选参数。如下所示:
/all             List all files  /recursive       List files recursively  all-filesystems  List files on all filesystems  archive:         Directory or file name  cns:             Directory or file name  flash:           Directory or file name  null:            Directory or file name  nvram:           Directory or file name  system:          Directory or file name  tar:             Directory or file name  tmpsys:          Directory or file name  xmodem:          Directory or file name  ymodem:          Directory or file name  Router#  以上每一种文件系统(比如flash,nvram等带冒号的)都相当于 DOS系统里的磁盘分区,你需要在其名称后面加冒号。默认情况下,dir会列出路由器flash中的文件,因为默认的当前路径就是flash:
Router# dirDirectory of flash:/    2  -rwx    18929780  Aug 29 2006 15:49:57 +00:00  c870-advipservicesk9-mz.124-15.T5.bin    3  -rwx        2143  Aug 29 2006 16:42:14 +00:00  running-config23482368 bytes total (4544512 bytes free)Router#  每个路由器至少都会包含flash内存和nvram 内存。
#2 cd
改变路径。你可以使用 cd 命令改变当前所在的路径。在下面的例子里,我将路径改到了nvram文件系统下,并通过dir命令列出了nvram内存中的文件。我还可以使用mkdir建立一个文件夹,并用 cd 命令进入该文件夹。
Router#cd nvram:Router#dirDirectory of nvram:/  126  -rw-        2143                      startup-config  127  ----           5                      private-config  128  -rw-        2143                      underlying-config    1  ----          49                      persistent-data    2  -rw-           0                      ifIndex-table131072 bytes total (116584 bytes free)Router#  
#3 copy
这个命令用来将 IOS 或一个配置文件拷贝到某处。你可以用这个命令将路由器配置文件拷贝到 TFTP 服务器上,或者拷贝到路由器里的某个文件夹中作为备份。你还可以用 copy 命令将新的IOS 文件从TFTP服务器拷贝到路由器里,实现路由器升级。
这里我使用copy命令为路由器建立一个本地的配置备份:
Router#copy running-config davids-backup-before-upgradeDestination filename [davids-backup-before-upgrade]?2181 bytes copied in 3.052 secs (715 bytes/ sec)Router#   #4 delete 和 rm
这两个命令都很简单 delete 用来删除文件, rm 用来删除文件夹。比如我用delete命令删除我刚刚创建的配置备份文件:
Router#delete davids-backup-before-upgradeDelete filename [davids-backup-before-upgrade]?Delete flash:/davids-backup-before-upgrade? [confirm]Router#  
#5 show flash
这个命令用来显示flash中的文件。show flash 命令和 dir flash 命令类似,但是前者比后者显示出的信息更丰富一些,即多出了flash内存大小和类型信息
Router#show flash24576K bytes of processor board System flash (Intel Strataflash)Directory of flash:/    2  -rwx    18929780  Aug 29 2006 15:49:57 +00:00  c870-advipservicesk9-mz.124-15.T5.bin    3  -rwx        2181   Oct 4 2006 04:03:00 +00:00  mybackup-today23482368 bytes total (4544512 bytes free)Router#  
#6 erase 和 format
要弄懂为什么要erase 一种文件系统,而format 另一种系统,可能会比较麻烦。所以你只需要知道应该format flash中的文件系统,而erase nvram里的文件系统。其余文件则根据其类型既可以erase又可以format。erase 命令大多数时候都是用在清除路由器配置,恢复出场配置的情况。具体的命令就是 erase startup-configuration 。
Router# erase ?  /all                       Erase all files(in NVRAM)  /no-squeeze-reserve-space  Do not reserve space for squeeze operation  flash:                     Filesystem to be erased  nvram:                     Filesystem to be erased  startup-config             Erase contents of configuration memoryRouter# format ?  flash:  Filesystem to be formattedRouter#  
#7 more
这个命令可以显示文本/配置文件的内容。比如你想查看一个备份的配置文件,就可以使用more 命令来查看该文件的内容:
Router# more my-backup-config!version 12.4parser config cache interfaceparser config interface{config truncated}  
#8 verify
这个命令用来核查或者计算一个文件的MD5校验和。
Router#verify flash:c870-advipservicesk9-mz.124-15.T5.binVerifying file integrity of flash:c870-advipservicesk9-mz.124-15.T5.bin................... Done!Embedded Hash   MD5 : CA8AEC573B197AEC6BD5892DE23C4754Computed Hash   MD5 : CA8AEC573B197AEC6BD5892DE23C4754CCO Hash        MD5 : 9D39672246853C0F31533B6BCB21DFE5Embedded hash verification successful.File system hash verification failed for file flash:c870-advipservicesk9-mz.124-15.T5.bin(No such file or directory).Router#  
#9 mkdir
和DOS环境一样,你也可以在路由器中使用 mkdir 命令创建文件夹。一般我用这个命令来创建备份文件夹,用来存储配置文件或者 ISO文件的备份。
Router# mkdir backup-configsCreate directory filename [backup-configs]?Created dir flash:backup-configsRouter#  
#10 fsck
FAT 文件系统检测主要是用来检测flash文件系统的完整性。如果你感觉ISO文件有损坏,可以通过这个命令对文件系统进行检查。
Router# fsckFsck operation may take a while. Continue? [confirm]............Fsck of flash: completeRouter#  
以上介绍的命令都是最常用的IOS命令,如果要从中再选出三个最常用的命令,那就是以下这三种情况所使用的命令了:
1. 浏览 Cisco IOS 文件系统 — 查看路由器中的配置文件以及IOS文件都需要使用这个命令,尤其是在升级路由器之前。
2. 将配置导入路由器,或将配置从路由器中导出到TFTP服务器上,备份时最常用的命令。
3. 将ISO文件从TFTP服务器拷贝到路由器上,这是在升级Cisco IOS 时必须要用到的命令。
记住以上列出的全部IOS 文件管理命令非常重要,你应该知道这些命令的作用,以及如何使用这些命令。如果路由器ISO损坏,而你却不知道该如何恢复,那就太丢人了。