前言
之前,提到过Linux下目录的一系列操作,在对目录操作前,其实我们有必要加深一下对路径的的一个了解作为基础知识帮助我们快速理解和定位到具体目录,做相应操作。平时开发中,我们对路径的操作一般会停留在资源文件、项目打包上线等简单的路径访问,但还是需要了解下这些路径为什么这样书写。
我们需要知道3个知识点:特殊路径、绝对路径、相对路径。
特殊路径
在每个目录下, 都会固定存在两个特殊目录, 分别是.和..的目录。一个点代表的是当前目录, 两个点代表的是当前目录的上层目录。注意: 在Linux下所有以点开始的文件都是"隐藏文件", 对于这类文件, 只使用命令ls -l是看不到的, 必须要使用ls -la才可以看到。这两个路径组合在路径字符串中,能实现对相对位置的一个访问,也就是等会儿会提及的相对路径。
绝对路径
inux系统采用了目录树的文件组织结构, 在Linux下每个目录或文件都可以从根目录处开始寻找, 比如: /usr/bin目录。这种从根目录开始的全路径被称为"绝对路径", 绝对路径一定是以 “/” 开头的。
如何确认当前所在的目录, 可以使用pwd命令查看:
1 [root@jdcloud~]# cd /usr/local/
2 [root@jdcloud]# pwd
那么,/usr/local/就会作为回显的字符串输出到标准输出流上,用户就能看到。这个pwd命令平时我们可以用作动态环境变量使用在SHELL脚本中,以实现一些简单的针对本地路径的操作,可以组合文件。
相对路径
相对路径就很好理解了,不以“/”开头的路径,基本上就是相对路径,但在Linux下,有需要注意的地方。一般来说,你需要访问当前路径下的文件,前面要加上之前说到的,特殊路径。比如删除当前路径下的一个叫做 itcast.jpg 的图片,一般操作是:
1 rm ./itcast.jpg
以./开头来确保这是当前目录下的文件。如果是上一级目录,就用..,两个.来书写即可,这样组合多个目录结构,就能找到我要的文件了。在Linux还有点需要注意,可执行文件不仅要标注可执行的权限,还需要,指定特殊路径作为前缀才能运行,比如:
1 /mongod -f db.cfg
以./开头来执行当前目录下的一个可执行程序。
总结
本次教程中的东西很简单,但是非常重要,多尝试对路径不同的操作就能在运维工作上,事半功倍。