"." and ".."

Hi,
 I need explanation of "." and ".." value in d_name of struct direct when reading directory in Linux . Thanks a lot.
BeginToLearnAsked:
Who is Participating?
 
Guy Hengel [angelIII / a3]Connect With a Mentor Billing EngineerCommented:
see this "copy/paste" from my dos box:
C:\WINNT>dir
 Volume in drive C is OSDisk
 Volume Serial Number is FC2D-08F6

 Directory of C:\WINNT

03/03/2011  15:44    <DIR>          .
03/03/2011  15:44    <DIR>          ..
03/01/2011  08:17                 0 0.log
10/07/2008  20:58    <DIR>          addins
21/04/2009  13:21    <DIR>          AppPatch
21/01/2008  14:48            12.477 atiogl.xml

Open in new window


so, the "current directory" is the one where you issue the "dir" command from (resp your C function ...)
 Directory of C:\WINNT

Open in new window

the "." refers to that same directly.
and ".." refers to "C:\"  

hope this clarifies
0
 
Guy Hengel [angelIII / a3]Billing EngineerCommented:
"." refers to the current directory itself,
".." refers to the parent directory
0
 
BeginToLearnAuthor Commented:
about DT_DIR? could you explan this
 
 if ( DT_DIR & pEntry->d_type && strcmp ( pEntry->d_name, ".") && strcmp ( pEntry->d_name, ".."))

 tks.
0
The new generation of project management tools

With monday.com’s project management tool, you can see what everyone on your team is working in a single glance. Its intuitive dashboards are customizable, so you can create systems that work for you.

 
Guy Hengel [angelIII / a3]Billing EngineerCommented:
this condition checks IF the pEntry->d_name value is either "." or ".." , and if the p_entry.d_type is DT_DIR ...
presumable to exclude those from the processing ...
0
 
BeginToLearnAuthor Commented:
i now what it check. but i don't understand the meaning of "." and ".." in this case which is reading directory. thanks.
0
 
BeginToLearnAuthor Commented:
i mean relate to

"." refers to the current directory itself,
".." refers to the parent directory

can u give example?
tks
0
 
BeginToLearnAuthor Commented:
I understand "." now. It tell where the "dir " command is issued. But why do we need ".."?
any when a program copy a directory ( and its suddirectory ) to another place, do we need to skip "." and ".."? tks.
0
 
sarabandeConnect With a Mentor Commented:
we don't need the ".." but have to consider it when doing a directory listing and want to use only files or only sub directories.

Sara

0
 
Guy Hengel [angelIII / a3]Connect With a Mentor Billing EngineerCommented:
"." and ".." are only logical links, and you cannot "copy" them. they are "created" automatically by the underyling file system.
you just skip them in any processing, the only thing you can do with it is to show them

having ".." means you have a parent folder, if you have no such item in the list, you cannot "go up" one folder.
0
 
BeginToLearnAuthor Commented:
tks all. I get it now.
0
All Courses

From novice to tech pro — start learning today.