Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

dirname(3) [netbsd man page]

DIRNAME(3)						   BSD Library Functions Manual 						DIRNAME(3)

NAME
dirname -- report the parent directory name of a file pathname LIBRARY
Standard C Library (libc, -lc) SYNOPSIS
#include <libgen.h> char * dirname(char *path); DESCRIPTION
The dirname() function takes a pointer to a character string that contains a pathname, path, and returns a pointer to a string that is a pathname of the parent directory of path. Trailing '/' characters in path are not counted as part of the path. If path does not contain a '/', then dirname() returns a pointer to the string ``.''. If path is a null pointer or points to an empty string, dirname() returns a pointer to the string ``.''. RETURN VALUES
The dirname() function returns a pointer to a string that is the parent directory of path. SEE ALSO
dirname(1), basename(3) STANDARDS
o X/Open Portability Guide Issue 4, Version 2 (``XPG4.2'') o IEEE Std 1003.1-2001 (``POSIX.1'') BUGS
If the length of the result is longer than PATH_MAX bytes (including the terminating nul), the result will be truncated. The dirname() function returns a pointer to static storage that may be overwritten by subsequent calls to dirname(). This is not strictly a bug; it is explicitly allowed by IEEE Std 1003.1-2001 (``POSIX.1''). BSD
May 10, 2008 BSD

Check Out this Related Man Page

DIRNAME(3)						   BSD Library Functions Manual 						DIRNAME(3)

NAME
dirname -- extract the directory part of a pathname SYNOPSIS
#include <libgen.h> char * dirname(char *path); DESCRIPTION
The dirname() function is the converse of basename(3); it returns a pointer to the parent directory of the pathname pointed to by path. Any trailing '/' characters are not counted as part of the directory name. If path is a null pointer, the empty string, or contains no '/' char- acters, dirname() returns a pointer to the string ".", signifying the current directory. IMPLEMENTATION NOTES
The dirname() function returns a pointer to internal storage space allocated on the first call that will be overwritten by subsequent calls. Other vendor implementations of dirname() may modify the contents of the string passed to dirname(); if portability is desired, this should be taken into account when writing code which calls this function. LEGACY SYNOPSIS
#include <libgen.h> char * dirname(const char *path); In legacy mode, path will not be changed. RETURN VALUES
On successful completion, dirname() returns a pointer to the parent directory of path. If dirname() fails, a null pointer is returned and the global variable errno is set to indicate the error. ERRORS
The following error codes may be set in errno: [ENAMETOOLONG] The path component to be returned was larger than MAXPATHLEN. SEE ALSO
basename(1), dirname(1), basename(3), compat(5) STANDARDS
The dirname() function conforms to X/Open Portability Guide Issue 4, Version 2 (``XPG4.2''). HISTORY
The dirname() function first appeared in OpenBSD 2.2 and FreeBSD 4.2. AUTHORS
Todd C. Miller BSD
October 12, 2006 BSD
Man Page

15 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

display "*"

Hi, I've a problem with display "*" character: I'd like to use a script which take a complete path of set of files or directories in argument and separate them into their "dirname" part and their "basename" part. It works nearly exept that if i want to display the result (dirname +... (5 Replies)
Discussion started by: jo_aze
5 Replies

2. Shell Programming and Scripting

korn shell homework

here are the questions for ya...im stumped 1)the command "dirname path" treats path as a pathnameand writes to the standard output the path prefix, that is everything up to but not including the last component. thus "dirname a/b/c/d" write a/b/c to standard output. If path is simple filename... (1 Reply)
Discussion started by: Loppdawg69
1 Replies

3. Programming

path for libc.a

how can i determine the path for libc.a? i wonder where it is located in my unix machine (1 Reply)
Discussion started by: gfhgfnhhn
1 Replies

4. Shell Programming and Scripting

Help with the syntax

export check=$(expandname $(dirname $(which $0))) (2 Replies)
Discussion started by: chandhar
2 Replies

5. Shell Programming and Scripting

problem in replacing a string

Hi, I have a file with the path of the directory present somewhere in it.I have assigned the path of the directory name to a variable. I want to replace it with another string.The code i used was sed -e '/$variable/sbcd/' filename. since the path name includes slashes '/', my sed command... (9 Replies)
Discussion started by: ragavhere
9 Replies

6. Shell Programming and Scripting

Newbie problem with simple script to create a directory

script is: dirname= "$(date +%b%d)_$(date +%H%M)" mkdir $dirname should create a directory named Nov4_ Instead I get the following returned: root@dchs-pint-001:/=>./test1 ./test1: Nov04_0736: not found. Usage: mkdir Directory ... root@dchs-pint-001:/=> TOO easy, but what am I... (2 Replies)
Discussion started by: gwfay
2 Replies

7. Shell Programming and Scripting

geting the real path

Hi there, Is there any way to obtain a real path from a weird path. For example : /foo/../bar/ -> /bar/ /foo/. -> /foo/ Thanks in advance Santiago (5 Replies)
Discussion started by: chebarbudo
5 Replies

8. Shell Programming and Scripting

Get parent directory of a file

In shell how would I get the parent directory of a file. E.g. I feed this in: /path/to/textfile.txt And get just: /path/to Thanks (2 Replies)
Discussion started by: pcwiz
2 Replies

9. Shell Programming and Scripting

Bash variable delayed expansion?

i write a batch file , here is the content. dirname='date +%Y-%m-%d' mkdir dirname but it doen's work, it just create a folder named date and +%Y-%m-%d. i have tried run the command seperately in the bash prompt. after the first sentence executed , i use $dirname to watch the value of... (4 Replies)
Discussion started by: premotheus
4 Replies

10. UNIX for Dummies Questions & Answers

$dirname ??????

Hi, okay, the following command was given to me in a script, but it's not working and there's little to no help on dirname. What is wrong with the following line? I'm just trying to save the current directory to use later in subsequent scripts. MYAPPDIR=$(dirname $(dirname $0)) Thanks. (2 Replies)
Discussion started by: rebazon
2 Replies

11. Shell Programming and Scripting

$0 doesn't have full directory path

I'm running AIX unix korn shell. If I echo $0, I only get the filename, it does not have the directory name also. So when I do: `dirname $0` it returns a . (meaning current directory). How get $0 to return the full path/filename? Do I need something in my .profile? Thank you. (8 Replies)
Discussion started by: sboxtops
8 Replies

12. Shell Programming and Scripting

about -w

-w "filename" is suppose to return 0 if the file got write permission and 1 if not right? for some reason... when i test it, it keep returning 1 even after i set full 777 permission to that file/directory? the directory will become /path/path2/path3 directory = `dirname... (9 Replies)
Discussion started by: Nick1097
9 Replies

13. Shell Programming and Scripting

How to get top level parent directory

Hi All, I have a directory like this: /u01/app/oracle/11gSE1/11gR203 How do i get the top level directory /u01 from this? Tried dirname and basename but dint help. I can this using echo $ORACLE_HOME | awk -F"/" '{print "/"$2}'. But I am trying to find out if there is a better way of doing it... (4 Replies)
Discussion started by: nilayasundar
4 Replies

14. UNIX for Beginners Questions & Answers

Bash beginner

Hello so I've stored some csv data to be read into variables like this Name,Team,Shop,Shoe etc,etc,etc,etc Code: sep="," { while IFS=$sep read Name Team Shop Shoe do count=1 dirname=$Name while do ((count++)) dirname="${Name}$count" (4 Replies)
Discussion started by: darklord173
4 Replies

15. UNIX for Beginners Questions & Answers

Bash Script

Code: File is read in from wrapper and declared file_name IFS="," sed 1d $file_name | while read Name Job Age Title do count=0 dirname=$Name while do ((count++)) dirname="${Name}$count" done echo "==================" echo "Name: $Name" ... (1 Reply)
Discussion started by: darklord173
1 Replies