亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? linux 常用c函數(中文版)-文件權限控制.htm

?? 常用的嵌入式linux開發的C函數庫
?? HTM
?? 第 1 頁 / 共 5 頁
字號:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0051)http://net.pku.edu.cn/~yhf/linux_c/function/12.html -->
<HTML><HEAD><TITLE>Untitled Document</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<META content="MSHTML 6.00.2462.0" name=GENERATOR></HEAD>
<BODY>
<TABLE width="100%">
  <TBODY>
  <TR>
    <TD vAlign=top width=80>  
      <DIV align=right><BR><FONT face=宋體 size=2><A 
      name=linuxc211></A></FONT></DIV></TD></TR>
  <TR>
    <TD vAlign=top width=80>
      <DIV align=right><FONT face=宋體 size=2><BR></FONT></DIV></TD>
    <TD><FONT face=宋體 size=2><BR>access(判斷是否具有存取文件的權限) </FONT></TD></TR>
  <TR>
    <TD vAlign=top width=80>
      <DIV align=right><FONT face=宋體 size=2>相關函數 </FONT></DIV></TD>
    <TD><FONT face=宋體 
  size=2>stat,open,chmod,chown,setuid,setgid<BR></FONT></TD></TR>
  <TR>
    <TD vAlign=top width=80>
      <DIV align=right><FONT face=宋體 size=2>表頭文件 </FONT></DIV></TD>
    <TD><FONT face=宋體 size=2>#include&lt;unistd.h&gt;<BR></FONT></TD></TR>
  <TR>
    <TD vAlign=top width=80>
      <DIV align=right><FONT face=宋體 size=2>定義函數 </FONT></DIV></TD>
    <TD><FONT face=宋體 size=2>int access(const char * pathname,int 
      mode);<BR></FONT></TD></TR>
  <TR>
    <TD vAlign=top width=80>
      <DIV align=right><FONT face=宋體 size=2>函數說明 </FONT></DIV></TD>
    <TD><FONT face=宋體 
      size=2>access()會檢查是否可以讀/寫某一已存在的文件。參數mode有幾種情況組合,R_OK,W_OK,X_OK 
      和F_OK。R_OK,W_OK與X_OK用來檢查文件是否具有讀取、寫入和執行的權限。F_OK則是用來判斷該文件是否存在。由于access()只作權限的核查,并不理會文件形態或文件內容,因此,如果一目錄表示為“可寫入”,表示可以在該目錄中建立新文件等操作,而非意味此目錄可以被當做文件處理。例如,你會發現DOS的文件都具有“可執行”權限,但用execve()執行時則會失敗。<BR></FONT></TD></TR>
  <TR>
    <TD vAlign=top width=80>
      <DIV align=right><FONT face=宋體 size=2>返回值 </FONT></DIV></TD>
    <TD><FONT face=宋體 
      size=2>若所有欲查核的權限都通過了檢查則返回0值,表示成功,只要有一權限被禁止則返回-1。<BR></FONT></TD></TR>
  <TR>
    <TD vAlign=top width=80>
      <DIV align=right><FONT face=宋體 size=2>錯誤代碼 </FONT></DIV></TD>
    <TD><FONT face=宋體 size=2>EACCESS 參數pathname 所指定的文件不符合所要求測試的權限。<BR>EROFS 
      欲測試寫入權限的文件存在于只讀文件系統內。<BR>EFAULT 參數pathname指針超出可存取內存空間。<BR>EINVAL 參數mode 
      不正確。<BR>ENAMETOOLONG 參數pathname太長。<BR>ENOTDIR 參數pathname為一目錄。<BR>ENOMEM 
      核心內存不足<BR>ELOOP 參數pathname有過多符號連接問題。<BR>EIO I/O 存取錯誤。<BR></FONT></TD></TR>
  <TR>
    <TD vAlign=top width=80>
      <DIV align=right><FONT face=宋體 size=2>附加說明 </FONT></DIV></TD>
    <TD><FONT face=宋體 
      size=2>使用access()作用戶認證方面的判斷要特別小心,例如在access()后再做open()的空文件可能會造成系統安全上的問題。<BR></FONT></TD></TR>
  <TR>
    <TD vAlign=top width=80>
      <DIV align=right><FONT face=宋體 size=2>范例 </FONT></DIV></TD>
    <TD><FONT face=宋體 size=2>/* 判斷是否允許讀取/etc/passwd 
      */<BR>#include&lt;unistd.h&gt;<BR>int main()<BR>{<BR>if 
      (access(“/etc/passwd”,R_OK) = =0)<BR>printf(“/etc/passwd can be 
      read\n”);<BR>}<BR></FONT></TD></TR>
  <TR>
    <TD vAlign=top width=80>
      <DIV align=right><FONT face=宋體 size=2>執行 </FONT></DIV></TD>
    <TD><FONT face=宋體 size=2>/etc/passwd can be read<BR></FONT></TD></TR>
  <TR>
    <TD vAlign=top width=80>  
      <DIV align=right><BR><FONT face=宋體 size=2><A 
      name=linuxc212></A></FONT></DIV></TD></TR>
  <TR>
    <TD vAlign=top width=80>
      <DIV align=right><FONT face=宋體 size=2><BR></FONT></DIV></TD>
    <TD><FONT face=宋體 size=2><BR>alphasort(依字母順序排序目錄結構) </FONT></TD></TR>
  <TR>
    <TD vAlign=top width=80>
      <DIV align=right><FONT face=宋體 size=2>相關函數 </FONT></DIV></TD>
    <TD><FONT face=宋體 size=2>scandir,qsort<BR></FONT></TD></TR>
  <TR>
    <TD vAlign=top width=80>
      <DIV align=right><FONT face=宋體 size=2>表頭文件 </FONT></DIV></TD>
    <TD><FONT face=宋體 size=2>#include&lt;dirent.h&gt;<BR></FONT></TD></TR>
  <TR>
    <TD vAlign=top width=80>
      <DIV align=right><FONT face=宋體 size=2>定義函數 </FONT></DIV></TD>
    <TD><FONT face=宋體 size=2>int alphasort(const struct dirent **a,const 
      struct dirent **b);<BR></FONT></TD></TR>
  <TR>
    <TD vAlign=top width=80>
      <DIV align=right><FONT face=宋體 size=2>函數說明 </FONT></DIV></TD>
    <TD><FONT face=宋體 
      size=2>alphasort()為scandir()最后調用qsort()函數時傳給qsort()作為判斷的函數,詳細說明請參考scandir()及qsort()。<BR></FONT></TD></TR>
  <TR>
    <TD vAlign=top width=80>
      <DIV align=right><FONT face=宋體 size=2>返回值 </FONT></DIV></TD>
    <TD><FONT face=宋體 size=2>參考qsort()。<BR></FONT></TD></TR>
  <TR>
    <TD vAlign=top width=80>
      <DIV align=right><FONT face=宋體 size=2>范例 </FONT></DIV></TD>
    <TD><FONT face=宋體 size=2>/* 
      讀取/目錄下所有的目錄結構,并依字母順序排列*/<BR>main()<BR>{<BR>struct dirent 
      **namelist;<BR>int i,total;<BR>total = scandir(“/”,&amp;namelist 
      ,0,alphasort);<BR>if(total 
      &lt;0)<BR>perror(“scandir”);<BR>else{<BR>for(i=0;i&lt;total;i++)<BR>printf(“%s\n”,namelist[i]-&gt;d_name);<BR>printf(“total 
      = %d\n”,total);<BR>}<BR>}<BR></FONT></TD></TR>
  <TR>
    <TD vAlign=top width=80>
      <DIV align=right><FONT face=宋體 size=2>執行 </FONT></DIV></TD>
    <TD><FONT face=宋體 
      size=2>..<BR>.gnome<BR>.gnome_private<BR>ErrorLog<BR>Weblog<BR>bin<BR>boot<BR>dev<BR>dosc<BR>dosd<BR>etc<BR>home<BR>lib<BR>lost+found<BR>misc<BR>mnt<BR>opt<BR>proc<BR>root<BR>sbin<BR>tmp<BR>usr<BR>var<BR>total 
      = 24<BR></FONT></TD></TR>
  <TR>
    <TD vAlign=top width=80>  
      <DIV align=right><BR><FONT face=宋體 size=2><A 
      name=linuxc213></A></FONT></DIV></TD></TR>
  <TR>
    <TD vAlign=top width=80>
      <DIV align=right><FONT face=宋體 size=2><BR></FONT></DIV></TD>
    <TD><FONT face=宋體 size=2><BR>chdir(改變當前的工作(目錄) </FONT></TD></TR>
  <TR>
    <TD vAlign=top width=80>
      <DIV align=right><FONT face=宋體 size=2>相關函數 </FONT></DIV></TD>
    <TD><FONT face=宋體 size=2>getcwd,chroot<BR></FONT></TD></TR>
  <TR>
    <TD vAlign=top width=80>
      <DIV align=right><FONT face=宋體 size=2>表頭文件 </FONT></DIV></TD>
    <TD><FONT face=宋體 size=2>#include&lt;unistd.h&gt;<BR></FONT></TD></TR>
  <TR>
    <TD vAlign=top width=80>
      <DIV align=right><FONT face=宋體 size=2>定義函數 </FONT></DIV></TD>
    <TD><FONT face=宋體 size=2>int chdir(const char * path);<BR></FONT></TD></TR>
  <TR>
    <TD vAlign=top width=80>
      <DIV align=right><FONT face=宋體 size=2>函數說明 </FONT></DIV></TD>
    <TD><FONT face=宋體 
size=2>chdir()用來將當前的工作目錄改變成以參數path所指的目錄。<BR></FONT></TD></TR>
  <TR>
    <TD vAlign=top width=80>
      <DIV align=right><FONT face=宋體 size=2>返回值 </FONT></DIV></TD>
    <TD><FONT face=宋體 size=2>執行成功則返回0,失敗返回-1,errno為錯誤代碼。<BR></FONT></TD></TR>
  <TR>
    <TD vAlign=top width=80>
      <DIV align=right><FONT face=宋體 size=2>范例 </FONT></DIV></TD>
    <TD><FONT face=宋體 
      size=2>#include&lt;unistd.h&gt;<BR>main()<BR>{<BR>chdir(“/tmp”);<BR>printf(“current 
      working directory: %s\n”,getcwd(NULL,NULL));<BR>}<BR></FONT></TD></TR>
  <TR>
    <TD vAlign=top width=80>
      <DIV align=right><FONT face=宋體 size=2>執行 </FONT></DIV></TD>
    <TD><FONT face=宋體 size=2>current working directory :/tmp<BR></FONT></TD></TR>
  <TR>
    <TD vAlign=top width=80>  
      <DIV align=right><BR><FONT face=宋體 size=2><A 
      name=linuxc214></A></FONT></DIV></TD></TR>
  <TR>
    <TD vAlign=top width=80>
      <DIV align=right><FONT face=宋體 size=2><BR></FONT></DIV></TD>
    <TD><FONT face=宋體 size=2><BR>chmod(改變文件的權限) </FONT></TD></TR>
  <TR>
    <TD vAlign=top width=80>
      <DIV align=right><FONT face=宋體 size=2>相關函數 </FONT></DIV></TD>
    <TD><FONT face=宋體 size=2>fchmod,stat,open,chown<BR></FONT></TD></TR>
  <TR>
    <TD vAlign=top width=80>
      <DIV align=right><FONT face=宋體 size=2>表頭文件 </FONT></DIV></TD>
    <TD><FONT face=宋體 
      size=2>#include&lt;sys/types.h&gt;<BR>#include&lt;sys/stat.h&gt;<BR></FONT></TD></TR>
  <TR>
    <TD vAlign=top width=80>
      <DIV align=right><FONT face=宋體 size=2>定義函數 </FONT></DIV></TD>
    <TD><FONT face=宋體 size=2>int chmod(const char * path,mode_t 
      mode);<BR></FONT></TD></TR>
  <TR>
    <TD vAlign=top width=80>
      <DIV align=right><FONT face=宋體 size=2>函數說明 </FONT></DIV></TD>
    <TD><FONT face=宋體 size=2>chmod()會依參數mode 權限來更改參數path 
  指定文件的權限。<BR></FONT></TD></TR>
  <TR>
    <TD vAlign=top width=80>
      <DIV align=right><FONT face=宋體 size=2>參數 </FONT></DIV></TD>
    <TD><FONT face=宋體 size=2>mode 有下列數種組合<BR>S_ISUID 04000 文件的(set user-id on 
      execution)位<BR>S_ISGID 02000 文件的(set group-id on execution)位<BR>S_ISVTX 
      01000 文件的sticky位<BR>S_IRUSR(S_IREAD) 00400 
      文件所有者具可讀取權限<BR>S_IWUSR(S_IWRITE)00200 文件所有者具可寫入權限<BR>S_IXUSR(S_IEXEC) 
      00100 文件所有者具可執行權限<BR>S_IRGRP 00040 用戶組具可讀取權限<BR>S_IWGRP 00020 
      用戶組具可寫入權限<BR>S_IXGRP 00010 用戶組具可執行權限<BR>S_IROTH 00004 
      其他用戶具可讀取權限<BR>S_IWOTH 00002 其他用戶具可寫入權限<BR>S_IXOTH 00001 
      其他用戶具可執行權限<BR>只有該文件的所有者或有效用戶識別碼為0,才可以修改該文件權限。基于系統安全,如果欲將數據寫入一執行文件,而該執行文件具有S_ISUID 
      或S_ISGID 權限,則這兩個位會被清除。如果一目錄具有S_ISUID 
      位權限,表示在此目錄下只有該文件的所有者或root可以刪除該文件。<BR></FONT></TD></TR>
  <TR>
    <TD vAlign=top width=80>
      <DIV align=right><FONT face=宋體 size=2>返回值 </FONT></DIV></TD>
    <TD><FONT face=宋體 size=2>權限改變成功返回0,失敗返回-1,錯誤原因存于errno。<BR></FONT></TD></TR>
  <TR>
    <TD vAlign=top width=80>
      <DIV align=right><FONT face=宋體 size=2>錯誤代碼 </FONT></DIV></TD>
    <TD><FONT face=宋體 size=2>EPERM 
      進程的有效用戶識別碼與欲修改權限的文件擁有者不同,而且也不具root權限。<BR>EACCESS 
      參數path所指定的文件無法存取。<BR>EROFS 欲寫入權限的文件存在于只讀文件系統內。<BR>EFAULT 
      參數path指針超出可存取內存空間。<BR>EINVAL 參數mode不正確<BR>ENAMETOOLONG 參數path太長<BR>ENOENT 
      指定的文件不存在<BR>ENOTDIR 參數path路徑并非一目錄<BR>ENOMEM 核心內存不足<BR>ELOOP 
      參數path有過多符號連接問題。<BR>EIO I/O 存取錯誤<BR></FONT></TD></TR>
  <TR>
    <TD vAlign=top width=80>
      <DIV align=right><FONT face=宋體 size=2>范例 </FONT></DIV></TD>
    <TD><FONT face=宋體 size=2>/* 將/etc/passwd 
      文件權限設成S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH 
      */<BR>#include&lt;sys/types.h&gt;<BR>#include&lt;sys/stat.h&gt;<BR>main()<BR>{<BR>chmod(“/etc/passwd”,S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH);<BR>}<BR></FONT></TD></TR>
  <TR>
    <TD vAlign=top width=80>  
      <DIV align=right><BR><FONT face=宋體 size=2><A 
      name=linuxc215></A></FONT></DIV></TD></TR>
  <TR>
    <TD vAlign=top width=80>
      <DIV align=right><FONT face=宋體 size=2><BR></FONT></DIV></TD>
    <TD><FONT face=宋體 size=2><BR>chown(改變文件的所有者) </FONT></TD></TR>
  <TR>
    <TD vAlign=top width=80>
      <DIV align=right><FONT face=宋體 size=2>相關函數 </FONT></DIV></TD>
    <TD><FONT face=宋體 size=2>fchown,lchown,chmod<BR></FONT></TD></TR>
  <TR>
    <TD vAlign=top width=80>
      <DIV align=right><FONT face=宋體 size=2>表頭文件 </FONT></DIV></TD>
    <TD><FONT face=宋體 
      size=2>#include&lt;sys/types.h&gt;<BR>#include&lt;unistd.h&gt;<BR></FONT></TD></TR>
  <TR>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩一区精品字幕| 一本大道av一区二区在线播放| 国产二区国产一区在线观看| 99久久免费视频.com| 日韩精品在线一区二区| 亚洲欧美偷拍三级| 国产精品影视在线| 欧美亚洲高清一区| 国产精品成人一区二区艾草| 裸体一区二区三区| 欧美三区在线观看| 综合久久久久久| 国产成人精品一区二| 日韩精品中文字幕一区| 香蕉av福利精品导航| av爱爱亚洲一区| 国产亚洲精品超碰| 精品一区二区三区在线播放 | 不卡一卡二卡三乱码免费网站| 欧美日韩精品欧美日韩精品一| 中文字幕不卡的av| 国产高清不卡一区二区| 日韩欧美一级二级三级久久久| 亚洲一区二区三区视频在线| 91影院在线免费观看| 中文字幕精品—区二区四季| 久久激情综合网| 日韩欧美中文字幕公布| 日韩在线卡一卡二| 欧美一区二区网站| 日韩av一二三| 日韩欧美一级片| 激情综合五月天| 久久一区二区视频| 狠狠色综合日日| 国产无遮挡一区二区三区毛片日本| 亚洲一区二区在线视频| 欧美性受xxxx黑人xyx性爽| 一区二区三区美女视频| 欧美日韩一区久久| 午夜久久久久久久久久一区二区| 欧美日韩一区二区三区免费看 | 欧美xxxxxxxxx| 国模娜娜一区二区三区| 久久精品人人爽人人爽| 成人的网站免费观看| 亚洲欧美日韩成人高清在线一区| 91免费在线播放| 午夜在线成人av| 精品sm在线观看| 成人免费毛片嘿嘿连载视频| 综合电影一区二区三区| 欧美人动与zoxxxx乱| 麻豆久久一区二区| 中文字幕国产一区二区| 一本一道波多野结衣一区二区| 亚洲一区免费在线观看| 精品奇米国产一区二区三区| 99久久婷婷国产综合精品电影| 亚洲影视在线播放| 26uuu精品一区二区| 99热99精品| 日本少妇一区二区| 国产精品美女久久久久高潮| 欧美三片在线视频观看| 国产精品18久久久久久久久| 亚洲免费av网站| 精品国产亚洲一区二区三区在线观看| 粉嫩aⅴ一区二区三区四区五区| 一区二区三区免费网站| 国产亚洲综合在线| 欧美三级视频在线观看| 国产精品 欧美精品| 午夜一区二区三区视频| 国产亚洲一二三区| 欧美精品xxxxbbbb| 欧美日韩精品一区二区三区四区 | 日韩精品一区二区三区在线观看| 国产成人免费在线观看不卡| 性做久久久久久免费观看| 久久久精品国产99久久精品芒果| 色哟哟欧美精品| 国产老肥熟一区二区三区| 亚洲一卡二卡三卡四卡无卡久久 | 九九精品一区二区| 亚洲一区影音先锋| 中文字幕在线观看不卡| 日韩精品一区二区三区蜜臀| 日本丰满少妇一区二区三区| 国产一区二区三区最好精华液| 一区二区三区 在线观看视频| 久久久久久久久久看片| 欧美老肥妇做.爰bbww视频| av不卡在线播放| 国产盗摄女厕一区二区三区| 免费亚洲电影在线| 亚洲一级二级在线| 亚洲欧美日本在线| 自拍av一区二区三区| 国产午夜亚洲精品午夜鲁丝片 | 99re在线精品| 国产91精品一区二区麻豆网站 | 国产麻豆一精品一av一免费| 亚洲超丰满肉感bbw| 一区二区三区四区视频精品免费| 中文字幕不卡在线播放| 精品国产sm最大网站| 欧美一级片在线看| 日韩一级视频免费观看在线| 欧美日韩精品专区| 欧美猛男超大videosgay| 91福利精品视频| 在线观看亚洲精品视频| 91麻豆高清视频| 色综合久久久久综合体桃花网| 91在线视频免费观看| 97久久精品人人爽人人爽蜜臀 | 欧美色视频在线观看| 久久久久久久久岛国免费| 日韩三区在线观看| 日韩欧美一区二区不卡| 精品国产一二三区| 国产视频一区二区在线观看| 中文字幕国产一区二区| 国产精品久久国产精麻豆99网站| 国产精品丝袜一区| 《视频一区视频二区| 夜夜操天天操亚洲| 三级成人在线视频| 久久福利视频一区二区| 国产成人在线色| 99re在线精品| 欧美日本一区二区| 亚洲精品一区二区三区在线观看| 久久久不卡影院| 亚洲天天做日日做天天谢日日欢| 一区二区在线观看免费视频播放| 亚洲一区免费视频| 国内精品久久久久影院色| 99免费精品在线| 欧美日韩黄色影视| 精品国一区二区三区| 中文字幕一区二区三| 亚洲成a人片在线观看中文| 蜜臀av一区二区在线免费观看| 国产精品一区二区黑丝| 一本到不卡精品视频在线观看| 欧美日韩综合一区| 久久精品一区二区| 亚洲资源中文字幕| 激情综合色综合久久| 99精品黄色片免费大全| 欧美一激情一区二区三区| 国产精品久久网站| 日韩av网站在线观看| jlzzjlzz国产精品久久| 在线电影一区二区三区| 国产精品护士白丝一区av| 日韩黄色在线观看| 91视频91自| 26uuu亚洲| 婷婷成人综合网| 97精品电影院| 久久久精品免费免费| 亚洲午夜久久久久久久久久久 | av日韩在线网站| 日韩免费观看高清完整版在线观看| 国产精品毛片大码女人| 男人的j进女人的j一区| 欧美在线观看视频在线| 欧美激情资源网| 免费高清视频精品| 欧美在线免费视屏| 亚洲欧美影音先锋| 国产精品18久久久久久久网站| 91精品国产综合久久久久久久久久| 国产精品乱子久久久久| 国产一区二区在线免费观看| 欧美日韩1234| 亚洲国产一区二区三区| 97aⅴ精品视频一二三区| 国产日韩成人精品| 蜜臀久久99精品久久久久久9 | 成人国产在线观看| 日韩美女在线视频| 亚洲mv在线观看| 日本福利一区二区| 中文字幕一区二区三区精华液 | 天堂一区二区在线| 欧美系列亚洲系列| 亚洲美女免费在线| 一本大道久久a久久精二百| 国产精品久久久久久久浪潮网站| 国产一区二区按摩在线观看| 日韩一区二区在线看片| 日本不卡高清视频| 日韩视频一区二区三区| 日本女优在线视频一区二区| 欧美一区二区三区在线看| 日本女人一区二区三区|