命令模式

linux sed 批量替换字符串

时光总嘲笑我的痴心妄想 提交于 2020-03-15 08:59:15
比如,要将目录/modules下面所有文件中的zhangsan都修改成lisi,这样做: sed -i "s/zhangsan/lisi/g" `grep zhangsan -rl /modules` 解释一下: -i 表示inplace edit,就地修改文件 -r 表示搜索子目录 -l 表示输出匹配的文件名 这个命令组合很强大,要注意备份文件。 (1)sed 'y/1234567890/ABCDEFGHIJ/' test_sed sed 'y/1234567890/ABCDEFGHIJ/' filename ABCDEFGHIJ BCDEFGHIJA CDEFGHIJAB DEFGHIJABC 注意变换关系是按两个list的位置对应变换 其中:test_sed的内容是: 1234567890 2345678901 3456789012 4567890123 (2) 替换每行所有匹配 sed 's/01/Ab/g' test_sed 1234567890 23456789Ab 3456789Ab2 456789Ab23 注意:第一行的0,1没有分别替换为A,b 删除:d命令 $ sed '2d' example-----删除example文件的第二行。 $ sed '2,$d' example-----删除example文件的第二行到末尾所有行。 $ sed '$d'

babun安装,整合到cmder

邮差的信 提交于 2020-03-15 08:32:49
babun Babun的特性: 预装了Cygwin以及许多的插件 默认的命令行安装工具,没有管理员权限要求。 预装了 pact工具,一个高级的包管理器,类似 apt-get或yum xTerm-256兼容的控制台 支持Http(s)的代理 面向插件的架构 配置了 git 和 shell 集成 oh-my-zsh 自动更新机制 集成右键菜单,在此打开Babun Cygwin Babun的核心就是Cygwin,不过它经过了配置。Cygwin是一个不错的工具,但是有很多问题需要花一些时间来配置它,让它易于应用。Babun做了一些配置,并且包含了很多重要的工具包,使得它非常易用。 Package manager Babun提供了一个包管理器,pact。类似于apt-get 或 yum。pact使得安装,搜索,更新和删除cygwin的工具包非常容易。pact --help快去看一下它怎么使用吧。 Shell Babun的shell经过了微调,这样可以提供更好的用户体验。有两个预配置的shell - bash 和 zsh,可以马上使用。zsh是默认的shell。Babun的shell具有如下的特征: 语法高亮 UNIX工具 软件开发工具 git改进 自定义的脚本和别名 还有一些其他功能 Console Mintty是在babun中用的控制台,它具有xterm-256模式的特征,良好字体简洁画面

Linux命令 - sed

て烟熏妆下的殇ゞ 提交于 2020-03-15 08:17:26
sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换、删除、新增、选取等特定工作,下面先了解一下sed的用法 sed命令行格式为: sed [-nefri] ‘command’ 输入文本 常用选项: -n∶使用安静(silent)模式。在一般 sed 的用法中,所有来自 STDIN的资料一般都会被列出到萤幕上。但如果加上 -n 参数后,则只有经过sed 特殊处理的那一行(或者动作)才会被列出来。 -e∶直接在指令列模式上进行 sed 的动作编辑; -f∶直接将 sed 的动作写在一个档案内, -f filename 则可以执行 filename 内的sed 动作; -r∶sed 的动作支援的是延伸型正规表示法的语法。(预设是基础正规表示法语法) -i∶直接修改读取的档案内容,而不是由萤幕输出。 常用命令: a ∶新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~ c ∶取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行! d ∶删除,因为是删除啊,所以 d 后面通常不接任何咚咚; i ∶插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行); p ∶列印,亦即将某个选择的资料印出。通常 p 会与参数 sed -n 一起运作~ s ∶取代,可以直接进行取代的工作哩!通常这个 s

Linux Shell之sed命令

自闭症网瘾萝莉.ら 提交于 2020-03-15 08:16:03
sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换、删除、新增、选取等特定工作,下面先了解一下sed的用法 sed命令行格式为: sed [-nefri] ‘command’ 输入文本 常用选项: -n∶使用安静(silent)模式。在一般 sed 的用法中,所有来自 STDIN的资料一般都会被列出到萤幕上。但如果加上 -n 参数后,则只有经过sed 特殊处理的那一行(或者动作)才会被列出来。 -e∶直接在指令列模式上进行 sed 的动作编辑; -f∶直接将 sed 的动作写在一个档案内, -f filename 则可以执行 filename 内的sed 动作; -r∶sed 的动作支援的是延伸型正规表示法的语法。(预设是基础正规表示法语法) -i∶直接修改读取的档案内容,而不是由萤幕输出。 常用命令: a ∶新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~ c ∶取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行! d ∶删除,因为是删除啊,所以 d 后面通常不接任何咚咚; i ∶插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行); p ∶列印,亦即将某个选择的资料印出。通常 p 会与参数 sed -n 一起运作~ s ∶取代,可以直接进行取代的工作哩!通常这个 s

Redis源码阅读(一)事件机制

Deadly 提交于 2020-03-15 04:24:54
Redis 源码阅读(一)事件机制   Redis 作为一款 NoSQL 非关系内存数据库,具有很高的读写性能,且原生支持的数据类型丰富,被广泛的作为缓存、分布式数据库、消息队列等应用。此外 Redis 还有许多高可用特性,包括数据持久化,主从模式备份等等,可以满足对数据完整性有一定要求的场景。   Redis 的源码结构简单清晰,有大量材料可以参阅;通过阅读 Redis 源码,掌握一些常用技术在 Redis 中的实现,相信会对个人编程水平有很大帮助。这里记录下我阅读 Redis 源码的心得。从我自己比较关心的几个技术点出发,每个技术点都是来自个人使用 Redis 过程中产生的问题。这里也参考了黄建宏老师的《 Redis 设计与实现》部分内容,不得不说参考这本书再结合源码注释,看起来绝对事半功倍。   当初选用 Redis 的时候,很大程度上是由于 Redis 的并发性能很高,可以支持大量并发请求。那 Redis 是如何支持高并发请求的呢?这里就引入了第一个技术点,事件处理机制。在 Redis 中使用了单线程的 Reactor 模式,属于 I/O 多路复用的一种常见实现模式。这里简单介绍下 Reactor 模式。 1. Reactor 模式 从网上切一个类图,简单描述一下Reactor模式的主体结构 基本概念: Handle : I/O 操作的基本文件句柄,在 linux 下就是

linux定时执行任务

一个人想着一个人 提交于 2020-03-15 04:23:07
(1)Linux下如何定时执行php脚本? (2)Linux下如何设置定时任务? (3)Crontab定时执行程序 核心提示: 键入 crontab -e 编辑crontab服务文件 分为两种情况:(还有一种情况,当需要传递参数的时候,可以考虑用linux的curl) 第一种情况:你的php脚本中没有引入其他PHP文件,也就是说没有include,require_once等命令的PHP文件 * */1 * * * /usr/local/php/bin/php /var/www/html/wwwroot/web/script.php (每一小时执行一次script.php) 注意,这样写需要把PHP变成可执行的脚本文件。在命令行下,脚本所在目录 chmod +x script.php 注意:你的script.php文件中一定要在开始处加上: #!/usr/local/php/bin/php -q ,下面是一个完整的script.php文件代码 <?php #!/usr/local/php/bin/php -q session_start(); define( "DB_PASSWORD", "111111" ); // 服务器登陆密码 define( "DB_NAME", "db_shopping" ); // 数据库名称 define( "DB_USER", "root" ); //

20145304 《信息安全系统设计基础》第1周学习总结

我是研究僧i 提交于 2020-03-15 04:06:47
20145304 《信息安全系统设计基础》第1周学习总结 教材学习内容总结 Linux可以只用键盘完成一切操作,较为安全。 相对于现在的 Windows 系统,UNIX/Linux 本身是没有图形界面的,我们通常在 Unix/Linux 发行版上看到的图形界面实际都只是运行在 Linux 系统之上的一套软件。 Linux命令 :command [options] [arguments] Linux 默认提供了 6 个纯命令行界面的 “terminal”(准确的说这里应该是 6 个 virtual consoles)来让用户登录,在物理机系统上你可以通过使用[Ctrl]+[Alt]+[F1]~[F6]进行切换。当你切换到其中一个终端后想要切换回图形界面,你可以按下[Ctrl]+[Alt]+[F7]来完成。 Shell 是指“提供给使用者使用界面”的软件(命令解析器),它隐藏了操作系统底层的细节。 Tab键来进行命令补全、补全目录、补全命令参数;Ctrl+c键来强行终止当前程序。 通配符是一种特殊语句,主要有星号(*)和问号(?),用来对对字符串进行模糊匹配(比如文件名,参数名)。当查找文件夹时,可以使用它来代替一个或多个真正字符;当不知道真正字符或者懒得输入完整名字时,常常使用通配符代替一个或多个真正的字符。 - man 命令调用手册页,man 中使用搜索,/

Redis 集群(11)

混江龙づ霸主 提交于 2020-03-15 01:43:59
为什么需要集群? 1、性能 Redis本身的QPS已经很高了,但是如果在一些并发量非常高的情况下,性能还是会受到影响。这个时候我们希望有更多的Redis服务来完成工作。 2、扩展 第二个是出于存储的考虑。因为Redis所有的数据都放在内存中,如果数据量大,很容易受到硬件的限制。升级硬件收效和成本比太低,所以我们需要有一种横向扩展的方法。 3、可用性 第三个是可用性和安全的问题。如果只有一个Redis服务,一旦服务宕机,那么所有的客户端都无法访问,会对业务造成很大的影响。另一个,如果硬件发生故障,而单机的数据无法恢复的话,带来的影响也是灾难性的。 可用性、数据安全、性能都可以通过搭建多个Reids服务实现。其中有一个是主节点(master),可以有多个从节点(slave)。主从之间通过数据同步,存储完全相同的数据。如果主节点发生故障,则把某个从节点改成主节点,访问新的主节点。 Redis主从复制(replication) 主从复制配置 例如一主多从,100是主节点,在每个slave节点的redis.conf配置文件增加一行 slaveof 192.168.1.100 6379 //在主从切换的时候,这个配置会被重写成: #GeneratedbyCONFIGREWRITE replicaof 192.168.1.100 6379 或者在启动服务时通过参数指定master节点: .

Redis 持久化(10)

非 Y 不嫁゛ 提交于 2020-03-14 18:44:10
持久化机制 Redis速度快,很大一部分原因是因为它所有的数据都存储在内存中。如果断电或者宕机,都会导致内存中的数据丢失。为了实现重启后数据不丢失,Redis提供了两种持久化的方案,一种是RDB快照(RedisDataBase),一种是AOF(AppendOnlyFile)。 RDB RDB是Redis默认的持久化方案。当满足一定条件的时候,会把当前内存中的数据写入磁盘,生成一个快照文件dump.rdb。Redis重启会通过加载dump.rdb文件恢复数据。 什么时候写入rdb文件? 1、自动触发 a)配置规则触发。redis.conf,SNAPSHOTTING,其中定义了触发把数据保存到磁盘的触发频率。如果不需要RDB方案,注释save或者配置成空字符串""。 save 900 1 // 900秒内至少有一个key被修改(包括添加) save 300 10 //400秒内至少有10个key被修改 save 60 10000 //60秒内至少有10000个key被修改 注意上面的配置是不冲突的,只要满足任意一个都会触发。 RDB文件位置和目录: #文件路径 dir./ #文件名称 dbfilename dump.rdb #是否是LZF压缩rdb文件 rdbcompression yes #开启数据校验 rdbchecksum yes 为什么停止Redis服务的时候没有save

awk命令学习

心已入冬 提交于 2020-03-14 13:01:38
本文 主要通过awk的一些应用实例,来帮助我们理解awk的相关语法。 1、awk介绍 awk是一种强大的 文本分析工具 。awk本身就是linux下的一个工具,既可以单独使用,也可以嵌入到bash中。 awk语言的最基本功能是在文件或字符串中基于指定规则浏览和 抽取信息 。awk抽取信息后,才能进行其他文本操作。 2、awk应用实例 我们处理的是如下的示例信息 [root@iZ2ze7aznw5uolxelrna1gZ software]# cat netstat.txt Proto Recv-Q Send-Q Local-Address Foreign-Address State tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN tcp 0 0 coolshell.cn:80 124.205.5.146:18245 TIME_WAIT tcp 0 0 coolshell.cn:80 61.140.101.185:37538 FIN_WAIT2 tcp 0 0 coolshell.cn:80 110.194.134.189:1032 ESTABLISHED tcp 0 0 coolshell.cn:80