This is one page that looks best when viewed with a graphical browser, I have looked at it using Netscape and lynx. There are no important images here, but the tables don't look very nice using lynx. You should use Any Browser that formats tables nicely.

This is a very quick walk through lde's major modes. When you start lde, it will first display the startup error/warning log with messages about the filesystem found on the specified device. Hit any key and lde will display some of the information contained in the file system's super block.

                     lde v2.4.0Alpha2 : minix : /dev/hda3
Inode:          1 (0x00000001)  Block:          0 (0x00000000)  012345678       




                    Inodes:            13943 (0x00003677)
                    Blocks:            41830 (0x0000A366)
                    Firstdatazone:       446 (N=446)
                    Zonesize:           1024 (0x0400)
                    Maximum size:  268966912 (0x10081C00)

                    * Directory entries are 30 characters.
                    * Inode map occupies 2 blocks.
                    * Zone map occupies 6 blocks.
                    * Inode table occupies 436 blocks.






                    F)lags, I)node, B)locks, R)ecover File

While displaying the superblock, the keys for the other major modes are listed at the bottom of the screen. We will zip through all of them, starting with inode mode.

                     lde v2.4.0Alpha2 : minix : /dev/hda3
Inode:          1 (0x00000001)  Block:          0 (0x00000000)  012345678       

drwxr-xr-x  25 root     system       1408  Wed Jul  2 01:06:23 1997

TYPE: directory     LINKS:  25                 DIRECT BLOCKS=    0x000001BE
MODE: \0755         FLAGS: \04                                   0x0000678D
UID: 00000(root)    GID: 00000(system)
SIZE: 1408          SIZE(BLKS):

ACCESS TIME:
CREATION TIME:
MODIFICATION TIME:  Wed Jul  2 01:06:23 1997   INDIRECT BLOCK=
DELETION TIME:                                 2x INDIRECT BLOCK=








                  F1/H for help.  F2/^O for menu.  Q to quit

Inode mode starts on the file system's root directory inode. Looking at the information above, we can see that it is indeed a directory with 25 entries (links) owned by root.system. Pressing the arrow keys will move the cursor between fields. The first direct block is shown highlighted, if we press 'd' now, we can view this inode formatted as a directory.

                     lde v2.4.0Alpha2 : minix : /dev/hda3
Inode:          1 (0x00000001)  Block:          0 (0x00000000)  012345678       
0x00000001: drwxr-xr-x  25      1408 .
0x00000001: drwxr-xr-x  25      1408 ..
0x0000047D: drwxr-xr-x   2        64 boot
0x000001AD: drwxr-xr-x   2      2144 bin
0x0000007F: drwxr-xr-x   2      8128 dev
0x00000153: drwxr-xr-x  10       384 dos
0x0000015A: drwxr-xr-x  19      8544 etc
0x000002D0: drwxr-xr-x   2        64 fishmonger
0x000001A9: drwxr-xr-x   3      3712 sbin
0x00000290: drwxr-xr-x   2        64 home
0x00000291: lrwxrwxrwx   1         9 info
0x00000292: drwxr-xr-x   3      2016 lib
0x000002E9: drwxrwxrwx   2       864 links
0x000002FF: drwxr-xr-x   2       160 mnt
0x00000300: drwxr-xr-x   2        64 mnt2
0x00000301: drwxrwxr-x   2        64 mnt3
0x00000302: dr-xr-xr-x   2        64 proc
0x00000000:                          mnbt
0x0000003D: drwxr-xr-x   3        96 man
0x00000305: drwxrwxr-x   2       224 shlib
0x0000030A: lrwxrwxrwx   1        11 stimpy
                  F1/H for help.  F2/^O for menu.  Q to quit

You can use the arrows to scroll through all the directory entries associated with inode number 1 which we were viewing earlier. Clicking on a directory will view that directory.

                     lde v2.4.0Alpha2 : minix : /dev/hda3
Inode:          1 (0x00000001)  Block:          0 (0x00000000)  012345678       
0x00000292: drwxr-xr-x   3      2016 .
0x00000001: drwxr-xr-x  25      1408 ..
0x00000293: lrwxrwxrwx   1        25 libX11.so.3
0x00000294: lrwxrwxrwx   1        24 libXt.so.3
0x00000160: lrwxrwxrwx   1        12 cpp
0x00000004: drwxr-xr-x  10       384 modules
0x00000297: lrwxrwxrwx   1        25 libXaw.so.3
0x0000050C: -r-xr-xr-x   1     43502 libkpathsea.so.2.6
0x00000517: lrwxrwxrwx   1        20 libkpathsea.so.2
0x0000029A: -rwxr-xr-x   1    634880 libc.so.4.6.27
0x0000029B: -rwxr-xr-x   1    110592 libm.so.4.6.27
0x0000029C: lrwxrwxrwx   1        14 libc.so.4
0x00000518: lrwxrwxrwx   1        18 libkpathsea.so
0x000002B9: -rwxr-xr-x   1     49152 libcurses.so.0.1.2
0x000002BA: lrwxrwxrwx   1        13 libf2c.so.0
0x000002BB: -rwxr-xr-x   1    533508 libf2c.so.0.7
0x000002BC: lrwxrwxrwx   1        12 libgr.so.1
0x000002BD: lrwxrwxrwx   1        14 libm.so.4
0x000002BE: -rwxr-xr-x   1    630784 libc-lite.so.4.6.27
0x000002BF: lrwxrwxrwx   1        19 libc-lite.so.4
0x00000511: -rwxr-xr-x   2     24580 ld.so
                  F1/H for help.  F2/^O for menu.  Q to quit

We can use this method to locate the file we are interested in, maybe libc.so.4.6.27. We can then view its inode by pressing 'I'.

                     lde v2.4.0Alpha2 : minix : /dev/hda3
Inode:        666 (0x0000029A)  Block:          0 (0x00000000)  012345678       

-rwxr-xr-x   1 root     system     634880  Tue Dec 13 16:39:05 1994

TYPE: regular file  LINKS:   1                 DIRECT BLOCKS=    0x00001E2C
MODE: \0755         FLAGS: \10                                   0x00001E2D
UID: 00000(root)    GID: 00000(system)                           0x00001E2E
SIZE: 634880        SIZE(BLKS):                                  0x00001E2F
                                                                 0x00001E30
ACCESS TIME:                                                     0x00001E31
CREATION TIME:                                                   0x00001E32
MODIFICATION TIME:  Tue Dec 13 16:39:05 1994   INDIRECT BLOCK=   0x00001E33
DELETION TIME:                                 2x INDIRECT BLOCK=0x00002034









                  F1/H for help.  F2/^O for menu.  Q to quit

This information looks correct, now lets have a look at the contents of the file. Hit 'B' to view the highlighted block.

                     lde v2.4.0Alpha2 : minix : /dev/hda3
Inode:        666 (0x0000029A)  Block:       7724 (0x00001E2C)  012345678
0078B000  CC 00 64 00 00 00 09 00  :  00 B0 00 00 98 EE 02 00   ..d.............
0078B010  00 00 00 00 20 F0 FF 5F  :  00 00 00 00 00 00 00 00   .... .._........
0078B020  00 00 00 00 00 00 00 00  :  00 00 00 00 00 00 00 00   ................
0078B030  00 00 00 00 00 00 00 00  :  00 00 00 00 00 00 00 00   ................
0078B040  00 00 00 00 00 00 00 00  :  00 00 00 00 00 00 00 00   ................
0078B050  00 00 00 00 00 00 00 00  :  00 00 00 00 00 00 00 00   ................
0078B060  00 00 00 00 00 00 00 00  :  00 00 00 00 00 00 00 00   ................
0078B070  00 00 00 00 00 00 00 00  :  00 00 00 00 00 00 00 00   ................
0078B080  00 00 00 00 00 00 00 00  :  00 00 00 00 00 00 00 00   ................
0078B090  00 00 00 00 00 00 00 00  :  00 00 00 00 00 00 00 00   ................
0078B0A0  00 00 00 00 00 00 00 00  :  00 00 00 00 00 00 00 00   ................
0078B0B0  00 00 00 00 00 00 00 00  :  00 00 00 00 00 00 00 00   ................
0078B0C0  00 00 00 00 00 00 00 00  :  00 00 00 00 00 00 00 00   ................
0078B0D0  00 00 00 00 00 00 00 00  :  00 00 00 00 00 00 00 00   ................
0078B0E0  00 00 00 00 00 00 00 00  :  00 00 00 00 00 00 00 00   ................
0078B0F0  00 00 00 00 00 00 00 00  :  00 00 00 00 00 00 00 00   ................
0078B100  00 00 00 00 00 00 00 00  :  00 00 00 00 00 00 00 00   ................
0078B110  00 00 00 00 00 00 00 00  :  00 00 00 00 00 00 00 00   ................
0078B120  00 00 00 00 00 00 00 00  :  00 00 00 00 00 00 00 00   ................
0078B130  00 00 00 00 00 00 00 00  :  00 00 00 00 00 00 00 00   ................
0078B140  00 00 00 00 00 00 00 00  :  00 00 00 00 00 00 00 00   ................
                  F1/H for help.  F2/^O for menu.  Q to quit

We're looking at the first block of libc. It is possible to edit this block in hex or ASCII and then write it back to the disk. Let's not do that, instead, go back to inode mode and hit 'R'. This will copy the contents of libc's inode into the "recovery inode" and switch to recovery mode.

                     lde v2.4.0Alpha2 : minix : /dev/hda3
Inode:        666 (0x0000029A)  Block:       7724 (0x00001E2C)  ---------       





                    DIRECT BLOCKS:       0 : 0x00001E2C
                                         1 : 0x00001E2D
                                         2 : 0x00001E2E
                                         3 : 0x00001E2F
                                         4 : 0x00001E30
                                         5 : 0x00001E31
                                         6 : 0x00001E32
                    INDIRECT BLOCK:      7 : 0x00001E33
                    2x INDIRECT BLOCK:   8 : 0x00002034





    Change blocks with adjacent characters.  Q to quit.  R to dump to file    

From recovery mode, we can write out the file indexed by this inode to disk. It may not sound very important, but this is how you would undelete a unix file. This "recovery inode" is not stored on the disk and you can put whatever you want in it. However, the indirect blocks are stored on the disk. Most of the time, the inode information will be preserved after you delete a file, and you can just undelete the entire file at once. If there have been disk writes since you deleted the file, the inode information may have been overwritten, in which case you may have to do a lot of work to recover the file. See the file UNERASE in the lde distribution for help with these harder cases.

This is a very simple document. You could probably figure all this out on your own just playing with lde for a few seconds and it really doesn't accentuate any of lde's really nifty features which can be used to find deleted files. See the man page and the UNERASE document for examples and more detailed explainations.


Best Viewed With Any Browser *