「GO基础库」os包的全面解析

OS 包可以用来做什么?

Go语言的OS包是标准库中的一个重要组成部分,它提供了与操作系统进行交互的功能。

该包通过封装一系列系统调用,使开发者能够在Go程序中访问和操作底层操作系统的资源。

OS包的设计依赖于不同的操作系统平台,以提供特定平台上可用的功能。

例如,一些某个系统特定的功能,需要使用syscall来获取。实际上,os包依赖于syscall

常用的 os 包函数

  • 系统相关:

    1. os.Environ:返回一个包含所有环境变量名和值的字符串切片。
    2. os.Getenv:根据环境变量名获取对应的值。
    3. os.Setenv:设置环境变量的值。
    4. os.Hostname:获取主机名。
    5. os.ExpandEnv:扩展环境变量。
    6. os.ExpandUser:扩展用户路径。
    7. os.Expandvars:扩展环境变量和用户路径。
    8. os.Syscall:调用系统底层函数。
    9. os.Unsetenv: 取消设置单个环境变量。
    10. os.Clearenv: 删除全部环境变量。
    11. os.LookupEnv: 检测某个环境是否已经设置。
    12. os.NewSyscallError: 给指定系统系统调用名称和错误详细信息。
    13. os.IsTimeout: 判断是否超时。
  • 标准化输出:

    1. os.Stdout:标准输出的文件对象。
    2. os.Stderr:标准错误输出的文件对象。
    3. os.Stdin:标准输入的文件对象。
  • 文件目录相关:

    1. os.Open:打开文件,返回文件对象。
    2. os.Create:创建文件,返回文件对象。
    3. os.Remove:删除文件。
    4. os.Rename:重命名文件或目录。
    5. os.Chdir:改变当前工作目录。
    6. os.TempDir:获取系统临时目录。
    7. os.TempFile:在指定目录下创建一个临时文件,返回文件对象。
    8. os.Stat:获取文件或目录的状态信息。
    9. os.MkdirAll:创建多级目录。
    10. os.RemoveAll:递归删除目录及其内容。
    11. os.IsNotExist:判断路径是否存在。
    12. os.IsDir:判断路径是否为目录。
    13. os.IsFile:判断路径是否为文件。
    14. os.Symlink:创建符号链接。
    15. os.ReadDir:读取目录内容。
    16. os.WriteFile:将数据写入文件。
    17. os.ReadFile:从文件中读取数据。
    18. os.Chmod:修改文件权限。
    19. os.Chown:修改文件所有者和所属组。
    20. os.Truncate:截断文件到指定长度。
    21. os.Rename:重命名文件或目录。
    22. os.Getwd:获取当前工作目录。
    23. os.Setuid:设置用户 ID。
    24. os.Setgid:设置组 ID。
    25. os.FindExecutable:查找可执行文件的绝对路径。
    26. os.Link: 创建新文件作为指向旧名称文件的硬链接。
    27. os.SameFile: 判断 文件1 和 文件2 是否是同一个描述的文件。
    28. os.Readlink: 返回命名符号的链接目标。
    29. os.IsExist: 判断文件或目录存在。
    30. os.IsNotExist: 判断文件或目录不存在。
  • 进程相关:

    1. os.Getpid:获取当前进程 ID。
    2. os.Getppid:获取父进程 ID。
    3. os.Pipe:创建管道。
    4. os.Fork:创建子进程。
    5. os.Execvp:执行外部命令,替换当前进程。
    6. os.Signal:发送信号给进程。
    7. os.Wait:等待子进程结束并返回其状态信息。
    8. os.Exec:执行外部命令,替换当前进程。
    9. os.FindProcess:查找指定名称的进程 ID。
    10. os.FindProcessByPid:根据进程 ID 查找进程。
    11. os.Kill:杀死当前进程 ID。
    12. os.Relese: 释放当前进程资源。
    13. os.UserTime: 返回已退出进程及其子进程的用户 CPU 时间。
    14. os.SystemTime: 返回退出进程及其子进程的系统 CPU 时间。
    15. os.Exit:退出程序,并返回状态码。
    16. os.Exited: 判断程序是否退出。
    17. os.Success: 判断程序是否成功退出。
    18. os.Sys: 返回有关的系统相关退出信息。
    19. os.SysUsage: 返回有关的系统相关资源使用情况信息。
    20. os.Executable: 返回启动的可执行文件的路径名。

结束语

主要列举了 os 包常用的一些函数,还有一部分没有举例到,如果有遗漏的请自行翻查 Golang 源码进行查阅。

相关推荐
炒空心菜菜1 小时前
SparkSQL 连接 MySQL 并添加新数据:实战指南
大数据·开发语言·数据库·后端·mysql·spark
蜗牛沐雨3 小时前
Rust 中的 `PartialEq` 和 `Eq`:深入解析与应用
开发语言·后端·rust
Python私教3 小时前
Rust快速入门:从零到实战指南
开发语言·后端·rust
秋野酱4 小时前
基于javaweb的SpringBoot爱游旅行平台设计和实现(源码+文档+部署讲解)
java·spring boot·后端
小明.杨4 小时前
Django 中时区的理解
后端·python·django
有梦想的攻城狮4 小时前
spring中的@Async注解详解
java·后端·spring·异步·async注解
qq_12498707534 小时前
原生小程序+springboot+vue医院医患纠纷管理系统的设计与开发(程序+论文+讲解+安装+售后)
java·数据库·spring boot·后端·小程序·毕业设计
lybugproducer5 小时前
浅谈 Redis 数据类型
java·数据库·redis·后端·链表·缓存
焚 城5 小时前
.NET8关于ORM的一次思考
后端·.net
撸猫7917 小时前
HttpSession 的运行原理
前端·后端·cookie·httpsession