linuxc文件存在
‘壹’ linux makefile 判断文件存在与否
makefile判断文件存在如下的两种方法:
1. 调用shell的函数进行判断
exist = $(shell if [ -f $(FILE) ]; then echo "exist"; else echo "notexist"; fi;)
ifeq (exist, "exist")
#do something here
endif当然,这个方法很土,但是能够工作!! 2. 使用makefile的函数进行判断ifeq ($(FILE), $(wildcard $(FILE)))
#do something here
endif $(wildcard $(FILE))的意思是当前路径下的文件名匹配FILE的文件展开。假设当前路径下存在a.c 和 b.c,那么执行src=$(wildcard *.c)src的值就为a.c b.c;如果不使用通配符,比如src=$(wildcard c.c);那么就是要展开当前路径下,文件名为c.c的文件,因为当前路径下文件不存在,因此src为空字符串。
‘贰’ linux怎样实现一个C函数检查文件夹是否存在,如果不存在,创建它,只能使用标准库
这个玩意有标准库,看书上的例字,一定是有写的,
就是在存取文件的那部分章节。
ps:你搜io.h,file.h,应该就有……
‘叁’ linux下 为什么要生成.o文件 .o文件和.c文件还有生成的可执行文件有啥区别啊
linux下.c只是简单的文本文件,.o是编译之后的二进制文件,操作方法如下;
1、首先在电脑中打开linux,然后安装gcc g++编译工具。
‘肆’ Linux中,运行一个C语言程序如何运行
1、打开kali linux的终端。创建一个文件并命名为test.c。在终端输入:touch test.c。
‘伍’ linux中怎么查找文件夹是否存在
linux中使用find命令来查找文件夹,使用find
/
-name
要查找的文件夹名
-type
d方式来查找。
find命令说明
语法
find(选项)(参数)
选项
-amin<分钟>:查找在指定时间曾被存取过的文件或目录,单位以分钟计算;
-anewer<参考文件或目录>:查找其存取时间较指定文件或目录的存取时间更接近现在的文件或目录;
-atime<24小时数>:查找在指定时间曾被存取过的文件或目录,单位以24小时计算;
-cmin<分钟>:查找在指定时间之时被更改过的文件或目录;
-cnewer<参考文件或目录>查找其更改时间较指定文件或目录的更改时间更接近现在的文件或目录;
-ctime<24小时数>:查找在指定时间之时被更改的文件或目录,单位以24小时计算;
-daystart:从本日开始计算时间;
-depth:从指定目录下最深层的子目录开始查找;
-expty:寻找文件大小为0
byte的文件,或目录下没有任何子目录或文件的空目录;
-exec<执行指令>:假设find指令的回传值为true,就执行该指令;
-false:将find指令的回传值皆设为false;
-fls<列表文件>:此参数的效果和指定“-ls”参数类似,但会把结果保存为指定的列表文件;
-follow:排除符号连接;
-fprint<列表文件>:此参数的效果和指定“-print”参数类似,但会把结果保存成指定的列表文件;
-fprint0<列表文件>:此参数的效果和指定“-print0”参数类似,但会把结果保存成指定的列表文件;
-fprintf<列表文件><输出格式>:此参数的效果和指定“-printf”参数类似,但会把结果保存成指定的列表文件;
-fstype<文件系统类型>:只寻找该文件系统类型下的文件或目录;
-gid<群组识别码>:查找符合指定之群组识别码的文件或目录;
-group<群组名称>:查找符合指定之群组名称的文件或目录;
-help或——help:在线帮助;
-ilname<范本样式>:此参数的效果和指定“-lname”参数类似,但忽略字符大小写的差别;
-iname<范本样式>:此参数的效果和指定“-name”参数类似,但忽略字符大小写的差别;
-inum<inode编号>:查找符合指定的inode编号的文件或目录;
-ipath<范本样式>:此参数的效果和指定“-path”参数类似,但忽略字符大小写的差别;
-iregex<范本样式>:此参数的效果和指定“-regexe”参数类似,但忽略字符大小写的差别;
-links<连接数目>:查找符合指定的硬连接数目的文件或目录;
-iname<范本样式>:指定字符串作为寻找符号连接的范本样式;
-ls:假设find指令的回传值为ture,就将文件或目录名称列出到标准输出;
-maxdepth<目录层级>:设置最大目录层级;
-mindepth<目录层级>:设置最小目录层级;
-mmin<分钟>:查找在指定时间曾被更改过的文件或目录,单位以分钟计算;
-mount:此参数的效果和指定“-xdev”相同;
-mtime<24小时数>:查找在指定时间曾被更改过的文件或目录,单位以24小时计算;
-name<范本样式>:指定字符串作为寻找文件或目录的范本样式;
-newer<参考文件或目录>:查找其更改时间较指定文件或目录的更改时间更接近现在的文件或目录;
-nogroup:找出不属于本地主机群组识别码的文件或目录;
-noleaf:不去考虑目录至少需拥有两个硬连接存在;
-nouser:找出不属于本地主机用户识别码的文件或目录;
-ok<执行指令>:此参数的效果和指定“-exec”类似,但在执行指令之前会先询问用户,若回答“y”或“y”,则放弃执行命令;
-path<范本样式>:指定字符串作为寻找目录的范本样式;
-perm<权限数值>:查找符合指定的权限数值的文件或目录;
-print:假设find指令的回传值为ture,就将文件或目录名称列出到标准输出。格式为每列一个名称,每个名称前皆有“./”字符串;
-print0:假设find指令的回传值为ture,就将文件或目录名称列出到标准输出。格式为全部的名称皆在同一行;
-printf<输出格式>:假设find指令的回传值为ture,就将文件或目录名称列出到标准输出。格式可以自行指定;
-prune:不寻找字符串作为寻找文件或目录的范本样式;
-regex<范本样式>:指定字符串作为寻找文件或目录的范本样式;
-size<文件大小>:查找符合指定的文件大小的文件;
-true:将find指令的回传值皆设为true;
-typ<文件类型>:只寻找符合指定的文件类型的文件;
-uid<用户识别码>:查找符合指定的用户识别码的文件或目录;
-used<日数>:查找文件或目录被更改之后在指定时间曾被存取过的文件或目录,单位以日计算;
-user<拥有者名称>:查找符和指定的拥有者名称的文件或目录;
-version或——version:显示版本信息;
-xdev:将范围局限在先行的文件系统中;
-xtype<文件类型>:此参数的效果和指定“-type”参数类似,差别在于它针对符号连接检查。
参数
起始目录:查找文件的起始目录。
示例:
根据文件类型进行搜索
find
.
-type
类型参数
类型参数列表:
f
普通文件
l
符号连接
d
目录
c
字符设备
b
块设备
s
套接字
p
fifo
‘陆’ LINUX VI 编程的文件保存默认是存在哪个路径下的
1.vi保存在当前目录,执行你的:w test以后,会在当前目录下生成test文件。
2.但是不会生成test.c,因为vi不会自动添加扩展名的。
3.vi不会显示英文为乱码的,英文基本上是通用的,在许多语言环境下都能正常显示和处理英文。
‘柒’ Linux编译C语言,源程序文件放在什么路径
改名:mv hello hello.c
编译:首先cd到你源文件的那个目录下,这样省去了指定绝对路径的麻烦,比如cd到桌面,然后:gcc hello.c -o hello
运行:./hello