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

只显示当前目录,而不是所有路径,并在makefile中使用它们来压缩c++中的tar。

只显示当前目录,而不是所有路径,并在makefile中使用它们来压缩C++中的tar。

在Linux和Unix系统中,可以使用以下命令来只显示当前目录而不显示完整路径:

代码语言:txt
复制
find . -maxdepth 1 -type f -printf "%f\n"

解释:

  • find:查找文件和目录的命令。
  • .:表示当前目录。
  • -maxdepth 1:限制查找深度为1,即只在当前目录下查找。
  • -type f:只查找文件,而不包括目录。
  • -printf "%f\n":输出文件名(包括扩展名),%f表示文件名。

通过上述命令,可以获取到当前目录下的所有文件名。

接下来,在makefile中使用这些文件名来压缩C++中的tar,可以使用以下规则:

代码语言:txt
复制
compress:
    tar -czf archive.tar.gz $(shell find . -maxdepth 1 -type f -printf "%f\n")

解释:

  • compress:自定义的makefile规则名称。
  • tar -czf archive.tar.gz:使用tar命令压缩文件为tar.gz格式,archive.tar.gz是压缩文件的名称。
  • $(shell find . -maxdepth 1 -type f -printf "%f\n"):使用shell命令执行find命令,并将结果作为makefile变量的值。这里的find命令同样是用来获取当前目录下的所有文件名。

推荐的腾讯云相关产品:无特定推荐产品与该问题相关。

这里给出的是在Linux和Unix系统下的解决方案,对于其他操作系统可能会有所差异。

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

相关·内容

  • Linux 系统下源码包安装软件

    下载源码安装包,解压或者直接双击打开(如果有安装zip或rar等压缩/解压缩软件的话),查找相关安装说明文件,一般是README,INSTALL这两个文件,这两个文件一般会告诉你怎么安装你所下载软件...例:源码包tsung-1.5.1.tar.gz安装tsung软件 #步骤1、解压软件源码包 [root@localhost software]# tar -xvf tsung-1.5.1.tar.gz...文件指令,检查当前系统环境和配置选项,并在当前目录中生成 Makefile 文件(及其它文件), --prefix=installation_path,指定安装路径,例中指定tsung安装到...tsung-1.5.1]# make 此处,运行make命令,会make程序就会按照当前目录Makefile文件指令,将源代码编译为二进制文件 3、[root@localhost tsung-...1.5.1]# make install 此处,运行make install命令,会安装当前目录Makefile文件指令,将已编译好二进制文件安装到指定路径,通常默认路径都是/usr/local

    3.6K10

    【Android RTMP】音频数据采集编码 ( 音频数据采集编码 | AAC 高级音频编码 | FAAC 编码器 | Ubuntu 交叉编译 FAAC 编码器 )

    是编码库 ; 这里下载 FAAC Source code TAR.GZ 文件 ; 四、 Ubuntu 18.04.4 交叉编译 FAAC 编码器 ---- 1 ....将下载 FAAC 编码器源码拷贝到 Ubuntu /root/rtmp 目录下 ; 2 . 解压源码 : $ tar xvf faac-1.29.9.2.tar.gz 3 ....查看源码路径 : 该源码也有 configure 脚本 , 用于配置生成 Makefile 文件 ; root@octopus:~/rtmp# cd faac-1.29.9.2 root@octopus...在 FAAC 没有提供该配置 , 那就只能通过环境变量设置 , 将交叉编译工具链 gcc 设置成环境变量 ; ③ 解析说明 FAAC 环境变量 : Some influential environment.../bin/bash # NDK 根目录 NDK_ROOT=/root/NDK/android-ndk-r17c # TOOLCHAIN 变量指向 gcc g++ 等交叉编译工具所在目录 TOOLCHAIN

    81010

    技术栈系列基础篇2-Makefile

    有关这一部分内容,我会在后续部分中讲述。注释。Makefile只有行注释,和UNIXShell脚本一样,其注释是“#”字符,这个就像C/C++“//”一样。...如果你要在你Makefile中使用“#”字符,可以反斜框进行转义,如:“#”。...make命令会找当前工作路径Makefilemakefile文件找到文件,会寻找文件,第一个目标文件(target),参考上面的示例就是”test...追加赋值 ( += ) 原变量空格隔开方式追加一个新值。变量变量在定义变量值时,我们可以使用其它变量构造变量值,在Makefile中有两种方式在用变量定义变量值。...tar这个伪目标功能是把源程序打包备份。也就是一个tar文件。dist这个伪目标功能是创建一个压缩文件,一般是把tar文件压成Z文件。或是gz文件。

    58330

    libxml2剖析(2):编译

    iconv: 一个强大字符编码转换库。缺省情况下它已经被包含到当前glibc库,因此在Linux上并不需要另外再安装。...Libxml2默认内码是UTF-8,所有使用libxml2处理xml文件,必须首先显式或者默认转换为UTF-8编码才能被处理。libxml2通常使用iconv库进行各种编码转换。...从ftp://ftp.gnu.org/gnu/libiconv/下载最新libiconv-1.14.tar.gz,新版libiconv已经不提供Visual Studionmake编译脚本了,...附:MSVC编译最新libiconv     最新libiconv已经不提供Visual C/C++和nmake编译了。...若Microsoft Visual C++编译器编译,显然值为0。     2)@DLL_VARIABLE@: 表示后面声明变量是否是从外部DLL中导入过来

    2.1K20

    Linux下rpm、yum和源码三种安装方式详细介绍

    :在开始安装服务之前,需要执行configure脚本,会自动当前系统进行 一系列评估,如源文件、软件依赖库、编译器、汇编器、连接器检查等等,如果有需要,还 可以使用-prefix参数来指定程序安装路径...,当脚本检查系统环境符合要求后,则会在当 前目录下生成一个Makefile文件。...Makefile文件提供规则使用合适SHELL编译所有依赖 源码,然后make命令会生成一个最终可执行安装程序。...由于该程序为了运行得 更快而使用了chdir子例程,所以-M、-S 和 -B标志目录列表给出路径名必须是完整; 例如,它们必须以一个/(斜杠)开始。...(四)[参数][文件] -c 压缩文件 -x 解压文件 -t 查看压缩包内有哪些文件 -z Gzip压缩或解压 -j bzip2压缩或解压 -v 显示压缩或解压过程信息 -f 目标文件名 -P 保留原始权限和属性

    1.2K31

    调试HotSpot源代码(配视频)

    设置观察点 info(i) watchpoints 查看当前设置了哪些观察点 x 从某个位置开始打印存储单元内容,全部当成字节来看, 不区分哪个字节属于哪个变量 2、在Eclipse调试源代码...或者下载专门开发C/C++Eclipse集成环境,例如笔者下载压缩包名称为eclipse-cpp-helios-SR1-linux-gtk-x86_64.tar.gz,解压后以类似的方式启动。...不过在启动Eclipse之前,需要指定JDK路径,编译安装目录eclipse.ini文件,如下: openFile -vm /home/mazhi/workspace/jdk1.7.0_72/bin...不过通过eclipse-java-neon-3-linux-gtk-x86_64.tar.gz压缩包安装Eclispe需要jdk1.8版本,只需要换个1.8版本即可。...c/c++: (gdb) 启动,修改lauch.json文件,所有的配置都通过这个文件完成,笔者配置文件详细内容如下: { "version": "0.2.0", "configurations

    1.4K40

    Linux达人必备:一文掌握全网最全文件操作命令!120+命令

    cd ~tony:进入指定用户(如 tony)目录 /home/tony。 cd -:返回上一次所在目录。 pwd:显示当前工作目录。...tree:以树状格式列出目录内容。 tree -d .:只显示当前目录目录结构,不显示目录文件。 mkdir dir1:创建名为 dir1 目录。...:复制指定目录所有文件到当前目录。 cp -a /tmp/dir1 .:复制整个目录当前目录。 cp -a src_dir new_dir:复制整个目录。...file file1 file2 file3:识别和报告文件类型,通过检查文件二进制内容推测文件格式或内容类型,不是依赖于文件名或扩展名。...whereis zsh:显示 zsh 命令二进制文件、源代码和手册页位置。 which zsh:显示 zsh 命令完整路径

    22110

    Linux 之父如何定义 Linux?

    目录各类文件如下:· linux-0.03.tar.Z–系统完全源码,16位tar压缩文件格式。· Linux.tex–这个文件LATEX源码。...当前 LINUX 启动在单用户模式,以 root 作为控制台用户。对于一些移植工作足够了,但不是实际可用。...您当然可以免费(并鼓励)将您Minix发行版所有内容用于您自己LINUX系统,但由于Minix版权,它们无法分发给更广泛受众。...此目录各类文件如下: · linux-0.03.tar.Z–系统完全源码,16位tar压缩文件格式。 · Linux.tex–这个文件LATEX源码。...您当然可以免费(并鼓励)将您Minix发行版所有内容用于您自己LINUX系统,但由于Minix版权,它们无法分发给更广泛受众。

    15.1K20

    深度刨析makefile

    ④ 变量定义 我们可以定义变量,比如说我们可以把所有的 .c 文件定义为一个 Src 变量,这样在编译命令中就可以 Src 变量代替所有的 .c 文件。...可以通过 @ 屏蔽执行过程( @可以不显示命令,不输出在终端) = 递归赋值,定义时并不真正赋值,在实际使用时才会进行展开,看下效果吧 执行后发现,B A 被展开为 AAA ,不是 aaa...(该函数通常与通配符 * 搭配使用) 函数返回:返回值当前目录所有符合模式 PATTERN 文件名,文件名之间空格分隔。...variable 是变量名字,不是引用,所以最好不要在 variable 中使用 $ 字符,origin 函数会用返回值告诉我们这个变量来源。...tar 这个伪目标功能是把源程序打包备份,也就是一个 tar 文件。 dist 这个伪目标功能是创建一个压缩文件,一般是把 tar 文件压成 gz 文件。

    11310

    Android.mk语法解释前言原文

    它用来定位要编译源代码在代码树位置。在本例,宏函数“my-dir”是由编译系统提供,用来返回当前目录路径(也就是包含此Android.mk文件目录)。...它们会返回文本类型信息。 my-dir 返回最近一次包含MakeFile目录位置,通常这就是当前Android.mk文件所在目录。...this-makefile 返回当前MakeFile路径(这个函数是在哪个MakeFile调用) parent-makefile 返回父MakeFile路径,也就是包含当前调用这个函数MakeFile...如果你源码确实是C++编写,但是不是以“.cpp”结尾文件保存的话,可以通过指定LOCAL_CPP_EXTENSION变量,让编译系统知道其也是C++编写。...那么这时,就可以LOCAL_EXPORT_LDLIBS变量把这个依赖关系导出出去,不是在别的依赖这个静态库模块中用LOCAL_LDLIBS变量声明对这个系统库依赖。

    1.4K41

    java工程师必备linux常用命令,这篇文章就够了

    -|=] [mode] 文件名 操作对象who可是下述字母任一个或者它们组合: u 表示“用户(user)”,即文件或目录所有者。...它是一个路径列表,相互用空格分离,如果不写path,那么默认为当前目录。Expression 是 find命令接受表达式,find命令所有操作都是针对表达式。.../dev/zero,是一个输入设备,你可你用它初始化文件,从里面读出来数据都是0。 压缩包管理 7.1 tar tar [主选项+辅选项] 文件或者目录 tar可以为文件和目录创建档案。...如无此选项,tar不报告文件信息。(常用) w 每一步都要求确认。 z gzip压缩/解压缩文件,加上该选项后可以将档案文件进行压缩,但还原时也一定要使用该选项进行解压 缩。...(常用) j bzip2压缩/解压缩文件,加上该选项后可以将档案文件进行压缩,但还原时也一定要使用该选项进行解压 缩。(常用) 要将文件备份到一个特定设备,只需把设备名作为备份文件名。

    2.2K10

    听说Linux基础指令很多?这里都帮你总结好了

    以块为单位 ls -d 指定目录后,只查看目录信息,而非其中文件信息 ls -R 递归展示当前目录所有文件,如果是目录,会接着往下展 ls -1 查看文件时,一行只显示一个文件 功能:查看文件信息...返回至上一级目录 cd 当前目录目录名 切换至当前目录指定目录,前提是目录存在 cd 绝对路径 直接跳转至指定目录 cd ~ 可以直接切换到家目录下 cd - 可以在最近访问某个路径当前路径之间反复横跳...:在 Linux ,Ctrl+c 并不是复制,Ctrl+v 也不是粘贴,如果想要复制文本,需要使用 Ctrl+Insert ,粘贴是 Shift+Insert ---- touch 语法:touch...,因为它们是一个整体 ---- top 语法:top 功能:查看当前系统运行情况 说明:相当于Windows任务管理器 ---- zip 语法:zip [选项] 压缩文件.zip...,查看压缩包内文件 功能:集解压缩为一体 说明:tgz 也是 Linux 中常见压缩包后缀;两种压缩方式 zip 与 tar ,默认都是解压到当前路劲下,但是可以通过 -d 与 -C 指定路径

    19430

    自动生成Makefile全过程详解

    automake/autoconf入门 作为Linux下程序开发人员,大家一定都遇到过Makefilemake命令编译自己写程序确实是很方便。...一、Makefile介绍 Makefile是用于自动编译和链接,一个工程有很多文件组成,每一个文件改变都会导致工程重新链接,但是不是所有的文件都需要重新编译,Makefile纪录有文件信息,在...Makefile基本结构不是很复杂,但当一个程序开发人员开始写Makefile时,经常会怀疑自己写是否符合惯例,而且自己写 Makefile经常和自己开发环境相关联,当系统环境变量或路径发生了变化后...autoscan可以目录名做为参数,但如果你不使用参数的话,那么 autoscan将认为使用当前目录。autoscan将扫描你所指定目录源文件,并创建configure.scan文件。...这个命令将会将可执行文件及相关文件打包成一个tar.gz压缩文件用来作为发布软件软件包。 它会在当前目录下生成一个名字类似“PACKAGE-VERSION.tar.gz”文件。

    1.8K20

    教你怎么python操作文件

    列出子目录 如果要列出子目录不是文件,请使用下面的方法。...如果传递给它们路径指向目录不是文件,这两个函数将抛出 OSError 。...默认情况下,这些方法将文件提取到当前目录它们都采用可选路径参数,允许指定要将文件提取到其他指定目录。 如果该目录不存在,则会自动创建该目录。...它们有一个 open() 函数,它采用一种模式确定文件打开方式。 使用“r”,“w”或“a”模式分别打开未压缩TAR文件以进行读取,写入和追加。...默认情况下,它将当前目录所有文件压缩为 format 参数中指定归档格式。 你可以传入可选 root_dir 参数来压缩不同目录文件。

    6.5K20

    automake编译和安装方式说明

    并且,一般建议将第三方库安装在thirdparty目录下,不是系统/usr/local目录下,目的是尽量减少对系统目录污染,保持系统目录整洁。...机/tmp目录 2) 进入/tmp目录 3) 解压源代码包文件:tar xzf protobuf-2.4.1.tar.gz,完成后会在/tmp目录下会出现一个子目录protobuf-2.4.1...4) 进入/tmp目录目录protobuf-2.4.1 5) 执行configure命令,以生成Makefile文件:....源代码包如果是protobuf-2.4.1.tar.bz2形式,则表示是bzip2压缩包,protobuf-2.4.1.tar.gz是gzip压缩包,对于bzip2压缩包,tar解压参数请由xzf改成...protobuf-2.4.1.tar.gz命名方式 【推荐编译环境目录结构】 假设有一项目mooon,它目录结构如下,和SVN目录结构保持一致,但SVN上不存放中间目录和文件,mooon

    1.9K30

    Linux 之父如何定义 Linux?

    GNU内核(Hurd)将会是免费,但是现在还没有准备好,而且对于了解和学习它们来说有点庞大。 LINUX与Minix是最相似的,由于它很小而且不是非常复杂,因此易于理解(嗯…)。...除了不包含版权代码之外,你可能会做一些小修改。这由你定,但是如果能将相关内容或者代码告诉我,将不胜感激。 对任何使用或者扩展系统的人来说,这应该足够宽松不会引起任何担忧。...此目录各类文件如下: linux-0.03.tar.Z–系统完全源码,16位tar压缩文件格式。 Linux.tex–这个文件LATEX源码。...当前 LINUX 启动在单用户模式,以 root 作为控制台用户。对于一些移植工作足够了,但不是实际可用。...您当然可以免费(并鼓励)将您Minix发行版所有内容用于您自己LINUX系统,但由于Minix版权,它们无法分发给更广泛受众。

    17.5K10

    Linux 之父如何定义 Linux?

    GNU内核(Hurd)将会是免费,但是现在还没有准备好,而且对于了解和学习它们来说有点庞大。 LINUX与Minix是最相似的,由于它很小而且不是非常复杂,因此易于理解(嗯…)。...除了不包含版权代码之外,你可能会做一些小修改。这由你定,但是如果能将相关内容或者代码告诉我,将不胜感激。 对任何使用或者扩展系统的人来说,这应该足够宽松不会引起任何担忧。...此目录各类文件如下: linux-0.03.tar.Z–系统完全源码,16位tar压缩文件格式。 Linux.tex–这个文件LATEX源码。...当前 LINUX 启动在单用户模式,以 root 作为控制台用户。对于一些移植工作足够了,但不是实际可用。...您当然可以免费(并鼓励)将您Minix发行版所有内容用于您自己LINUX系统,但由于Minix版权,它们无法分发给更广泛受众。

    25.1K00

    Makefile教程

    有关这一部分内容,请参考文末参考资料。 5.注释。Makefile只有行注释,和LinuxShell脚本一样,其注释是“#”字符,这个就像C/C++“//”一样。...如果你要在你Makefile中使用“#”字符,可以反斜框进行转义,如:“#”。 如果想多行注释的话,在注释行结尾加行反斜线(\),下一行也被注释,这样就是可以实现多行注释了。...“:=”表示变量值决定于它在Makefile位置,不是整个Makefile展开后最终值。.../src //指定.cpp类型文件搜索路径是src 7.4Makefileshell命令前加@字符 make执行命令前面加了@字符,则不显示命令本身只显示结果。...7.12makfileinclude、-include与sinclude区别 include:包含其它Makefile当前Makefile,作用类似于C/C++#include预处理指令。

    4K53
    领券