Category: Linux

  • 查看系统的内存

    查看cpu个数,核心数,型号,频率

    实际cpu个数:  cat /proc/cpuinfo | grep ‘physical id’ | uniq -c
    4 physical id     : 0       4 physical id     : 1       4 physical id     : 0       4 physical id     : 1

    实际cpu核心数及型号频率

    [root@puppet124 ~]# cat /proc/cpuinfo | grep name | cut -d: -f2 | uniq -c      16  Intel(R) Xeon(R) CPU           L5520  @ 2.27GHz

    查看内存条数及大小

    dmidecode | grep -P -A 5 “Memory Device” | grep Size | grep -v Range | grep -v No

    查看物理网卡及MAC地址

    ifconfig -a | grep HWaddr | awk ‘{print $5}’

    查看网卡支持的速度及当前工作的状态

    # ethtool eth0
    
    脚本:
    cpu and Mem:
    
    cpu物理个数
    
    physical cpu count: `cat /proc/cpuinfo | grep 'physical id' | uniq -c | wc -l`
    
    cpu核心个数型号频率
    
    processor core count: `cat /proc/cpuinfo | grep name | cut -d: -f2 | uniq -c | awk '{print $1}'`
    processor model: `cat /proc/cpuinfo | grep name | cut -d':' -f 2 | uniq`
    
    memory sock count:`dmidecode | grep -P -A 5 "Memory Device" | grep Size | grep -v Range`
    total memory:`dmidecode | grep -P -A 5 "Memory Device" | grep "Range Size"`
    
    查看序列号:
    
    dmidecode -s system-serial-number
    
    
  • 字符串反向显示

    shell命令rev

    echo 'abc' | rev

    rev filename

    按行反向显示

    cat filename | tac
    
  • linux的dns缓存服务-nscd

    nscd缓存三种服务passwd group hosts,所以它会记录三个库,分别对应源/etc/passwd, /etc/hosts 和 /etc/resolv.conf每个库保存两份缓存,一份是找到记录的,一份是没有找到记录的。每一种缓存都保存有生存时间(TTL).

    开启 、停止、 重启服务

     sevices nscd start | stop | restart

    缓存DB文件在/var/db/nscd下

    查看统计信息

    nscd -g

    清除缓存

    nscd -i passwd
    nscd -i group
    nscd -i hosts

    使用 reload 会实现上面的功能

        force-reload | reload)
            echo -n $"Reloading $prog: "
            RETVAL=0
            /usr/sbin/nscd -i passwd || RETVAL=$?
            /usr/sbin/nscd -i group || RETVAL=$?
            /usr/sbin/nscd -i hosts || RETVAL=$?
            /usr/sbin/nscd -i services || RETVAL=$?
            echo
        ;;
    
  • ubuntu支持exfat

    apt-get install exfat-utils

  • rsyslog以及logger命令

    配置 rsyslog

    cat /etc/rsyslog.d/custom_logging.conf

    # 定义模板
    $template CUSTOM_LOGS,"/var/log/%programname%.log"
    if ($programname == 'my_custom_app') then ?CUSTOM_LOGS
    # 匹配到后停止后续匹配
    &~
    
    if ($programname startswith 'm') then ?CUSTOM_LOGS
    &~
    

    使用 logger 测试上面的配置

    logger -t my_custom_app "==================>my_custom_app" 会记录到 /var/log/my_custom_app.log 
    logger -t my_custom_app_1 "==================>my_custom_app_1" 会记录到 /var/log/my_custom_app_1.log
    

    logger命令是syslog的shell接口

    测试上面的配置

    把文件记录到syslog里

    logger -f filename

    后面直接跟要记录的文本

    logger jpuyy.com

    可以看到这样一条记录

    Sep 13 16:55:51 iZ28bz7jrdyZ root: jpuyy.com

    参考:

    http://help.papertrailapp.com/discussions/questions/96-how-to-log-a-message-from-the-linux-command-line.html

  • nginx echo模块

    http://wiki.nginx.org/HttpEchoModule

    我这里在ubuntu下使用nginx,

    查看nginx版本,nginx -V

    nginx version: nginx/1.1.19

    确保有nginx-echo模块

    –add-module=/build/buildd/nginx-1.1.19/debian/modules/nginx-echo

    接下来在ip.jpuyy.com中添加配置,返回客户端ip,同时在http头中也加返回客户端ip

    server {
            listen       80;
            server_name  ip.jpuyy.com;
    
            location / {
                root /usr/share/nginx/jpuyy.com;
                index ip.html;
                add_header X-Client-IP $remote_addr;
                echo $remote_addr;
            }
    
    }
    

    获取自己的ip地址

    ➜  curl ip.jpuyy.com

    183.195.128.xx

    ➜  curl -I ip.jpuyy.com

    HTTP/1.1 200 OK

    Server: nginx/1.1.19

    Date: Sat, 23 Aug 2014 05:24:03 GMT

    Content-Type: application/octet-stream

    Connection: keep-alive

    X-Client-IP: 183.195.128.xx

    curl -I ip.jpuyy.com | grep X-Client |sed ‘s/ //’ | cut -d: -f2