{"id":408,"date":"2020-01-04T15:18:30","date_gmt":"2020-01-04T07:18:30","guid":{"rendered":"https:\/\/www.insecurewire.com\/?p=408"},"modified":"2020-01-04T15:18:30","modified_gmt":"2020-01-04T07:18:30","slug":"using-linux-commands-on-cisco-ios","status":"publish","type":"post","link":"https:\/\/www.insecurewi.re\/index.php\/2020\/01\/04\/using-linux-commands-on-cisco-ios\/","title":{"rendered":"Using Linux Commands on Cisco IOS"},"content":{"rendered":"<p>A neat feature of Cisco IOS and IOS-XE is the ability to enable Linux shell functions and commands. This works on both IOS and IOS-XE (which is Linux underneath anyways). To enable shell processing globally, login to your Cisco router or switch and then run the below command from config mode:<br \/>\n<code>Switch(config)#shell processing full<\/code><br \/>\nIf for any reason you wanted to enable shell processing for just the current terminal session &#8211; this can be done from enable mode like so:<br \/>\n<code>Switch(config)#terminal shell<\/code><br \/>\nGreat! Shell processing is now enabled, don&#8217;t forget to write your config. Now here comes to cool part, you can use standard Linux functions on your CLI commands with pipe:<br \/>\n<code>Switch#show ip route | nl | grep 14<br \/>\n14: S*    0.0.0.0\/0 [0\/0] via 10.0.0.1<\/code><br \/>\nSo with this command we piped in the function nl (new line) and grep (pattern match) with line 14 as the match. The output is the gateway of last resort on the switch &#8211; line 14 of the show ip route command. Neat!<br \/>\nTo see what functions are available run the following command:<br \/>\n<code>Switch#show shell functions<\/code><br \/>\nAll the standard Linux bash items are available, you can also run the man command like so:<br \/>\n<code>Switch#man grep<\/code><br \/>\nWhich gives you the CLI switches that each shell function supports.<br \/>\nA favorite of mine when working with layer 2 switches, to see what IP Addresses are assigned (SVI etc):<br \/>\n<code>Switch#show ip int brief | grep -v unassigned<br \/>\nInterface              IP-Address      OK? Method Status                Protocol<br \/>\nVlan1                  10.0.0.2        YES NVRAM  up                    up<br \/>\n<\/code><br \/>\nUsing the invert switch -v for grep, match all lines that do not have unassigned them. \ud83d\ude42<br \/>\nMore information is located at the Cisco website <a href=\"https:\/\/www.cisco.com\/c\/en\/us\/td\/docs\/ios-xml\/ios\/ios_shl\/command\/ios-shell-cr-book.pdf\" rel=\"noopener noreferrer\" target=\"_blank\">here<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A neat feature of Cisco IOS and IOS-XE is the ability to enable Linux shell functions and commands. This works on both IOS and IOS-XE&#8230;<\/p>\n","protected":false},"author":2,"featured_media":422,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[24,4],"tags":[67,116,117,127],"class_list":["post-408","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cisco","category-networking","tag-cisco","tag-ios","tag-ios-xe","tag-linux"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.1.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Using Linux Commands on Cisco IOS - Insecure Wire<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.insecurewi.re\/index.php\/2020\/01\/04\/using-linux-commands-on-cisco-ios\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Using Linux Commands on Cisco IOS - Insecure Wire\" \/>\n<meta property=\"og:description\" content=\"A neat feature of Cisco IOS and IOS-XE is the ability to enable Linux shell functions and commands. This works on both IOS and IOS-XE...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.insecurewi.re\/index.php\/2020\/01\/04\/using-linux-commands-on-cisco-ios\/\" \/>\n<meta property=\"og:site_name\" content=\"Insecure Wire\" \/>\n<meta property=\"article:published_time\" content=\"2020-01-04T07:18:30+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.insecurewi.re\/wp-content\/uploads\/2020\/01\/tux.png\" \/>\n\t<meta property=\"og:image:width\" content=\"466\" \/>\n\t<meta property=\"og:image:height\" content=\"409\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"nikonau\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@https:\/\/twitter.com\/insecurewire\" \/>\n<meta name=\"twitter:site\" content=\"@insecurewire\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"nikonau\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.insecurewi.re\/index.php\/2020\/01\/04\/using-linux-commands-on-cisco-ios\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.insecurewi.re\/index.php\/2020\/01\/04\/using-linux-commands-on-cisco-ios\/\"},\"author\":{\"name\":\"nikonau\",\"@id\":\"https:\/\/www.insecurewi.re\/#\/schema\/person\/8ba08b41fc754b971a948ead6ccb777d\"},\"headline\":\"Using Linux Commands on Cisco IOS\",\"datePublished\":\"2020-01-04T07:18:30+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.insecurewi.re\/index.php\/2020\/01\/04\/using-linux-commands-on-cisco-ios\/\"},\"wordCount\":236,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.insecurewi.re\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.insecurewi.re\/index.php\/2020\/01\/04\/using-linux-commands-on-cisco-ios\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.insecurewi.re\/wp-content\/uploads\/2020\/01\/tux.png\",\"keywords\":[\"Cisco\",\"IOS\",\"IOS-XE\",\"Linux\"],\"articleSection\":[\"Cisco\",\"Networking\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.insecurewi.re\/index.php\/2020\/01\/04\/using-linux-commands-on-cisco-ios\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.insecurewi.re\/index.php\/2020\/01\/04\/using-linux-commands-on-cisco-ios\/\",\"url\":\"https:\/\/www.insecurewi.re\/index.php\/2020\/01\/04\/using-linux-commands-on-cisco-ios\/\",\"name\":\"Using Linux Commands on Cisco IOS - Insecure Wire\",\"isPartOf\":{\"@id\":\"https:\/\/www.insecurewi.re\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.insecurewi.re\/index.php\/2020\/01\/04\/using-linux-commands-on-cisco-ios\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.insecurewi.re\/index.php\/2020\/01\/04\/using-linux-commands-on-cisco-ios\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.insecurewi.re\/wp-content\/uploads\/2020\/01\/tux.png\",\"datePublished\":\"2020-01-04T07:18:30+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.insecurewi.re\/index.php\/2020\/01\/04\/using-linux-commands-on-cisco-ios\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.insecurewi.re\/index.php\/2020\/01\/04\/using-linux-commands-on-cisco-ios\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.insecurewi.re\/index.php\/2020\/01\/04\/using-linux-commands-on-cisco-ios\/#primaryimage\",\"url\":\"https:\/\/www.insecurewi.re\/wp-content\/uploads\/2020\/01\/tux.png\",\"contentUrl\":\"https:\/\/www.insecurewi.re\/wp-content\/uploads\/2020\/01\/tux.png\",\"width\":466,\"height\":409,\"caption\":\"tux\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.insecurewi.re\/index.php\/2020\/01\/04\/using-linux-commands-on-cisco-ios\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.insecurewi.re\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Using Linux Commands on Cisco IOS\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.insecurewi.re\/#website\",\"url\":\"https:\/\/www.insecurewi.re\/\",\"name\":\"Insecure Wire\",\"description\":\"A Network Engineer\u2019s Perspective.\",\"publisher\":{\"@id\":\"https:\/\/www.insecurewi.re\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.insecurewi.re\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.insecurewi.re\/#organization\",\"name\":\"Insecure Wire\",\"url\":\"https:\/\/www.insecurewi.re\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.insecurewi.re\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.insecurewi.re\/wp-content\/uploads\/2023\/10\/cloud.png\",\"contentUrl\":\"https:\/\/www.insecurewi.re\/wp-content\/uploads\/2023\/10\/cloud.png\",\"width\":32,\"height\":32,\"caption\":\"Insecure Wire\"},\"image\":{\"@id\":\"https:\/\/www.insecurewi.re\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/x.com\/insecurewire\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.insecurewi.re\/#\/schema\/person\/8ba08b41fc754b971a948ead6ccb777d\",\"name\":\"nikonau\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.insecurewi.re\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/2d1b9d9dc90da4f6d3da31b870f418c6b3553ba9be48d53e8ee3a35b0adb1d35?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/2d1b9d9dc90da4f6d3da31b870f418c6b3553ba9be48d53e8ee3a35b0adb1d35?s=96&d=mm&r=g\",\"caption\":\"nikonau\"},\"sameAs\":[\"https:\/\/x.com\/https:\/\/twitter.com\/insecurewire\"],\"url\":\"https:\/\/www.insecurewi.re\/index.php\/author\/nikon\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Using Linux Commands on Cisco IOS - Insecure Wire","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.insecurewi.re\/index.php\/2020\/01\/04\/using-linux-commands-on-cisco-ios\/","og_locale":"en_US","og_type":"article","og_title":"Using Linux Commands on Cisco IOS - Insecure Wire","og_description":"A neat feature of Cisco IOS and IOS-XE is the ability to enable Linux shell functions and commands. This works on both IOS and IOS-XE...","og_url":"https:\/\/www.insecurewi.re\/index.php\/2020\/01\/04\/using-linux-commands-on-cisco-ios\/","og_site_name":"Insecure Wire","article_published_time":"2020-01-04T07:18:30+00:00","og_image":[{"width":466,"height":409,"url":"https:\/\/www.insecurewi.re\/wp-content\/uploads\/2020\/01\/tux.png","type":"image\/png"}],"author":"nikonau","twitter_card":"summary_large_image","twitter_creator":"@https:\/\/twitter.com\/insecurewire","twitter_site":"@insecurewire","twitter_misc":{"Written by":"nikonau","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.insecurewi.re\/index.php\/2020\/01\/04\/using-linux-commands-on-cisco-ios\/#article","isPartOf":{"@id":"https:\/\/www.insecurewi.re\/index.php\/2020\/01\/04\/using-linux-commands-on-cisco-ios\/"},"author":{"name":"nikonau","@id":"https:\/\/www.insecurewi.re\/#\/schema\/person\/8ba08b41fc754b971a948ead6ccb777d"},"headline":"Using Linux Commands on Cisco IOS","datePublished":"2020-01-04T07:18:30+00:00","mainEntityOfPage":{"@id":"https:\/\/www.insecurewi.re\/index.php\/2020\/01\/04\/using-linux-commands-on-cisco-ios\/"},"wordCount":236,"commentCount":0,"publisher":{"@id":"https:\/\/www.insecurewi.re\/#organization"},"image":{"@id":"https:\/\/www.insecurewi.re\/index.php\/2020\/01\/04\/using-linux-commands-on-cisco-ios\/#primaryimage"},"thumbnailUrl":"https:\/\/www.insecurewi.re\/wp-content\/uploads\/2020\/01\/tux.png","keywords":["Cisco","IOS","IOS-XE","Linux"],"articleSection":["Cisco","Networking"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.insecurewi.re\/index.php\/2020\/01\/04\/using-linux-commands-on-cisco-ios\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.insecurewi.re\/index.php\/2020\/01\/04\/using-linux-commands-on-cisco-ios\/","url":"https:\/\/www.insecurewi.re\/index.php\/2020\/01\/04\/using-linux-commands-on-cisco-ios\/","name":"Using Linux Commands on Cisco IOS - Insecure Wire","isPartOf":{"@id":"https:\/\/www.insecurewi.re\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.insecurewi.re\/index.php\/2020\/01\/04\/using-linux-commands-on-cisco-ios\/#primaryimage"},"image":{"@id":"https:\/\/www.insecurewi.re\/index.php\/2020\/01\/04\/using-linux-commands-on-cisco-ios\/#primaryimage"},"thumbnailUrl":"https:\/\/www.insecurewi.re\/wp-content\/uploads\/2020\/01\/tux.png","datePublished":"2020-01-04T07:18:30+00:00","breadcrumb":{"@id":"https:\/\/www.insecurewi.re\/index.php\/2020\/01\/04\/using-linux-commands-on-cisco-ios\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.insecurewi.re\/index.php\/2020\/01\/04\/using-linux-commands-on-cisco-ios\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.insecurewi.re\/index.php\/2020\/01\/04\/using-linux-commands-on-cisco-ios\/#primaryimage","url":"https:\/\/www.insecurewi.re\/wp-content\/uploads\/2020\/01\/tux.png","contentUrl":"https:\/\/www.insecurewi.re\/wp-content\/uploads\/2020\/01\/tux.png","width":466,"height":409,"caption":"tux"},{"@type":"BreadcrumbList","@id":"https:\/\/www.insecurewi.re\/index.php\/2020\/01\/04\/using-linux-commands-on-cisco-ios\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.insecurewi.re\/"},{"@type":"ListItem","position":2,"name":"Using Linux Commands on Cisco IOS"}]},{"@type":"WebSite","@id":"https:\/\/www.insecurewi.re\/#website","url":"https:\/\/www.insecurewi.re\/","name":"Insecure Wire","description":"A Network Engineer\u2019s Perspective.","publisher":{"@id":"https:\/\/www.insecurewi.re\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.insecurewi.re\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.insecurewi.re\/#organization","name":"Insecure Wire","url":"https:\/\/www.insecurewi.re\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.insecurewi.re\/#\/schema\/logo\/image\/","url":"https:\/\/www.insecurewi.re\/wp-content\/uploads\/2023\/10\/cloud.png","contentUrl":"https:\/\/www.insecurewi.re\/wp-content\/uploads\/2023\/10\/cloud.png","width":32,"height":32,"caption":"Insecure Wire"},"image":{"@id":"https:\/\/www.insecurewi.re\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/insecurewire"]},{"@type":"Person","@id":"https:\/\/www.insecurewi.re\/#\/schema\/person\/8ba08b41fc754b971a948ead6ccb777d","name":"nikonau","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.insecurewi.re\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/2d1b9d9dc90da4f6d3da31b870f418c6b3553ba9be48d53e8ee3a35b0adb1d35?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/2d1b9d9dc90da4f6d3da31b870f418c6b3553ba9be48d53e8ee3a35b0adb1d35?s=96&d=mm&r=g","caption":"nikonau"},"sameAs":["https:\/\/x.com\/https:\/\/twitter.com\/insecurewire"],"url":"https:\/\/www.insecurewi.re\/index.php\/author\/nikon\/"}]}},"_links":{"self":[{"href":"https:\/\/www.insecurewi.re\/index.php\/wp-json\/wp\/v2\/posts\/408","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.insecurewi.re\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.insecurewi.re\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.insecurewi.re\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.insecurewi.re\/index.php\/wp-json\/wp\/v2\/comments?post=408"}],"version-history":[{"count":0,"href":"https:\/\/www.insecurewi.re\/index.php\/wp-json\/wp\/v2\/posts\/408\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.insecurewi.re\/index.php\/wp-json\/wp\/v2\/media\/422"}],"wp:attachment":[{"href":"https:\/\/www.insecurewi.re\/index.php\/wp-json\/wp\/v2\/media?parent=408"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.insecurewi.re\/index.php\/wp-json\/wp\/v2\/categories?post=408"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.insecurewi.re\/index.php\/wp-json\/wp\/v2\/tags?post=408"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}