Blog

  • 禁用iredmail的greylisting,重启的policyd

    打开/etc/policyd.conf

    ##################################################################
    # GREYLISTING (functional) #
    ##################################################################
    #
    # enable greylisting default: on
    #
    # whether greylisting should be enabled or disabled.
    #
    # 1=on 0=off
    GREYLISTING=1

    把上面的1改成0以后

    /etc/init.d/policyd restart

    但是这样十分容易收到垃圾邮件,鱼和熊掌不可兼得。

  • grep进行筛选

    排除空行和#开头的行(grep -E 扩展正归表达式)

    cat x.xx | grep -Ev "^$|#"

    过滤多个条件,或的关系

    ps aux | grep 'httpd\|nginx'
    ps aux | grep -E "httpd|nginx"

    排除以#开头的行

    cat x.xx | grep -v ^#

    查看file1中空行的行号

    grep -n ^$ file1

    需要严格匹配,如筛选abc,不需要abcd,abcde,则使用-w –word-regexp

    grep -w "abc"

    或者

    grep "\<abc\>"

    管道加grep -i不区分大小写匹配

    lspci | grep -i ether
     04:00.2 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 0a)

    直接取出当前目录文件中含有conf的行

    grep -R 'conf' .

    grep 打印出前面before,后面after,周边around的几行

    cat file | grep -A 1 aaa
    cat file | grep -B 1 aaa
    cat file | grep -C 1 aaa
    

    高亮显示 grep 出来的字符

    cat aaaa | grep --color aaaa

    去掉指定的几个 pattern

    grep -v -e "pattern1" -e "pattern2"
    grep -Ev "pattern1|pattern2"
    

    对过滤的结果计数(行数)

    grep -c 'aaaa' filename

    当前目录找到有某些字符的行及文件

    grep -rn 'bbs' .

    当前目录找到有某些字符的文件

    grep -rl 'bbs' .

    只输出匹配到的文字

    不输出文件名

    grep -h 'my_variable' /data/code/*

    例:把所有子域名打印出来

    cat domain.txt | grep -Eo '(\w+.)+jpuyy.com'

    grep 所有 ip 地址

    grep -roE '([0-9]{1,3}\.){3}[0-9]{1,3}' .

    grep 所有的 ip 网段

    grep -roE '([0-9]{1,3}\.){3}[0-9]{1,3}\/[0-9]{1,2}' .

    grep 包含中文的文件

    grep -rl '[\u4e00-\u9fa5]'  .
    
  • excel批量删除空行的办法

    文章来自:http://www.ittribalwo.com/show.asp?id=1502

    从网上复制来的代码往往有很多空行,excel批量删除空行的方法有多种,视具体数据源不同,可以选择性的使用不同的方法。本文旨在对删除空行进行总结。

    excel批量删除空行方法一:

    方法是:选择包含需要删除的数据区域,比如A2:D10,然后按F5键,打开“定位”对话框,单击“定位条件”,打开“定位条件”对话框,选择“空值”,可以批量选择空行,然后单击右键,选择删除即可。

    excel批量删除空行方法二:

    我们可以在旁边的空白列输入1,然后下拉,作为辅助列。然后开启“筛选”,筛选“空白”,在筛选状态删除这些空白行,最后关闭筛选。

    excel批量删除空行方法三:

    如果工作表中有大量的空行,可以使用VBA代码实现。方法是:按ALT+F11,打开VBE编辑器,插入——模块,复制下面的代码,然后按F5键运行。

    Sub 批量删除空行()
     Dim LastRow As Long
     Dim r As Long
     LastRow = ActiveSheet.UsedRange.Row - 1 + ActiveSheet.UsedRange.Rows.Count
     Application.ScreenUpdating = False
     For r = LastRow To 1 Step -1
     If Application.WorksheetFunction.CountA(Rows(r)) = 0 Then Rows(r).Delete
     Next r
     Application.ScreenUpdating = True
    End Sub
  • CentOS6.2初始化操作

    CentOS安装gcc g++等编译环境(使用yum)

    yum groupinstall 'Development Tools'

    CentOS安装中文包

    yum groupinstall chinese-support

    CentOS 配置 ssh

    安装SSH

    yum install ssh

    启动SSH

    service sshd start

    设置开机运行

    chkconfig sshd on

    在hosts.deny文件尾添加sshd:ALL 意思是拒绝所有访问请求

    在hosts.allow文件尾添加sshd:192.168.0. 意思是允许192.168.0.1 到254的主机

    重启ssh

    /etc/rc.d/init.d/sshd restart

    安装locate

    yum install mlocate

    mlocate是GNU locate的一个变种。相比原始的locate,它具有一个很好优点: 每次更新数据库时并不需要重新读取全部目录的内容。mlocate 在数据库中保存了时间戳信息,无需重新读取,就能判断目录内容是否改变。所以更新的速度更快,对硬盘的占用也更少。这是 mlocate 特有的功能。安装好后就可以用locate和updatedb来快速查找文件了。

  • centos6.2基本iptables模版

    vim /etc/sysconfig/iptables

    # Generated by iptables-save v1.4.7 on Mon Mar 26 09:52:21 2012
    *filter
    :INPUT ACCEPT [0:0]
    :FORWARD DROP [0:0]
    :OUTPUT ACCEPT [0:0]
    -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    -A INPUT -p icmp -j ACCEPT
    -A INPUT -i lo -j ACCEPT
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
    -A INPUT -j REJECT --reject-with icmp-host-prohibited
    -A FORWARD -j REJECT --reject-with icmp-host-prohibited
    COMMIT
    # Completed on Mon Mar 26 09:52:21 2012

    -A 选项来附加(新增)规则到某条链

    -i 选项(interface「界面」之意)来指定那些符合或来自 lo(localhost、127.0.0.1)界面的封包

    -j(jump「跳至」)符合这条规则的目标动作

    -m 选项来装入一个模块(state)。state 模块能够查看一个封包并判断它的状态是 NEW、ESTABLISHED 抑或 RELATED。NEW 指进入的封包属于不是由主机初始化的新增连接。ESTABLISHED 及 RELATED 指进入的封包隶属于一条现存的连接,或者与现存的连接有关系。

  • 清除当前目录下的所有.svn文件

    有时要得到一个干净的程序目录,需要使用find结合xargs,将目录及子目录的.svn文件夹删除

    find . -type d -name ".svn" | xargs rm -rf

    同时也可以使用svn export命令

    如将当前的目录templets输出到/tmp/templets

    svn export templets /tmp/templets --force