专栏首页LEo的网络日志shell技巧分享(六)

shell技巧分享(六)

这是一个系列文章,主要分享shell(部分功能仅适用于bash)的使用建议和技巧,每次分享3点,希望你能有所收获。

1 从文件中查询特定字符串

  • 查询目录下所有文件
$ grep -R -n "facebook" demo/
demo/python-tips-3.py:24:#     'facebook': 'https://www.facebook.com/',
demo/python-tips-3.py:27:# print url_dict.get('facebook', 'https://www.google.com/')
demo/python-tips-3.py:32:# https://www.facebook.com/
demo/python-tips-3.py:37:# print url_dict['facebook']
demo/python-tips-3.py:43:# https://www.facebook.com/

示例中查询demo目录下所有包含字符串facebook的文件,-n选项是为了打印匹配行的行号,-R选项是为了递归查询目录下所有文件。

  • 查询指定文件
$ grep -n "Failed" boot.log
203:[FAILED] Failed to start Ipmievd Daemon.
222:[FAILED] Failed to start LSB: Bring up/down networking.
252:[FAILED] Failed to start Crash recovery kernel arming.

示例中查询boot.log文件是否包含字符串Failed,-n选项是为了打印匹配行的行号。

2 查询目录或文件

  • 查询目录
$ find ./python_practice/ -type d -name "*demo*"
./python_practice/demo
./python_practice/fluent_python_demo

示例中查询python_practice目录下,名字包含字符串demo的所有目录。-type d指定查询类型是目录,-name指定名称包含字符串demo,星号(*)是通配符,表示任意字符。

  • 查询文件
$ find ./python_practice/ -type f -name "*tips*"
./python_practice/demo/python-tips-1.py
./python_practice/demo/python-tips-10.py
./python_practice/demo/python-tips-2.py
./python_practice/demo/python-tips-3.py
./python_practice/demo/python-tips-4.py
./python_practice/demo/python-tips-6.py
./python_practice/demo/python-tips-7.py
./python_practice/demo/python-tips-9.py

示例中查询python_practice目录下,名字包含字符串demo的所有文件。-type f指定查询类型是文件,-name指定名称包含字符串tips,星号(*)是通配符,表示任意字符。

3 查看机器ip

$ alias ip='ifconfig | grep -o "[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}" | grep -v -E 255\|127'
$ ip
172.17.0.1
192.168.14.10
192.168.122.1

linux一般通过ifconfig命令查看机器ip,但是如果机器有多块网卡,从ifconfig的输出信息中不容易找到所有ip。借助alias命令,定义一个新命令ip,可以快速查看机器的ip。示例中,-o选项是为了只打印匹配的字符串,-v选项反向匹配,即不匹配指定的字符串,去除包含数字255和127的ip,-E选项是为了使用扩展的正则表达式。由示例中可以看到,通过新命令ip查询机器ip时,输出信息更易读。或者直接执行hostname -i命令,也可以查看当前机器使用的ip,如下:

$ hostname -i
192.168.14.10

LEo at 00:05

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • python i18n实现

    songleo
  • shell技巧分享(一)

    songleo
  • python技巧分享(十一)

    songleo
  • 生成命令行接口--google开源的fire使用体验【python-fire】

    在python中,命令行接口常用的argparse 和click,但是相对于python-fire 来说灵活度太缺了,fire可以直接将python中的函数,以...

    Gxjun
  • windows下的pycharm安装及其设置中文菜单

    在官网(http://www.jetbrains.com/pycharm/download/)进行下载

    砸漏
  • B站最火数学视频3Blue1Brown是如何制作的

    相信很多人都知道3Blue1Brown,这是一个由斯坦福大学的数学系学生Grant Sanderson 创建的YouTube 频道。该频道从独特的视觉角度解说高...

    量子位
  • Barchart实现滚动标签跟随滚动

    目前有功能比较强大的柱形图Charts,写这个demo的目的主要是产品要实现 滚动柱形图,标签要跟随滚动。所以重新写了一个简单的demo实现了功能, 具体使...

    赵哥窟
  • R语言绘图001-基础参数

    ann:如果ann=FALSE,那么高水平绘图函数会调用函数plot.default使对坐标轴名称、整体图像名称不做任何注解。默认值为TRUE。

    西游东行
  • 开发 | GitHub项目推荐 : 用于对机器学习模型进行对抗性攻击、防御和基准测试的Python库

    此资料库包含CleverHans的源代码,CleverHans是一个Python库,用于将机器学习系统中的漏洞与对抗性示例进行对比。 您可以在随附的博客上了解有...

    AI科技评论
  • GitHub项目推荐 | 用于对机器学习模型进行对抗性攻击、防御和基准测试的Python库:CleverHans 3.0.0

    项目地址:https://github.com/tensorflow/cleverhans

    AI研习社

扫码关注云+社区

领取腾讯云代金券