Sponsored Content
Full Discussion: size of a directory
Top Forums Programming size of a directory Post 57034 by AbEnd on Friday 15th of October 2004 05:08:31 PM
Old 10-15-2004
Quote:
Originally posted by Driver
> Heh. That's something that puzzles me about most textbook algorithms too, dude. But this is definitively possible to reduce I/O
> while adding some CPU overhead; think of the tree/hash used databases...

I'm not ``puzzled'' about the concept of trading processing time versus I/O; I merely asked you to back up your claim that it is actually possible and meaningful to do so, in this particular case.
I pasted link to FreeBSD's fts. It does it.

Quote:
> Most fts should be similar, if not better (especially considering that this one is very old and really free (so it could have been forked a few
> times)).

Most fts ... I thought we had already established that fts is a BSD thing Smilie
Most OSes will use something similar for rm/chmod/du/find, etc. I call these things fts. At the very least, their du must be implemented correctly.

Quote:
> Just consider this one a proof of concept if you want...

Proof of WHAT concept? It calls opendir(), readdir() and stat() as well, just like your own implementation would. You have yet to show what it is that's supposed to make this code less I/O intensive and thus faster than a straightforward manual implementation here! And keep in mind that an ad-hoc solution can also save all the bookkeeping work; It can stat() a file and throw it away, without all the ``bloat'' found in fts.c.
fts is bloated, but it is faster and secure. See source code.

Quote:
Anyway. If you don't mind, I will leave this fruitless discussion in favor of something more productive.
Sure.
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Size of a directory

Hi, It would be of great help if anyone can tell me what is the command for getting the size of a directory. Thx a lot in advance Minaz (9 Replies)
Discussion started by: minazk
9 Replies

2. UNIX for Dummies Questions & Answers

size of a directory?

hi, say i have the following directory structure a/b/c/d... can i do df -kt /a/b/c/d and the output will gives me the total space of the directory space in d? or the output will just be the total space of the parent directory a. hope its clear.. (2 Replies)
Discussion started by: yls177
2 Replies

3. AIX

size of directory with ls -l

hello When i do a "ls -l" in a directory (Aix 5.3), i have the result : >ls -l total 65635864 -rw-r--r-- 1 lobi system 2559909888 Feb 20 15:06 cible5.7bdat -rw-r--r-- 1 lobi system 1020098870 Feb 20 13:06 cible6.7bdat -rw-r--r-- 1 lobi system 1544789511 Feb 20 11:06 cible9.7bdat -rw-r--r--... (2 Replies)
Discussion started by: pascalbout
2 Replies

4. UNIX for Dummies Questions & Answers

directory size with ls -l

am I right in assuming that in unix a directory size is just information about that directory stored somewhere on the file system, and not a sum of its contents? This is because ls -l gives 1024 as my directory size, when the directory contains many gigs worth of stuff. also, is du -sk dir ... (2 Replies)
Discussion started by: JamesByars
2 Replies

5. Shell Programming and Scripting

size of directory

Hello again; I have a directories and subdirectories in my current directory and i wanna to find the directories( and subdirectories ) which are larger than what user enters as first parameter. find . -type d -size +"$1"c -print > directories.dat I used this command and i am not sure it is... (19 Replies)
Discussion started by: redbeard_06
19 Replies

6. Solaris

Directory size larger than file system size?

Hi, We currently have an Oracle database running and it is creating lots of processes in the /proc directory that are 1000M in size. The size of the /proc directory is now reading 26T. How can this be if the root file system is only 13GB? I have seen this before we an Oracle temp file... (6 Replies)
Discussion started by: sparcman
6 Replies

7. UNIX for Dummies Questions & Answers

directory tree with directory size

find . -type d -print 2>/dev/null|awk '!/\.$/ {for (i=1;i<NF;i++){d=length($i);if ( d < 5 && i != 1 )d=5;printf("%"d"s","|")}print "---"$NF}' FS='/' Can someone explain how this works..?? How can i add directory size to be listed in the above command's output..?? (1 Reply)
Discussion started by: vikram3.r
1 Replies

8. Solaris

get directory size

Hi, How to get size of particular directory? Thanks (5 Replies)
Discussion started by: cutefriend
5 Replies

9. Shell Programming and Scripting

How to delete some of the files in the directory, if the directory size limits the specified size

To find the whole size of a particular directory i use "du -sk /dirname".. but after finding the direcory's size how do i make conditions like if the size of the dir is more than 1 GB i hav to delete some of the files inside the dir (0 Replies)
Discussion started by: shaal89
0 Replies

10. UNIX for Dummies Questions & Answers

Ls directory size reporting byte size instead of file count

I have been searching both on Unix.com and Google and have not been able to find the answer to my question. I think it is partly because I can't come up with the right search terms. Recently, my virtual server switched storage devices and I think the problem may be related to that change.... (2 Replies)
Discussion started by: jmgibby
2 Replies
getcwd(3)						     Library Functions Manual							 getcwd(3)

Name
       getcwd - get pathname of working directory

Syntax
       char I**getcwd (buf, size)
       char I**buf;
       int size;

Description
       The  subroutine returns a pointer to the current directory pathname.  The value of size must be at least two greater than the length of the
       pathname to be returned.

       If buf is a NULL pointer, will obtain size bytes of space using In this case, the pointer returned by may be used as the argument in a sub-
       sequent call to free.

       The function is implemented by using to pipe the output of the command into the specified string space.

Examples
       char *cwd, *getcwd();
       .
       .
       .
       if ((cwd = getcwd((char *)NULL, 64)) == NULL) {

	    perror("pwd");
	    exit(1);
       }
       printf("%s
", cwd);

Return Values
       Returns NULL with errno set if size is not large enough, or if an error occurs in a lower-level function.

Diagnostics
       [EINVAL]       The size argument is zero or negative.

       [ERANGE]       The size argument is greater than zero, but is smaller than the length of the pathname+1;

       [EACCES]       Read or search permission is denied for a component of the pathname.

       [ENOMEM]       Insufficient storage space is available.

See Also
       pwd(1), malloc(3), popen(3)

																	 getcwd(3)
All times are GMT -4. The time now is 07:45 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy