linux中cwd是什么

网友投稿 2775 2022-10-07

本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表睿象云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱jiasou666@gmail.com 处理。

linux中cwd是什么

在linux中,cwd指的是某个进程运行时所在的目录;cwd是“current working directory”的缩写,即当前工作目录,cwd不是系统自带的命令,属于系统的属性,可以在“/proc/{id}”目录下看到cwd。

本教程操作环境:linux7.3系统、Dell G3电脑。

linux中cwd是什么

Linux中的 pwd, $PWD 与 cwd

一句话解释: 都指某个进程运行时所在的 目录.

$PWD 是个系统变量

pwd 是linux 自带的命令. 全称: pathname of the current working directory.

cwd: 不是系统自带的命令, 但是属于 系统的属性 . 全称: current working directory . 不但在 /proc/{id} 这个目录下可以看到cwd, 在很多其他的编程语言中也可以看到( 例如grunt )

cwd指的是current work directory,即当前工作目录。

扩展知识

FD 名称(cwd,memory…\d[u|r|w])

当执行一个进程的时候,会有一个cwd的文件描述符。

cwd指的是current work directory,即当前工作目录。

为什么会有指定当前目录的FD呢?

是因为在Linux系统中,不管是目录还是文件都是以文件的方式存在的。所以当我们执行一个进程的时候,需要指定在哪个目录中执行,系统会去打开指定的执行目录,那么这个过程也就是一个打开系统文件的过程,即会创建FD。所以可以理解为任何一个进程都会有cwd的FD

当执行一个进程的时候,会有一个txt的文件描述符。

txt可以理解为是程序代码,如应用程序的二进制库或者是共享库等。

为什么会有txt的FD呢?

既然是执行进程,那么必须有指定执行内容的代码文件。执行的时候需要读取文件内容,那么打开代码文件也必然会创建FD。所以可以理解为任何一个进程都会有txt的FD

还有一些特殊的FD:

rtd:根目录mem:内存映射文件mmap:内存映射设备

还有一些FD是数值开头的,这些表示的是这个进程执行时需要打开的一些文件描述符,这个数值也可以理解为是打开该文件时返回的一个整数。当初始化打开每一个进程的时候,都会默认有三个数值开头的FD,即0,1,2。也可以当做是内置FD,因为他们默认代表了特殊的含义

0:stdout,标准输出1:stdin,标准输入2:stder,错误输出

所以当应用程序内部打开文件的时候,数值都是从3开始的,有效范围是0-OPEN_MAX 在数值的后面还会加一个FD读写权限的标识:

u:读写r:只读w:只写

推荐学习:Linux视频教程

php入门到就业线上直播课:查看学习

上一篇:性能优化之等待事件free buffer waits解决方法
下一篇:linux的任务调度机制是什么
相关文章

 发表评论

暂时没有评论,来抢沙发吧~