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