文档章节

101 条命令行

疯狂的兔子
 疯狂的兔子
发布于 2015/04/20 17:52
字数 1146
阅读 13
收藏 0
点赞 0
评论 0

查看 postgresql 当前运行日志

 tail -f pg_log/`ls -al pg_log/| tail -n 1| awk '{print $9}'`

一个一次性的编辑器

有时候只是想临时保存个东西,又不想存文件,可以这样:

在终端里:

cat >/dev/null

然后把文本拷贝粘贴终端屏幕上。用完之后 ctrl-c,东西就没了。

让程序及时刷新stdout

有时候写个脚本:

nohup test.sh > my.log 2>&1 &

之后,因为在后台,标准输出(stdout)刷新不是很及时,于是你

tail -f my.log

经常会一阵阵的输出日志,不够及时,在 shell 里如何弄呢?
可以这样:

nohup unbuffer test.sh > my.log 2>&1 &

或者

nohup stdbuf -i 0 -o0 -e 0 test.sh > my.log 2>&1 &

按空格分隔逐个遍历

for i in ` cat somefile` ; do echo $i ; done

一次一行读取输入遍历

cat somefile | while read line ;  do echo $line ; done

一次一行读取输入,不逃逸输入中的反斜杠

read -r

可以免于逃逸输入中的反斜杠:

cat somefile | while read -r line ; do $echo $line; done

获取度假IOS app所有GID

 cat b2c.ios.access.log.page1 | grep '"dep":"北京"' |awk -F '=' '{print $3}'  | while read -r line ; do echo $line | json_xs|grep '"gid" :' ; done

命令行上的日历

审批报销的时候,经常需要看月历,Unix 系统有非常优秀的 cal 命令可以看月历:

bash-4.2$ cal
      十月 2013     
日 一 二 三 四 五 六
       1  2  3  4  5
 6  7  8  9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31

加上年份:

bash-4.2$ cal 2013
                               2013                               

        一月                   二月                   三月        
日 一 二 三 四 五 六   日 一 二 三 四 五 六   日 一 二 三 四 五 六
       1  2  3  4  5                   1  2                   1  2
 6  7  8  9 10 11 12    3  4  5  6  7  8  9    3  4  5  6  7  8  9
13 14 15 16 17 18 19   10 11 12 13 14 15 16   10 11 12 13 14 15 16
20 21 22 23 24 25 26   17 18 19 20 21 22 23   17 18 19 20 21 22 23
27 28 29 30 31         24 25 26 27 28         24 25 26 27 28 29 30
                                              31
        四月                   五月                   六月        
日 一 二 三 四 五 六   日 一 二 三 四 五 六   日 一 二 三 四 五 六
    1  2  3  4  5  6             1  2  3  4                      1
 7  8  9 10 11 12 13    5  6  7  8  9 10 11    2  3  4  5  6  7  8
14 15 16 17 18 19 20   12 13 14 15 16 17 18    9 10 11 12 13 14 15
21 22 23 24 25 26 27   19 20 21 22 23 24 25   16 17 18 19 20 21 22
28 29 30               26 27 28 29 30 31      23 24 25 26 27 28 29
                                              30
        七月                   八月                   九月        
日 一 二 三 四 五 六   日 一 二 三 四 五 六   日 一 二 三 四 五 六
    1  2  3  4  5  6                1  2  3    1  2  3  4  5  6  7
 7  8  9 10 11 12 13    4  5  6  7  8  9 10    8  9 10 11 12 13 14
14 15 16 17 18 19 20   11 12 13 14 15 16 17   15 16 17 18 19 20 21
21 22 23 24 25 26 27   18 19 20 21 22 23 24   22 23 24 25 26 27 28
28 29 30 31            25 26 27 28 29 30 31   29 30

        十月                  十一月                 十二月       
日 一 二 三 四 五 六   日 一 二 三 四 五 六   日 一 二 三 四 五 六
       1  2  3  4  5                   1  2    1  2  3  4  5  6  7
 6  7  8  9 10 11 12    3  4  5  6  7  8  9    8  9 10 11 12 13 14
13 14 15 16 17 18 19   10 11 12 13 14 15 16   15 16 17 18 19 20 21
20 21 22 23 24 25 26   17 18 19 20 21 22 23   22 23 24 25 26 27 28
27 28 29 30 31         24 25 26 27 28 29 30   29 30 31

命令行上的计算器

bc 命令:

bash-4.2$ echo '0.99*0.99*0.99'| bc -l
.970299

命令行上对一个有序文件进行乱序处理

简单的逻辑就是:我们对随机数进行排序,那么出来的“顺序”就是乱的,因此,如果我要对一个有序的文件进行乱序操作,基本逻辑就是给每行都附加一个随机数,然后我们把随机数排列成有序的,那么原来的数据就乱序了:

for line in `cat tt.txt | awk $'{print $2 }' ` ; do echo $RANDOM $line ; done | sort -k 1 -n

shuf

现代 Linux 都内置了一个叫 shuf 的命令,专门对文件进行乱序处理:

time cat tt.txt | shuf

命令行上对文件的某一列求和

用 awk 最简单,比如对文件第二列的数字求和

cat some_file | awk '{SUM += $2} END {print SUM}'

命令行上对文件的倒数第二列求和

用 awk 的 $NF 变量,可以这么做:

cat some_file | awk '{SUM += ($(NF-1))} END {print SUM}'

当然,倒数第几列是可以控制的拉。

命令行上对文件的倒数第二列求平均

cat some_file | awk '{SUM += ($(NF-1)); CNT += 1 } END {print SUM/CNT}'


© 著作权归作者所有

共有 人打赏支持
疯狂的兔子
粉丝 34
博文 158
码字总数 101541
作品 0
北京
后端工程师
Ubuntu 14.04 安装 Java JDK (6步)

从Oracle下载JDK最新版,附下载地址 下载后得到文件jdk-8u101-linux-x64.tar.gz(文件名可能不同,下载扩展名为.tar.gz的即可), 在命令行输入以下代码解压文件到当前目录,会得到一个名为jdk1.8....

残月的影 ⋅ 2017/06/29 ⋅ 0

从PHP客户端看MongoDB通信协议

MongoDB 的 PHP 客户端有一个MongoCursor 类,它是用于获取一次查询结果集的句柄(或者叫游标),这个简单的取数据操作,内部实现其实不是那么简单。本文就通过对 MongoCursor 类一些操作进行...

鉴客 ⋅ 2012/05/24 ⋅ 4

按照比例分发信息给相应人员

有A,B,C三个或者以上用户,现设置接收信息的权重为A=5,B=3,C=2,A接收5条信息,B接收三条,C接收2条按照这种比例分发信息内容。当第101条内容来了要分发给谁

绍铖_TT_OO ⋅ 2016/08/16 ⋅ 4

推荐一个叫Full Source的IE功能扩展

一直以为国人比较喜欢比来比去,什么Windows vs linux、.NET vs java、IE vs firefox等等。原来老外也有无聊到一定水平的,这不发现原来"101件Mozilla 浏览器能而IE 不能做的事"一文的始作俑...

唐玄奘 ⋅ 2017/12/19 ⋅ 0

bootstrap分页问题

就是现在我用了SSM框架做的数据报表,报表是用boostrap的。就是我再查数据的时候,后台是查了所有的数据然后填充到报表里面生成页数的。现在我是想这样,比如一页放一百条数据,那我点击第一...

小绝绝 ⋅ 2017/06/07 ⋅ 1

shell 写登录跳板机

准备3台机器 1.linux-node1 ip:10.89.3.108 (跳板机) 2.weblamp ip:10.89.3.100 3.weblnmp ip:10.89.3.101 3台系统环境如下: [jump@linux-node1 ~]$ cat /etc/redhat-release CentOS relea......

ahtornado ⋅ 2017/04/12 ⋅ 0

Mac OS X 10.5快速系统部署实践-制作核心系统镜像(3) v1

Mac OS X 10.5 Fast System Deployment Practice Mac OS X 10.5快速系统部署实践 注: 前一篇在这里: Mac OS X 10.5快速系统部署实践-制作核心系统镜像(2) v1 打印机 有的公司可能需要管理本...

junwong ⋅ 2012/03/09 ⋅ 0

ubuntu环境部署LVS DR模式

一、环境说明: 系统环境:ubuntu14.04 lvs服务器:10.36.1.55/10.36.1.56 真实服务器:10.36.1.55/10.36.1.56 在这里也充当mysql和zabbix角色 VIP:10.36.1.101 部署目的: 1、访问VIP的330...

科技小能手 ⋅ 2017/11/12 ⋅ 0

ansible-playbook 通过cmdb获取动态inventory

随着cmdb上记录的增多,每次都需要修改ansible的hosts文件, 实属麻烦。此次通过动态获取inventory的方法,这样可以省去配置ansible服务端的hosts。 动态inventory脚本必须支如下两个命令行参...

yaoliang833 ⋅ 2017/12/07 ⋅ 0

在vmware虚机上用iscsi协议建立多路径环境测试multipath (1)

搭建系统架构 系统网络架构图 配置虚机3的目的是为了将来测试oracle RAC,本实验可以不配。 配置虚机的linux网卡 每个虚机配3个网卡,一个通过桥接方式经vmware workstation虚拟交换机VMnet...

leesbing ⋅ 2017/04/08 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

PHP语言系统ZBLOG或许无法重现月光博客的闪耀历史[图]

最近在写博客,希望通过自己努力打造一个优秀的教育类主题博客,名动江湖,但是问题来了,现在写博客还有前途吗?面对强大的自媒体站点围剿,还有信心和可能型吗? 至于程序部分,我选择了P...

原创小博客 ⋅ 18分钟前 ⋅ 0

IntelliJ IDEA 2018.1新特性

工欲善其事必先利其器,如果有一款IDE可以让你更高效地专注于开发以及源码阅读,为什么不试一试? 本文转载自:netty技术内幕 3月27日,jetbrains正式发布期待已久的IntelliJ IDEA 2018.1,再...

Romane ⋅ 44分钟前 ⋅ 0

浅谈设计模式之工厂模式

工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 在工厂模式中,我们在创建对象时不会对客户端暴露创建逻...

佛系程序猿灬 ⋅ 今天 ⋅ 0

Dockerfile基础命令总结

FROM 指定使用的基础base image FROM scratch # 制作base image ,不使用任何基础imageFROM centos # 使用base imageFROM ubuntu:14.04 尽量使用官方的base image,为了安全 LABEL 描述作...

ExtreU ⋅ 昨天 ⋅ 0

存储,对比私有云和公有云的不同

导读 说起公共存储,很难不与后网络公司时代的选择性外包联系起来,但尽管如此,它还是具备着简单和固有的可用性。公共存储的名字听起来也缺乏专有性,很像是把东西直接堆放在那里而不会得到...

问题终结者 ⋅ 昨天 ⋅ 0

C++难点解析之const修饰符

C++难点解析之const修饰符 c++ 相比于其他编程语言,可能是最为难掌握,概念最为复杂的。结合自己平时的C++使用经验,这里将会列举出一些常见的难点并给出相应的解释。 const修饰符 const在c...

jackie8tao ⋅ 昨天 ⋅ 0

聊聊spring cloud netflix的HystrixCommands

序 本文主要研究一下spring cloud netflix的HystrixCommands。 maven <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-clo......

go4it ⋅ 昨天 ⋅ 0

Confluence 6 从其他备份中恢复数据

一般来说,Confluence 数据库可以从 Administration Console 或者 Confluence Setup Wizard 中进行恢复。 如果你在恢复压缩的 XML 备份的时候遇到了问题,你还是可以对整个站点进行恢复的,如...

honeymose ⋅ 昨天 ⋅ 0

myeclipse10 快速搭建spring boot开发环境(入门)

1.创建一个maven的web项目 注意上面标红的部分记得选上 2.创建的maven目录结构,有缺失的目录可以自己建立目录补充 补充后 这时候一个maven的web项目创建完成 3.配置pom.xml配置文件 <proje...

小海bug ⋅ 昨天 ⋅ 0

nginx.conf

=========================================================================== nginx.conf =========================================================================== user nobody; #......

A__17 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部