debugfs - ext2 file system debugger


SYNOPSIS

       debugfs [ -b blocksize ] [ -s superblock ] [ -f cmd_file ]
       [ -R request ] [ -V ] [ [ -w ] [ -c ] [ -i ] [ 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.

       -c     Specifies  that the file system should be opened in
              catastrophic mode, in which  the  inode  and  group
              bitmaps are not read initially.  This can be useful
              for filesystems with  significant  corruption,  but
              because  of  this,  catastrophic  mode  forces  the
              filesystem to be opened read-only.

       -i     Specifies that device represents an ext2 image file
              created  by  the  e2image  program.  Since the ext2
              image file  only  contains  the  superblock,  block
              group   descriptor,   block  and  inode  allocation
              bitmaps, and the inode table, many debugfs commands
              will  not  function  properly.   Warning: no safety
              checks are in place, and debugfs may fail in inter­
              esting  ways if commands such as ls, dump, etc. are
              tried.  debugfs is a debugging tool.  It has  rough
              edges!

       -b blocksize
              Forces the use of the given block size for the file
              system, rather than  detecting  the  correct  block
              size as normal.

       -s superblock
              Causes  the  file system superblock to be read from
              the given block number,  rather  than  the  default
              (1).  If you give a -s option, you must also give a
              -b option.

       -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.

              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.

       feature [fs_feature] [-fs_feature] ...
              Set  or  clear  various  filesystem features in the
              superblock.  After setting or clearing any filesys­
              tem features that were requested, print the current
              state of the filesystem feature set.

       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.

              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] [-f] [-i] [-c] [-b blocksize] [-s superblock]
              device
              Open a filesystem for editing.  The -w flag  causes
              the  filesystem  to  be opened for writing.  The -f
              flag forces the filesystem to  be  opened  even  if

              features which would normally prevent the  filesys­
              tem  from  being  opened.   The  -c, -b, -i, and -s
              options behave the same as those to debugfs itself.

       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 [-h]
              List the contents of the super block and the  block
              group  descriptors.   If the -h flag is given, only
              print out the superblock contents.

       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.

       lcd directory
              Change the current working directory of the debugfs


       rdump directory destination
              Recursively dump directory  and  all  its  contents
              (including regular files, symbolic links, and other
              directories)  into  the  named  destination   which
              should  be  an  existing  directory  on  the native
              filesystem.


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)


Man(1) output converted with man2html