首页
学习
活动
专区
工具
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.4K20

强迫症治愈:如何在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.1K60

【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

1.7K10

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

84620

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

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

WORKDIR 工作目录说明进入容器此时会有一个.jar是在DockerfileADD添加进去 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.3K40

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

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...,相当于shellmkdir dirname os.rmdir('dirname')#删除单级空目录,若目录不为空,则无法删除,报错,相当于shellrmdir dirname os.listdir...(version)。

871100

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 详细输出

13.8K42

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

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

78120

linux常见面试题

在命令shell,使用“concatenate”命令:cat / proc / meminfo获取内存使用信息。你应该看到一行开始像Mem:64655360等。...这些是WindowsCOM1到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

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

63710

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

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

24610

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文件定义一个变量,再在shellexport名称相同值却不同环境变量,然后到子shell中看看该变量值为何?

1.7K20

Django框架学习(三)

Django: 1、设置模板目录 在工程创建模板目录templates。...模板 如果发现在多个模板某些内容相同,那就应该把这段内容定义到模板。 标签block:用于在模板预留区域,留给子模板填充差异性内容,名字不能相同。...{% extends "模板路径"%} 子模版不用填充模版所有预留区域,如果子模版没有填充,则使用模版定义默认值。 填充模板中指定名称预留区域。...{% block 名称 %} 实际填充内容 {{ block.super }}用于获取模板block内容 {% endblock 名称 %} 3.4.6Django和Flask模板区别 1、模板变量...子应用会默认为我们创建一些表, 4.4演示工具使用 4.4.1shell工具 Djangomanage工具提供了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可以查看,在当前ShellShell也可以查看。 ?...②PATH变量叠加 比如说我创建一个脚本,想要不加路径,直接输入脚本名就可以执行,我们可以把脚本保存目录添加到PATH路径,此时就需要用到PATH变量叠加。 ?...u:显示当前用户名 ⑦\w:显示当前所在目录完整名称 ⑧\W:显示当前所在目录最后一个目录 ⑨#:执行第几个命令 ⑩$:提示符。

69531

01 - JavaSE之基础及面向对象

可以使用中文作为变量(编辑代码文本要为GBK格式,才能支持中文作为变量) JAVA名称规范 包:多单词组成时所有字母都小写(xxxyyyzzz) 类接口:多单词组成时,所有的单词首字母大写...(必须class文件最上层目录位于classpath下。比如上面的class文件最上层包是com目录,com目录目录是当前目录,就是"."目录,是位于classpath目录。)...继承构造方法 子类构造过程必须调用其构造方法(先父母,后客人,最后自己) 子类可以在自己构造方法中使用 super 调用构造方法(使用 this调用本类另外构造方法) 如果子类构造方法没有显式调用构造方法...如果子类构造方法既没有显式调用类构造方法,而又没有无参数构造方法,则编译出错。 ---- Object 类之 toString 方法 Object类是所有 java 类根基类。...如果在类声明未使用 extends 关键字指明其类,则默认类为Object 类。

55240
领券