Linux命令vi/awk/sed/grep/find/busybox/mount/df/du/ifconfig/ip/iperf/chmod/kill killall/adb

本篇包括:vi/awk/sed/grep/find/busybox/mount/df/du/ifconfig/ip/iperf/chmod/kill killall/adb

(1)vi
1 vi编辑器是所有Unix及Linux系统下标准的编辑器
基本上vi可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:

  1. 命令行模式command mode)
    控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode。
  2. 插入模式(Insert mode)
    只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。
  3. 底行模式(last line mode)
    将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号……等。
    不过一般我们在使用时把vi简化成两个模式,就是将底行模式last line mode也算入命令行模式command mode。
    2 在终端执行 vi +文本文件名 就可以进入vi编辑界面,这时候处在「命令行模式(command mode)」
    3 在「命令行模式(command mode)」下按一下字母「i」就可以进入「插入模式(Insert mode)」,这时候就可以开始输入文字。
    4 按Esc键可以退出插入模式
    5 在底行模式界面输入qw q!都可以退出vi编辑界面,有所不同的是qw是退出时保存,q!是强制退出,一般常用的是这两个退出
    6 具体常用的命令行操作还有:
    按「i」切换进入插入模式「insert mode」,按"i"进入插入模式后是从光标当前位置开始输入文件;
    按「a」进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字;
    按「o」进入插入模式后,是插入新的一行,从行首开始输入文字。
    按「ctrl」+「b」:屏幕往"后"移动一页。
    按「ctrl」+「f」:屏幕往"前"移动一页。
    按「ctrl」+「u」:屏幕往"后"移动半页。
    按「ctrl」+「d」:屏幕往"前"移动半页。
    按数字「0」:移到文章的开头。
    按「G」:移动到文章的最后。
    按「$」:移动到光标所在行的"行尾"。
    按「^」:移动到光标所在行的"行首"
    按「w」:光标跳到下个字的开头
    按「e」:光标跳到下个字的字尾
    按「b」:光标回到上个字的开头

(2) awk
是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。
平常用的比较多的awk命令:ls -lh |awk ‘{print $5}’
用来获取当前目录下的各个文件的大小
ls -lh
总用量 176M
-rw-rw-r-- 1 xuzehao xuzehao 6.7K 8月 14 15:43 192.168.222.123.info
drwxr-xr-x 2 root root 4.0K 8月 4 08:44 logs
-rwxrwxrwx 1 xuzehao xuzehao 176M 7月 31 08:53 main_2.1
-rw-r–r-- 1 root root 51 8月 14 11:33 output.txt
drwxr-xr-x 2 root root 4.0K 8月 4 08:46 pic_dir
drwxr-xr-x 2 root root 4.0K 8月 4 08:44 temp

ls -lh |awk ‘{print $5}’
6.7K
4.0K
176M
51
4.0K
4.0K
一般我是用在Python程序中去读取设备上某个文件夹或者某个文件的大小,如果在Python程序中用df -h会获取所有的文件名和大小,后期再用正则匹配去匹配有时候会匹配比较麻烦(当文件比较多比比较复杂时,如果文件少还是用正则匹配简单)
如果要指定某一行:ls -lh |awk ‘NR3{print $9,$5}’ 这边的例子是指定第三行返回文件名和大小
ls -lh |awk 'NR
3{print $9,$5}’
logs 4.0K
这样编程的时候再去切片就简单很多(用空格切片).
还有一种比较经常使用的场景是拷机过程中ping设备,ping要打印时间,把ping的信息保存到文件,方便定位设备什么时候重启
命令如下:
ping ip | awk ‘{ print $0"\t" strftime("%Y-%m-%d %H:%M:%S",systime()); fflush()}’ >> outIP.info &
有&会放在后台进行,如果要终止ping要kill一下进程号
如果报错为:awk: line 2: function systime never defined
执行一下:sudo apt-get install gawk

(3)sed

Sed 主要用来自动编辑一个或多个文件、简化对文件的反复操作、编写转换程序等。
语法模板:sed [-hnV][-e

(4)grep
grep是我们在排查log或者是bug、ps的时候常用的过滤方法
例如:ps

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值