linux函数怎么判断目录是否存在,linux C之判断文件或目录是否存在 access函数
http://blog.sina.com.cn/s/blog_6a1837e90100uh5d.html
access():判斷是否具有存取文件的權限
相關函數????stat,open,chmod,chown,setuid,setgid
表頭文件????#include
定義函數????int access(const char * pathname, int mode);
函數說明????access()會檢查是否可以讀/寫某一已存在的文件。參數mode有幾種情況組合, R_OK,W_OK,X_OK 和F_OK。R_OK,W_OK與X_OK用來檢查文件是否具有讀取、寫入和執行的權限。F_OK則是用來判斷該文件是否存在。由于access()只作權限的核查,并不理會文件形態或文件內容,因此,如果一目錄表示為“可寫入”,表示可以在該目錄中建立新文件等操作,而非意味此目錄可以被當做文件處理。例如,你會發現DOS的文件都具有“可執行”權限,但用execve()執行時則會失敗。
返回值????若所有欲查核的權限都通過了檢查則返回0值,表示成功,只要有一權限被禁止則返回-1。
錯誤代碼????EACCESS 參數pathname 所指定的文件不符合所要求測試的權限。
EROFS 欲測試寫入權限的文件存在于只讀文件系統內。
EFAULT 參數pathname指針超出可存取內存空間。
EINVAL 參數mode 不正確。
ENAMETOOLONG 參數pathname太長。
ENOTDIR 參數pathname為一目錄。
ENOMEM 核心內存不足
ELOOP 參數pathname有過多符號連接問題。
EIO I/O 存取錯誤。
附加說明????使用access()作用戶認證方面的判斷要特別小心,例如在access()后再做open()的空文件可能會造成系統安全上的問題。
范例
#include
int main()
{
if (access(“/etc/passwd”,R_OK) = =0)
printf(“/etc/passwd can be read\n”);
}
// if(!access(full_hook_backend,0))
//{
// remove(full_hook_backend);
//}
執行
/etc/passwd can be read
linux下判斷文件和目錄是否存在[總結]
1.前言 工作中涉及到文件系統,有時候需要判斷文件和目錄是否存在.我結合APUE第四章文件和目錄,總結一下如何正確判斷文件和目錄是否存在,方便以后查詢. 2.stat系列函數 stat函數用來返回與文 ...
linux下判斷文件和目錄是否存在
1.前言 工作中涉及到文件系統,有時候需要判斷文件和目錄是否存在.我結合APUE第四章文件和目錄,總結一下如何正確判斷文件和目錄是否存在,方便以后查詢. 2.stat系列函數 stat函數用來返回與文 ...
Linux中用st_mode判斷文件類型
Linux中用st_mode判斷文件類型 2012-12-11 12:41?14214人閱讀?評論(4)?收藏?舉報 ?分類: Linux(8)??C/C++(20)? 版權聲明:本文為博主原創文章, ...
Linux常用命令之文件和目錄處理命令
目錄 1.Linux命令的普遍語法格式 2.目錄處理命令 一.顯示目錄文件命令:ls 二.創建目錄命令:mkdir 三.切換目錄命令:cd 四.shell內置命令和外部命令的區別 五.顯示當前目錄命令 ...
Linux系列教程(四)——Linux常用命令之文件和目錄處理命令
這個系列教程的前面我們講解了如何安裝Linux系統,以及學習Linux系統的一些方法.那么從這篇博客開始,我們就正式進入Linux命令的學習.學習命令,首先要跟大家糾正的一點就是,我們不需要記住每一條 ...
第十九章 Python os模塊,pathlib 判斷文件是目錄還是文件
OS模塊 os.path.abspath() :返回path規范化的絕對路徑 import sys import os BASE_DIR = os.path.dirname(os.path.dirna ...
linux系統下修改文件夾目錄權限
linux系統下修改文件夾目錄權限 文件夾權限問題 Linux.Fedora.Ubuntu修改文件.文件夾權限的方法差不多.很多人開始接觸Linux時都很頭痛Linux的文件權限問題.這里告訴大家如何 ...
php 判斷文件或目錄是否存在
判斷文件或目錄是否存在有自帶的函數 file_exists:文件是否存在 $file = "check.txt"; if(file_exists($file)) { ??? ech ...
隨機推薦
小波包分解 仿真 matlab
clc;close all;clear;fs = 100000;t = 1: 100;x = sin(2*pi*4000* t/fs) + sin(2*pi*40000*t/fs); %db8[Lo_ ...
基于bootstrap + php +ajax datatable 插件的使用
Datatables是一款jquery表格插件.它是一個高度靈活的工具,可以將任何HTML表格添加高級的交互功能. 下面是我學習datatables寫的一個服務器端(php)分頁例子,該功能包含的功能 ...
tomcat(三)--基本安裝配置
0x01? JDK和Tomcat安裝 到oracle官網下載jdk,當前下載的版本是Linux x64 jdk-8u101-linux-x64.tar.gz 到apache官網下載tomcat,當前最 ...
HTML5-WebSocket技術學習(2)
上一篇介紹了websocket的基本用法.這篇介紹websocket的一個框架: socket.io socket.io是一個既可以用在客戶端又可以用在服務器端的框架. 本篇介紹socket.io在客 ...
9、C#基礎整理(多維數組)
多維數組 1.二維數組: 表示方法: int[y,x],x.y是索引,y代表行,x代表列. 例: , ]{ {,,}, {,,} };//{}可以不寫 修改方法: second[, ] = ;//表示 ...
Python基礎【第十一篇】文件操作(file()、open()方法和fileinput模塊)
一.file/open 內置函數 file函數的方法: 注:file 和 open的用法和功能相同這里只對file進行分析 file(‘filename’,’mode’) file(‘filename ...
Android 視圖切換庫的使用 - SwitichLayout
要點: 1. SwitichLayout 原理和基本特效展示 - 設計上和基本特效 2. SwitchLayout 的用法 - SwitchLayout 的基本配置和用法 3. SwithLayout ...
HTML5 智能表單
HTML5 智能表單 1.表單新增屬性 ?? autofocus 屬性 設置 autofocus 屬性,使文 ...
[Flask]學習雜記一 Hello程序
這幾天買了本??,之前也用過flask 但是不怎么系統,有時候需要搭建一些臨時的測試服務,用falsk比較方面,一個文件就可 ...
C#實現完整的防盜自制監控系統
在您的手機中通知您家中的入侵者,并拍攝他們的照片 介紹 在本文中,我將展示一些DIY東西??,用于安裝監控系統,檢測家中的入侵者,拍攝照片并通過手機通知您,必要時可以打電話給警察并提供照片以便快速識別 ...
總結
以上是生活随笔為你收集整理的linux函数怎么判断目录是否存在,linux C之判断文件或目录是否存在 access函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 月份日历表_java 输入年月
- 下一篇: 麒麟linux恢复bin,(麒麟教学)关