Linux中用 pwd 命令来查看”当前工作目录“的完整路径。 简单得说,每当你在终端进行操作时,你都会有一个当前工作目录。
在不太确定当前位置时,就会使用pwd来判定当前目录在文件系统内的确切位置。
1.命令格式:
pwd [参数]
2. 命令功能:
pwd 代表的是‘Print Working Directory’(打印当前目录)。如它的名字那样,‘pwd’会打印出当前工作目录,或简单的来说就是当前用户所位于的目录。它会打印出以根目录 (/)为起点的完整目录名(绝对目录)
3. 常用参数:
一般情况下不带任何参数
参数 | 描述 |
---|---|
-L | 即逻辑路径logical,当目录为连接路径时,显示连接路径 |
-P | 即物理路径physical,显示实际物理路径,而非使用连接(link)路径 |
如果同时使用了‘-L‘和‘-P‘,‘-L‘会有更高的优先级。如果没有指定参数,pwd会避开所有的软链接,也就是说会使用‘-P‘参数。
4. 常用示例
1. 查看pwd命令
命令:
man pwd
输出:
PWD(1) User Commands PWD(1)
NAME
pwd - print name of current/working directory
SYNOPSIS
pwd [OPTION]...
DESCRIPTION
Print the full filename of the current working directory.
-L, --logical
use PWD from environment, even if it contains symlinks
-P, --physical
avoid all symlinks
--help display this help and exit
--version
output version information and exit
If no option is specified, -P is assumed.
Manual page pwd(1) line 1 (press h for help or q to quit)
2. 显示当前目录所在路径.
命令:
pwd
输出:
hc@hc-virtual-machine:~/PycharmProjects/py3_test$ pwd
/home/hc/PycharmProjects/py3_test
目录结构如下:
hc@hc-virtual-machine:~/PycharmProjects$ tree -L 2
.
├── FreshOnline
│ ├── apps
│ ├── db_tools
│ ├── extra_apps
│ ├── FreshMartOnline
│ ├── manage.py
│ ├── media
│ ├── README.md
│ └── requirements.txt
├── FreshOnline_env
│ ├── bin
│ ├── include
│ ├── lib
│ ├── lib64 -> lib
│ ├── pip-selfcheck.json
│ ├── pyvenv.cfg
│ └── share
├── my_test
│ ├── 2018.log
│ ├── link2018 -> 2018.log
│ ├── ln2018
│ └── test
├── py3_test
│ ├── t1.py
│ └── venv
└── test
└── my_test -> /home/hc/PycharmProjects/my_test
说明:目录为连接路径时,pwd -P 显示出实际路径,而非使用连接(link)路径;pwd显示的是连接路径
示例如下:
PycharmProjects/test目录下有一个my_test连接文件,指向PycharmProjects/my_test目录,
进入test目录下的my_test目录,使用pwd,显示结果与pwd -L 一致,是逻辑(连接)路径,要查看实际物理路径则使用pwd -P
hc@hc-virtual-machine:~/PycharmProjects/test$ pwd
/home/hc/PycharmProjects/test
hc@hc-virtual-machine:~/PycharmProjects/test$ ll
总用量 8
drwxr-xr-x 2 hc hc 4096 10月 23 13:38 ./
drwxrwxr-x 7 hc hc 4096 10月 23 13:30 ../
lrwxrwxrwx 1 hc hc 32 10月 23 13:38 my_test -> /home/hc/PycharmProjects/my_test/
hc@hc-virtual-machine:~/PycharmProjects/test$ cd my_test
hc@hc-virtual-machine:~/PycharmProjects/test/my_test$ pwd
/home/hc/PycharmProjects/test/my_test
hc@hc-virtual-machine:~/PycharmProjects/test/my_test$ pwd -P
/home/hc/PycharmProjects/my_test
hc@hc-virtual-machine:~/PycharmProjects/test/my_test$ pwd -L
/home/hc/PycharmProjects/test/my_test
3. 多层连接文件时,显示所有连接文件最终指向的文件全路径
/root目录下面有个dir1目录,test连接文件指向dir1目录
/opt目录下面有一个test连接文件,指向/root/test连接文件
通过cd命令进入/opt/test
pwd默认,只显示连接文件的全路径
root@hc-virtual-machine:~# pwd
/root
root@hc-virtual-machine:~# ll
total 12
drwxr-xr-x 2 root root 4096 Apr 24 05:51 dir1
lrwxrwxrwx 1 root root 5 Apr 24 05:54 test -> dir1/
root@hc-virtual-machine:~# ll /opt/
total 20
drwx------ 16 sgl sgl 4096 Oct 17 2015 sgl
lrwxrwxrwx 1 root root 10 Apr 24 05:55 test -> /root/test
root@hc-virtual-machine:~# cd /opt/test/
root@hc-virtual-machine:~# pwd
/opt/test
root@hc-virtual-machine:~# pwd -P
/root/dir1
pwd -P 显示连接文件最终指向的文件的全路径。注意这里不是/root/test。