DEBUGFS
Section: Maintenance Commands (8)
Updated: July 2000
Index
Return to Main Contents
Copyright 1993, 1994, 1995 by Theodore Ts'o. All Rights Reserved.
This file may be copied under the terms of the GNU Public License.
NAME
debugfs - ext2 file system debugger
SYNOPSIS
debugfs
[
-b
blocksize
]
[
-s
superblock
]
[
-f
cmd_file
]
[
-R
request
]
[
-V
]
[
[
-w
]
[
-c
]
[
device
]
]
DESCRIPTION
The
debugfs
program
is a file system debugger. It can be used to examine and change the
state of an ext2 file system.
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.
- -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 executing 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 number 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
filespec.
- 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 output 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 filesystem 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.
- 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 initialize 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 reference counts.
- ls [-l] filespec
-
Print a listing of the files in the directory
filespec.
- 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, character 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] [-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 there are some unknown
or incompatible filesystem features which would normally
prevent the filesystem from being opened. The
-c, -b, 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, deallocate 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 allocated 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 destination file.
- lcd directory
-
Change the current working directory of the
debugfs
process to
directory
on the native filesystem.
- 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 brackets, 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)
Index
- NAME
-
- SYNOPSIS
-
- DESCRIPTION
-
- OPTIONS
-
- COMMANDS
-
- SPECIFYING FILES
-
- AUTHOR
-
- SEE ALSO
-