.\" -*- nroff -*-
.TH EXT2ED 8 "@E2FSPROGS_MONTH@ @E2FSPROGS_YEAR@" "E2fsprogs version @E2FSPROGS_VERSION@"
.SH NAME
ext2ed \- ext2 file system editor
.SH SYNOPSIS
.B ext2ed
.SH DESCRIPTION
.B ext2ed
in an 
.B editor
for the
.B second extended filesystem.
Its aim is to show you the various internal filesystem structures in an
intuitive form so that you would be able to easily understand and modify
them.
.SH DOCUMENTATION
The documentation is not available in man page format. Instead, I have
written three articles which are related to ext2ed:

The first article is
.B The user's guide.
This article explains how to use ext2ed.

The second article is
.B The Ext2fs overview.
This article gives an overview of internal structure of the ext2 filesystem.
You need to understand the internal layout in order to effectively edit
your filesystem.

The third article is
.B EXT2ED - Design and implementation.
This article explains how I constructed ext2ed. You may want to have a look
in it if you plan to view or modify the source code.

.SH WARNING

.B
Do not use ext2ed on a mounted filesystem.

.SH FILES
.TP
.I /usr/bin/ext2ed
The program itself.
.TP
.I @root_sysconfdir@/ext2ed.conf
ext2ed's configuration file.
.TP
.I @datadir@/ext2.descriptors
Definition of the various objects for the ext2 filesystem.
.TP
.I /var/log/ext2ed.log
Log file of actual changes made to the filesystem.
.TP
.I /usr/man/man8/ext2ed.8
The manual page.
.TP
.I @datadir@/doc/ext2ed/user-guide-0.1.ps
The user's guide.
.TP
.I @datadir@/doc/ext2ed/Ext2fs-overview-0.1.ps
Technical overview of the ext2 filesystem.
.TP
.I @datadir@/doc/ext2ed/ext2ed-design-0.1.ps
EXT2ED design notes.

.SH BUGS
Filesystems bigger than 2 GB aren't yet supported.
.SH AUTHOR
Gadi Oxman <tgud@tochnapc2.technion.ac.il>
.SH SEE ALSO
.BR e2fsck (8),
.BR debugfs (8)
