Linux 遍历目录(cd 命令)

Linux 遍历目录(cd 命令)


文章目录


一、cd 命令

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

复制代码
[root@localhost   / ]cd tmp    //使用 cd 命令切换到 tmp 目录
[root@localhost tmp ]		   //仔细观察可以看到已经进入到 tmp 目录了

cd 命令可以接受单个参数 destination,用于指定想切换的目录名。

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

如果没有为 cd 命令指定目标路径,那么它将切换到用户主目录。


二、绝对文件路径

绝对文件路径定义了在目录机构中该目录的具体位置,Linux 中以虚拟目录的根目录开始,相当于目录的全名。

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

复制代码
/usr/bin

要使用绝对文件路径来切换到文件系统中的某个特定位置,只需要在 cd 命令后指定全路径名:

复制代码
[root@localhost  ~ ] cd /usr/bin		//使用绝对文件路径切换到 根(/)目录下的 usr 目录下的 bin 目录
[root@localhost  bin ] 			//可以发现已经切换到根目录下的 usr 目录下的 bin 目录中了

注:在上面的例子中,提示符中一开始有一个波浪号(~)。在切换目录之后就被指向的 bin 目录代替了,这个 CLI 提示符就是用来帮助我们跟踪当前所在虚拟目录结构中的位置

当然,也可以使用 pwd 命令查看当前会话的目录的绝对文件路径

复制代码
[root@localhost  bin ] pwd
/usr/bin		//使用 pwd 命令后,就会显示当前会话目录的绝对路径

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

复制代码
[root@localhost  /usr/bin ] cd /var/log
[root@localhost  /var/log ]
[root@localhost  /var/log ] pwd
/var/log

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

复制代码
[root@localhost  /var/log ] cd		 //如果cd 命令没有指定目标路径,那么它将切换到用户主目录
[root@localhost  ~ ]
[root@localhost  ~ ] pwd
/root			//我这里用户是 root ,所以回到用户主目录中

三、相对文件路径

相对路径允许用户指定一个基于当前位置的目标文件路径。

相对文件路径不以代表根目录的正斜线( / )开始,而是直接以目录名或者一个特殊字符开始的。
/ usr var boot bin etc cache gdm efi losf+found

如果你正位于 usr 目录中,希望切换到它下面的 bin 子目录中,可以直接使用 cd 命令加上一个文件相对路径:

复制代码
[root@localhost  usr ] cd bin
[root@localhost  bin ]
[root@localhost  bin ] pwd
/usr/bin

也可以使用一个特殊字符来表示相对目录位置。有两个特殊字符可以用于相对文件路径中:
单点符( . ),表示当前目录
双点符( ... ),表示当前目录的父级目录

其中单点符( . )对 cd 命令而言,意义不大;双点符在目录层级中移动时非常方便,加入现在正处于 usr 目录下的 bin 目录中,要切换到他的上级目录 usr 目录,可以这么做:

复制代码
[root@localhost  bin ]pwd
/usr/bin
[root@localhost  bin ] cd ../		//切换到当前目录的上一级目录
[root@localhost  var ]
[root@localhost  usr ] pwd
/usr

如果需要切换到当前目录的上一级目录的再上一级目录也可以这么做:

复制代码
[root@localhost  bin ]pwd
/usr/bin
[root@localhost  bin ] cd ../../		//切换到当前目录的上一级目录的再上一级目录
[root@localhost  / ]
[root@localhost  / ] pwd
/

同理,再往目录的上级也是一样的写法,以此类推就行了


如果文章对各位小伙伴有帮助的话欢迎三连!!!

另外,文章如有错误之处,也欢迎各位大佬批评指正!!!

相关推荐
iru1 分钟前
nginx被报CVE-2025-1695漏洞,检查后反馈是误报
运维·nginx
誰能久伴不乏11 分钟前
epoll 学习踩坑:`fcntl` 设置非阻塞到底用 `F_SETFL` 还是 `F_SETFD`?
linux·服务器·网络·c++·tcp/ip
阿巴~阿巴~1 小时前
告别命令行:Navicat可视化操作数据库(附安装使用教程)
服务器·数据库·mysql·navicat·可视化操作数据库
TG:@yunlaoda360 云老大1 小时前
华为云国际站代理商跨境容灾是如何实现的?
服务器·数据库·华为云
来鸟 鸣间2 小时前
MIPI D-PHY 理解
linux·音视频·sensor·mipi
么么...2 小时前
在 Ubuntu 上安装 Docker 并部署 MySQL 容器
linux·运维·经验分享·笔记·mysql·ubuntu·docker
云川之下2 小时前
【网络】华为交换机S3700与S5700详解
服务器·网络·华为
翼龙云_cloud2 小时前
亚马逊云渠道商:Lightsail 如何制定备份与快照策略以平衡安全及成本?
运维·安全·云计算·aws
咕噜签名-铁蛋2 小时前
云服务器故障服务保障体系构建与实践
服务器
·云扬·2 小时前
Linux系统下MySQL服务器关键配置优化指南
linux·服务器·mysql