A directory on a Cisco router is a file system location where configuration files, IOS images, and other files are stored. Directories work similarly to folders on a computer. Over time, these directories can accumulate unused or outdated files that take up router flash memory and other resources. Some reasons you may want to delete a directory on a Cisco router include:
– Removing old IOS versions that are no longer needed after an upgrade
– Deleting configuration files that are outdated and not being used
– Freeing up flash memory space taken up by unnecessary files
– Improving performance by eliminating unused directories that are scanned during operations
– Tidying up the filesystem and eliminating clutter
– Eliminating files that may pose a security risk if accessed by unauthorized individuals
Deleting unnecessary directories helps optimize router storage resources, enhances performance, and tightens security. This article provides step-by-step instructions for properly deleting directories on Cisco routers.
Before deleting a directory on a Cisco router, there are a few prerequisites that must be met:
You need access to the router’s command line interface (CLI). This can be through a direct console or terminal connection to the router, or through a remote access method like Telnet or SSH. See the Cisco guide “Using the Cisco IOS Command-Line Interface” for details on connecting to the CLI. 
You also need to have privilege level 15 access to the router, which is full admin access. This allows you to run exec mode commands like delete and configure mode commands for saving the running config.
Finally, you need to know the exact name and file path of the directory you want to delete. We’ll go over how to verify this in the next section.
Verify Directory Exists
Before deleting a directory on a Cisco router, you’ll want to verify that the directory actually exists in the router’s flash memory. This can be done using the ‘dir’ command.
To view all directories in flash memory, enter:
This will display a list of all directories and files currently stored in flash. Locate the directory you intend to delete in the output.
You can also view just the contents of the specific directory in question. For example, to view the contents of a directory called ‘oldconfig’:
This will show all files within that directory. If the output displays the contents of the directory, it confirms that it exists prior to deletion. If the directory does not exist, the router will display “Directory does not exist” (1).
Checking for the directory first is an important step, as trying to delete a non-existent directory will result in an error.
Before deleting a directory on your Cisco router, it is crucial that you first back up the current running configuration. Backing up the configuration provides you with a restore point that you can revert to in case any issues arise during the directory deletion process. As recommended in the Cisco guide on backing up and restoring configuration files, you should copy the running configuration to a TFTP server or another external location. This ensures you have a clean backup that can be easily restored if needed.
Some key steps for backing up the Cisco router configuration include:
- Verify the TFTP server is enabled and accessible from the router
- Use the
copy running-config tftpcommand to copy the running config to the TFTP server
- Verify the backup file exists on the TFTP server and contains the current config
Taking the time to properly back up your router’s configuration provides an invaluable safeguard when making changes like directory deletions. You help ensure minimal network disruption if any issues emerge.
Delete the Directory
To delete a directory on a Cisco router, use the
delete /force /recursive command. This will recursively delete the target directory and all its contents in one step. According to the Cisco Community, the
/recursive parameter is required when deleting a directory to remove everything under it (1).
The syntax is:
delete /force /recursive flash:target_directory
For example, to delete a directory called ‘oldconfig’ from flash memory, you would run:
delete /force /recursive flash:oldconfig
/force parameter forces the deletion, even if the files are designated as read-only. Be careful when using the
/recursive parameter, as it will remove the entire directory contents without confirmation (2).
After deleting the directory, it’s important to confirm that the directory no longer appears on the router. This can be done by using the
dir command to list the contents of flash memory. If the deleted directory is no longer listed, this verifies that the deletion was successful.
Router# dir Directory of flash:/ 2 -rw- 1447632 Sep 2 2020 21:48:54 +00:00 c2960x-universalk9-mz.152-4.E8.bin 14 -rw- 8788 Sep 2 2020 22:47:54 +00:00 vlan.dat
In this example, a directory named “oldconfig” was previously deleted. Running the
dir command confirms the directory no longer appears, verifying the deletion was successful.
Additionally, attempting to access a deleted directory results in a “No such file or directory” error message, further indicating the directory removal was successful:
Router# cd oldconfig %Error opening oldconfig (No such file or directory)
Following these steps to confirm directory deletion is an important verification to ensure the expected configuration change occurred successfully.
After deleting the directory, you will need to save the running configuration to the startup configuration to make the deletion permanent across reboots. On Cisco routers, the running configuration is stored in RAM and will be lost when the router is powered off or restarted. The startup configuration is stored in non-volatile memory and is loaded at system startup.
To save the running configuration, use the
copy running-config startup-config or
write command while in global configuration mode. For example:
copy running-config startup-config
This will copy the current running configuration to the startup configuration and make the directory deletion persistent. You can also save the running config to a TFTP server if you want to back it up externally.
When deleting a directory on a Cisco router, there are a few potential issues you may encounter:
Access denied – If you receive an “access denied” error, it likely means you do not have sufficient permissions to delete the directory. Make sure you are logged in as a user with privileged EXEC mode access. You can check your privilege level with the ‘show privilege’ command.
Directory not empty – Directories must be empty before deleting. If you receive a “directory not empty” error, first delete all files within the directory using the ‘delete flash:
Incorrect directory name – Double check you have the exact directory name correct. Tab completion can help avoid typos.
Reload required – Some platforms like the Cisco Catalyst 2960X require a reload after deleting directories from flash memory . Make sure to save your running config and reload if necessary.
Corrupt flash – If you continually get unexpected errors deleting directories, your flash memory may be corrupt. Try reformatting it with the ‘format flash:’ command.
When managing directories on Cisco routers, it is important to follow best practices to ensure proper functionality and security. Here are some tips for managing directories on Cisco routers (Cisco IOS Management for High Availability Networking):
- Use descriptive names for directories that indicate their purpose or content.
- Avoid using spaces and special characters in directory names.
- Organize directories in a logical hierarchy for easy navigation.
- Limit directory creation to only necessary directories.
- Set proper permissions on directories to limit access as needed.
- Use the
dircommand frequently to verify directory contents.
- Back up configurations before making major directory changes.
- Follow a change management process for directory modifications.
- Delete unused directories to simplify management.
Properly structuring and securing directories is an important part of hardening Cisco routers (Cisco Guide to Harden Cisco IOS Devices). Planning directories and using them consistently facilitates device management.
In summary, deleting a directory on a Cisco router requires verifying the directory exists, backing up the configuration, using the delete or rmdir command to remove the directory, confirming deletion, and saving the configuration. Key steps include:
- Use the dir or show flash: command to verify the directory you want to delete exists.
- Copy the running configuration to startup configuration using copy run start or wr mem.
- Delete the directory with delete /force /recursive flash:/directory_name or rmdir flash:/directory_name.
- Check the directory is gone with dir flash: or show flash:
- Save the running config again using copy run start or wr mem.
Following best practices like backing up the configuration ensures the router continues operating properly after deleting the directory. With the proper commands, deleting a directory on a Cisco router is a straightforward process.