`
jianpx
  • 浏览: 171013 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

linux command digest for myself

阅读更多

从现在开始摘录一些自己认为常用或者有用的linux命令或者脚本, 可能很简单, 可能写得很戳, 欢迎拍砖, 让彼此进步!

 

1. 经常要在svn目录下面搜索一些py代码文件里面是否含有某些词语, 例如检查代码里面的TODO的tag, 方便在提交之前做好检查。那么, 可以这样做:

grep -inR 'TODO' . | grep -v .svn | grep -v .pyc | grep -v .swp

进一步可以把这个命令做成一个更简洁的sh脚本, 只需要接受要搜索的词语和要搜索的目录就可以了。然后放到PATH里面。

 

2. 有时候我们要在ps命令的输出里面查找某些关键字(比如某些进程名), 但是由于ps的输出有很多列, grep完关键字之后并不清楚哪一列对应的列名是什么(比如究竟是USER还是CPU?). 所以我想让列名在grep之后也出现, 就像表头一样。

那么我们可以利用sed来完成, 因为他是按行处理并且支持将参数command按照顺序执行。

思路就是: 用sed先把ps的列名截取出来然后再grep。

 

ps aux | sed -ne '1p' -e '/wsgi/p' | grep -v sed

 

写成一个sh脚本的话可以这样:

 

 

#!/bin/sh
scriptname=`basename $0`
word=''
if [ $# -eq 1 ]; then
	word=$1
elif [ $# -gt 1 ]; then
	echo 'not support more than 1 parameter!'
fi
ps aux | sed -ne '1p' -e "/$word/p" | grep -v sed | grep -v $scriptname

 

 

3. 在vim里面, 想把文件的某些部分(第N到第M行,或者整个文件)拷贝到另一个文件可以这样做:

:N,M w newfile

 

如果想append内容到已有文件, 可以这样:

:N, M w >> newfile

 

如果被改写的文件是root的文件, 而你有sudo的权限的话, 要修改这样的root文件,可以这样:

:N, M w !sudo tee newfile

如果是想append内容到root权限的newfile, 要这样:

:N, M w !sudo tee -a newfile

 

 

4. ^foo^bar 这条命令能将上一条命令的第一个foo替换成bar, 这条命令被评为了linux10大最受欢迎命令了, 

今天刚好用到,但是我的需求是替换所有的foo而不仅仅是第一个,按道理应该加一个类似正则里面的g参数就可以。

然后man sh, 查找^, 搜到原来这个命令等价于 !!:s/string1/string2/  , !!命令是获取上一条命令, s是替换命令,

就像sed里面一样, 然后manpage里面就找到要所有都替换的话是这样写的: !!:gs/string1/string2  

功德圆满阿!不过就这样觉得其实描述这条命令的网页都没有最准确的描述, 应该强调下只是会替换第一个!!有木有!

 

 

5. 如果出现“Too many open files in system,connection closed错误”的话, 证明系统的文件句柄用完了。

那么如果查看文件句柄的情况和如何增加这个可用值就成了解决问题的关键了。

1)查看:

cat /proc/sys/fs/file-nr  会输入类似这样的值:

2688  0  65536

2688代表当前正在使用的句柄数;  0代表空闲的文件句柄数 ; 65536代表最大限制的文件句柄数量。

2)增加:

 

第一步:# vi /etc/sysctl.conf  修改fs.file-max=655360(如果没有fs.file-max=65536这一项的话则新加上)
第二步:# sysctl -p
搞定!
备注:
 sysctl - configure kernel parameters at runtime
-p     Load in sysctl settings from the file specified or /etc/sysctl.conf if none given. 

6. 使用sort实现类似数据库的group by功能

例子(filename: test.txt):

1,5,4

1,5,7

1,2,1

1,4,7

如果要按照前2列来排序group by, 那么可以通过这样的命令:

sort -t, -k1,2 test.txt

-k参数可以指定sort要排序的key是从哪个位置开始和结束, 不过缺点就是只能是一个连续的范围,

对不连续的没用。

如果你还需要在group by之后做统计, 那么用uniq -c 就可以了, 完整命令如下:

sort -t, -k1,2 test.txt | uniq -c

分享到:
评论

相关推荐

    Http Digest 鉴权

    “摘要”式认证( Digest authentication)是一个简单的认证机制,最初是为HTTP协议开发的,因而也常叫做HTTP摘要,在RFC2671中描述。其身份验证机制很简单,它采用杂凑式(hash)加密方法,以避免用明文传输用户的...

    模拟Digest认证的登录demo

    Digest认证的过程通常包括以下步骤: 1. 客户端发起请求,服务器返回401响应,包含WWW-Authenticate头。 2. 客户端解析这个头,然后生成一个包含用户名、密码、随机nonce值(服务器提供的唯一字符串)以及方法和URI...

    msql-for-Linux.zip_MYSQL_linux mysql_mysql linux

    "msql-for-Linux.zip"这个压缩包可能包含了关于如何在Linux系统上安装、配置和管理MySQL的详细资料,特别是针对"嵌入式数据库msql在Linux下的应用.png"这个文件,我们可以推测它可能是一个教程或示例,展示了MySQL在...

    MD5 digest 算法

    MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希函数,由计算机科学家Ronald Rivest在1991年设计。它能够将任意长度的数据转化为一个固定长度的摘要值,通常是一个128位的二进制数,通常用32个十六进制数字...

    精华贴展示插件digest.php插件 for Discuz!7.0.rar

    《精华贴展示插件digest.php在Discuz!7.0中的应用详解》 Discuz!作为一款广泛应用的社区论坛软件,其丰富的插件系统为用户提供了无数的个性化和功能扩展可能。今天我们要深入探讨的是“精华贴展示插件digest.php”...

    ISSCC 2019 - Digest.rar

    ISSCC2019 - Digest.docx ISSCC2019 - Digest.pdf 1 Plenary Session 2 Processors 3 Nyquist Rate ADCs 4 Power Amplifiers 5 Image Sensors 6 Ultra-High-Speed Wireline 7 Machine Learning ...

    digest 用户认证 response生成算法

    在网络安全认证领域,digest用户认证是一种使用摘要算法对用户凭证进行加密验证的技术,它允许在不安全的网络通道中安全地进行身份验证。digest认证机制通常用于基于HTTP和SIP(Session Initiation Protocol)协议的...

    Onvif编译及开发(带wsse鉴权和digest鉴权)

    本教程将深入探讨如何进行ONVIF编译与开发,包括使用gSOAP工具处理SOAP消息,以及实现WSSE(Web Services Security Extensions,Web服务安全扩展)和DIGEST鉴权机制。 首先,让我们了解gSOAP。gSOAP是一个开源C和...

    Digest-Perl-MD5-1.9.tar.gz

    《Digest-Perl-MD5:Perl中的MD5哈希库》 Digest-Perl-MD5是Perl编程语言中用于处理MD5(Message-Digest Algorithm 5)哈希算法的一个模块。MD5是一种广泛使用的加密散列函数,设计者是Ronald Rivest。它产生一个...

    linux下apache页面认证+ssl

    在Linux环境下配置Apache服务器以实现页面认证与SSL加密是一项关键的网络管理技能,尤其是在保障网站安全性和用户数据保护方面。本文将深入解析如何在Linux下完成Apache页面认证及SSL配置,确保网站通信的安全性。 ...

    RFC 2617中文版(HTTP Digest Authentication)

    RFC 2617中文版(HTTP Digest Authentication) RFC 2617中文版是对HTTP Digest Authentication的描述,该文档基于原英文版进行了校正和重新排版,以方便中文读者更好地理解和使用HTTP Digest Authentication机制。...

    Prentice.Hall.PTR.Embedded.Linux.Primer.A.Practical.Real.World.Approach.Sep.2006.chm

    Drawing on years of experience as an embedded Linux consultant and field application engineer, Christopher Hallinan offers solutions for the specific technical issues you're most likely to face, ...

    Digest-HMAC-1.03.tar.gz

    《Digest-HMAC: 一种强大的认证机制》 在信息技术领域,安全始终是至关重要的考虑因素。其中,数据的完整性与身份验证是确保信息安全的关键环节。Digest-HMAC(Hash-based Message Authentication Code)是一种基于...

    SM3Digest.gz_SM3Digest_sawiss_sm2digest_sm3digest怎么用_国密

    SM3国密算法第二部分,SM3DIGEST

    linux数据库编程

    - 监控工具:如`top`、`htop`、`iotop`等监控系统资源使用情况,以及专门的数据库监控工具如MySQL的`pt-query-digest`。 - 错误日志:理解和分析数据库的日志文件,有助于诊断问题和优化性能。 9. **分布式数据库...

    ISSCC 2012 - Digest .rar

    标题中的“ISSCC 2012 - Digest .rar”指的是2012年国际固态电路会议(International Solid-State Circuits Conference, ISSCC)的摘要合集,它被压缩成一个RAR文件供下载和存储。这个会议是全球集成电路设计领域最...

    t-digest-3.2-API文档-中英对照版.zip

    赠送jar包:t-digest-3.2.jar; 赠送原API文档:t-digest-3.2-javadoc.jar; 赠送源代码:t-digest-3.2-sources.jar; 赠送Maven依赖信息文件:t-digest-3.2.pom; 包含翻译后的API文档:t-digest-3.2-javadoc-API...

    t-digest源码

    t-digest 最新源码分享,t-digest 最新源码分享t-digest 最新源码分享t-digest 最新源码分享t-digest 最新源码分享t-digest 最新源码分享t-digest 最新源码分享t-digest 最新源码分享t-digest 最新源码分享t-digest ...

    md5sum linux 下的代码实现

    md5sum linux 下的代码实现 usage: md5sum [-bv] [-c [file]] | [file...] Generates or checks MD5 Message Digests -c check message digests (default is generate) -v verbose, print file names when ...

Global site tag (gtag.js) - Google Analytics