Go标准库学习之OS常用函数

1、OS基础操作
//获取主机名
os.Hostname()
//获取当前目录
os.Getwd()
//获取用户ID
os.Getuid()
//获取有效用户ID
os.Geteuid()
//获取组ID
os.Getgid()
//获取有效组ID
os.Getegid()
//获取进程ID
os.Getpid()
//获取父进程ID
os.Getppid()
//获取环境变量的值
os.Getenv("GOPATH")
//设置环境变量的值
os.Setenv("ORACLE_BASE", "/op/oracle/orabase")
//改变当前工作目录
os.Chdir("/home/oracle"
os.Getwd()
2、OS文件及目录相关(不包含读写)
//创建目录
os.Mkdir("abc", os.ModePerm)
//创建多级目录
os.MkdirAll("xxxx/x", os.ModePerm)
//删除文件或目录
os.Remove("xxx/x")
//删除指定目录下所有文件
os.RemoveAll("xxxxx")
 //重命名文件
os.Rename("./test1.txt", "./twst1_new.txt")
//创建文件
f1, _ := os.Create("./test.txt"
defer f1.Close(
//修改文件权限
err := os.Chmod("./test.txt", 0777)
//修改文件所有者
err := os.Chown("./test.txt", 0, 0)
//修改文件的访问时间和修改时间
os.Chtimes("./test.txt", time.Now().Add(time.Hour), time.Now().Add(time.Hour))
//打开文件
func OpenFile(name string, flag int, perm FileMode) (file *File, err error)
//以读写方式打开文件,如果不存在,则创建
    file, err := os.OpenFile("./test2.txt", os.O_RDWR|os.O_CREATE, 0766)
/////flag 取值
const (
    O_RDONLY int = syscall.O_RDONLY // 只读模式打开文件
    O_WRONLY int = syscall.O_WRONLY // 只写模式打开文件
    O_RDWR   int = syscall.O_RDWR   // 读写模式打开文件
    O_APPEND int = syscall.O_APPEND // 写操作时将数据附加到文件尾部
    O_CREATE int = syscall.O_CREAT  // 如果不存在将创建一个新文件
    O_EXCL   int = syscall.O_EXCL   // 和O_CREATE配合使用,文件必须不存在
    O_SYNC   int = syscall.O_SYNC   // 打开文件用于同步I/O
    O_TRUNC  int = syscall.O_TRUNC  // 如果可能,打开时清空文件
)
/////FileMode
const (
    // 单字符是被String方法用于格式化的属性缩写。
    ModeDir        FileMode = 1 << (32 - 1 - iota) // d: 目录
    ModeAppend                                     // a: 只能写入,且只能写入到末尾
    ModeExclusive                                  // l: 用于执行
    ModeTemporary                                  // T: 临时文件(非备份文件)
    ModeSymlink                                    // L: 符号链接(不是快捷方式文件)
    ModeDevice                                     // D: 设备
    ModeNamedPipe                                  // p: 命名管道(FIFO)
    ModeSocket                                     // S: Unix域socket
    ModeSetuid                                     // u: 表示文件具有其创建者用户id权限
    ModeSetgid                                     // g: 表示文件具有其创建者组id的权限
    ModeCharDevice                                 // c: 字符设备,需已设置ModeDevice
    ModeSticky                                     // t: 只有root/创建者能删除/移动文件
    // 覆盖所有类型位(用于通过&获取类型位),对普通文件,所有这些位都不应被设置
    ModeType = ModeDir | ModeSymlink | ModeNamedPipe | ModeSocket | ModeDevice
    ModePerm FileMode = 0777 // 覆盖所有Unix权限位(用于通过&获取类型位)
)
3、OS进程相关操作
进程相关函数如下,目前用的不多,后续再补充
func FindProcess(pid int) (p *Process, err error)
func StartProcess(name string, argv []string, attr *ProcAttr) (*Process, error)
func (p *Process) Signal(sig Signal) error
func (p *Process) Kill() error
func (p *Process) Wait() (*ProcessState, error)
func (p *Process) Release() error
func (p *ProcessState) Pid() int
func (p *ProcessState) Exited() bool
func (p *ProcessState) Success() bool
func (p *ProcessState) SystemTime() time.Duration
func (p *ProcessState) UserTime() time.Duration
func (p *ProcessState) Sys() interface{}
func (p *ProcessState) SysUsage() interface{}
func (p *ProcessState) String() string

参考文档:Golang标准库文档

你可能感兴趣的:(Golang)