dird

On older SCO, you could print the contents of a directory file in hexadecimal format by the command "hd ." (current directory).

With SCO OpenServer you get only 0000.


Hate these ads?

That's not good :-)

Typically, the reason for doing this was to either to see the order of the files in the directory (so you could tell how far along a backup or restore was that you were watching on another screen) or to look for "holes" (so that you could rearrange the order of entries by judicious copying and deleting). Why would you want to do that? If you have to ask, you'll probably never want to, but in some situations involving large directories and ultra critical performance, it's worth moving frequently accessed files to the "top", (assuming the namei cache can't help you, perhaps because you need that boost on the *first* access).

Yet another reason was to spot garbage characters in file names.

If all you need is the order of file names in the slots, ls -f will do it. Otherwise, you can get some of the remaining functionality by a simple C program like this:









#include <dirent.h>
#include <stdio.h>
main()
{
DIR *dirp;
char *c;
long offset=0L;
struct dirent *dp;
dirp = opendir( "." );
while ( (dp = readdir( dirp )) != NULL )
{
        printf("Inode: %8lu Offset %4ld Length %4hd ", dp->d_ino,offset,dp->d_reclen);
        printf("%s ",dp->d_name);
        offset = dp->d_off;
        c=dp->d_name;
        while (*c)
        {
        printf("%x ",*c++);
        }
        printf("\n");



        
}
closedir( dirp );
}


You can add to this to display other information, of course, but while it does show the order, it doesn't show holes. You can infer holes from the directory size and offsets, and you can create holes where you want them by removing or copying files, but it's certainly true that an hd on a directory was useful now and then.

Download:






Comments /Unix/dird.html


Add your comments

Enter your email address for automatic notification of new posts here
(be sure to whitelist 'feedburner.com' if you use spam filtering)

Or use any RSS reader

Delivered by FeedBurner


Views for this page
Today This Week This Month This Year  Overall
2615382 2,392

Have you tried Searching this site?

Unix/Linux/Mac OS X support by phone, email or on-site: Support Rates

This is a Unix/Linux resource website. It contains technical articles about Unix, Linux and general computing related subjects, opinion, news, help files, how-to's, tutorials and more. We appreciate comments and article submissions.

Publishing your articles here

pavatar.jpg
More:
       - Programming
       - Code
       - OSR5




Unix/Linux Consultants

Your ad here - $24.00 yearly!

UBB Computer Services Support for Openserver, Unixware and Linux. Windows integration with Unix/Linux servers. Hardware, Backup and Networking issues. Located near Sacramento CA, we provide onsite support throughout Northern CA and Nationwide via remote access. We are a SCO Authorized Partner and a Microlite BackupEdge Certified Reseller.


http://bcstechnology.net Full service Linux & UNIX systems integrator; Windows to UNIX/Linux Client-Server Specialist; Secure E-Mail & Website Hosting; Thoroughbred Software Developer; Custom Industrial Automation; Hardware & Electronics Experts; In Business Since 1985.


SCO, OpenServer, UnixWare, software, servers, security, networks, installation, administration, troubleshooting, maintenance, Watchguard, firewalls, VPNs, e-mail. Visit us at http://opensystemscomputing.com and www.go2unix.com.









Change Congress


Related Posts