zoukankan      html  css  js  c++  java
  • 2015-3-23

    1、shell脚本中的  `command`表示方式:可以用来引用一个命令,并将结果返回。

    举例:一个简单的查找所有linux用户,并修改用户终端字体颜色的脚本:

    #!/bin/bash
    get_user ()
    {
        user=`awk -F : '$3 >= 500 {print $1}' /etc/passwd`
        for u in $user
        do
            if [ -d "/home/$u" ]; then
            echo $u
            fi
        done
        echo root
    }
    get_dir ()
    {
        for u in $@
        do
            if [ $u == "root" ]; then
            echo "/root"
            else
                echo "/home/$u"
            fi
        done
    }
    user=`get_user`
    dir=`get_dir $user`
    for d in $dir
    do
        echo "LS_COLORS='no=00:fi=00:di=00;34:ln=00;36:pi=40;33:so=00;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:ex=00;32:*.cmd=00;32:*.exe=00;32:*.com=00;32:*.btm=00;32:*.bat=00;32:*.sh=00;32:*.csh=00;32:*.tar=00;31:*.tgz=00;31:*.arj=00;31:*.taz=00;31:*.lzh=00;31:*.zip=00;31:*.z=00;31:*.Z=00;31:*.gz=00;31:*.bz2=00;31:*.bz=00;31:*.tz=00;31:*.rpm=00;31:*.cpio=00;31:*.jpg=00;35:*.gif=00;35:*.bmp=00;35:*.xbm=00;35:*.xpm=00;35:*.png=00;35:*.tif=00;35:'" >> "$d/.bashrc"
    done
    source ~/.bashrc
    

      

    2、大小端的原理及如何写程序进行判断大小端机。

      (1)、内存的地址是由低到高的,计算机一般都是从低地址开始去数据的。

      (2)、出了char类型和byte类型是一个字节外,其他类型都占一个字节以上,而超过一个字节的数据类型就会引起存储上的分歧。

      (3)、小端机是低位字节存储在内存的低地址处,高位字节存储在内存的高地址处。(计算机取时,按照低字节->高字节的顺序,符合计算顺序)

      (4)、大端机是高字节存储在内存的低地址处,低字节存储在内存的高地址出。(计算机取时,按照高字节->低字节的顺序,符合人眼看的顺序)

      一个判断机器字节序的函数:

      

    #include <stdio.h>
    void byteorder()
    {
    	union
    	{
    		short value;
    		char union_bytes[ sizeof( short ) ];
    	} test;
    	test.value = 0x0102;
    	if (  ( test.union_bytes[ 0 ] == 1 ) && ( test.union_bytes[ 1 ] == 2 ) )
    	{
    		printf( "big endian
    " );
    	}
    	else if ( ( test.union_bytes[ 0 ] == 2 ) && ( test.union_bytes[ 1 ] == 1 ) )
    	{
    		printf( "little endian
    " );
    	}
    	else
    	{
    		printf( "unknown...
    " );
    	}
    }
    

      

    3、epoll模型中的EPOLLOUT事件,有一种触发条件是:在设定好监听事件的EPOLLOUT属性之后。由此可以得到这么一种结论:每次写完数据后,就重新修改该套接字描述符的属性为:EPOLLOUT|EPOLLET,即可每次都触发写事件。

    一个服务器端压测程序的例子:http://blog.csdn.net/nyist327/article/details/44588827

  • 相关阅读:
    匈牙利算法demo
    linux/windows 文件共享--Samba环境搭建
    神经网络参数量和计算量计算
    C/C++ 开发中使用第三方库常见问题总结
    linux 如何更改docker的默认存储磁盘
    目录下文件递归查找
    c++ 项目开发技巧
    Finding Tiny faces 思想解析
    美女与硬币问题
    深度优先遍历解决连通域求解问题-python实现
  • 原文地址:https://www.cnblogs.com/Shibo2014/p/4361085.html
Copyright © 2011-2022 走看看