os
实例名 | 实例描述 |
---|---|
ARCH | (string) "amd64" |
Args | ([]string) Command line arguments |
IsPrivileged | (bool) false |
OS | (string) "linux" |
Stderr | (os.File) &os.File{file: &os.file{pfd: poll.FD{fdmu: poll.fdMutex{state: 0, rsema: 0, wsema: 0}, Sysfd: 2, SysFile: poll.SysFile{iovecs: ([]syscall.Iovec)(nil)}, pd: poll.pollDesc{runtimeCtx: 0}, csema: 0, isBlocking: 1, IsStream: true, ZeroReadIsEOF: true, isFile: true}, name: "/dev/stderr", dirinfo: atomic.Pointer[os.dirInfo]{_: [0]os.dirInfo{}, _: atomic.noCopy{}, v: (unsafe.Pointer)(nil)}, nonblock: false, stdoutOrErr: true, appendMode: false}} |
Stdin | (os.File) &os.File{file: &os.file{pfd: poll.FD{fdmu: poll.fdMutex{state: 0, rsema: 0, wsema: 0}, Sysfd: 0, SysFile: poll.SysFile{iovecs: ([]syscall.Iovec)(nil)}, pd: poll.pollDesc{runtimeCtx: 0}, csema: 0, isBlocking: 1, IsStream: true, ZeroReadIsEOF: true, isFile: true}, name: "/dev/stdin", dirinfo: atomic.Pointer[os.dirInfo]{_: [0]os.dirInfo{}, _: atomic.noCopy{}, v: (unsafe.Pointer)(nil)}, nonblock: false, stdoutOrErr: false, appendMode: false}} |
Stdout | (os.File) &os.File{file: &os.file{pfd: poll.FD{fdmu: poll.fdMutex{state: 0, rsema: 0, wsema: 0}, Sysfd: 1, SysFile: poll.SysFile{iovecs: ([]syscall.Iovec)(nil)}, pd: poll.pollDesc{runtimeCtx: 0}, csema: 0, isBlocking: 1, IsStream: true, ZeroReadIsEOF: true, isFile: true}, name: "/dev/stdout", dirinfo: atomic.Pointer[os.dirInfo]{_: [0]os.dirInfo{}, _: atomic.noCopy{}, v: (unsafe.Pointer)(nil)}, nonblock: false, stdoutOrErr: true, appendMode: false}} |
函数名 | 函数描述/介绍 |
---|---|
os.Chdir | Chdir 改变当前工作目录 |
os.Chmod | Chmod 改变指定文件或目录的权限 |
os.Chown | Chown 改变指定文件或目录的所有者和所属组 |
os.Clearenv | Clearenv 清空所有环境变量 |
os.Environ | Environ 获取表示环境变量的字符串切片,格式为"key=value" |
os.Executable | Executable 获取当前可执行文件的路径 |
os.Exit | Exit 退出当前进程 |
os.ExpandEnv | ExpandEnv 将字符串中的${var}或$var替换为其对应环境变量名的值 |
os.GetDefaultDNSServers | GetDefaultDNSServers 获取默认的DNS服务器ip对应的字符串切片 |
os.GetHomeDir | GetHomeDir 获取当前用户的家目录 |
os.GetLocalAddress | GetLocalAddress 获取本地IP地址 |
os.GetLocalIPv4Address | GetLocalIPv4Address 获取本地IPv4地址 |
os.GetLocalIPv6Address | GetLocalIPv6Address 获取本地IPv6地址 |
os.GetMachineID | GetMachineID 获取每个机器唯一的标识符 |
os.GetRandomAvailableTCPPort | GetRandomAvailableTCPPort 获取随机可用的TCP端口 |
os.GetRandomAvailableUDPPort | GetRandomAvailableUDPPort 获取随机可用的UDP端口 |
os.Getegid | Getegid 获取当前进程的有效组ID |
os.Getenv | Getenv 获取指定的环境变量的值,如果不存在则返回空字符串 |
os.Geteuid | Geteuid 获取当前进程的有效用户ID |
os.Getgid | Getgid 获取当前进程的组ID |
os.Getpid | Getpid 获取当前进程的进程ID |
os.Getppid | Getppid 获取当前进程的父进程ID |
os.Getuid | Getuid 获取当前进程的用户ID |
os.Getwd | Getwd 获取当前工作目录路径 |
os.Hostname | Hostname 获取主机名 |
os.IsRemoteTCPPortOpen | IsRemoteTCPPortOpen 检查远程TCP端口是否开放 |
os.IsTCPPortAvailable | IsTCPPortAvailable 检查TCP端口是否可用 |
os.IsTCPPortOpen | IsTCPPortOpen 检查TCP端口是否开放 |
os.IsUDPPortAvailable | IsUDPPortAvailable 检查UDP端口是否可用 |
os.IsUDPPortOpen | IsUDPPortOpen 检查UDP端口是否开放 |
os.LookupEnv | LookupEnv 获取指定的环境变量的值 |
os.LookupHost | LookupHost 通过DNS服务器,根据域名查找IP |
os.LookupIP | LookupIP 通过DNS服务器,根据域名查找IP |
os.Pipe | Pipe 创建一个管道,返回一个读取端和一个写入端以及错误 它实际是 io.Pipe 的别名 |
os.Remove | Remove 删除指定的文件或目录 |
os.RemoveAll | RemoveAll 递归删除指定的路径及其子路径 |
os.Rename | Rename 重命名文件或目录,可以用于移动文件或目录 |
os.Setenv | Setenv 设置指定的环境变量 |
os.TempDir | TempDir 获取用于存放临时文件的默认目录路径 |
os.Unsetenv | Unsetenv 删除指定的环境变量 |
os.WaitConnect | WaitConnect 等待一个地址的端口开放或指导超时时间,如果超时则返回错误,这通常用于等待并确保一个服务启动 |
#
函数定义#
Chdir#
详细描述Chdir 改变当前工作目录
Example:
err = os.Chdir("/tmp")
#
定义Chdir(dir string) error
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
dir | string |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | error |
#
Chmod#
详细描述Chmod 改变指定文件或目录的权限
Example:
err = os.Chmod("/tmp/test.txt", 0777)
#
定义Chmod(name string, mode os.FileMode) error
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
name | string | |
mode | os.FileMode |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | error |
#
Chown#
详细描述Chown 改变指定文件或目录的所有者和所属组
Example:
err = os.Chown("/var/www/html/test.txt", 1000, 1000)
#
定义Chown(name string, uid int, gid int) error
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
name | string | |
uid | int | |
gid | int |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | error |
#
Clearenv#
详细描述Clearenv 清空所有环境变量
Example:
os.Clearenv()
#
定义Clearenv()
#
Environ#
详细描述Environ 获取表示环境变量的字符串切片,格式为"key=value"
Example:
for env in os.Environ() {value = env.SplitN("=", 2)printf("key = %s, value = %v\n", value[0], value[1])}
#
定义Environ() []string
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | []string |
#
Executable#
详细描述Executable 获取当前可执行文件的路径
Example:
path, err = os.Executable()
#
定义Executable() (string, error)
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | string | |
r2 | error |
#
Exit#
详细描述Exit 退出当前进程
Example:
os.Exit(0)
#
定义Exit(code int)
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
code | int |
#
ExpandEnv#
详细描述ExpandEnv 将字符串中的${var}或$var替换为其对应环境变量名的值
Example:
os.ExpandEnv("PATH = $PATH")
#
定义ExpandEnv(s string) string
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
s | string |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | string |
#
GetDefaultDNSServers#
详细描述GetDefaultDNSServers 获取默认的DNS服务器ip对应的字符串切片
Example:
os.GetDefaultDNSServers()
#
定义GetDefaultDNSServers() []string
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | []string |
#
GetHomeDir#
详细描述GetHomeDir 获取当前用户的家目录
Example:
os.GetHomeDir() // "/Users/yaklang"
#
定义GetHomeDir() string
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | string |
#
GetLocalAddress#
详细描述GetLocalAddress 获取本地IP地址
Example:
os.GetLocalAddress() // ["192.168.1.103", "fe80::605a:5ff:fefb:5405"]
#
定义GetLocalAddress() []string
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | []string |
#
GetLocalIPv4Address#
详细描述GetLocalIPv4Address 获取本地IPv4地址
Example:
os.GetLocalIPv4Address() // ["192.168.3.103"]
#
定义GetLocalIPv4Address() []string
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | []string |
#
GetLocalIPv6Address#
详细描述GetLocalIPv6Address 获取本地IPv6地址
Example:
os.GetLocalIPv6Address() // ["fe80::605a:5ff:fefb:5405"]
#
定义GetLocalIPv6Address() []string
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | []string |
#
GetMachineID#
详细描述GetMachineID 获取每个机器唯一的标识符
Example:
os.GetMachineID()
#
定义GetMachineID() string
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | string |
#
GetRandomAvailableTCPPort#
详细描述GetRandomAvailableTCPPort 获取随机可用的TCP端口
Example:
tcp.Serve("127.0.0.1", os.GetRandomAvailableTCPPort())
#
定义GetRandomAvailableTCPPort() int
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | int |
#
GetRandomAvailableUDPPort#
详细描述GetRandomAvailableUDPPort 获取随机可用的UDP端口
Example:
udp.Serve("127.0.0.1", os.GetRandomAvailableTCPPort())
#
定义GetRandomAvailableUDPPort() int
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | int |
#
Getegid#
详细描述Getegid 获取当前进程的有效组ID
Example:
os.Getegid()
#
定义Getegid() int
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | int |
#
Getenv#
详细描述Getenv 获取指定的环境变量的值,如果不存在则返回空字符串
Example:
value = os.Getenv("PATH")
#
定义Getenv(key string) string
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
key | string |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | string |
#
Geteuid#
详细描述Geteuid 获取当前进程的有效用户ID
Example:
os.Geteuid()
#
定义Geteuid() int
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | int |
#
Getgid#
详细描述Getgid 获取当前进程的组ID
Example:
os.Getgid()
#
定义Getgid() int
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | int |
#
Getpid#
详细描述Getpid 获取当前进程的进程ID
Example:
os.Getpid()
#
定义Getpid() int
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | int |
#
Getppid#
详细描述Getppid 获取当前进程的父进程ID
Example:
os.Getppid()
#
定义Getppid() int
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | int |
#
Getuid#
详细描述Getuid 获取当前进程的用户ID
Example:
os.Getuid()
#
定义Getuid() int
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | int |
#
Getwd#
详细描述Getwd 获取当前工作目录路径
Example:
cwd, err = os.Getwd()
#
定义Getwd() (string, error)
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | string | |
r2 | error |
#
Hostname#
详细描述Hostname 获取主机名
Example:
name, err = os.Hostname()
#
定义Hostname() (name string, err error)
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
name | string | |
err | error |
#
IsRemoteTCPPortOpen#
详细描述IsRemoteTCPPortOpen 检查远程TCP端口是否开放
Example:
os.IsRemoteTCPPortOpen("yaklang.com", 443) // true
#
定义IsRemoteTCPPortOpen(host string, p int) bool
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
host | string | |
p | int |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | bool |
#
IsTCPPortAvailable#
详细描述IsTCPPortAvailable 检查TCP端口是否可用
Example:
os.IsTCPPortAvailable(80)
#
定义IsTCPPortAvailable(p int) bool
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
p | int |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | bool |
#
IsTCPPortOpen#
详细描述IsTCPPortOpen 检查TCP端口是否开放
Example:
os.IsTCPPortOpen(80)
#
定义IsTCPPortOpen(p int) bool
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
p | int |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | bool |
#
IsUDPPortAvailable#
详细描述IsUDPPortAvailable 检查UDP端口是否可用
Example:
os.IsUDPPortAvailable(80)
#
定义IsUDPPortAvailable(p int) bool
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
p | int |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | bool |
#
IsUDPPortOpen#
详细描述IsUDPPortOpen 检查UDP端口是否开放
Example:
os.IsUDPPortOpen(80)
#
定义IsUDPPortOpen(p int) bool
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
p | int |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | bool |
#
LookupEnv#
详细描述LookupEnv 获取指定的环境变量的值
Example:
value, ok = os.LookupEnv("PATH")
#
定义LookupEnv(key string) (string, bool)
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
key | string |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | string | |
r2 | bool |
#
LookupHost#
详细描述LookupHost 通过DNS服务器,根据域名查找IP
Example:
os.LookupHost("www.yaklang.com")
#
定义LookupHost(i string) []string
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
i | string |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | []string |
#
LookupIP#
详细描述LookupIP 通过DNS服务器,根据域名查找IP
Example:
os.LookupIP("www.yaklang.com")
#
定义LookupIP(i string) []string
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
i | string |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | []string |
#
Pipe#
详细描述Pipe 创建一个管道,返回一个读取端和一个写入端以及错误
它实际是 io.Pipe 的别名
Example:
r, w, err = os.Pipe()die(err)
go func { w.WriteString("hello yak") w.Close() }
bytes, err = io.ReadAll(r)die(err)dump(bytes)
#
定义Pipe() (r *os.File, w *os.File, err error)
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r | *os.File | |
w | *os.File | |
err | error |
#
Remove#
详细描述Remove 删除指定的文件或目录
Example:
os.Remove("/tmp/test.txt")
#
定义Remove(name string) error
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
name | string |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | error |
#
RemoveAll#
详细描述RemoveAll 递归删除指定的路径及其子路径
Example:
os.RemoveAll("/tmp")
#
定义RemoveAll(name string) error
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
name | string |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | error |
#
Rename#
详细描述Rename 重命名文件或目录,可以用于移动文件或目录
Example:
os.Rename("/tmp/test.txt", "/tmp/test2.txt")os.Rename("/tmp/test", "/root/test")
#
定义Rename(oldpath string, newpath string) error
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
oldpath | string | |
newpath | string |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | error |
#
Setenv#
详细描述Setenv 设置指定的环境变量
Example:
os.Setenv("PATH", "/usr/local/bin:/usr/bin:/bin")
#
定义Setenv(key string, value string) error
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
key | string | |
value | string |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | error |
#
TempDir#
详细描述TempDir 获取用于存放临时文件的默认目录路径
Example:
os.TempDir()
#
定义TempDir() string
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | string |
#
Unsetenv#
详细描述Unsetenv 删除指定的环境变量
Example:
os.Unsetenv("PATH")
#
定义Unsetenv(key string) error
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
key | string |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | error |
#
WaitConnect#
详细描述WaitConnect 等待一个地址的端口开放或指导超时时间,如果超时则返回错误,这通常用于等待并确保一个服务启动
Example:
timeout, _ = time.ParseDuration("1m")ctx, cancel = context.WithTimeout(context.New(), timeout)
go func() { err = tcp.Serve("127.0.0.1", 8888, tcp.serverCallback(func (conn) { conn.Send("hello world") conn.Close() }), tcp.serverContext(ctx))
die(err) }()
os.WaitConnect("127.0.0.1:8888", 5)~ // 等待tcp服务器启动conn = tcp.Connect("127.0.0.1", 8888)~bytes = conn.Recv()~println(string(bytes))
#
定义WaitConnect(addr string, timeout float64) error
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
addr | string | |
timeout | float64 |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | error |