basename(3) Library Functions Manual basename(3) basename, dirname - (libc -lc) #include char *dirname(char *path); char *basename(char *path); : basename() . dirname() basename() . dirname() '/' basename() '/'. '/' . path dirname() "." basename() path. path "/" dirname() basename() "/". path dirname() basename() ".". dirname() "/" basename() . dirname() basename() path . . path path . ( SUSv2) dirname() basename() : dirname basename /usr/lib /usr lib /usr/ / usr usr . usr / / / . . . .. . .. dirname() basename() . ( free(3).) attributes(7). +------------+------------------------------------+--------------------+ || | | +------------+------------------------------------+--------------------+ |basename(), | | MT-Safe | |dirname() | | | +------------+------------------------------------+--------------------+ basename() - POSIX GNU #define _GNU_SOURCE /* See feature_test_macros(7) */ #include GNU path "/". GNU dirname(). glibc POSIX basename() GNU. POSIX.1-2008. POSIX.1-2001. glibc POSIX path "/usr/". glibc 2.2.1 glibc dirname() '/' NULL. basename() dirname(): 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); basename(1) dirname(1) 3 . . : . 6.18 8 2026 basename(3)