linux下pwd命令
在linux下,估计你经常使用pwd这个命令,这个命令就是打印当前的工作路径,即print working directroy, 今天我们也来c语言实现这个命令。
要实现这个功能,需要用到下面的一个系统调用:
#include <unistd.h>
char *getcwd(char *buf, size_t size);
该系统调用返回当前的工作目录的绝对路径,绝对路径的值保留在size大小的buf中,如果这个缓冲区太小,则返回NULL,并且errno被设置为ERANGE, 如果buf等于NULL,则行为是未定义的。如果函数调用成功,返回值是buf, 如果调用失败,则返回NULL,失败原因可以查看errno。
另外,还要用到一个函数:
#include <string.h>
char *strerror(int errnum);
该函数吧错误代码errnum转换为错误描述字符串并返回。
程序很简单,完整代码如下:
下载: pwd.c
/* pwd.c */
#include <unistd.h>
#include <stdio.h>
#include <string.h>
#include <errno.h>
#define BUF_SIZ 2048
int main()
{
char buf[BUF_SIZ];
if ( getcwd(buf, BUF_SIZ) )
printf("%s\n", buf);
else
fprintf(stderr, "error occured : %s", strerror(errno));
exit(0);
}
相关文档:
这个rootkit使用的技术不比前一个,它不是拦截系统调用,而是拦截具体文件系统的回调函数,本身文件系统的回调函数就是动态注册的,很是不确定,那么反黑软件自然就不能简单下结论说这个函数被黑掉了,因此这个rootkit看来比前一个略胜一筹,自然的,既然是内核模块,那么模块隐藏也是一个重要的内容,以下是一个简单的模块 ......
最近需要配置svn服务器。在网上找了一下,选择Apache,Subversion和Trac。
首先准备系统光盘。因为是Linux操作系统,所以准备好系统能节省一些时间,比如python-devel。但是httpd,subversion和trac还是下载源码编译吧。
下载软件包:
Gen ......
假如上传代码到SVN上,最简单的一种方法就是:进入代码目录,然后$svn import -m "New import" myqwcode http://192.168.0.222/svn/myqwcode就可以了,不需要建立新目录!
1、将文件checkout到本地目录
svn checkout path(path是服务器上的目录)
例如:svn checkout svn://192.168.1.1/pro/domain
  ......
现象:用SSH软件连接时,中文是乱码
解决:
修改/etc/sysconfig/i18n文件,将其改成以下内容:
LANG="zh_CN.GB18030"
LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"
SUPPORTED="zh_CN.UTF-8:zh_CN:zh:en_US.UTF-8:en_US:en"
SYSFONT="latarcyrheb-sun16" ......