symlink

Autres langues

Langue: ja

Version: 2004-06-23 (openSuse - 09/10/07)

Autres sections - même nom

Section: 2 (Appels système)

̾Á°

symlink - ¥Õ¥¡¥¤¥ë¤Ë¿·¤·¤¤Ì¾Á°¤òÉÕ¤±¤ë

½ñ¼°

#include <unistd.h>

int symlink(const char *oldpath, const char *newpath);

ÀâÌÀ

symlink() ¤Ï oldpath ¤È¤¤¤¦Ê¸»úÎó¤ò¥Õ¥¡¥¤¥ë¤ÎÆâÍƤȤ·¤Æ»ý¤Ä newpath ¤È¤¤¤¦¥·¥ó¥Ü¥ê¥Ã¥¯¡¦¥ê¥ó¥¯ (symbolic link) ¤òºîÀ®¤¹¤ë¡£

¥·¥ó¥Ü¥ê¥Ã¥¯¡¦¥ê¥ó¥¯¤Ï¼Â¹Ô»þ¤Ë²ò¼á¤µ¤ì¡¢ ¥ê¥ó¥¯¤ÎÆâÍƤǥѥ¹¤òÃÖ¤­´¹¤¨¤Æ¡¢¤½¤Î¥Ñ¥¹¤òé¤ë¤³¤È¤Ç¡¢ ¥Õ¥¡¥¤¥ë¤ä¥Ç¥£¥ì¥¯¥È¥ê¤ËÅþ㤹¤ë¡£

¥·¥ó¥Ü¥ê¥Ã¥¯¡¦¥ê¥ó¥¯¤Ï¥Ñ¥¹¤ÎÉôʬ¤Ë .. ¤ò´Þ¤à¤«¤â¤·¤ì¤Ê¤¤¡£¤³¤ì¤Ï (¤â¤·¥ê¥ó¥¯¤ÎºÇ½é¤Ë»ÈÍѤµ¤ì¤¿¾ì¹ç¤Ï) ¥ê¥ó¥¯¤Î ¸ºß¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Î¿Æ¥Ç¥£¥ì¥¯¥È¥ê¤¬»²¾È¤µ¤ì¤ë¡£

¥·¥ó¥Ü¥ê¥Ã¥¯¡¦¥ê¥ó¥¯¤Ï (¥½¥Õ¥È¡¦¥ê¥ó¥¯ (soft link) ¤È¤â¸Æ¤Ð¤ì) ¸ºß¤¹¤ë¥Õ¥¡¥¤¥ë¤ò»Ø¤·¤Æ¤¤¤ë¤«¤â¤·¤ì¤Ê¤¤¤·¡¢ ¸ºß¤·¤Ê¤¤¥Õ¥¡¥¤¥ë¤ò»Ø¤·¤Æ¤¤¤ë¤«¤â¤·¤ì¤Ê¤¤; ¸å¼Ô¤Î¾ì¹ç¤Ï²õ¤ì¤¿¥ê¥ó¥¯ (dangling link) ¤È¤â¸Æ¤Ð¤ì¤ë¡£

¥·¥ó¥Ü¥ê¥Ã¥¯¡¦¥ê¥ó¥¯¤Îµö²Ä (permission) ¤Ï̵°ÕÌ£¤Ç¤¢¤ë; ¥ê¥ó¥¯¤òÄÉÀפ¹¤ë¾ì¹ç¤Ë¤Ï½êÍ­¸¢ (ownership) ¤Ï̵»ë¤µ¤ì¤ë¡£ ¤¿¤À¤·¡¢¥ê¥ó¥¯¤Îºï½ü¤ä̾Á°¤ÎÊѹ¹¤¬Í׵ᤵ¤ì¡¢¤«¤Ä¥ê¥ó¥¯¤¬Â¸ºß¤¹¤ë ¥Ç¥£¥ì¥¯¥È¥ê¤Ë¥¹¥Æ¥£¥Ã¥­¡¼¡¦¥Ó¥Ã¥È (sticky bit) (S_ISVTX) ¤¬ÀßÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢½êÍ­¸¢¤Î¥Á¥§¥Ã¥¯¤¬¹Ô¤ï¤ì¤ë¡£

newpath ¤¬´û¤Ë¸ºß¤¹¤ë¾ì¹ç¤Ë¤Ï¾å½ñ¤­¤Ï¤µ¤ì¤Ê¤¤¡£

ÊÖ¤êÃÍ

À®¸ù¤·¤¿¾ì¹ç¤Ë¤Ï 0 ¤òÊÖ¤¹¡£¥¨¥é¡¼¤Î¾ì¹ç¤Ë¤Ï -1 ¤òÊÖ¤·¡¢ errno ¤¬Å¬ÀÚ¤ËÀßÄꤵ¤ì¤ë¡£

¥¨¥é¡¼

EACCES
newpath ¤ò´Þ¤ó¤Ç¤¤¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Ø¤Î½ñ¤­¹þ¤ß¤¬µñÈݤµ¤ì¤¿¤«¡¢ newpath ¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Î¤É¤ì¤«¤Ë¸¡º÷µö²Ä¤¬Í¿¤¨¤é¤ì¤Æ¤¤¤Ê¤¤ (path_resolution(7) ¤â»²¾È¤¹¤ë¤³¤È)¡£
EEXIST
newpath ¤¬´û¤Ë¸ºß¤·¤Æ¤¤¤ë¡£
EFAULT
oldpath ¤ä newpath ¤¬¥¢¥¯¥»¥¹²Äǽ¤Ê¥¢¥É¥ì¥¹¶õ´Ö¤Î³°¤ò»Ø¤·¤Æ¤¤¤ë¡£
EIO
I/O ¥¨¥é¡¼¤¬È¯À¸¤·¤¿¡£
ELOOP
newpath ¤ò²ò·è¤¹¤ëºÝ¤ËÁø¶ø¤·¤¿¥·¥ó¥Ü¥ê¥Ã¥¯¡¦¥ê¥ó¥¯¤¬Â¿²á¤®¤ë¡£
ENAMETOOLONG
oldpath ¤Þ¤¿¤Ï newpath ¤¬Ä¹²á¤®¤ë¡£
ENOENT
newpath ¤Ë´Þ¤Þ¤ì¤ë¥Ç¥£¥ì¥¯¥È¥êÉôʬ¤¬Â¸ºß¤·¤Ê¤¤¤«¡¢²õ¤ì¤¿¥ê¥ó¥¯¤Ç¤¢¤ë¤«¡¢ oldpath ¤¬¶õʸ»úÎó¤Ç¤¢¤ë¡£
ENOMEM
½½Ê¬¤Ê¥«¡¼¥Í¥ë (kernel) ¤Î¥á¥â¥ê¡¼¤¬¤Ê¤¤¡£
ENOSPC
¥Õ¥¡¥¤¥ë¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¥Ç¥Ð¥¤¥¹¤Ë¿·¤·¤¤¥Ç¥£¥ì¥¯¥È¥ê¡¦¥¨¥ó¥È¥ê (directory entry) ¤òºîÀ®¤¹¤ë¤À¤±¤Î½½Ê¬¤ÊÍÆÎ̤¬¤Ê¤¤¡£
ENOTDIR
newpath ¤Ë´Þ¤Þ¤ì¤ë¥Ç¥£¥ì¥¯¥È¥êÉôʬ¤¬¡¢¼ÂºÝ¤Ë¤Ï¡¢¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤Ï¤Ê¤¤¡£
EPERM
newpath ¤ò´Þ¤ó¤Ç¤¤¤ë¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à (file system) ¤¬ ¥·¥ó¥Ü¥ê¥Ã¥¯¡¦¥ê¥ó¥¯¤ÎºîÀ®¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤¤¡£
EROFS
newpath ¤¬Æɤ߹þ¤ßÀìÍѤΥե¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¤Ë¸ºß¤·¤Æ¤¤¤ë¡£

½àµò

SVr4, 4.3BSD, POSIX.1-2001.

Ãí°Õ

oldpath ¤Ë¤Ä¤¤¤Æ¤Î¥Á¥§¥Ã¥¯¤Ï¹Ô¤Ê¤ï¤ì¤Ê¤¤¡£

symlink ¤Ë¤è¤Ã¤Æ»²¾È¤µ¤ì¤ë̾Á°¤òºï½ü¤¹¤ë¤È (¤½¤ì¤¬Â¾¤Ë¥Ï¡¼¥É¡¦¥ê¥ó¥¯ (hard link) ¤ò»ý¤¿¤Ê¤±¤ì¤Ð) ¼ÂºÝ¤Ë¥Õ¥¡¥¤¥ë¤¬ºï½ü¤µ¤ì¤ë¡£ ¤³¤ÎÆ°ºî¤¬Ë¾¤ó¤À¤â¤Î¤Ç¤Ê¤¤¾ì¹ç¤Ï¡¢ link(2) ¤ò»ÈÍѤ¹¤ë¤³¤È¡£

´ØÏ¢¹àÌÜ

ln(1), link(2), lstat(2), open(2), readlink(2), rename(2), symlinkat(2), unlink(2), path_resolution(7)