精华内容
下载资源
问答
  • 获取当前运行程序的绝对路径(.exe) GetModuleFileNameA()函数获取绝对路径,不过文件路径中的反斜杠需要进行替换。 char szFilePath[MAX_PATH+1]; GetModuleFileNameA(NULL, szFilePath, MAX_PATH); linux ...

    windows

    获取当前运行程的绝对路径(.exe)

    GetModuleFileNameA()函数获取绝对路径,不过文件路径中的反斜杠需要进行替换。

    char szFilePath[MAX_PATH+1];
    GetModuleFileNameA(NULL, szFilePath, MAX_PATH);

    linux

    获取程序当前目录绝对路径

    1. Shell 版本
        #获取当前脚本所在绝对路径
        cur_dir=$(cd "$(dirname "$0")"; pwd)
    
    2. C语言版本
    方法一、用realpath函数。这种方法用于开机启动程序获取自身目录会出错
    char current_absolute_path[MAX_SIZE];
    //获取当前目录绝对路径
    if (NULL == realpath("./", current_absolute_path))
    {
        printf("***Error***\n");
        exit(-1);
    }
    strcat(current_absolute_path, "/");
    printf("current absolute path:%s\n", current_absolute_path);
    方法二、用getcwd函数。这种方法用于开机启动程序获取自身目录会出错
    char current_absolute_path[MAX_SIZE];
    //获取当前目录绝对路径
    if (NULL == getcwd(current_absolute_path, MAX_SIZE))
    {
        printf("***Error***\n");
        exit(-1);
    }
    printf("current absolute path:%s\n", current_absolute_path);
    
    方法三、用readlink函数。这种方法最可靠,可用于开机启动程序获取自身目录
    char current_absolute_path[MAX_SIZE];
    //获取当前程序绝对路径
    int cnt = readlink("/proc/self/exe", current_absolute_path, MAX_SIZE);
    if (cnt < 0 || cnt >= MAX_SIZE)
    {
        printf("***Error***\n");
        exit(-1);
    }
    //获取当前目录绝对路径,即去掉程序名
    int i;
    for (i = cnt; i >=0; --i)
    {
        if (current_absolute_path[i] == '/')
        {
            current_absolute_path[i+1] = '\0';
            break;
        }
    }
    printf("current absolute path:%s\n", current_absolute_path);

     

    转载于:https://www.cnblogs.com/lizhanzhe/p/10789047.html

    展开全文
  • ...使用C/C++怎么获取当前运行程序的运行根目录Linux(Unix):  函数原型 1 #include 2 char* getcwd(char *buf, size_t size

    转自http://my.oschina.net/u/140714/blog/159584

    使用C/C++怎么获取当前运行程序的运行根目录:

    Linux(Unix):

        函数原型

    1 #include <unistd.h>
    2 char* getcwd(char *buf, size_t size);

    作用:把当前目录的绝对地址保存到 buf 中,buf 的大小为 size。如果 size太小无法保存该地址,返回 NULL 并设置 errno 为 ERANGE。可以采取令 buf 为 NULL并使 size 为负值来使 getcwd 调用 malloc 动态给 buf 分配,但是这种情况要特别注意使用后释放缓冲以防止内存泄漏。 
    程序例如果在程序运行的过程中,目录被删除(EINVAL错误)或者有关权限发生了变化(EACCESS错误),getcwd也可能会返回NULL。(摘至百度百科: http://baike.baidu.com/link?url=j5mcCamsR79ZRH0s5RQcKNa7JCgSHWDRyMT_AAjBJQvM1PEU0S9NwEMifpkOFB7W) 


    Windows: 

    函数原型: 
    char* _getcwd(char* pBuffer, int buffLen) ; 
    01 // VC++ 6.0
    02 #include <stdio.h>
    03 #include <direct.h>
    04 #include <stdlib.h>
    05  
    06  
    07 int main( int argc,char *argv[] )
    08 {
    09  char path[_MAX_PATH];
    10  _getcwd(path,_MAX_PATH);
    11  printf("当前工作目录:\n%s\n",path);
    12  if( ( _chdir("d:\\visual c++") ) == 0 )
    13  {
    14  printf("修改工作路径成功\n");
    15  _getcwd(path,_MAX_PATH);
    16  printf("当前工作目录:\n%s\n",path);
    17  }
    18  else
    19  {
    20  perror("修改工作路径失败");
    21  exit(1);
    22  }
    23  return 0;
    24 }
    25  
    26  
    27 // vs2008
    28 #include <direct.h>
    29 #include <stdlib.h>
    30 #include <stdio.h>
    31  
    32 int main( void )
    33 {
    34     char* buffer;
    35     // 得到当前的工作路径
    36     if( (buffer = _getcwd( NULL, 0 )) == NULL )
    37     {
    38         perror"_getcwd error" );
    39     }
    40     else
    41     {
    42         printf"%s \nLength: %d\n", buffer, strnlen(buffer) );
    43         free(buffer);
    44     }
    45 }

    展开全文
  • 作者:ZYJTF_Zhang链接:...删除当前目录下的文件1.rm -f *#最经典的方法,删除当前目录下的所有类型的文件2.find . -type f -delete或find . -type f -exec rm -f {} \;#用find命令查找普...

    d512e165935716e94ccc67bb9eb0593d.png77e942a9e5809b397e55e7ed1e9b97dd.png

    作者:ZYJTF_Zhang

    链接:https://blog.51cto.com/zhangdaifu/1933091

    想起删除目录下的所有文件的方法;整理了几个,仅供参考!

    删除当前目录下的文件

    1.rm -f *

    #最经典的方法,删除当前目录下的所有类型的文件

    2.find . -type f -delete或find . -type f -exec rm -f {} \;

    #用find命令查找普通文件并删除or用find命令的处理动作将其删除

    3.find . -type f | xargs rm -f

    #用于参数列表过长;要删除的文件太多

    4.rm-f `find . -type f`

    #删除全部普通文件

    5.for delete in `ls -l`;do rm -f * ;done

    #用for循环语句删除当前目录下的所有类型的文件

    删除指定目录下的文件

    1.rm -f 指定目录*

    #最经典的方法,删除指定目录下的所有类型的文件

    2.find 指定目录 -type f -delete或find 指定目录 -type f -exec rm -f {} \;

    #用find命令查找指定目录下的所有普通文件并删除or用find命令的处理动作将其删除

    3.find 指定目录 -type f | xargs rm -f

    #用于参数列表过长;要删除的文件太多

    4.rm-f `find 指定目录 -type f`

    #删除指定目录下的全部普通文件

    5.for delete in `ls –l 指定目录路径`;do rm -f * ;done

    #用for循环语句删除指定目录下的所有类型的文件

    --END--

    本公众号全部博文已整理成一个目录,请在公众号里回复「m」获取!

    推荐阅读:

    「多人运动」的思考:如何限制他人操作自己的电脑?

    60个相见恨晚的神器工具

    自学编程的八大误区!克服它!

    5T技术资源大放送!包括但不限于:C/C++,Linux,Python,Java,PHP,人工智能,单片机,树莓派,等等。在公众号内回复「1024」,即可免费获取!!

    c3c542b2b48431da41f8fb3bf86a8494.png

    展开全文
  • du常用的选项:-h:以人类可读的方式显示,显示M或K-a:显示目录占用的磁盘空间大小,还要显示其下目录和文件占用磁盘空间的大小-s:显示目录占用的磁盘空间大小,不显示其下子目录和文件占用的磁盘空间大小-c:显示...

    du常用的选项:

    -h:以人类可读的方式显示,显示M或K

    -a:显示目录占用的磁盘空间大小,还要显示其下目录和文件占用磁盘空间的大小

    -s:显示目录占用的磁盘空间大小,显示其下子目录和文件占用的磁盘空间大小

    -c:显示几个目录或文件占用的磁盘空间大小,还要统计它们的总和

    du -a 显示目录和目录下子目录和文件占用磁盘空间的大小。直接使用-a 以字节为单位,-ha 如下图以M或K为结果显示。

    du -s 显示当前所在目录大小

    du -s -h home 显示home目录大小

    du -c 显示几个目录或文件占用的磁盘空间大小,还要统计它们的总和

    du -lh --max-depth=1 : 查看当前目录下一级子文件和子目录占用的磁盘容量。

    [root@VM_0_3_centos 0voice_im]# du -lh --max-depth=16.1M./php11M./ios146M./server6.6M./pb723M./auto_setup29M./android133M./win-client18M./mac8.0K./tutorial28K./doc99M./.git1.2G.

    后台私信 [linux命令] 获取完整的linux命令文档,大纲如下所示

    13b21ca1685fa247213265987fb2baac.png
    ac862097147dd5e112dd5ed5943441ef.png
    展开全文
  • linux获取程序当前目录绝对路径

    千次阅读 2014-05-04 15:58:54
    linux运行的程序经常需要获取自己的绝对路径,程序可能需要引用外部的资源文件,比如在../skin/目录下的图片,这样普通程序是没有问题,但当程序在安装到/usr/bin/目录中,或者为程序建立连接以后就会出现问题,...
  • Linux C语言查找当前程序运行目录

    千次阅读 2014-11-13 16:14:36
    有时候需要从程序运行目录获取配置文件,此时就是读取程序目录
  • 用习惯了windows,在linux下写代码,涉及到动态库,总是要复制到/usr/lib里,觉得不方便,特别是调试的时候,不想复制过,特地找了一下怎么设置动态库查找路径,这里记录一下程序是通过环境变量LD_LIBRARY_PATH的...
  • 本文介绍在Python环境中获取或更改当前工作目录的方法,以Linux平台为例。前言在Python上处理目录中的文件时,建议使用绝对路径。但是,如果您使用的是相对路径,则需要了解当前工作目录的概念以及如何查找或更改...
  • 自己见过两种方法 1.使用getcwd函数 头文件 : #include <...函数说明:getcwd()会将当前的工作目录绝对路径复制到参数buf 所指的内存空间,参数size 为buf 的空间大小 Usage: char buf[240]={0}; getcwd(bu...
  • Linux获取可执行程序运行路径

    千次阅读 2020-05-01 22:12:08
    每个进程都有一个当前工作目录,此目录是搜索所有相对路径名的起点。...getcwd获取当前工作目录 我们需要一个函数,它从当前工作目录(.)开始,用…找到其上一级目录,然后读其目录项,直到该目录项中的i节...
  • basic coder » linux获取当前程序的绝对路径linux获取当前程序的绝对路径2010年2月25日 levin 发表评论 阅读评论 5,072 人阅读过 在linux运行的程序经常需要获取自己的绝对路径,程序可能需要引用外部的资源...
  • java获取当前jar包所在目录

    万次阅读 2019-05-23 17:32:44
    但是打完包放在linux机器上跑的时候发现无法正确获取到该jar包所在目录,导致无法运行; 网上查阅后修改为如下方法: public String getPath() { String path = this.getClass().getProtectionDomain()....
  • (Tips:可在Windows下载完成后,通过FTP或者SSH到发送到Linux上)2、 登录Linux,切换到root用户su root 获取root用户权限,当前工作目录不变(需要root密码)或者sudo -i 不需要root密码直接切换成root(需要当前用户...
  • <p>To test out ideas, I'm doing the following (from the command line on linux): <li>Have a file named <code>test.php</code> in directory <code>test_1</code> i.e. <code>test_1/test.php</code></li> ...
  • Linux获取进程pid

    千次阅读 2016-03-16 19:08:24
    -/proc是系统中当前运行的所有进程的对应目录,以进程的 PID号为目录名,可用来获取进程信息。 -/proc/pid/comm是对应pid号的进程名。
  • (给Linux爱好者加星标,提升Linux技能)来源:我是程序员小贱(本文来自作者投稿)今天总结几个非常常用的Linux命令,其中有几个在面试中很可能问相关命令的原理,比如后台运行命令。希望对大家有所帮助,最好自己去...
  • 那么设计路径的程序需要在windows和linux运行的话,就要考虑兼容各自的路径分隔符, 还有,jdk是提供了这种功能的:File.separator ------------------------------------------华为的分割线--...
  • 周末和一个做linux平台开发的朋友讨论了下如何获取当前运行程序所在的目录的问题。首先我在这里简单的介绍下运行的应用程序的当前工作目录和运行应用程序所在的目录的区别? 当前工作目录 (Current Working ...
  • 今天总结几个非常常用的Linux命令,其中有几个在面试中很可能问相关命令的原理,比如后台运行命令。希望对大家有所帮助,最好自己去尝试在Linux操作系统中实践一下。1 查看目录以及权限在windows中,使用dir查看当前...
  • 今天总结几个非常常用的Linux命令,其中有几个在面试中很可能问相关命令的原理,比如后台运行命令。希望对大家有所帮助,最好自己去尝试在Linux操作系统中实践一下。1 查看目录以及权限在windows中,使用dir查看当前...
  • 今天总结几个非常常用的Linux命令,其中有几个在面试中很可能问相关命令的原理,比如后台运行命令。希望对大家有所帮助,最好自己去尝试在Linux操作系统中实践一下。1 查看目录以及权限在windows中,使用dir查看当前...
  • linux目录中,有一个/proc的VFS(虚拟文件系统),系统当前运行的所有进程都对应于该目录下的一个以进程PID命名的文件夹,其中存放进程运行的N多信息。其中有一个status文件,cat显示该文件, 第一行的Name即为...
  • linux基础命令和帮助: 记录学习到和命令相关基础概念,包含了命令的格式、分类、获取帮助等内容。...参数没有指定时,默认参数是当前目录。 命令帮助里的其他特殊符号和单词含义: < &...
  • Java获取项目根目录

    万次阅读 2018-03-11 22:36:18
    分享一个项目中使用的获取项目根目录的...路径是采用class类加载器的方式获取的,方法里区分了当前运行环境是Linux和Window,两者在截取时有一点区别。import java.io.File; import java.net.URLDecoder; public...
  • 今天总结几个非常常用的Linux命令,其中有几个在面试中很可能问相关命令的原理,比如后台运行命令。希望对大家有所帮助,最好自己去尝试在Linux操作系统中实践一下。1 查看目录以及权限在windows中,使用dir查看当前...
  • linux目录中,有一个/proc的VFS(虚拟文件系统),系统当前运行的所有进程都对应于该目录下的一个以进程PID命名的文件夹,其中存放进程运行的N多信息。其中有一个status文件,cat显示该文件, 第一行的Name即为...

空空如也

空空如也

1 2 3 4 5 ... 15
收藏数 283
精华内容 113
关键字:

linux获取当前运行目录

linux 订阅