专栏首页Pou光明Linux shell 一些命令

Linux shell 一些命令

程序环境: ubuntu16.04 x64 虚拟机

以一个实际的需求为例进行说明: 获取固定网卡的ip地址

一、 例子拆解

1. ifconfig效果

ifconfig ens33

2. 使用awk格式化字符

ifconfig ens33 | awk '/inet/ {print $2}'

① |

管道命令操作符 | 可以用来连接进程,管道符左边命令可以作为管道符右边命令的输入。

② 介绍下awk指令:

awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。

一种使用方法:

awk '{pattern + action}' {filenames}

pattern 表示 AWK 在数据中查找的内容

而 action 是在找到匹配内容时所执行的一系列命令

pattern就是要表示的正则表达式,用斜杠括起来

awk语言的最基本功能是在文件或者字符串中基于指定规则浏览和抽取信息,awk抽取信息后,才能进行其他文本操作。完整的awk脚本通常用来格式化文本文件中的信息

说回例子中参数的意义,

/inet/ 正则表达式

{print $2} 对第二列结果进行输出;以上面ifconfig ens33输出为例,按照空格来划分域,找到inet所在行并输出第二个域

3 使用cut获取最终需要信息

ifconfig ens33 | awk '/inet/ {print $2}'| cut -f2 -d ":"

cut

正如其名,cut的工作就是“剪”,具体的说就是在文件中负责剪切数据用的。

-f 与-d一起使用,指定显示哪个区域

二、 其他怪怪的关键字

整数比较:

-eq(equal) 相等

-ne(inequality) 不相等

-gt(greater than) 大于

-lt(less than) 小于

-ge(greater equal) 大于或等于

-le(less equal) 小于或等于

三、 脚本程序的参数传递

将上面的命令写入脚本文件中,并传入参数:

#! /bin/bash   嵌入式则指定sh解释器

Src_Ip=$(/sbin/ifconfig ens33 | awk '/inet/ {print $2}' | cut -f2 -d ":") 
Str=$1

echo $Src_Ip
echo $Str

if [ "$1" = "hello" ]; then
  echo '~~~~~~~~~'
fi

转行嵌入式的基本素养:

本文分享自微信公众号 - Pou光明(pou0230),作者:PouG

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-06-16

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • linux-console-shell的一些常用命令

    ctl + u 删除光标以前的字符,其实这个是剪切 ctl + k 删除光标以后的字符

    潇洒
  • Linux shell之sort命令

    forrestlin
  • Linux shell 基本命令

    Linux只能之别三种基本的文件类型:普通文件,目录文件,特殊文件。一个文件名中的字符数不能超过255个,超出后系统会忽略超出的字符。

    疯狂的技术宅
  • Linux——常用shell命令

    语法:ifconfig [网络设备] [参数] 功能:获取网卡配置与网络状态等信息 interface:网络接口的名称,如 eth0(网卡); up:激活...

    Winter_world
  • 【Linux】shell命令总结

    Linux shell命令应该算是非常入门的东西,但是实际上在使用的时候,会遇到各种各样的问题,前几天我在我们的项目上需要做一个功能,根据进程名字杀死这个进程,...

    zenRRan
  • 一些linux命令总结。

    用户1220053
  • Linux Shell命令速查表

    使用 awk 从 Nginx 日志中逐行统计 URL 访问计数,然后使用 sort 对结果进行排名

    憧憬博客
  • 一些常用的Linux命令

      将某个硬盘设备或者硬盘分区挂载到某个目录下,这个命令方便在系统中存在多个linux时,在不同的linux之间拷贝文件。

    大江小浪
  • 一些常用的linux命令

    许杨淼淼
  • Linux Shell中的命令替换

    Shell脚本中最有用的特性之一就是可以从命令输出中提取信息,并将其赋给变量。有两种方法可以将命令输出赋值给变量。

    Tyan
  • Linux shell命令总结大全

    Linux shell命令应该算是非常入门的东西,但是实际上在使用的时候,会遇到各种各样的问题,前几天我在我们的项目上需要做一个功能,根据进程名字杀死这个进程,...

    Python数据科学
  • Linux shell命令总结大全

    Linux shell命令应该算是非常入门的东西,权当给大家做个记录。但是实际上在使用的时候,会遇到各种各样的问题,前几天我在我们的项目上需要做一个功能,根据进...

    java进阶架构师
  • Linux下的shell命令笔记

    Shell 是一种脚本语言,不同于 C/C++、Pascal、Go语言、汇编等,必须在程序运行之前将所有代码都翻译成二进制形式,也就是生成可执行文件,用户拿到的...

    包子388321
  • shell---cp命令的一些坑和其替代品

    今天在写脚本的时候,碰到了一个很不常见的问题,就是关于文件拷贝的问题,具体情况且听我慢慢道来。

    HeaiKun
  • Linux常用shell语法和命令

    判断/home/oicq/script/get_random_shm_key.sh是否存在

    chain
  • Linux进阶命令和Shell编程

    1.高级文本命令——sed1.1sed简介 sed全称是:Stream EDitor,即流编辑器,是一个很好的文本处理工具,本身是一个管道命令,处理时,把当前处...

    企鹅号小编
  • Shell 一键安装命令

    现在是懒人的天下,为了迎合用户的需求,很多开源软件或者包提供的安装步骤都非常简单,大家应该看到不少类似一键安装的命令。下面是几个典型的例子:

    用户2038009
  • Linux shell命令用法及常见用例之tar命令

    tar命令用来归档多个文件或目录到单个归档文件中,并且归档文件可以进一步使用gzip或者bzip2等技术进行压缩。

    砸漏
  • Linux & MacOS中一些常用命令备忘

    子勰

扫码关注云+社区

领取腾讯云代金券