Sponsored Content
Full Discussion: Parent directory ".."
Top Forums UNIX for Dummies Questions & Answers Parent directory ".." Post 302947939 by bakunin on Wednesday 24th of June 2015 04:48:53 AM
Old 06-24-2015
Quote:
Originally Posted by stew
Really don't know why ".." present under (/) directory.
This is a bit unintuitive, but in fact it comes from the structure of the filesystem itself. Filesystems in UNIX (any UNIX filesystem i know so far) rely on "inodes", which hold the files metadata (creation date, size, owner, ...). These metadata are organized in always the same way for any "file" type there is: file, directory, FIFO, block device, character-device and link.

Because "/" is a directory (like any other directory) there is an entry in the data structure with the parent directory and it has to be filled. In any non-root directory this is a directory different of the directory the inode belongs to, i.e. in the inode of a directory "/some/where/dir" the entry for the parent directory will read "/some/where". In case of the root-dir this will point to root ("/") itself.

You can test this by:

Code:
# cd /
# pwd
/
# cd ..
# pwd
/

Note, that a "cd .." does not lead to an error, so there is indeed a parent directory to "/" - which is "/" itself.

I hope this helps.

bakunin
These 2 Users Gave Thanks to bakunin For This Post:
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Explain the line "mn_code=`env|grep "..mn"|awk -F"=" '{print $2}'`"

Hi Friends, Can any of you explain me about the below line of code? mn_code=`env|grep "..mn"|awk -F"=" '{print $2}'` Im not able to understand, what exactly it is doing :confused: Any help would be useful for me. Lokesha (4 Replies)
Discussion started by: Lokesha
4 Replies

2. Shell Programming and Scripting

Invoking commands in "parent" environment

The below shell script obtains a command and an alias from the user then appends the alias to the users ~/.aliases file. It is useful with cd commands and saves typing; instead of going cd /foo/bar/bonk/boo/what/whatelse/dir I create an alias something like "godir". It's not done and I will... (2 Replies)
Discussion started by: whosit1963
2 Replies

3. Shell Programming and Scripting

Delete files older than "x" if directory size is greater than "y"

I wrote a script to delete files which are older than "x" days, if the size of the directory is greater than "y" #!/bin/bash du -hs $1 while read SIZE ENTRY do if ; then find $1 -mtime +$2 -exec rm -f {} \; echo "Files older than $2 days deleted" else echo "free Space available"... (4 Replies)
Discussion started by: JamesCarter
4 Replies

4. UNIX for Dummies Questions & Answers

Kill child processes, when parent is "bash"

Consider this simple command line bash -c 'echo $$ ; sleep 10000'This will print the newly created bash PID and sleep for a long time. If I go to another terminal and do something like ps -flax | grep leepI'll see something like 501 92418 91910 0 0:00.00 ttys000 0:00.00 bash -c echo $$... (5 Replies)
Discussion started by: teras
5 Replies

5. Shell Programming and Scripting

Breaking "while read" also breaks the parent process

Hi, I'm a bit confused. Maybe some master can explain to me what is happening. I have a program that starts issuing output about himself loading. I want to run it in another thread but I want to wait untill it's fully loaded. Program sample: $ cat myprogram echo "loading" echo "almost... (3 Replies)
Discussion started by: chebarbudo
3 Replies

6. Shell Programming and Scripting

awk command to replace ";" with "|" and ""|" at diferent places in line of file

Hi, I have line in input file as below: 3G_CENTRAL;INDONESIA_(M)_TELKOMSEL;SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL My expected output for line in the file must be : "1-Radon1-cMOC_deg"|"LDIndex"|"3G_CENTRAL|INDONESIA_(M)_TELKOMSEL"|LAST|"SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL" Can someone... (7 Replies)
Discussion started by: shis100
7 Replies

7. Shell Programming and Scripting

"find . -printf" without prepended "." path? Getting path to current working directory?

If I enter (simplified): find . -printf "%p\n" then all files in the output are prepended by a "." like ./local/share/test23.log How can achieve that a.) the leading "./" is omitted and/or b.) the full path to the current directory is inserted (enclosed by brackets and a blank)... (1 Reply)
Discussion started by: pstein
1 Replies

8. UNIX for Dummies Questions & Answers

Using "mailx" command to read "to" and "cc" email addreses from input file

How to use "mailx" command to do e-mail reading the input file containing email address, where column 1 has name and column 2 containing “To” e-mail address and column 3 contains “cc” e-mail address to include with same email. Sample input file, email.txt Below is an sample code where... (2 Replies)
Discussion started by: asjaiswal
2 Replies

9. Shell Programming and Scripting

Bash script - Print an ascii file using specific font "Latin Modern Mono 12" "regular" "9"

Hello. System : opensuse leap 42.3 I have a bash script that build a text file. I would like the last command doing : print_cmd -o page-left=43 -o page-right=22 -o page-top=28 -o page-bottom=43 -o font=LatinModernMono12:regular:9 some_file.txt where : print_cmd ::= some printing... (1 Reply)
Discussion started by: jcdole
1 Replies

10. AIX

Apache 2.4 directory cannot display "Last modified" "Size" "Description"

Hi 2 all, i have had AIX 7.2 :/# /usr/IBMAHS/bin/apachectl -v Server version: Apache/2.4.12 (Unix) Server built: May 25 2015 04:58:27 :/#:/# /usr/IBMAHS/bin/apachectl -M Loaded Modules: core_module (static) so_module (static) http_module (static) mpm_worker_module (static) ... (3 Replies)
Discussion started by: penchev
3 Replies
DIRENT(3)						   BSD Library Functions Manual 						 DIRENT(3)

NAME
dirent -- directory format SYNOPSIS
#include <sys/types.h> #include <sys/dirent.h> mode DTTOIF(dirtype); dirtype IFTODT(mode); DESCRIPTION
Directories provide a convenient hierarchical method of grouping files while obscuring the underlying details of the storage medium. A directory file is differentiated from a plain file by a flag in its inode(5) entry. It consists of records (directory entries) each of which contains information about a file and a pointer to the file itself. Directory entries may contain other directories as well as plain files; such nested directories are referred to as subdirectories. A hierarchy of directories and files is formed in this manner and is called a file system (or referred to as a file system tree). Each directory file contains two special directory entries; one is a pointer to the directory itself called dot '.' and the other a pointer to its parent directory called dot-dot '..'. Dot and dot-dot are valid pathnames, however, the system root directory '/', has no parent and dot-dot points to itself like dot. File system nodes are ordinary directory files on which has been grafted a file system object, such as a physical disk or a partitioned area of such a disk. (See mount(8).) IMPLEMENTATION NOTES
The directory entry format is defined in the file <sys/dirent.h>, which is also included by <dirent.h>. The format is represented by the dirent structure, which contains the following entries: ino_t d_fileno; uint16_t d_reclen; uint16_t d_namlen; uint8_t d_type; char d_name[MAXNAMLEN + 1]; These are: 1. The d_fileno entry is a number which is unique for each distinct file in the filesystem. Files that are linked by hard links (see link(2)) have the same d_fileno. If d_fileno is zero, the entry refers to a deleted file. The type ino_t is defined in <sys/types.h>. 2. The d_reclen entry is the length, in bytes, of the directory record. 3. The d_namlen entry specifies the length of the file name excluding the NUL. Thus the actual size of d_name may vary from 1 to MAXNAMLEN + 1. 4. The d_type is the type of the file. 5. The d_name entry contains a NUL-terminated file name. The following table lists the types available for d_type and the corresponding ones used in the struct stat (see stat(2)), respectively: Dirent Stat Description DT_UNKNOWN - unknown file type DT_FIFO S_IFIFO named pipe DT_CHR S_IFCHR character device DT_DIR S_IFDIR directory DT_BLK S_IFBLK block device DT_REG S_IFREG regular file DT_LNK S_IFLNK symbolic link DT_SOCK S_IFSOCK UNIX domain socket DT_WHT S_IFWHT dummy ``whiteout inode'' The DT_WHT type is internal to the implementation and should not be seen in normal user applications. The macros DTTOIF() and IFTODT() can be used to convert from struct dirent types to struct stat types, and vice versa. COMPATIBILITY
The IEEE Std 1003.1-2001 (``POSIX.1'') standard specifies only the fields d_ino and d_name. The remaining fields are available on many, but not all systems. Furthermore, the standard leaves the size of d_name as unspecified, mentioning only that the number of bytes preceding the terminating NUL shall not exceed NAME_MAX. Because of this, and because the d_namlen field may not be present, a portable application should determine the size of d_name by using strlen(3) instead of applying the sizeof() operator. SEE ALSO
getdents(2), fs(5), inode(5) HISTORY
A dir structure appeared in Version 7 AT&T UNIX. The dirent structure appeared in NetBSD 1.3. BSD
May 16, 2010 BSD
All times are GMT -4. The time now is 10:01 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy