~在linux中代表用户主目录
对一般用户,~表示/home/(用户名)
对于root用户,~表示/root
如果要查看~的真实面貌,可以先进入~目录,然后用pwd -P命令查看~的绝对路径
cd ~
pwd -P ~
目录是Linux系统组织文件的一种特殊文件。为使用户更好地使用目录,我们介绍有关目录的一些基本概念。
(1)工作目录与用户主目录
从逻辑上讲,用户在登录到Linux系统中之后,每时每刻都处在某个目录之中,此目
录被称做工作目录或当前目录(Working Directory)。工作目录是可以随时改变的。用户初始登录到系统中时,其主目录(Home
Directory)就成为其工作目录。工作目录用“.”表示,其父目录用“..”表示。
用户主目录是系统管理员增加用户时创建起来的(以后也可以改变),每个用户都有自己的主目录,不同用户的主目录一般互不相同。
用户刚登录到系统中时,其工作目录便是该用户主目录,通常与用户的登录名相同。
用户可以通过一个~字符来引用自己的主目录。
例如命令
/home/WANG$ cat ~/class/software_1
和下面的命令
/home/WANG$ cat /home/WANG/class/software_1
意义相同。Shell将用用户主目录名来替换~字符。目录层次创建好之后,用户就可以把有关的文件放到相应的目录中,从而实现对文件的组织。
(2)路径
顾名思义,路径是指从树型目录中的某个目录层次到某个文件的一条道路。此路径的主要构成是目录名称,中间用“/”分开。任一个文件在文件系统中的位置都是由相应的路径决定的。
用户在对文件进行访问时,要给出文件所在的路径。 路径又分相对路径和绝对路径。 绝对路径是指从“根”开始的路径,也称为完全路径;相对路径是从用户工作目录开始的路径。
应该注意到,在树型目录结构中到某个确定文件的绝对路径和相对路径均只有一条。绝对路径是确定不变的,而相对路径则随着用户工作目录的变化而不断变化。这一点对于我们以后使用某些命令如cp和tar等大有好处。
用户要访问一个文件时,可以通过路径名来引用,并且可以根据要访问的文件与用户工作
目录的相对位置来引用它,而不需要列出这个文件的完整路径名。例如,用户WANG有一个名为class的目录,该目录中有两个文件:software_1
和hardware_1。若用户WANG想显示出其class目录中的名为software_1的文件,可以使用下列命令:
/home/WANG$ cat /home/WANG/class/software_1
用户也可以根据文件software_1与当前工作目录的相对位置来引用该文件。这时命令为:
/home/WANG$ cat class/software_1
Linux中用 pwd 命令来查看”当前工作目录“的完整路径。 简单得说,每当你在终端进行操作时,你都会有一个当前工作目录。
在不太确定当前位置时,就会使用pwd来判定当前目录在文件系统内的确切位置。
1.命令格式:
pwd [选项]
2.命令功能:
查看”当前工作目录“的完整路径
3.常用参数:
一般情况下不带任何参数
如果目录是链接时:
格式:pwd -P 显示出实际路径,而非使用连接(link)路径。
4.常用实例:
实例1:用 pwd 命令查看默认工作目录的完整路径
命令:
pwd
输出:
[root@localhost ~]# pwd
/root
[root@localhost ~]#
实例2:使用 pwd 命令查看指定文件夹
命令:
pwd
输出:
[root@localhost ~]# cd /opt/soft/
[root@localhost soft]# pwd
/opt/soft
[root@localhost soft]#
实例三:目录连接链接时,pwd -P 显示出实际路径,而非使用连接(link)路径;pwd显示的是连接路径
命令:
pwd -P
输出:
[root@localhost soft]# cd /etc/init.d
[root@localhost init.d]# pwd
/etc/init.d
[root@localhost init.d]# pwd -P
/etc/rc.d/init.d
[root@localhost init.d]#
实例4:/bin/pwd
命令:
/bin/pwd [选项]
选项:
-L 目录连接链接时,输出连接路径
-P 输出物理路径
输出:
[root@localhost init.d]# /bin/pwd
/etc/rc.d/init.d
[root@localhost init.d]# /bin/pwd --help
[root@localhost init.d]# /bin/pwd -P
/etc/rc.d/init.d
[root@localhost init.d]# /bin/pwd -L
/etc/init.d
[root@localhost init.d]#
实例五:当前目录被删除了,而pwd命令仍然显示那个目录
输出:
[root@localhost init.d]# cd /opt/soft
[root@localhost soft]# mkdir removed
[root@localhost soft]# cd removed/
[root@localhost removed]# pwd
/opt/soft/removed
[root@localhost removed]# rm ../removed -rf
[root@localhost removed]# pwd
/opt/soft/removed
[root@localhost removed]# /bin/pwd
/bin/pwd: couldn't find directory entry in “..” with matching i-node
[root@localhost removed]# cd
[root@localhost ~]# pwd
/root
[root@localhost ~]#