首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在shell中获取父目录名称的基名?

在shell中获取父目录名称的基名可以使用以下命令:

代码语言:shell
复制
dirname "$(dirname "$PWD")"

解释如下:

  • "$PWD":获取当前工作目录的绝对路径。
  • dirname "$PWD":获取当前工作目录的父目录的绝对路径。
  • dirname "$(dirname "$PWD")":获取当前工作目录的父目录的父目录的绝对路径。
  • 最后,使用basename命令获取父目录名称的基名。

这样,我们就可以在shell中获取父目录名称的基名。

推荐的腾讯云相关产品:腾讯云云服务器(CVM)

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

如何在 Go 函数中获取调用者的函数名、文件名、行号...

背景 我们在应用程序的代码中添加业务日志的时候,不论是什么级别的日志,除了我们主动传给 Logger 让它记录的信息外,这行日志是由哪个函数打印的、所在的位置也是非常重要的信息,不然排查问题的时候很有可能就犹如大海捞针...//获取的是 CallerA函数的调用者的调用栈 pc1, file1, lineNo1, ok1 := runtime.Caller(1) } 函数的返回值为调用栈标识符、带路径的完整文件名...、该调用在文件中的行号。...获取调用者的函数名 runtime.Caller 返回值中第一个返回值是一个调用栈标识,通过它我们能拿到调用栈的函数信息 *runtime.Func,再进一步获取到调用者的函数名字,这里面会用到的函数和方法如下...总结 今天介绍了通过 runtime.Caller 回溯调用栈获取调用者的信息的方法,虽然强大,不过频繁获取这个信息也是会对程序性能有影响。

6.7K20

强迫症治愈:如何在MATALB中移除“警告:名称不存在或不是目录”的警告信息

作为强迫症患者,总是见不得MATLAB打开后,命令窗口弹出一堆“警告:名称不存在或不是目录:XXXXXXX”,如图1所示: 图1 警告信息 起初以为是默认搜索路径问题,于是乎打开设置路径对话框,但发现警告信息中的路径并没有相关路径...,如下图2示: 图2 搜索路径 紧接着又用path命令查看pathdef.m中存储的路径,结果发现里面还保留有图1中所警告的所有路径,极有可能是pathdef.m中存储的路径与图2中所显示的路径不一致造成的...于是抱着试一试的心态,尝试删掉pathdef.m中多余的路径,在命令窗口中输入如下命令: edit pathdef.m 随机来到了代码编辑区域,删掉图1中的路径,保存关闭重启MATLAB,警告信息果然不见了...,干净的启动命令窗口又回来了!...参考资料:mathworks.com/help/matlab/ref/path.html 如需转载,请在公众号中回复“转载”获取授权,如未经授权擅自搬运抄袭的,本公众号将保留一切追责权利!

2.7K60
  • 【Android 逆向】获取安装在手机中的应用的 APK 包 ( 进入 adb shell | 获取 root 权限 | 进入 dataapp 目录 | 拷贝 base.apk 到外置存储 )

    文章目录 一、获取 APK 包流程 二、获取 APK 包完整流程命令行输出 一、获取 APK 包流程 ---- 从应用市场中下载的应用 , 安装完毕后 , 自动删除 ; 如果想要获取安装应用的 APK...包 , 可以使用如下方法进行获取 ; 模拟器 或者 root 过的手机中 , 可以获取 APK 包 ; 这里以 Root 过的 Pixel 2 手机为例 ; 进入 adb shell 命令行 : adb...shell 获取 root 权限 : su 进入 /data/app 目录 : cd /data/app 根据包名查找指定的应用安装目录 : cd kim.hsl.aidl_demo-fRLEnkOknxauSrQcwx2jzw...\=\=/ 拷贝 APK 到外置 SD 卡存储空间 : cp base.apk /sdcard/Pictures/ 拷贝后的 APK 文件 : 二、获取 APK 包完整流程命令行输出 ---- 下面的命令行截图是完整的流程...: adb shell su cd /data/app cd kim.hsl.aidl_demo-fRLEnkOknxauSrQcwx2jzw\=\=/ cp base.apk /sdcard/Pictures

    2K10

    Linux学习命令汇总一——Linux程序管理,终端类型及命令获取帮助方式

    两种方式只是翻译的时间不同 程序与进程的关系: 程序运行——进程启动的过程,进程——由shell父进程fork 自身而来 。...#echo $PS1 [\u@\h \W]\$ : \u表示登录的用户名 ,\h 表示主机名,\W表示工作目录的路径 基名 对于Linux来讲,路径分隔符 :/...中两种命令类型 ,可使用#type命令判断命令类型 Builtin:在shell程序内部中实现的命令为内建命令 外部命令:在文件系统中的某个位置有一个与命令相同的可执行文件 Shell...: 事先通过一个变量设定好了多个路径,当用户输入命令时,shell会自动到这些路径下(由左至右)查看与命令名称相同的可执行文件查找到并执行过的命令会被保存到一个hash查找表中, #hash...# dirname PATH :查看路径目录名 # basename PATH:查看路径基名 # which COMMAND:查看一个可执行程序的具体路径,即外部命令的位置

    1.2K40

    python os, os.path和s

    os:提供与系统交互的接口 常用方法: os.name:显示所使用的平台 os.system(command):运行shell命令 os.getcwd():查看工作目录 os.chdir(d):改变工作目录...os.listdir(d):查看指定目录下的所有内容 os.remove(f):删除指定文件 os.chmod(f,c):修改指定文件的权限,linux中以四个八进制数表示 os.makeirs(dn...):递归创建目录 os.mkdir(dn):创建目录,父目录必须存在 os.rmdir(dn):删除目录,只能删除最后一级目录(只能删除空目录) os.removedirs(dn):递归删除目录,指定最后一级目录开始删除...:显示基名 os.path.join(d,b):拼接目录名和基名 os.path.split(p):返回(d,b)元组 os.path.getsize(p):如果文件存在则返回文件大小,如果不存在则返回异常...(p):判断是否为挂载点   p:路径  d:路径目录名  b:基名 sys:与python解释器相关的模块 常用方法: sys.path():查看import的搜索路径,以列表方式返回 sys.argv

    86320

    00x: Django models.Model详解

    这就需要秀修改工程目录下的settings.py文件。...SQL的一些保留字如`join,where,select则是可以在model的字段名称中使用的,因为Django在每次SQL查询中避免了可能发生的冲突。...如果你忘记了调用父类的方法,那么所有的操作都不会数据库中生效。 在shell中对数据库进行操作 Django提供了一个命令行工具,可以将当前项目下的环境,迁移到当前工作环境下。...在建立了model之后,可以在shell中对model进行操作,执行以下语句,进入shell: python manage.py shell 执行后,进入python命令行模式,此时就可以在这里对你建立的...Meta继承 当一个抽象基类被创建的时候,Django会声明一些Meta 内部类,若子类没有声明它自己的Meta类,它就会继承父Meta。

    1.7K20

    【Linux】环境变量

    ,例如在哪里查找文件、使用什么语言设置、分配多少内存等 2、常见环境变量 PATH:指定命令的搜索路径 HOME:指定用户的主工作目录 SHELL:当前使用的shell名称 通过echo $NAME...类型的全局外部变量,指向环境变量表,它没有包含在任何头文件中,在代码中使用时需要用extern声明,如extern char **environ; ,通过它可以第三方形式获取所有环境变量 getenv...函数:char *getenv(const char *name)函数可通过指定的环境变量名称来获取其对应的值,该函数包含在头文件中,比如获取PATH环境变量的值就用char*s =...以上我们所运行的进程,都是bash的子进程(bash就是命令行解释器,所有我们所创建的进程的父进程或祖宗进程),bash本身在启动的时候,会从操作系统的配置文件中读取环境变量信息,子进程会继承父进程交给我们的环境变量...,这种修改仅局限于子进程自身,并不会对父进程(即当前的 Shell 进程)的工作目录产生影响,也就是说,执行完外部的 cd 命令后,当前 Shell 的工作目录不会发生改变,这显然不符合用户的使用需求,

    14210

    Python模块知识6:OS、SYS模块

    1、os模块,和系统相关的,比如获取路径、目录、文件夹之类 常用方法: os.getcwd() #获取当前工作目录,即当前Python脚本工作的目录路径 os.rename('oldname','new...')#重命名文件/目录 os.path.abspath(path) #返回path规范化的绝对路径,含文件名的 os.path.dirname(path) #获取文件所在的文件夹名称 os.chdir(...#将多个路径组合返回,第一个绝对路径之前的参数将被忽略 os.curdir #返回当前目录:('.') os.pardir #获取当前目录的父目录字符串名('..') os.makedirs('dir1...,相当于shell中的mkdir dirname os.rmdir('dirname')#删除单级空目录,若目录不为空,则无法删除,报错,相当于shell中的rmdir dirname os.listdir...(如version)。

    902100

    SpringCloud+Docker+Jenkins+GitLab+Maven实现自动化构建与部署实战

    容器名称或容器id /bin/sh 或要使用sh和bash要看COMMAND,-it docker exec -it 容器名称或容器id/bin/bash 4.2.5 build.sh文件shell...脚本详解 注意点1:经过测试动态变量的【等号】不能有空格和tab键置位,否则获取不了值,而且在shell脚本代码里面不支持空格格式化,支持tab置位格式化。...或tar压缩文件,语法如: docker save 镜像名 -o 路径/镜像名.tar.gz 或 docker save 镜像名 -o 路径/镜像名.tar docker load 命令是用于导入使用...,可以使用参数构建的占位符${serverPath}获取 Remote directory远程文件目录,同理也参数构建的占位符${serverPath}获取 SSH Publishers shell脚本...,可以使用参数构建的占位符${serverPath}获取 Remote directory远程文件目录,同理也参数构建的占位符${serverPath}获取 docker_server1表示与Jenkins

    7.9K20

    Linux面试题Top100

    回答: inode是赋予每个文件的唯一名称,进程id是赋予每个进程的唯一名称。 28. Linux中的进程状态是什么? 回答: Linux中的五个过程状态。...系统调用以获取进程ID: getpid():查找唯一的进程ID。 getppid():查找唯一的父进程ID。 30.解释Linux中的文件权限组?...32.解释Linux中不同的文件系统类型吗? 订阅我们的YouTube频道以获取新的更新。...回答: cp命令: cp命令用于复制文件和目录。它还用于备份文件或目录。 句法: $ cp文件名 55.如何在Linux中从系统中删除文件或目录?...选项 描述 Directory 要创建的目录的名称 -m=mode, --mode=mode 为创建的目录设置文件模式(权限等) -p, --parents 创建父目录 --v,--verbose 详细输出

    14.5K42

    SpringCloud+Docker+Jenkins+GitLab+Maven实现自动化构建与部署实战

    WORKDIR 工作目录说明进入容器此时会有一个.jar是在Dockerfile的ADD添加进去 docker exec -it 容器名称或容器id /bin/sh 或要使用sh和bash要看COMMAND...4.2.5 build.sh文件shell脚本详解 注意点1:经过测试动态变量的【等号】不能有空格和tab键置位,否则获取不了值,而且在shell脚本代码里面不支持空格格式化,支持tab置位格式化。...或tar压缩文件,语法如: docker save 镜像名 -o 路径/镜像名.tar.gz 或 docker save 镜像名 -o 路径/镜像名.tar docker load 命令是用于导入使用...,可以使用参数构建的占位符${serverPath}获取 Remote directory远程文件目录,同理也参数构建的占位符${serverPath}获取 ?...,可以使用参数构建的占位符${serverPath}获取 Remote directory远程文件目录,同理也参数构建的占位符${serverPath}获取 docker_server1表示与Jenkins

    9.4K40

    Shell编程从看懂到看开①(Shell概述、变量、运算符、条件判断)

    用于对脚本进行解释和说明,在注释行的前要加上“#”② 命令。在Shell脚本中可以出现任何在交互方式下使用的命令。③ Shell变量。Shell支持具有字符串值的变量。④ 流程控制。...中打开一个子 shell 来执行脚本内容,当脚本内容结束,则子 shell 关闭,回到父 shell 中,子进程中的变量和动作结束后不会回传给父进程。...Shell用环境变量来确定查找路径、注册目录、终端类型、终端名称、用户名等。...可以用env指令查看当前shell环境中的所有环境变量可以用export将自定义变量转换成环境变量==常用环境变量==PATH 决定了shell将到哪些目录中寻找命令或程序HOME 当前用户主目录HISTSIZE...历史记录数LOGNAME 当前用户的登录名HOSTNAME 指主机的名称SHELL 当前用户Shell类型LANGUGE 语言相关的环境变量,多语言可以修改此环境变量MAIL 当前用户的邮件存放目录环境变量与自定义变量的差异

    83520

    iOS开发--block、protocol(协议)

    @interface 类名 :父类 名称> @end 协议中的几个关键字 // 如果什么都不选,那么默认是@required,必须实现 @required // 必须实现 @optional...// 可选的,不要求实现 基协议 NSObject是最基本的类,任何其他类都要继承它 是基协议,它中声明了很多方法,比如retain/release/description,...每一个新的协议都要遵守NSObject这个基协议 以后写一份协议,一定要遵守 变量保存对象遵守协议 定义一个变量,限制这个变量保存的对象也遵守某个协议 类名名称> *变量名...SYCar *obj; id名称> 变量名 id oc; 声明属性遵守协议 在@property中声明属性也可以遵守协议来限制 @property...(nonatomic, strong) 类名名称>*属性名 @property (nonatomic, strong) Car *car @property (nonatomic

    65310

    100个Linux命令(7)-进程管理

    -signal:发送信号,如-1 -15,如果不写,默认-9,即kill -9 在不加选项时,显示结果中文件或目录的pid后会带上一个修饰符: c:在当前目录下 e:可被执行的 f:是一个被开启的文件或目录...service:服务名称(可以不只一个) port:端口号 (可以不只一个) 大概"-i"是使用最多的了,而"-i"中使用最多的又是服务名或端口了。...进程结构和子 shell 前台进程 一般命令(如 cp 命令)在执行时都会fork子进程来执行,在子进程执行过程中,父进程会进入睡眠,这类是前台进程。...一般 fork 出来的子进程,内容和父进程是一样的,包括变量,例如执行 cp 命令时也能获取到父进程的变量。但是 cp 命令是在哪里执行的呢?在子 shell 中。...不妨试试在/etc/bashrc文件中定义一个变量,再在父shell中export名称相同值却不同的环境变量,然后到子shell中看看该变量的值为何?

    1.7K20

    linux常见面试题

    在命令shell中,使用“concatenate”命令:cat / proc / meminfo获取内存使用信息。你应该看到一行开始像Mem:64655360等。...这些是Windows中COM1到COM8的等效名称。 24)如何在Linux下访问分区? Linux在驱动器标识符的末尾分配数字。...在vi下有3种模式: 命令模式: 这是你在编辑模式下开始的模式 编辑模式:这是允许你进行文本编辑的模式 Ex模式:这是你用vi与vi交互的模式处理文件 38)是否可以使用快捷方式获取长路径名?...例如,要列出目录中的所有文件,应键入命令ls,而不是LS。如果没有存在该确切名称的程序,则键入LS将导致错误消息,或者如果存在名为LS的程序执行另一个功能,则可能产生不同的输出。...44)如何在命令行提示符中插入注释? 通过在实际注释文本之前键入#符号来创建注释。这告诉shell完全忽略后面的内容。例如“#这只是shell将忽略的注释。”

    2.5K10

    shell语法学习

    *)用于匹配除 100 和 200 以外的所有输入。 14.命令行参数 在许多情况下,直接从命令 shell 获取参数是有益的。下面的示例演示了如何在 bash 中执行此操作。 #!...最后,$# 用于获取参数总数。 15.使用名称获取参数 下面的示例显示了如何获取带有名称的命令行参数。 #!...23.从 Bash 脚本创建目录 使用 shell 脚本运行系统命令的能力使开发人员的工作效率大大提高。下面的简单示例将向您展示如何在 shell 脚本中创建目录。 #!...34.添加批处理扩展 下面的示例将对目录中的所有文件应用自定义扩展名。创建一个新目录,并将一些文件放在其中以供演示。我的文件夹共有五个文件,每个文件名为 test,后跟(0-4)。...36.清理日志文件 下一个简单的示例演示了在现实生活中使用 shell 脚本的简便方法。该程序只需删除 / var/log 目录中的所有日志文件。您可以更改保存此目录的变量以清理其他日志。 #!

    1.2K40

    Django框架学习(三)

    Django中: 1、设置模板目录 在工程中创建模板目录templates。...父模板 如果发现在多个模板中某些内容相同,那就应该把这段内容定义到父模板中。 标签block:用于在父模板中预留区域,留给子模板填充差异性的内容,名字不能相同。...{% extends "父模板路径"%} 子模版不用填充父模版中的所有预留区域,如果子模版没有填充,则使用父模版定义的默认值。 填充父模板中指定名称的预留区域。...{% block 名称 %} 实际填充内容 {{ block.super }}用于获取父模板中block的内容 {% endblock 名称 %} 3.4.6Django和Flask模板的区别 1、模板变量...的子应用会默认为我们创建一些表, 4.4演示工具使用 4.4.1shell工具 Django的manage工具提供了shell命令,帮助我们配置好当前工程的运行环境(如连接好数据库等),以便可以直接在终端中执行测试

    1.8K40

    (22)Bash环境变量

    3.环境变量、父Shell、子Shell #ps命令能够给出当前系统中进程的快照[root@laptop~]# ps -f 例1.父Shell与子Shell的关系 ①我们通过ps命令可以看到当前系统中只有一个...②要创建一个子shell程序,只需输入bash就会创建一个新的shell程序,被称为子shell。要区分是父shell还是子shell,使用ps命令即可。...PS:在当前Shell中定义的变量,如果是本地变量,他只能在当前Shell中可以查看,如果是环境变量,不光可以在当前Shell中可以查看,在当前Shell的子Shell中也可以查看。 ?...②PATH变量叠加 比如说我创建一个脚本,想要不加路径,直接输入脚本名就可以执行,我们可以把脚本保存的目录添加到PATH路径中,此时就需要用到PATH变量叠加。 ?...u:显示当前用户名 ⑦\w:显示当前所在目录的完整名称 ⑧\W:显示当前所在目录的最后一个目录 ⑨#:执行的第几个命令 ⑩$:提示符。

    70731

    40 个简单又有效的 Linux Shell 脚本示例

    *)用于匹配除 100 和 200 以外的所有输入。 14、命令行参数 在许多情况下,直接从命令 shell 获取参数是有益的。下面的示例演示了如何在 bash 中执行此操作。 #!...最后,3、用于获取参数总数。 15、使用名称获取参数 下面的示例显示了如何获取带有名称的命令行参数。 #!...23、从 Bash 脚本创建目录 使用 shell 脚本运行系统命令的能力使开发人员的工作效率大大提高。下面的简单示例将向您展示如何在 shell 脚本中创建目录。 #!...34、添加批处理扩展 下面的示例将对目录中的所有文件应用自定义扩展名。创建一个新目录,并将一些文件放在其中以供演示。我的文件夹共有五个文件,每个文件名为 test,后跟(0-4)。...36、清理日志文件 下一个简单的示例演示了在现实生活中使用 shell 脚本的简便方法。该程序只需删除 / var/log 目录中的所有日志文件。您可以更改保存此目录的变量以清理其他日志。 #!

    36910
    领券