保定市网站建设公司,天津建设工程信息网评标专家 终审,怎么建wordpress主题的子主题,潍坊寿光网站建设简介
工作目录
通常就是指用户启动应用程序时#xff0c;用户当时所在的文件夹的绝对路径。 如#xff1a;root用户登录到linux系统后#xff0c;一顿cd#xff08;change directory#xff09;后, 到了/tmp文件夹下。此时#xff0c;用户要启动某个应用程序#xff0…简介
工作目录
通常就是指用户启动应用程序时用户当时所在的文件夹的绝对路径。 如root用户登录到linux系统后一顿cdchange directory后, 到了/tmp文件夹下。此时用户要启动某个应用程序这个应用程序的工作目录就是/tmp。此时在应用程序编码中所有使用相对路径的地方都是相对于工作目录而言的。
如要打开“./a.txt”, 实际上就是打开工作目录下的a.txt. 也就是/tmp/a.txt文件。
在go语言中获取工作目录的方法
import os
func os.Getwd()(dir string, err error)可执行程序存放目录
毋庸讳言就是可执行程序在硬盘中存放到哪个文件夹下面了。 如我有程序test, 把它拷贝到了硬盘的/home/wjg/文件加下了那么可执行文件test的存放目录就是/home/wjg/test。
无论你在哪个工作目录下启动testtest都在那里。
在go语言中获取可执行程序存放目录的方法
import os
import path/filepath
//获取应用程序的完整路径包括文件名
func os.Executable() (string, error)
//去除文件名保留路径
func filepath.Dir(string) string例
//getpath.go
import (fmtospath/filepath
)func main() {dir, err : os.Getwd()if err ! nil {fmt.Println(err)return}fmt.Println( Work path is: , dir)ex, err : os.Executable()if err ! nil {panic(err)}fmt.Println(Executable pathname is: , ex)exePath : filepath.Dir(ex)fmt.Println( Executable path is: , exePath)
}编译后执行./getpath 可以发现工作目录和存放目录是相同的。那是因为执行是用户就把存放目录作为工作目录使用了。
下面我们cd到/tmp目录下再次启动getpath程序见下图 从图中我们可以看到工作目录编程了/tmp, 但是可执行程序存放目录依然是/root/go/get_path。 注工作目录和存放目录不同时启动应用程序需要使用可执行程序存放目录的绝对路径进行启动。 如上图cd到/tmp目录下但是/tmp目录下没有getpath这个程序那我只能通过绝对路径找到getpath这个可执行程序然后启动。
完结。