「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 源码进行查阅。

相关推荐
小_太_阳3 分钟前
Scala_【1】概述
开发语言·后端·scala·intellij-idea
智慧老师13 分钟前
Spring基础分析13-Spring Security框架
java·后端·spring
搬码后生仔1 小时前
asp.net core webapi项目中 在生产环境中 进不去swagger
chrome·后端·asp.net
凡人的AI工具箱2 小时前
每天40分玩转Django:Django国际化
数据库·人工智能·后端·python·django·sqlite
Lx3522 小时前
Pandas数据重命名:列名与索引为标题
后端·python·pandas
小池先生2 小时前
springboot启动不了 因一个spring-boot-starter-web底下的tomcat-embed-core依赖丢失
java·spring boot·后端
百罹鸟3 小时前
【vue高频面试题—场景篇】:实现一个实时更新的倒计时组件,如何确保倒计时在页面切换时能够正常暂停和恢复?
vue.js·后端·面试
小蜗牛慢慢爬行4 小时前
如何在 Spring Boot 微服务中设置和管理多个数据库
java·数据库·spring boot·后端·微服务·架构·hibernate
wm10434 小时前
java web springboot
java·spring boot·后端
龙少95436 小时前
【深入理解@EnableCaching】
java·后端·spring