美文网首页Linux
Linux 常用指令自查记录

Linux 常用指令自查记录

作者: 天马行空爱做梦 | 来源:发表于2020-02-03 16:50 被阅读0次

背景:

  操作系统 MacOS。 工作初期会使用一些sumbline之类的文本工具来搜索,虽然也快,但是总觉得不高级。哈哈哈....
所以查了下资料,觉得linux中的一些指令还是蛮给力的。不仅可以提高效率,还可以写进shell脚本中。 所以整理一下,好记性不如烂笔头嘛。后面可以直接拿来用啦。

linux 常用指令

grep 指令 可以实现or,and,not的作用,这里只介绍一种,因为懒😝。下面例子or 和 and 中的pattern都是正则表达式哦,具体如下:

1.grep 实现or用法:
grep -E 'pattern1|pattern2' filename

2.grep 实现and用法:
grep -E 'pattern1.pattern2' filename 注解: 两个pattern1与pattern2 顺序是固定的
grep -E 'pattern1.
pattern2|pattern2.*pattern1' filename 注解: 两个pattern1与pattern2 顺序是不固定的
3.grep 实现not 非的用法:
grep -v 'pattern1' filename 注解: -v 选项用来实现反选匹配的( invert match),可匹配得到除下指定pattern外的所有lines。

vim 编辑器

vim最常用到的有如下:
G->直接跳转到文件的最后一行
dd->删除光标当前行
10 dd -> 删除后面10行,这里的数字可以自定义
i->进入插入模式
x->删除光标处的字符
o-> 插入下一行
w-> 查看下一个word
b-> 查看上一个word


image.png

一、用/和?的区别:
/后跟查找的字符串。vim会显示文本中第一个出现的字符串。
?后跟查找的字符串。vim会显示文本中最后一个出现的字符串。

ping和telnet

ping命令是不能够测试端口的,ping只是测试网络联接状况以及信息包发送和接收状况。
格式:ping IP地址或主机名 [-t] [-a] [-n count] [-l size]
参数含义:-t不停地向目标主机发送数据;
-a 以IP地址格式来显示目标主机的网络地址 ;
-n count 指定要Ping多少次,具体次数由count来指定 ;
-l size 指定发送到目标主机的数据包的大小。

例子:ping 192.168.0.1 -t 不停的测试192.168.0.1,
按ctrl+c停止
测试端口使用telnet IP地址或主机名 端口,

使用tcp协议的例如telnet 192.168.0.1 80测试192.168.0.1的80端口

Linux jq命令

jq 是一个轻量级的json处理命. 可以用在shell脚本中。

JsonList举例:

cat .json.txt | jq .
[
  {
    "name": "zhangsan",
    "age": 21,
    "courses": [
      "语文",
      "数学",
      "英语"
    ]
  },
  {
    "name": "lisi",
    "age": 22,
    "courses": [
      "物理",
      "化学",
      "生物"
    ]
  }
]

JsonList获取zhangsan这个value的方法是:cat .json.txt | jq '.[0].name'

JsonObject举例

cat json.txt |jq '.'
{
  "uuid": "1192751169468366850",
  "deviceUuid": "1192751164410036225",
  "serverVerify": "0",
  "serverAddress": "127.0.0.1",
  "ntpServerAddress": "127.0.0.1",
  "otherServer": "true",
  "otherServerAddress": "127.0.0.1",
  "networkRelayAddress": "127.0.0.1"
}

获取JsonObject 获取uuid方法:cat .json.txt | jq '.uuid'

json重组

# 只输出name 和 age
cat ./json.txt | jq '[.[] | {name:.name, age:.age}]'
[
  {
    "name": "zhangsan",
    "age": 21
  },
  {
    "name": "lisi",
    "age": 22
  }
]
# 输出name和第一个course
cat ./json.txt | jq '[.[] | {name:.name, course:.courses[0]}]'
[
  {
    "name": "zhangsan",
    "course": "语文"
  },
  {
    "name": "lisi",
    "course": "物理"
  }
]

综上: jq中的 "." 代表的是all的内容。 后面的获取方法和Java中处理json 体是一个道理啦。

Linux -awk

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

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

通常,awk是以行为处理单位的。awk每接收文件的一行,然后执行相应的命令,来处理文本。
举例

[root@www ~]# last -n 5 <==仅取出前五行
root     pts/1   192.168.1.100  Tue Feb 10 11:21   still logged in
root     pts/1   192.168.1.100  Tue Feb 10 00:46 - 02:28  (01:41)
root     pts/1   192.168.1.100  Mon Feb  9 11:41 - 18:30  (06:48)
dmtsai   pts/1   192.168.1.100  Mon Feb  9 11:41 - 11:41  (00:00)
root     tty1                   Fri Sep  5 14:09 - 14:10  (00:01)

[root@www ~]# last -n 5 | awk  '{print $1}'
root
root
root
dmtsai
root

linux xargs

xargs 一般是和管道一起使用.
举例:
复制所有图片文件到 /data/images 目录下:
ls *.jpg | xargs -n1 -I {} cp {} /data/images
xargs 的一个选项 -I,使用 -I 指定一个替换字符串 {},这个字符串在 xargs 扩展时会被替换掉,当 -I 与 xargs 结合使用,每一个参数命令都会被执行一次:
-i 或者是-I,这得看linux支持了,将xargs的每项名称,一般是一行一行赋值给 {},可以用 {} 代替。

-d 选项可以自定义一个定界符:

echo "nameXnameXnameXname" | xargs -dX

name name name name

相关文章

  • Linux 常用指令自查记录

    背景:   操作系统 MacOS。 工作初期会使用一些sumbline之类的文本工具来搜索,虽然也快,但是总觉得不...

  • 常用的Linux指令

    引言 记录工作中常用到的Linux指令,不断更新。 1、man man命令是Linux下的帮助指令,通过man指令...

  • Linux第一天

    Linux第一天 linux目录 Shell指令 就是Linux指令 常用的shell指令 目录 删除 查看文件 ...

  • 01 linux入门级常用操作

    在linux环境下工作快一年了,这里记录一下工作上常用的指令。最常用的指令:cd cp mv rm mkdir l...

  • Linux

    linux awk命令详解、linux awk命令Linux常用操作指令Linux netstat命令详解 awk...

  • Shell指令

    什么是Shell指令 就是Linux命令(注:后期使用这些命令管理Linux操作系统) 常用的Shell指令 显示...

  • 记录常用linux指令(持续更新)

    nohup 持续不挂断的后台运行nohup java -jar demo.jar >./log.txt 2>&1 ...

  • Arthas(阿尔萨斯)JVM诊断工具实践

    1.常用指令记录

  • Linux 常用指令

    Linux指令中文说明传送入口 整理自Linux指令中文说明 man Linux 帮助文档手册 man命令 是L...

  • linux 常用指令

    Linux 常用指令ls 显示文件或目录ls -l # 列出文件详细信息l (list)ls -a # 列出当前目...

网友评论

    本文标题:Linux 常用指令自查记录

    本文链接:https://www.haomeiwen.com/subject/isahxhtx.html