linux 系统函数之 (dirname, basename)【转】

简介: 转自:http://blog.csdn.net/peter_cloud/article/details/9308333 版权声明:本文为博主原创文章,未经博主允许不得转载。 除非你的原件考虑跨平台。

转自:http://blog.csdn.net/peter_cloud/article/details/9308333

版权声明:本文为博主原创文章,未经博主允许不得转载。

        除非你的原件考虑跨平台。

       在Linux编程多使用一些系统函数真的很方便,哎没办法越来越懒~~~~~~

       今天记录一下dirname 和basename这两个简单的处理文件路径的linux系统函数。

      

       

        头文件:

                         #include <libgen.h>

        函数定义:

                         char *dirname(char *path);

                         char *basename(char *path);

        功能描述:

                        char *dirname(char *path);

                        功能: 截取path中的目录路径返回。

                        char *basename(char *path);

                        功能: 截取path中的去目录部分的最后的文件或路径名。

         返回值:

                       char *dirname(char *path);

                       成功: 返回截取path中的目录路径指针。

                       失败: 返回 NULL

                       char *basename(char *path);

                       成功: 返回截取path中的去目录部分的最后的文件或路径名指针。

                       失败: 返回 NULL

 

 

示例图:

                       path         dirname    basename
                       "/usr/lib"    "/usr"    "lib"
                       "/usr/"       "/"       "usr"
                       "usr"         "."       "usr"
                       "/"           "/"       "/"
                       "."           "."       "."
                       ".."          "."       ".."

           

代码示例:              

                     char *dirc, *basec, *bname, *dname;
                     char *path = "/etc/passwd";

                     dirc = strdup(path);
                     basec = strdup(path);
                     dname = dirname(dirc);
                     bname = basename(basec);
                     printf("dirname=%s, basename=%s\n", dname, bname);

 

【作者】 张昺华
【新浪微博】 张昺华--sky
【twitter】 @sky2030_
【facebook】 张昺华 zhangbinghua
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
目录
相关文章
|
10月前
|
Linux
Linux命令(108)之dirname
Linux命令(108)之dirname
75 4
|
10月前
|
Linux Shell
Linux命令(107)之basename
Linux命令(107)之basename
99 2
|
1月前
|
Shell Linux
【linux】Shell脚本中basename和dirname的详细用法教程
本文详细介绍了Linux Shell脚本中 `basename`和 `dirname`命令的用法,包括去除路径信息、去除后缀、批量处理文件名和路径等。同时,通过文件备份和日志文件分离的实践应用,展示了这两个命令在实际脚本中的应用场景。希望本文能帮助您更好地理解和应用 `basename`和 `dirname`命令,提高Shell脚本编写的效率和灵活性。
109 32
|
9月前
|
Linux
探索Linux命令:`dirname`
`dirname`是Linux中的命令,用于从文件或目录路径中提取目录部分。基本语法是`dirname PATH`。示例包括:基本用法(如`dirname /home/user/documents/file.txt`返回`/home/user/documents`)、处理相对路径和末尾斜杠,以及在脚本中使用(如获取脚本所在目录)。注意事项包括`dirname`仅做字符串操作,不检查路径实际存在性。它是处理路径的便捷工具,适用于命令行和脚本编写。
|
9月前
|
Unix Linux Shell
探索Linux命令:basename
`basename`是Linux/Unix系统中的命令,用于从文件或目录路径中提取基本名称。基本语法是`basename [OPTIONS] NAME [SUFFIX]`。它可以删除指定后缀,如`.txt`,并处理多个路径。在shell脚本中,`basename`有助于简化文件路径处理。例如,遍历目录并提取文件名进行操作。这个命令提高了脚本的可读性和效率。
|
Linux
linux命令basename:去掉路径和扩展名,得到指定文件的文件名(去除文件扩展名.xxx)
linux命令basename:去掉路径和扩展名,得到指定文件的文件名(去除文件扩展名.xxx)
192 0
|
Linux
Linux下 $(cd `dirname $0`;pwd)
Linux下 $(cd `dirname $0`;pwd)
321 0