Chinaunix首页 | 论坛 | 博客
  • 博客访问: 988694
  • 博文数量: 102
  • 博客积分: 10120
  • 博客等级: 上将
  • 技术积分: 2754
  • 用 户 组: 普通用户
  • 注册时间: 2006-09-13 23:00
文章分类

全部博文(102)

文章存档

2011年(6)

2010年(55)

2009年(16)

2008年(25)

分类: LINUX

2009-09-21 19:08:02

  • 在Unix命令行下,如果要处理的文件名具有命令选项一样的"面孔",那要小心了,因为命令可能会将其认为是一个命令选项,要阻止命令产生这种误 会,需要这样处理:在文件名前一个命令选项位置处输入-(两个连字符)。比如,假设现在有一个名为-c的文件,要用cat显示这个文件,常规的方式:

cat -c

是不行的,cat会报错说:-c是一个无效选项。正确的做法是这样:

cat -- -c

如此,则cat知道-之后的命令行参数是一个文件名,而不是命令行选项。

简单来说,--的作用就是告诉命令,下面命令行参数不是选项!

  • 在uCLinux-bf561中,msync()系统调用只实现共享内存页面的同步,但是没有对cache进行操作。
  • uCLinux提供了三种内存分配器:slab,slob,slub。slab是最初实现,是从Solaris借鉴过来的;slob针对嵌入式系统;slub面向NUMA架构。
  • 在C/C++中,变量名命名的惯例是:双下划线开头或者单下划线开头跟大写字母的保留给编译器实现;单下划线跟非大写字母及下划线的保留给标准库 的实现用。前者比如 __declspec,__thread,__builtin_const_p,后者比如 _mkdir,_strupr, _strdup。(来源于水木清华BBS)
  • 可以通过库函数system()运行脚本,比如像下面这样:

system("./verify_mypi.py");

通过execl()系统调用也可以,比如像下面这样:

execl("./verify_mypi.py", "./verify_mypi.py", NULL);

  • 在Linux下,tcpdump能够捕获回环接口lo上的数据包传输,这对于调试单机上的网络程序非常方便。但在Windows下,tcpdump对应的winpcap似乎却不能捕获回环接口上的数据包。
  • 在Linux下,显示和更改网卡设置的工具是ethtool。比如,可以用它来更改网卡MAC地址,设置双工/半双工工作方式,自动协商,选择10M/100M/1000M速率,等等。
  • 在Linux下,可以用watch命令查看一个命令重复执行的结果
  • C语言中的struct可以嵌套定义,比如像这样:

struct outer {
struct inner {
/* whatever */
} inner;
} outer;

但在嵌套中不能使用typedef,比如下面这样是不行的:

typedef struct outer {
float a;
typedef struct inner {
float b;
} INNER;
INNER inner;
} OUTER;

  • 在Python的正则表达式中,search和match是两个不同的操作:match要求必须从string的起始位置开始匹配,而search则允许从string中的任意位置开始匹配。(注:这个问题之前已经记录过)
  • 在vim中,命令模式下,把光标放在某个单词上,按*将向后搜索光标下的单词;按下#将向前搜索光标下的单词。
  • 在Linux中可以通过UNIX域套接口在进程之间传递打开的文件描述符。采用这种方案在进程之间传递打开的文件描述符时,通常要用到下面这些函数和系统调用:socketpair(2),sendmsg(2),recvmsg(2),cmsg(3)。
阅读(657) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~