golang运行最理想的环境是linux系统中,编译速度和执行速度都比较快,本文是关于golang中的文件操作函数

在golang标准库中os包提供了不依赖平台的借口,但是使用的风格是unix风格的。

函数Openfile是一个可以指定选项(与linux中的文件操作函数的常数是相同的,如O_APPEND),指定的模式如0666等等,打开指定的文件

下面是openfile函数的原型golang代码

 func     OpenFile(name string, flag int,perm FileMode)(file *File,err error)

其中name是文件的文件名,如果不是当前运行程序的路径下,需要加上路径,flag是文件的处理的参数,是int类型的不同系统具体是多少可能不同,但是作用是相同的。给出通常会用到的几个常数

 O_RDONLY:  只读
O_WRONLY: 只写
O_RDWR: 读写
O_APPEND: 追加
O_CREATE: 不存在,则创建
O_EXCL:如果文件存在,且标定了O_CREATE的话,则产生一个错误
O_TRUNG:如果文件存在,且它成功地被打开为只写或读写方式,将其长度裁剪唯一。(覆盖)
O_NOCTTY如果文件名代表一个终端设备,则不把该设备设为调用进程的控制设备:
O_NONBLOCK:如果文件名代表一个FIFO,或一个块设备,字符设备文件,则在以后的文件及I/O操作中置为非阻塞模式
O_SYNC:当进行一系列写操作时,每次都要等待上次的I/O操作完成再进行。

虽然我们以字符的形式来标识,但是他们实质上是int类型的数据。同样在Filemode中代表文件在linux中的权限

golang文件处理函数openfile与linux系统的文件函数的耦合的更多相关文章

  1. 使用FileZilla从Linux系统下载文件

    需求:将Linux系统的的某个文件夹(里面包含文件夹和文件)下载到我Windows系统某个文件夹里 之前我使用xshell下载,但是通过 rz :上传sz:下载 命令中的sz命令,下载失败. 下载 c ...

  2. Linux系统中文件定位与查找

    Linux系统中文件查找 关键词 文件查找 | find | locate 本文主要介绍有关文件查找的两个命令——find和locate,以及压缩打包的命令——compress, gzip,bzip2 ...

  3. Linux系统下文件压缩与打包命令

    Linux系统下文件压缩与打包命令 常用的压缩文件拓展名 * .Z * .zip * .gz * .bz2 * .xz * .tar * .tar.gz * .tar.bz2 * .tar.xz 压缩 ...

  4. Linux系统重要文件(二)

    Linux系统重要文件概述 一系统自动挂载文件 文件路径信息:/etc/fstab文件作用说明:实现存储设备自动挂载 [root@centos7 ~]# cat /etc/fstab # # /etc ...

  5. Linux系统重要文件

    Linux系统重要文件介绍与配置 一网卡配置文件 (一)网卡配置文件参数介绍 文件路径信息:/ec/sysconfig/network-scripts/ifcfg-eth0 文件作用说明:配置网卡地址 ...

  6. 实验二:Linux系统简单文件操作命令

    項目 内容 这个作业属于哪个课程() 课程链接 这个作业的要求在哪里 实验要求 学号-姓名 17043133-木腾飞 作业学习目标 学习在Linux系统终端下进行命令行操作: 学习掌握常用命令行操作并 ...

  7. Linux入门培训教程 linux系统中文件I/O教程

    linux 文件I/O教程 一,文件描述符 对内核而言,所以打开的文件都通过文件描述符引用.每个进程都有一些与之关联的文件描述符.文件描述符是一个非负整数.当打开一个现有文件或创建一个新文件时,内核向 ...

  8. Linux系统编程--文件IO操作

    Linux思想即,Linux系统下一切皆文件. 一.对文件操作的几个函数 1.打开文件open函数 int open(const char *path, int oflags); int open(c ...

  9. Linux系统编程-setitimer函数

    功能:linux系统编程中,setitimer是一个经常被使用的函数,可用来实现延时和定时的功能. 头文件:sys/time.h 函数原型: int setitimer(int which, cons ...

随机推荐

  1. 虚拟机如何设置外网ip

    实例: 在数据中心机房的一台服务器上安装虚拟机,并在该虚拟机上安装一个操作系统.给该虚拟机配置公网IP,让外网能直接访问到该虚拟上的应用. 这个问题最初觉得简单,不就是桥接嘛,要只让其上网NAT就可以 ...

  2. 免Oracle客户端程序监听程序配置

    Oracle默认安装时,监听程序和tnsnames程序中的监听方式都是默认的localhost,但免客户端的程序是连接不上的.这时需要: 1.将listener中的(HOST = localhost) ...

  3. 第一次接触python:学习最简单的print及变量

    # -*- coding:utf-8 -*- print "hello world" print("hello world") 这里面使用了2中print方式, ...

  4. 「小程序JAVA实战」微信开发者工具helloworld(三)

    转自:https://idig8.com/2018/08/09/xiaochengxu-chuji-03/ 第一个小程序demo的运行,首选需要去使用开发工具 开发工具下载安装 https://mp. ...

  5. linux rz -e

    linux shell rz和sz是终端下常用的文件传输命令,rz和sz通过shell被调用,其中rz用于从启用终端的系统上传文件到目标系统(终端登录的目标系统), 这里不过多介绍这些命令,只是记录一 ...

  6. 进程间通信___命名管道(FIFO)

    命名管道(FIFO) 基本概念 命名管道和一般的管道基本相同,但也有一些显著的不同: 命名管道是在文件系统中作为一个特殊的设备文件而存在的. 不同祖先的进程之间可以通过管道共享数据. 当共享管道的进程 ...

  7. CentOs登陆输入root作为用户名

  8. c++ 组合模式(composite)

    原文地址:http://www.cnblogs.com/jiese/p/3168844.html 当你发现需求中是体现部分与整体层次的结构时,以及你希望用户可以忽略组合对象与单个对象的不同,统一地使用 ...

  9. Hyperledger Fabric源码解析

    Hyperledger Fabric开源于2015年12月,截至2018年2月初有185个公司/组织成员加入.最初由IBM和DAH的工程师贡献,现在约有70名的代码贡献者,4000+代码提交,代码行数 ...

  10. ssh -X前设置DISPLAY=localhost:0

    如果是在windows上用XMing做XServer,前面的localhost不能省,否则会被当作一个unix domain socket,而XMing没有实现这个功能,所以会出错 connect / ...