十年专注于品牌网站建设 十年专注于品牌网站建设,低调、有情怀的网络应用服务商!
南昌百恒网络微信公众号 扫一扫关注
小程序
tel-icon全国服务热线:400-680-9298,0791-88117053
扫一扫关注百恒网络微信公众号
扫一扫打开百恒网络微信小程序

百恒网络

南昌百恒网络

linux遍历目录操作方法及操作技巧

百恒网络 2016-12-08 788

在Linux文件系统上,可以使用切换目录命令cd将shell会话切换到另一个目录。cd命令的格 式非常简单:

cd destination

cd命令可接受单个参数destination,用以指定想切换到的目录名。如果没有为cd命令指 定目标路径,它将切换到用户主目录。

destination参数可以用两种方式表示:一种是使用绝对文件路径,另一种是使用相对文件 路径。

接下来将分别阐述这两种方法。这两者之间的不同对于理解文件系统遍历非常重要。

1. 绝对文件路径

用户可在虚拟目录中采用绝对文件路径引用目录名。绝对文件路径定义了在虚拟目录结构中 该目录的确切位置,以虚拟目录的根目录开始,相当于目录的全名。

绝对文件路径总是以正斜线(/)作为起始,指明虚拟文件系统的根目录。因此,如果要指 向usr目录所包含的bin目录下的用户二进制文件,可以使用如下绝对文件路径:

/usr/bin

使用绝对文件路径可以清晰表明用户想切换到的确切位置。要用绝对文件路径来切换到文件 系统中的某个特定位置,只需在cd命令后指定全路径名:

christine@server01:~$ cd /usr/bin

christine@server01:/usr/bin$

注意,在上面的例子中,提示符中一开始有一个波浪号(~)。在切换到另一个目录之后,这 个波浪号被/usr/bin替代了。CLI提示符正是用它来帮助你跟踪当前所在虚拟目录结构中的位置。 波浪号表明shell会话位于你的主目录中。在切换出主目录之后,如果提示符已经进行了相关配置 的话,绝对文件路径就会显示在提示符中。

说明 如果你的shell CLI提示符中并没有显示shell会话的当前位置,那是因为它并没有进行相关 的配置。如果你希望修改CLI提示符的话,后面会告诉你如何更改配置。

如果没有配置好提示符来显示当前shell会话的绝对文件路径,也可以使用shell命令来显示所 处的位置。pwd命令可以显示出shell会话的当前目录,这个目录被称为当前工作目录。pwd命令 的用法如下:

christine@server01:/usr/bin$ pwd

/usr/bin

christine@server01:/usr/bin$

南昌APP开发公司百恒网络开发工程师告诉大家个技巧 在切换到新的当前工作目录时使用pwd命令,是很好的习惯。因为很多shell命令都是在当 前工作目录中操作的,在发出命令之前,你应该始终确保自己处在正确的目录之中。

可以使用绝对文件路径切换到Linux虚拟目录结构中的任何一级:

christine@server01:/usr/bin$ cd /var/log

christine@server01:/var/log$

christine@server01:/var/log$ pwd

/var/log

christine@server01:/var/log$

还可以从Linux虚拟目录中的任何一级跳回主目录:

christine@server01:/var/log$ cd

christine@server01:~$

christine@server01:~$ pwd

/home/christine

christine@server01:~$

但是,如果你只是在自己的主目录中工作,经常使用绝对文件路径的话未免太过冗长。例如, 若已经位于目录/home/christine,再输入下面这样的命令切换到Documents目录就有些繁琐了:

cd /home/christine/Documents

幸好还有一种简单的解决方法。

2. 相对文件路径

相对文件路径允许用户指定一个基于当前位置的目标文件路径。相对文件路径不以代表根目 录的正斜线(/)开头,而是以目录名(如果用户准备切换到当前工作目录下的一个目录)或是 一个特殊字符开始。假如你位于home目录中,并希望切换到Documents子目录,那你可以使用cd 命令加上一个相对文件路径:

christine@server01:~$ pwd

/home/christine

christine@server01:~$

christine@server01:~$ cd Documents

christine@server01:~/Documents$ pwd

/home/christine/Documents

christine@server01:~/Documents$

上面的例子并没有使用正斜线(/),而是采用了相对文件路径将当前工作目录从 /home/christine改为/home/christine/Documents,大大减少了输入内容。

另外,此例中还要注意的是,如果提示符经过配置可以显示出当前工作目录,它就会一直显 示波浪号。这表明当前工作目录位于用户home目录之下。

技巧 如果你刚接触命令行和Linux目录结构,建议暂时先坚持使用绝对文件路径。等熟悉了目 录布局之后,再使用相对文件路径。

可以在任何包含子目录的目录中使用带有相对文件路径的cd命令。也可以使用一个特殊字符 来表示相对目录位置。

有两个特殊字符可用于相对文件路径中: 

单点符(.),表示当前目录; 

双点符(..),表示当前目录的父目录。 你

可以使用单点符,不过对cd命令来说,这没有什么意义。在本章后面你会看到另一个命令 如何有效地在相对文件路径中使用单点符。

双点符在目录层级中移动时非常便利。如果你处在在主目录下的Documents目录中,需要切 换到主目录下的Downloads目录,可以这么做:

christine@server01:~/Documents$ pwd

/home/christine/Documents

christine@server01:~/Documents$ cd ../Downloads

christine@server01:~/Downloads$ pwd

/home/christine/Downloads

christine@server01:~/Downloads$

双点符先将用户带到上一级目录,也就是用户的主目录,然后/Downloads这部分再将用户带 到下一级目录,即Downloads目录。必要时用户也可用多个双点符来向上切换目录。假如现在位 于主目录中(/home/christine),想切换到/etc目录,可以输入如下命令:

christine@server01:~$ cd ../../etc

christine@server01:/etc$ pwd

/etc

christine@server01:/etc$

当然,在上面这种情况下,采用相对路径其实比采用绝对路径输入的字符更多,用绝对路径 的话,用户只需输入/etc。因此,只在必要的时候才使用相对文件路径。

既然你已经知道如何遍历文件系统和验证当前工作目录,那就可以开始探索各种目录中究竟 都有些什么东西了。下一篇文章将介绍如何查看目录中的文件。

本文仅限内部技术人员学习交流,不得作于其他商业用途.希望此文对广技人员有所帮助。原创文章出自:南昌APP开发公司-百恒网络 http://www.jxbh.cn/app/index.html 如转载请注明出处!


400-680-9298,0791-88117053
扫一扫关注百恒网络微信公众号
扫一扫打开百恒网络小程序

欢迎您的光顾,我们将竭诚为您服务×

售前咨询 售前咨询
 
售前咨询 售前咨询
 
售前咨询 售前咨询
 
售前咨询 售前咨询
 
售前咨询 售前咨询
 
售后服务 售后服务
 
售后服务 售后服务
 
备案专线 备案专线
 
×