残剑

Stop walking today and you'll have to run tomorrow!

Linux操作系统下的MAN命令

| Comments

Unix/Linux下的man命令可以查询常用的命令和函数。可是只知道用“man 函数名”来查询会遇到很多问题,比如man read,想看的是ANSI C中stdio的read函数原型和说明,出来的却是BASH命令的说明。这是怎么回事呢?原来read本身是man命令的一个参数,这样就会以为你要使用read的功能,而不是查看read函数。那么要怎样查看read函数呢?可以使用man 2 read或者是man 3 read查看。

分卷号

以上指令的中间数字是什么意思呢?是man的分卷号,所有的手册页都属于一个特定的分卷号,用一个字符来表示。Linux下最通用的分卷号及其名称和说明如下表所示。

分卷号 名称 说明
1 用户命令 可由任何人启动
2 系统调用 由内核提供的函数
3 例程 库函数
4 设备 /dev目录下的特殊文件
5 文件格式描述 例如/etc/passwd
6 游戏
7 杂项 例如宏命令包、惯例等
8 系统管理员工具 只能由root启动
9 其他(Linux特定的) 用来存放内核例行程序的文档
n 新文档 可能要移到更适合的领域
o 老文档 可能会在一段期限内保留
l 本地文档 与特定系统有关的

奇谋之士蒯通

| Comments

《史记》中有各式各样的人物,司马迁却没有给奇谋之士蒯通单独列传,留下那不平凡的事迹给后人称颂。关于蒯通这个人的事迹,也只能从其他人的列传里了解到他,对于他的谋略以及对天下形势的远见都令人佩服。

如此有才华的人,却为何没有自己的列传,只能出现在他人的列传之中?原因很简单,司马迁写书的时代是大汉王朝,而蒯通却在那个朝代犯下了特大的错误。那么这么一个人到底有什么样的才华呢?且让我们看看他的一些事迹。

Linux下iptables防火墙原理及使用

| Comments

netfilter/iptables(简称为iptables)组成Linux平台下的包过滤防火墙,与大多数的Linux软件一样,这个包过滤防火墙是免费的,它可以代替昂贵的商业防火墙解决方案,完成封包过滤、封包重定向和网络地址转换(NAT)等功能。iptables和netfilter的关系是一个很容易让人搞不清的问题:很多人知道iptables却不知道netfilter,其实iptables(位于/sbin目录下)只是Linux防火墙的管理工具而已,真正实现防火墙功能的是netfilter(它是Linux内核中实现包过滤的内部结构)。

iptables传输数据包的过程

 flow

Astyle格式化代码

| Comments

astyle是一个开源工具,它可以方便的将代码格式化成自己想要的样式而不必人工修改。可以在终端下输入指令sudo apt-get install astyle安装,也可以到 这里 下载源码后自己编译安装。

下面介绍一下astyle的简单使用。例如有以下的源码:

1
2
3
#include <stdio.h>
int main(int argc, char **argv)
{int i;printf("Just a test!\n");for(i=0;i<10;++i)printf("%d\n",i);}return 0;}

How to Resolve “Error Opening Terminal Linux”

| Comments

Linux环境下,编译嵌入式系统时会用到make menuconfigmake config命令,这些命令通常会使用ncurses库,如果ncurses库没有安装设置正确,可能出现如下的错误信息:

1
2
3
4
5
6
7
error opening terminal Linux
error opening terminal xterm
error opening terminal vt100
error opening terminal vt102
error opening terminal unknown
error opening terminal cgywin
...

Ubuntu下安装SublimeText2及其插件

| Comments

Sublime Text 2是一个轻量、简洁、高效、跨平台的编辑器,方便的配色以及兼容vim快捷键等各种优点博得了很多前端开发人员的喜爱。Sublime Text 2基本上是共享软件,免费版和收费版基本无区别,只是偶尔会弹框让你去购买,这个基本不影响使用。

软件安装

Ubuntu下安装Sublime Text 2有两种方式:指令安装和直接下载安装。

指令安装

1
2
3
$ sudo add-apt-repository ppa:webupd8team/sublime-text-2
$ sudo apt-get update
$ sudo apt-get install sublime-text-2

Octopress添加中文标签功能

| Comments

Octopress有自带的分类,详情请见 官方文档_config.yml中配置项如下:

1
2
category_dir: blog/categories
category_title_prefix: "Category: "

然后添加类似categories: [Ruby&Rails]categories: [Ruby&Rails,C/C++]的分类标签配置到每个_posts/*.markdown文件头中,示例如下:

1
2
3
4
5
6
7
---
layout: post
title: "Octopress添加中文标签功能"
date: 2013-07-21 11:02
comments: true
categories: [Ruby&Rails,Octopress]
---

将Emacs配置成一个C/C++的IDE编程环境

| Comments

在Linux环境下编程,首先要选择开发工具,大部分程序员都是使用VIM和EMACS这两大神器。虽说它们只是编辑器,但由于其超强的可定制性,已成为广大linux工作者的首选。使用sudo apt-get install emacs来安装Emaces。

Emacs的基本操作和组合键

模式键定义

四个模式键:C—-Ctrl;M—-Alt;s—-Super(Win);S—-Shift

比如:

C-x:表示按下ctrl键,然后按下x键。

C-x c C-c:表示按下ctrl,然后按下x键,松开后再按下c键。

C-x k:表示按下ctrl,同时按下x和k键。