- 博客(9)
- 收藏
- 关注
原创 linux命令实现:write
write:用于终端之间的用户通信。write [username] [终端]代码实现#include#include#include#include#include#include#include#include#define PATH "/var/run/utmp"#define PREPATH "/dev/"char BUF[4096];char *
2015-05-26 20:31:41 952
原创 设置vim的键盘映射
因为没有IDE所以写起代码很蛋疼,或者不小心按错了,手就需要向右拉到方向键上,然后再拉到退格键上,然后食指再回到‘j'上,如此循环,慢的一比。突然想到既然normal模式下可以通过hjkl移动,我也可以在插入模式下通过ctrl +[ ] 来实现。查了一下,果然可以设置$vim ~/.vimrc写入:imap
2015-05-25 17:04:11 3700
原创 linux命令实现:pwd
pwd命令:显示当前的工作目录。这个命令实现起来很简单,分分钟就写好了。这里主要注意一点,chdir()这个系统调用,是改变当前程序的工作目录,不是改变bash的工作目录,这是不一样的。还有,改动是立即生效的,在需要用到工作目录(其实就是一个路径名)的时候,程序就会读取某个地方的信息,当调用chdir()时,直接把这个信息更改,后续的读取到的工作目录就会改变,在本程序中,输出的时候用到
2015-05-22 21:27:21 2015
原创 gcc编辑错误提示
incompatible implicit declaration of built-in function 1dereferencing pointer to incomplete type 2conflicting types for 3too few arguments to functiong 4原因:1.函数缺少头文件
2015-05-18 14:27:00 1095
原创 linux获取终端大小
在shell下可以直接用$LINES和$COLUMNS两个变量,$LINES是屏幕高,$COLUMNS是屏幕宽,单位都是字符数。在程序中获取:1.可以通过读取$LINES与$COLUMNS对应的文件之类的,这里不做赘述。2.可以通过ioctl()系统函数得到#include#include#include#include#includeint main()
2015-05-12 13:32:32 2168
原创 linux命令实现:cp
cp用于复制文件之类的操作用法:cp [参数] file newfile (把file复制到newfile) 或:cp [参数] file1 file2 file3 ... dirname(把文件file1 file2 file ...复制到dirname目录下)参数:-a :相当于 -pdr 。-d :若来源文件为连结文件的属性(link file),则复制该链接文
2015-05-07 10:26:03 580
原创 linux命令实现:whoami
#whoami-->root要实现的就是这个命令,很简单,稍微分析一下:1.通过系统调用getuid取得执行该程序的UID2.检索/etc/passwd文件,通过UID寻找到对应的USER_NAME.(/etc/passwd格式 "USER_NAME:x:UID:GID:DESCRIPTION:HOME_DIR:SHELL ")3.打印USER_NAME整个过程没什么复
2015-05-06 18:02:10 2209
转载 Real user ID, Effective userID , Set user ID 之间的关系
前段时间一直没搞明白这几个ID之间的关系,今天看到一篇博文,这才拨云见日,才有所了解了.real user ID:实际用户ID,指的是进程执行者是谁effective user ID:有效用户ID,指进程执行时对文件的访问权限saved set-user-ID:保存设置用户ID,作为effective user ID的副本,在执行exec调用时后能重新恢复原来的effectiv use
2015-05-04 22:02:24 532
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人