DEBUGFS(8)                                             DEBUGFS(8)

NAME
       debugfs - ext2 file system debugger

SYNOPSIS
       debugfs  [  -f  cmd_file  ]  [  -R request ] [ -V ] [ -w [
       device ] ]

DESCRIPTION
       The debugfs program is a file system debugger. It  can  be
       used  to examine and change the state of an ext2 file sys-
       tem.
       device is the special file  corresponding  to  the  device
       containing the ext2 file system (e.g /dev/hdXX).

OPTIONS
       -w     Specifies  that the file system should be opened in
              read-write mode.  Without  this  option,  the  file
              system is opened in read-only mode.

       -f cmd_file
              Causes  debugfs  to read in commands from cmd_file,
              and execute them.  When debugfs is finished execut-
              ing those commands, it will exit.

       -R request
              Causes   debugfs  to  execute  the  single  command
              request, and then exit.

       -V     print the version number of debugfs and exit.

COMMANDS
       debugfs is an interactive debugger. It understands a  num-
       ber of commands.

       cat filespec
              Dump  the contents of the inode filespec to stdout.

       cd filespec
              Change the current working directory to filespec.

       chroot filespec
              Change the root directory to be the directory file-
              spec.

       close  Close the currently open file system.

       clri file
              Clear the contents of the inode file.

       dump [-p] filspec out_file
              Dump the contents of the inode filespec to the out-
              put file out_file.  If the -p option is  given  set
              the  owner,  group  and  permissions information on
              out_file to match filespec.

       expand_dir filespec
              Expand the directory filespec.

       find_free_block [goal]
              Find the first free block, starting from  goal  and
              allocate it.

       find_free_inode [dir [mode]]
              Find a free inode and allocate it.  If present, dir
              specifies the inode number of the  directory  which
              the  inode  is  to be located.  The second optional
              argument mode specifies the permissions of the  new
              inode.   (If  the directory bit is set on the mode,
              the allocation routine will function  differently.)

       freeb block
              Mark the block number block as not allocated.

       freei filespec
              Free the inode specified by filespec.

       help   Print  a list of commands understood by debugfs(8).

       icheck block ...
              Print a listing of the inodes which use the one  or
              more blocks specified on the command line.

       initialize device blocksize
              Create  an  ext2  file system on device with device
              size blocksize.  Note that this does not fully ini-
              tialize all of the data structures; to do this, use
              the mke2fs(8) program.  This is just a call to  the
              low-level library, which sets up the superblock and
              block descriptors.

       kill_file filespec
              Deallocate the inode filespec and its blocks.  Note
              that this does not remove any directory entries (if
              any) to this inode.  See the rm(1) command  if  you
              wish to unlink a file.

       ln filespec dest_file
              Create  a  link  named dest_file which is a link to
              filespec.  Note this does not adjust the inode ref-
              erence counts.

       ls [-l] filespec
              Print a listing of the files in the directory file-
              spec.

       modify_inode filespec
              Modify the contents of the inode structure  in  the
              inode filespec.

       mkdir filespec
              Make a directory.

       mknod filespec [p|[[c|b] major minor]]
              Create a special device file (a named pipe, charac-
              ter or block device).   If  a  character  or  block
              device  is  to  be made, the major and minor device
              numbers must be specified.

       ncheck inode_num ...
              Take the requested list of inode numbers, and print
              a listing of pathnames to those inodes.

       open [-w] device
              Open a file system for editing.

       pwd    Print the current working directory.

       quit   Quit debugfs

       rm pathname
              Unlink  pathname.  If this causes the inode pointed
              to by pathname to have no other references, deallo-
              cate  the  file.   This  command  functions  as the
              unlink() system call.

       rmdir filespec
              Remove the directory filespec.   This  function  is
              currently not implemented.

       setb block
              Mark the block number block as allocated.

       seti filespec
              Mark  inode filespec as in use in the inode bitmap.

       show_super_stats
              List the contents of the super block.

       stat filespec
              Display the contents of the inode structure of  the
              inode filespec.

       testb block
              Test  if  the block number block is marked as allo-
              cated in the block bitmap.

       testi filespec
              Test if the inode filespec is marked  as  allocated
              in the inode bitmap.

       unlink pathname
              Remove  the link specified by pathname to an inode.
              Note this  does  not  adjust  the  inode  reference
              counts.

       write source_file out_file
              Create a file in the filesystem named out_file, and
              copy the contents of source_file into the  destina-
              tion file.

SPECIFYING FILES
       Many  debugfs  commands  take a filespec as an argument to
       specify an  inode  (as  opposed  to  a  pathname)  in  the
       filesystem  which  is  currently  opened  by debugfs.  The
       filespec argument may be  specified  in  two  forms.   The
       first  form  is an inode number surrounded by angle brack-
       ets, e.g., <2>.  The second form is  a  pathname;  if  the
       pathname  is prefixed by a forward slash ('/'), then it is
       interpreted relative to the root of the  filesystem  which
       is  currently  opened by debugfs.  If not, the pathname is
       interpreted relative to the current working  directory  as
       maintained  by debugfs.  This may be modified by using the
       debugfs command cd.

AUTHOR
       debugfs was written by Theodore Ts'o <tytso@mit.edu>.

SEE ALSO
       dumpe2fs(8), e2fsck(8), mke2fs(8)

E2fsprogs version 1.14     January 1999                         1