linux 日常中会用到的命令(持续更新)
1. grep
比如,我要查看www目录下所有包含 “聊天室” 的文件
grep -rn "聊天室" *

比如我要把 www 目录下所有文件中的 聊天室 替换为 哈哈哈
grep -rl 聊天室 ./ | xargs sed -i "s/聊天室/哈哈哈/g"
结果我就不贴了
2. vim文本内容替换
命令::s/from/to/g (将当前行中所有from替换成to) , 加上c,如::s/from/to/gc (将当前行中所有from替换成to,但每次替换前都会询问用户确认此操作)
3.awk (一般用来做统计)
场景:awk统计日志中相同IP的访问次数
基本结构:awk 'BEGIN{ print "start" } pattern{ commands } END{ print "end" }' file
日志格式: 180.153.114.199 - - [03/Jul/2013:14:44:43 +0800] GET /wp-login.php?redirect_to=http%3A%2F%2Fdemo.catjia.com%2Fwp-admin%2Fplugin-install.php%3Ftab%3Dsearch%26s%3DVasiliki%26plugin-search-input%3D%25E6%2590%259C%25E7%25B4%25A2%25E6%258F%2592%25E4%25BB%25B6&reauth=1 HTTP/1.1 200 2355 - Mozilla/4.0 - 实现命令:awk '{a[$1]+=1;}END{for(i in a){print a[i]" " i;}}' log_url(日志路径)
命令:awk '{a[$1]+=1;}END{for(i in a){print a[i]" " i;}}' log_url(日志路径)
结果实例:
2 101.226.33.200
2 101.226.66.175 排序:awk '{a[$1]+=1;}END{for(i in a){print a[i]" " i;}}' log_url(日志路径) | sort (加上sort就行,如果需要倒叙,加上 -r 参数,默认按第一个字符排,所以再加上 -g) 最终结果:
200 180.153.206.34
40 180.153.114.199
10 113.110.176.131 场景:awk统计访问日志前十的IP
日志格式:2013-10-29 10:26:09, INFO, send toEmail=wuas6662@163.com,templateId=23,titleId=11,type=3,sendEmail=noreply+renrenzhichang@mail.xiaozhao.com,ip=10.3.22.134,mailType=4,emailId=526f1bd8c8f2a90213662a67
命令:cat mail-2013-10-28.log | awk -F ',' '{print $8}' | sort | uniq -c | sort -k1nr | head -10
4.sed
应用场景:字符串替换
命令:sed 's/stringa1/stringa2/g' example.txt
说明:将example.txt文件中的 "string1" 替换成 "string2" 应用场景:文件中删除所有空白行
命令:sed '/^$/d' example.txt 从example.txt 应用场景:从example.txt文件中删除所有注释和空白行
命令:sed '/ *#/d; /^$/d' example.txt 应用场景:查看只包含词汇 "string1"的行
命令:sed -n '/stringa1/p'
待续
linux 日常中会用到的命令(持续更新)的更多相关文章
- Linux 系统中如何查看日志 (常用命令) tail -f
Linux 系统中如何查看日志 (常用命令) tail -f 日志文件 日 志 文 件 说 明 /var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日 ...
- linux服务器中Jenkins集成git、Gradle持续构建Springboot项目
Jenkins是用java编写的开源持续集成工具,目前被国内外各公司广泛使用.本章教大家如何在linux服务器中使用Jenkins自动发布一个可作为linux服务发布的Springboot项目. 自动 ...
- 常用linux,DOS命令——持续更新
cd 文件夹名 进入某个文件夹 cd ../ 退出该级目录进入上一级 cd ../../ 退出该级目录进入上上级 cd ../../demo 退出该级目录进入上上级的目录 d: 回车 进入d盘 ls ...
- C#、Java中的一些小知识点总结(持续更新......)
前言:在项目中,有时候一些小的知识,总是容易让人忽略,但是这些功能加在项目中往往十分的有用,因此笔者在这里总结项目中遇到的一些实用的小知识点,以备用,并持续更新...... 1.禁用DataGridV ...
- 【工匠大道】一些Vim(Linux)不常见但很逼格的命令(不断更新中)
本文地址 分享提纲: 1. :Tlist 2. :colorscheme 3. :set cursorline 4. ma 5. vim -x 6. CTRL-] 7. 折叠 8. 向别的用户终端写信 ...
- 收集的55个Linux系统管理中常用的一些shell命令
.显示消耗内存/CPU最多的10个进程 代码如下: | tail | tail .查看进程 按内存从大到小排列 代码如下: ps -e -o "%C : %p : %z : %a" ...
- Linux 系统中的内部与外部命令
linux中的命令大致可分为两类,内部命令和外部命令: 内部命令(builtin command):也称shell内嵌命令 外部命令(external command):存放在一个文件中,使用时需要去 ...
- Linux 基础命令 持续更新中...
1.ls 显示当前文件/文件夹 显示文件大小: ls -lh 显示隐藏文件: ls -a 显示文件详细信息: ls -l (ll)2.pwd 显示当前所在路径 cat 显示当前文件下所有内容3.cd ...
- 转:【Linux】linux系统中find和whereis查找命令常用示例
转载至:wanqi博客园:http://www.cnblogs.com/wanqieddy/archive/2011/06/09/2076785.html whereis 命令,直接查找需要的文件名称 ...
随机推荐
- python数据结构与算法第十一天【希尔排序】
1.希尔排序的原理 2.代码实现 def shell_sort(alist): n = len(alist) # 初始步长 gap = n / 2 while gap > 0: # 按步长进行插 ...
- echo显示颜色
如有转载,不胜荣幸.http://www.cnblogs.com/aaron-agu/ [;;34m hello aaron \[0m”
- SQL Server中的完全连接(full join)
一.建库和建表 create database scort use scort create table emp ( empno int primary key, ename ), sal int, ...
- Socket初见
前端代码: <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <t ...
- 【python练习题】程序14
#题目:将一个正整数分解质因数.例如:输入90,打印出90=2*3*3*5. #我的方法应该比网上的更加简洁,只是递归可能速度慢 n = input('请输入一个正整数:') n = int(n) X ...
- vi简短教程
1.模式 命令行模式:光标的移动.内容删除移动复制操作 插入模式:文字输入,即编辑状态 底行模式:文件保存或退出vi,设置编辑环境 2.基本操作 vi myfile,输入vi 文件名,则进入vi. 3 ...
- Django通用视图APIView和视图集ViewSet的介绍和使用
原 Django通用视图APIView和视图集ViewSet的介绍和使用 2018年10月21日 14:42:14 不睡觉假扮古尔丹 阅读数:630 1.APIView DRF框架的视图的基类是 ...
- BZOJ5063旅游——非旋转treap
题目描述 小奇成功打开了大科学家的电脑. 大科学家打算前往n处景点旅游,他用一个序列来维护它们之间的顺序.初 始时,序列为1,2,...,n. 接着,大科学家进行m次操作来打乱顺序.每次操作有6步: ...
- BZOJ 1912 巡逻(算竞进阶习题)
树的直径 这题如果k=1很简单,就是在树的最长链上加个环,这样就最大化的减少重复的路程 但是k=2的时候需要考虑两个环的重叠部分,如果没有重叠部分,则和k=1的情况是一样的,但是假如有重叠部分,我们可 ...
- Ionic3报错Error: Uncaught (in promise): Error: StaticInjectorError
ERROR Error: Uncaught (in promise): Error: StaticInjectorError[Geolocation]: StaticInjectorError[Geo ...