Problem
You want to check what changes you have already made when editing a configuration.
Solution
To find out what changes were made during the current configuration session, use the following command:
[edit] aviva@RouterG# show | compare [edit interfaces] - fe-1/0/1 { - unit 0 { - family inet { - address 10.0.1.2/24; - } - } - }
To compare the current configuration to the previous one, use the following command:
[edit] aviva@RouterG# show | compare rollback 1 [edit protocols ospf] - export send-direct;
Discussion
When you are working in a small portion or hierarchy of the configuration, you can issue the show command from time to time to see the configuration statements that were added or deleted so you can confirm the configuration. However, when making changes throughout the configuration hierarchy, you generally just want a summary of all the changes so you don't have to dig through the entire router configuration. The easiest way to see all the changes is to move to the top of the configuration hierarchy with the top command and then use the show | compare command, which is equivalent to the show | compare rollback 0 command. This is actually two commands: the show command displays the entire configuration, and the output is piped to the compare command, which lists only the differences between the two commands (just like the Unix diff command).
The output shown in the "Solution" indicates that you have deleted the fe-1/0/1 interface from the [edit interfaces] configuration hierarchy. The first line of the output shows the hierarchy level, and the minus signs indicate the deletions. Plus signs are used when you have added statements, as in this example:
[edit] aviva@RouterG# show | compare [edit interfaces lo0 unit 0 family inet] address 192.168.19.1/32 { … } + address 127.0.0.1/32;
You can also compare the current configuration with a previously committed one. The second command shows how to do this. rollback 1 is the version of the configuration you committed immediately before committing the current one. The output shown above indicates that the export send-direct statement was present at the [edit protocols ospf] hierarchy in the previous configuration but has been removed.
You can also use a filename with the compare command to compare the candidate configuration to a saved file. This supports URLs and scp-style filenames, so you can use commands such as the following:
[edit] aviva@RouterG# show | compare aviva@archives:nightly/my-rtr/2005-12-01.conf [edit system login user testuser] - class operator; + class read-only;
See Also
Recipe 1.17
Router Configuration and File Management
Basic Router Security and Access Control
IPSec
SNMP
Logging
NTP
Router Interfaces
IP Routing
Routing Policy and Firewall Filters
RIP
IS-IS
OSPF
BGP
MPLS
VPNs
IP Multicast