首页 > 系统相关 >Linux绝对路径和相对路径

Linux绝对路径和相对路径

时间:2023-10-23 22:04:44浏览次数:35  
标签:文件 绝对路径 相对路径 Linux root 目录

在 Linux 中,简单的理解一个文件的路径,指的就是该文件存放的位置。

只要我们告诉 Linux 系统某个文件存放的准确位置,那么它就可以找到这个文件。指明一个文件存放的位置,有 2 种方法,分别是使用绝对路径和相对路径。

我们知道,Linux 系统中所有的文件(目录)都被组织成以根目录“/”开始的倒置的树状结构

Linux绝对路径和相对路径_Desktop

绝对路径一定是由根目录 / 开始写起。例如,使用绝对路径的表示方式指明 bin 文件所在的位置,该路径应写为 /usr/bin,测试代码如下:


[root@localhost ~]# bin
bash: bin: command not found   <-- 没有找到
[root@localhost ~]# /usr/bin
bash: /usr/bin: is a directory   <-- 是一个文件

可以看到,如果仅传递给 Linux 系统一个文件名,它无法找到指定文件;而当将 bin 文件的绝对路径传递 Linux 系统时,它就可以成功找到。和绝对路径不同,相对路径不是从根目录 / 开始写起,而是从当前所在的工作目录开始写起。使用相对路径表明某文件的存储位置时,经常会用到前面讲到的 2 个特殊目录,即当前目录(用 . 表示)和父目录(用 .. 表示)。举个例子,当我们使用 root 身份登录 Linux 系统时,当前工作目录默认为 /root,如果此时需要将当前工作目录调整到 root 的子目录 Desktop 中,当然可以使用绝对路径,示例代码如下:

Linux绝对路径和相对路径_Desktop_02

[root@localhost ~]# pwd     <-- 显示当前所在的工作路径
/root
[root@localhost ~]# cd /root/Desktop
[root@localhost Desktop]# pwd
/root/Desktop

注意,这里所使用的 pwd 和 cd 命令,目前只需知道它们的功能即可,具体用法会在后续文章中作详细讲解。

可以看到,通过使用绝对路径,我们成功地改变了当前工作路径。但除此之外,使用相对路径的方式会更简单。因为目前处于 /root 的位置,而 Desktop 就位于当前目录下,所以:

[root@localhost ~]# pwd    <-- 显示当前所在的工作路径
/root
[root@localhost ~]# cd ./Desktop
[root@localhost Desktop]# pwd
/root/Desktop

此代码中,./Desktop 表示的就是 Destop 文件相对于 /root 所在的路径。再举一个例子,如果以 root 身份登录 Linux 系统,并实现将当前工作目录由 /root 转换为 /usr 目录,有以下 2 种方式:

#使用绝对路径
[root@localhost ~]# pwd <-- 显示当前所在的工作路径
/root
[root@localhost ~]# cd /usr
[root@localhost ~]# pwd
/usr
#使用相对路径
[root@localhost ~]# pwd <-- 显示当前所在的工作路径
/root
[root@localhost ~]# cd ../usr <-- 相对 root,usr 位于其父目录 /,因此这里要用到 ..
[root@localhost ~]# pwd
/usr

总之,绝对路径是相对于根路径 / 的,只要文件不移动位置,那么它的绝对路径是恒定不变的;而相对路径是相对于当前所在目录而言的,随着程序的执行,当前所在目录可能会改变,因此文件的相对路径不是固定不变的。

在linux中,确定文件位置,有绝对路径(absolute)与相对路径(relative)两种表示方法:

1. 绝对路径:以根目录(/)开始的文件名或目录名称, 如 /lib/sudo/sudo_noexec.so;

2. 相对路径:相对于目前路径的文件名写法。 如 ./lib/sudo/ 或 ././lib/sudo/ 等。

Linux绝对路径和相对路径_相对路径_03

由于指令的执行需要系统的支持,若你的执行文件放置在本目录,并且本目录没有加入PATH路径中,并非正规的执行文件目录(/bin, /usr/bin 等加入PATH路径中的目录为正规的执行文件目录),此时就需要在指令所在目录下严格按照./command指令格式来该执行指令。

Linux绝对路径和相对路径_相对路径_04

标签:文件,绝对路径,相对路径,Linux,root,目录
From: https://blog.51cto.com/u_15641375/7994453

相关文章

  • Nginx的安装-Linux
    下载地址#如果没有gcc环境,需要安装gcc:[root@localhostlocal]#yuminstallgcc-c++-y#安装依赖包[root@localhostlocal]#yum-yinstallgcczlibzlib-develpcre-developensslopenssl-devel#进入文件夹[root@localhostlocal]#cd/usr/local#在线下载或者上传......
  • linux常规命令
    1、cd上图,直接输入cd,会进入根目录2、treea/3、创建多个目录4、touch5、rm6、编译过程......
  • 更改Kali Linux系统语言以及安装zenmap
    更改KaliLinux系统语言以及安装zenmap在使用kali的过程中,会遇到许多问题,其中一个就是看不懂英语,下面是如何更换语言的步骤。更改KaliLinux系统语言首先,打开kali,以root用户打开终端,如图1-1所示,然后输入密码kali,如图1-2所示,再打开终端如图1-3所示,最后就看到如图1-4所示。 图......
  • Linux /proc和/sys
    在Linux系统中,/proc和/sys都是特殊的文件系统,数据内容是存放在内存中,这两个目录文件中的内容由内核动态生成,查看这个文件中的内容,实际上就是查询内核的某些状态或信息。可以将这两个目录文件理解为虚拟的目录,即在硬盘上不存在。/proc文件系统proc是process(进程)的缩写。这个......
  • Linux账号密码安全运维
    前言随着云计算厂商的兴起,云资源如ECS不再只有企业或者公司才会使用,普通人也可以自己买一台ECS来搭建自己的应用或者网站。虽然云计算厂商帮我们做了很多安全相关的工作,但并不代表我们的机器资源就绝对是安全的。要知道有很多事情是云计算厂商不能为我们做的,就比如账号密码的安......
  • Linux平台下Oracle数据泵备份(expdp)SHELL脚本
    数据泵是Oracle10g的新特性,10g以后的版本才有。关于数据泵的理论知识参考我的Blog:Oracle10gEXPDP和IMPDP使用说明http://www.cndba.cn/Dave/article/1115 Logicalbackup.sh#!/bin/ksh#####################################################################......
  • Linux平台下RMAN全备和增量备份shell脚本
       一.一些准备知识 Oracle分归档和非归档模式。这两者的区别就是对redolog的处理。归档模式下,当一个redolog写满之后,就会把这个redolog里的内容写入归档文件,等写完之后,这个redolog就可以继续使用,如果是非归档模式下,redolog就直接覆盖了。恢复一般都需要归档......
  • linux 中实现根据指定列的重复项输出数据
     001、[root@pc1test02]#lsa.txt[root@pc1test02]#cata.txt##测试数据a76b78a100c222b7777b3333d1111##输出所有的重复##对重复去重##将重复叠加至表头##输出文本中有表......
  • Linux挂载硬盘
    0x01查看硬盘lsblk0x02查看挂载信息df-h0x03挂载sudomount/dev/sdb1/data0x04卸载sudoumount/dev/sdb10x05targetisbusy.可能是在挂载的路径,这样可以cd/退出占用,然后卸载设备umount注意:非永久挂载,重启好像会失效......
  • linux cat查看文件使用grep实现多条件多场景过滤
    在实际应用过程中,我们查看日志文件时,经常会根据一定自定义的词语过滤,查看所有相关的数据行。最近遇到用cat查看文件,需要根据多关键词进行不同的场景过滤,在这里进行一个简单的总结:1.过滤多个关键词同时存在catfile.log|grep-e'关键词1'|grep-e'关键词2'#或者grep-......