
Linux
hexiecs
Follow my heart.
展开
-
Linux硬链接和软链接
unlink()Linux每个文件有自己的引用计数和链接计数,存放在inode结构体中。 unlink(char *pathname)函数会对pathname路径对应文件的链接计数减1,如果此时链接计数变为0,并且此文件的引用计数也为0,此文件内容就会被删除。 当open一个存在的文件时,文件的引用计数会加1,close一个文件时,引用计数会减1,但都不影响文件的链接计数。只有创建一个文件时,文原创 2017-09-24 21:51:41 · 420 阅读 · 0 评论 -
Linux getopt和getopt_long函数
getopt函数参数函数原型为: int getopt(int argc, char * const argv[], const char *optstring);涉及的全局变量:extern char *optarg;extern int optind, opterr, optopt;包含的头文件:#include <unistd.h>先说几个概念: - 选项:指的是命令行参数中的-符号后面的原创 2017-09-24 21:53:12 · 372 阅读 · 0 评论 -
Linux setuid位
passwd命令和/etc/passwd文件用过Linux的都知道,Linux下的文件有读、写、执行三种权限,分别用rwx表示。准确来说有九种权限,也就是owner, group, others和rwx的组合。但了解passwd命令原理会发现,这个命令会修改/etc/passwd文件,但这个文件的拥有者是root,只有root用户有读写权限,它的也就是rw-r--r--那么,为什么普通用户也可以执行原创 2017-10-15 22:44:47 · 1070 阅读 · 0 评论 -
Linux exit() 和 return 的区别
exit()表示终止当前进程,return表示从当前函数返回。exit()带参数表示终止状态,通常exit(0)表示正常终止, return 带一个参数表示返回值。exit()执行完一些清理工作(终止处理程序,刷新输出流并关闭所有打开的流)后就调用_exit直接退出,不弹堆栈。而return会弹堆栈,返回到上级调用函数。这一点区别在执行vfork时很关键。原创 2017-10-15 22:46:05 · 3313 阅读 · 0 评论