搜索
首页系统教程LINUXLinux 中的绝对路径和相对路径,有什么区别?

Linux 中的绝对路径和相对路径,有什么区别?

Feb 10, 2024 pm 08:03 PM
linuxlinux教程linux系统linux命令外壳脚本嵌入式linuxlinux入门linux学习

路径是 Linux 系统中一个非常重要的概念,每个 Linux 用户都应该了解它。

它是指文件和目录在 Linux 目录结构中的位置,由名称和斜杠组成。通过路径,我们可以快速找到文件或目录的位置。

/home/abhishek/scripts

作为一个系统用户,当您想要访问某个文件或目录,或者必须为命令或脚本指定文件或目录的位置时,就会使用路径。

cat /home/abhishek/scripts/my_script.sh

请记住,如果路径以斜杠“/”开头,则第一个斜杠表示根,路径中的其余斜线只是分隔符。初学者经常混淆斜杠和分隔符斜杠。

Linux 中的绝对路径和相对路径,有什么区别?

在上图中,第一个路径是以根路径(/)开始的,第二个路径不是以 / 开始的。这两种写法都是正确的,第一个是绝对路径,第二个是相对路径。

Linux中的绝对路径和相对路径

绝对路径始终从根目录(/)开始,比如:

/home/abhishek/scripts/my_scripts.sh

相对路径从当前目录开始。比如,如果你在 /home 目录中,希望访问 my_script.sh 文件,那么访问的路径应该是:

abhishek/scripts/my_scripts.sh

理解绝对路径和相对路径之间的差异

我们都知道Linux中目录结构是一个树,从根(/)开始,然后产生分支。

假设我们现在目录abhishek中,并且希望访问文件my_scripts.sh,如下图所示两种路径的表示:

Linux 中的绝对路径和相对路径,有什么区别?

假设我们使用 ls 命令查看 my_script.sh 的文件信息,那么使用绝对路径:

ls -l /home/abhishek/scripts/my_script.sh

然后,相对路径:

ls -l scripts/my_script.sh

那么,以上两种方式,除了文件路径不一样以外,其他的完全一样:

Linux 中的绝对路径和相对路径,有什么区别?

注:在Linux中,文件名区分大小写。可以有大写、小写、数字、点、中划线、下划线以及除了斜杠(/)之外的大多数字符。斜杠(/)作为保留字符,用于根目录和用于分割路径中的目录。

使用带有 . 和 .. 目录的相对路径

**
**

有两种特殊的相对路径:

  • .****(一个点):表示路径中的当前路径;
  • ..****(两个点):表示父目录,即上一级目录。

如下图,我们要从 abhishek 目录中,到 prakash 目录中去。

Linux 中的绝对路径和相对路径,有什么区别?

切换目录,使用 cd 命令。如果使用绝对路径,可以这样:

cd /home/prakash

使用相对路径的话 ,需要用到特殊的相对路径 .. :

cd ../prakash

为什么要使用 .. 呢?因为相对路径要从当前目录开始,我们需要告诉 cd 命令向上一级,将我们带到 /home 目录,然后从那里在进入到 prakash 目录。

绝对路径始终以 / 开始,并且与当前位置无关;相对路径取决于当前的位置。

绝对路径和相对路径,应该使用哪个呢?

老实说,这个问题没有直截了当的答案。这要视情况而定。

如果你当前所在的目录层次结构比较深,并且需要向上或者向下一级移动,那么使用相对路径会更简单。

假设你位于

/home/username/programming/project/interface/src/header 目录中,并且需要访问 /home/username/programming/project/interface/bin 目录中的某些内容。使用相对路径可以避免键入所有冗长的目录名,只需在此处使用.././bin即可。

但是,如果你要从 /home/username/programming/project/interface/src/header目录访问 /usr/bin 目录中的某些内容,那么使用 ../../../../../../usr/bin 会比较麻烦,这个时候使用绝对路径更方便。

另一种情况,是在脚本或者程序中使用路径。如果位置是确定的,那么就使用绝对路径;如果项目中有多个文件夹,并且需要在其中之间切换,那么此处需要使用相对路径,因为你不确定最终用户会将程序放在什么地方。

以上是Linux 中的绝对路径和相对路径,有什么区别?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文转载于:良许Linux教程网。如有侵权,请联系admin@php.cn删除
比较和对比Linux和Windows的安全模型。比较和对比Linux和Windows的安全模型。Apr 24, 2025 am 12:03 AM

Linux和Windows的安全模型各有优势。Linux提供灵活性和可定制性,通过用户权限、文件系统权限和SELinux/AppArmor实现安全。Windows则注重用户友好性,依赖WindowsDefender、UAC、防火墙和BitLocker保障安全。

Linux和Windows之间的硬件兼容性有何不同?Linux和Windows之间的硬件兼容性有何不同?Apr 23, 2025 am 12:15 AM

Linux和Windows在硬件兼容性上不同:Windows有广泛的驱动程序支持,Linux依赖社区和厂商。解决Linux兼容性问题可通过手动编译驱动,如克隆RTL8188EU驱动仓库、编译和安装;Windows用户需管理驱动程序以优化性能。

Linux和Windows之间虚拟化支持有哪些差异?Linux和Windows之间虚拟化支持有哪些差异?Apr 22, 2025 pm 06:09 PM

Linux和Windows在虚拟化支持上的主要区别在于:1)Linux提供KVM和Xen,性能和灵活性突出,适合高定制环境;2)Windows通过Hyper-V支持虚拟化,界面友好,与Microsoft生态系统紧密集成,适合依赖Microsoft软件的企业。

Linux系统管理员的主要任务是什么?Linux系统管理员的主要任务是什么?Apr 19, 2025 am 12:23 AM

Linux系统管理员的主要任务包括系统监控与性能调优、用户管理、软件包管理、安全管理与备份、故障排查与解决、性能优化与最佳实践。1.使用top、htop等工具监控系统性能,并进行调优。2.通过useradd等命令管理用户账户和权限。3.利用apt、yum管理软件包,确保系统更新和安全。4.配置防火墙、监控日志、进行数据备份以确保系统安全。5.通过日志分析和工具使用进行故障排查和解决。6.优化内核参数和应用配置,遵循最佳实践提升系统性能和稳定性。

很难学习Linux吗?很难学习Linux吗?Apr 18, 2025 am 12:23 AM

学习Linux并不难。1.Linux是一个开源操作系统,基于Unix,广泛应用于服务器、嵌入式系统和个人电脑。2.理解文件系统和权限管理是关键,文件系统是层次化的,权限包括读、写和执行。3.包管理系统如apt和dnf使得软件管理方便。4.进程管理通过ps和top命令实现。5.从基本命令如mkdir、cd、touch和nano开始学习,再尝试高级用法如shell脚本和文本处理。6.常见错误如权限问题可以通过sudo和chmod解决。7.性能优化建议包括使用htop监控资源、清理不必要文件和使用sy

Linux管理员的薪水是多少?Linux管理员的薪水是多少?Apr 17, 2025 am 12:24 AM

Linux管理员的平均年薪在美国为75,000至95,000美元,欧洲为40,000至60,000欧元。提升薪资可以通过:1.持续学习新技术,如云计算和容器技术;2.积累项目经验并建立Portfolio;3.建立职业网络,拓展人脉。

Linux的主要目的是什么?Linux的主要目的是什么?Apr 16, 2025 am 12:19 AM

Linux的主要用途包括:1.服务器操作系统,2.嵌入式系统,3.桌面操作系统,4.开发和测试环境。Linux在这些领域表现出色,提供了稳定性、安全性和高效的开发工具。

互联网在Linux上运行吗?互联网在Linux上运行吗?Apr 14, 2025 am 12:03 AM

互联网运行不依赖单一操作系统,但Linux在其中扮演重要角色。Linux广泛应用于服务器和网络设备,因其稳定性、安全性和可扩展性受欢迎。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

螳螂BT

螳螂BT

Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

功能强大的PHP集成开发环境

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

Atom编辑器mac版下载

Atom编辑器mac版下载

最流行的的开源编辑器