linux怎么实现软链接相关的功能
这篇文章主要介绍“linux怎么实现软链接相关的功能”,在日常操作中,相信很多人在linux怎么实现软链接相关的功能问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”linux怎么实现软链接相关的功能”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名申请、网站空间、营销软件、网站建设、义乌网站维护、网站推广。
/** linux/fs/minix/symlink.c** Copyright (C) 1991, 1992 Linus Torvalds** minix symlink handling code*/#ifdef MODULE#include#endif#include#include#include#include#include#includestatic int minix_readlink(struct inode *, char *, int);static int minix_follow_link(struct inode *, struct inode *, int, int, struct inode **);/** symlinks can't do much...*/// 操作软链接文件的函数集,在新建软链接文件的时候赋值给inode结构体struct inode_operations minix_symlink_inode_operations = {NULL, /* no file-operations */NULL, /* create */NULL, /* lookup */NULL, /* link */NULL, /* unlink */NULL, /* symlink */NULL, /* mkdir */NULL, /* rmdir */NULL, /* mknod */NULL, /* rename */minix_readlink, /* readlink */minix_follow_link, /* follow_link */NULL, /* bmap */NULL, /* truncate */NULL /* permission */};// 打开软链对应的文件static int minix_follow_link(struct inode * dir, struct inode * inode,int flag, int mode, struct inode ** res_inode){int error;struct buffer_head * bh;*res_inode = NULL;if (!dir) {dir = current->fs->root;dir->i_count++;}if (!inode) {iput(dir);return -ENOENT;}if (!S_ISLNK(inode->i_mode)) {iput(dir);*res_inode = inode;return 0;}if (current->link_count > 5) {iput(inode);iput(dir);return -ELOOP;}// 读取文件第一块内容if (!(bh = minix_bread(inode, 0, 0))) {iput(inode);iput(dir);return -EIO;}iput(inode);current->link_count++;// 打开b_data里的保存的文件名对应的文件error = open_namei(bh->b_data,flag,mode,res_inode,dir);current->link_count--;brelse(bh);return error;}// 读取软链文件的内容,即文件路径static int minix_readlink(struct inode * inode, char * buffer, int buflen){struct buffer_head * bh;int i;char c;if (!S_ISLNK(inode->i_mode)) {iput(inode);return -EINVAL;}if (buflen > 1023)buflen = 1023;bh = minix_bread(inode, 0, 0);iput(inode);if (!bh)return 0;i = 0;while (ib_data[i])) { i++;put_fs_byte(c,buffer++);}brelse(bh);return i;}
到此,关于“linux怎么实现软链接相关的功能”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!
网页名称:linux怎么实现软链接相关的功能
文章出自:http://www.jxjierui.cn/article/jjiedj.html


咨询
建站咨询
