在Linux系统中,cwd 是 Current Working Directory(当前工作目录) 的缩写,表示进程或用户当前所在的目录路径。以下是详细说明:
cwd 是进程运行时的一个属性,指向该进程操作文件的默认路径(相对路径的基准)。ls,默认列出的是当前 cwd 下的文件。cwd 的方式pwd(Print Working Directory)bash
$ pwd
/home/username/projects # 输出当前所在目录通过 /proc/<PID>/cwd 符号链接查看某进程的 cwd:
# 1. 查找进程PID(例如nginx)
$ pgrep nginx
1234
# 2. 查看该进程的cwd
$ ls -l /proc/1234/cwd
lrwxrwxrwx 1 root root 0 Sep 10 10:00 /proc/1234/cwd -> /var/www/html
cwd 的重要性cat file.txt)默认在 cwd 下寻找文件。cwd 加载配置文件或资源。| 术语 | 全称 | 说明 |
|---|---|---|
cwd |
Current Working Directory | 进程/用户的当前目录。 |
PWD |
Present Working Directory | Shell环境变量,通常与 cwd 一致。 |
/ |
根目录 | 文件系统的起点,与 cwd 无关。 |
cd 命令无法改变脚本中的 cwd?A:脚本中的 cd 仅影响子Shell进程,父进程(如终端)的 cwd 不变。需通过 source script.sh 或 . script.sh 在当前Shell执行。
cwd?A:通常需要重启进程或通过调试工具(如 gdb)注入,但高风险!建议修改配置后重启。
cwd:bash
$ ps -eo pid,cwd,cmdcwd:c
#include <unistd.h>
char cwd[1024];
getcwd(cwd, sizeof(cwd)); // 返回当前工作目录通过理解 cwd,可以更精准地控制文件路径和进程行为,避免“文件不存在”等常见错误。