肯定有一个你不熟悉的linux创建文件方法

本文介绍了在Linux系统中使用命令行工具(touch,vim/vi,cat,echo)以及C语言的open和creat函数创建文件的方法,包括命令格式、功能及使用场景。
摘要由CSDN通过智能技术生成

前言

linux系统的一大特点就是“一切皆文件”,大家知道的文件创建方法有那些呢?今天我就进行一个小小的总结,归纳我在学习过程中遇到的文件创建方法,主要从命令创建和库函数创建着手。


使用命令创建文件

如下为我学习中使用到的四种文件创建命令,其中前两者比较常用,后两者原理为输出重定向。

1. touch命令:

命令格式: touch filename

touch命令在Linux中是一个多功能的命令,主要用于处理文件的时间戳。在touch filename时,如果指定的文件不存在,touch命令会创建一个空的新文件。

2. vim/vi编辑器:

命令格式:vim filename
命令格式:vi filename
  • 按下回车键后,Vim将打开一个空白窗口,并进入插入模式。
  • 在插入模式下,你可以开始编写文件的内容。
  • 当你完成文件编辑后,按下Esc键退出插入模式。
  • 输入:wq保存文件并退出Vim编辑器:

值得注意的是这里的filename touch 命令一样,是当前目录不存在即创建,否则是打开编辑。

3. cat 重定向:

命令格式:cat > filename       
命令格式:cat >> filename        //这个表示在文件末尾追加 
  • 按下回车键后,cat命令将等待你输入要写入文件的内容。

  • 开始输入你想要写入文件的内容,然后按下Ctrl+D组合键结束输入。

  • cat命令将把输入的内容写入到文件中,并退出命令行界面。

  • 现在,你已经成功使用cat命令重定向创建了一个新文件。

追加和不追加的区别

4.echo 重定向:

命令格式:echo "内容" > filename
命令格式:echo "内容" >> filename 				//追加
  • filename是你想要创建的文件的名称,内容是你想要写入文件的内容。
  • 按下回车键后,echo命令将把指定的内容写入到文件中,并退出命令行界面。

基本使用
echocat 的使用方法类似,都可选择是否为追加的方式。

在程序中使用c函数创建文件

open函数

int open(const char *pathname, int flags, mode_t mode);

参数:
	pathname :文件路径名
	
	flags:	 文件打开方式    #include<fcntl.h>
	O_RDONLY             只读
	O_WRONLY             只写
	O_RDWR               读写
	O_APPEND             打开文件为追加,不清空原内容
	O_CREAT.             创建文件
	O_EXCL               检查文件是否存在
	O_TRUNC
	O_NONBLOCK
	
	mode: 文件权限,在使用 O_CREAT时指定	
返回值:
		成功:整数,打开文件得到的对应文件描述符
		失败:-1,

使用open函数创建文件是我们在编程过程中常用的方法,只需要指定flags O_CREAT即可达到,文件不存在即创建的效果,这样就等同于下面要讲的creat函数。

creat函数

int creat(const char *pathname, mode_t mode);

参数:
	pathname :文件路径名
	mode :指定文件权限

举例opencreat函数

 int fd1 = open("open.txt",O_RDWR|O_CREAT,0644);
        if(fd1 < 0)
        {
                perror("open erro");
        }
        int fd2 = creat("creat.txt",0644);
        if(fd2 < 0)
        {
                perror("creat erro");
        }

在这里插入图片描述

  • 19
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值