NAME
----
-btrfs - control a btrfs filesystem
+btrfs - a toolbox to manage btrfs filesystems
SYNOPSIS
--------
DESCRIPTION
-----------
-*btrfs* is used to control the filesystem and the files and directories stored.
-It is the tool to create or destroy a snapshot or a subvolume for the
-filesystem, to defrag a file or a directory, flush the data to the disk,
-to resize the filesystem, to scan the device.
+The *btrfs* utility is a toolbox for managing btrfs filesystems. There are
+command groups to work with subvolumes, devices, for whole filesystem or other
+specific actions. See section *COMMANDS*.
+
+There are also standalone tools for some tasks like *btrfs-convert* or
+*btrfstune* that were separate historically and/or haven't been merged to the
+main utility. See section 'STANDALONE TOOLS' for more details.
+
+For other topics (mount options, etc) please refer to the separate manual
+page `btrfs`(5).
+
+COMMAND SYNTAX
+--------------
+
+Any command name can be shortened so long as the shortened form is unambiguous,
+however, it is recommended to use full command names in scripts. All command
+groups have their manual page named *btrfs-<group>*.
-It is possible to abbreviate the commands unless the commands are ambiguous.
For example: it is possible to run *btrfs sub snaps* instead of
*btrfs subvolume snapshot*.
But *btrfs file s* is not allowed, because *file s* may be interpreted
both as *filesystem show* and as *filesystem sync*.
-If a command is terminated by '--help', the detailed help is showed.
-If the passed command matches more commands,
-detailed help of all the matched commands is showed. For example
-*btrfs dev --help* shows the help of all *device** commands.
+If the command name is ambiguous, the list of conflicting options is
+printed.
+
+For an overview of a given command use 'btrfs command --help'
+or 'btrfs [command...] --help --full' to print all available options.
COMMANDS
--------
See `btrfs-rescue`(8) for details.
*restore*::
- Manage a btrfs filesystem, including label setting/sync and so on. +
+ Try to restore files from a damaged btrfs filesystem. +
See `btrfs-restore`(8) for details.
*scrub*::
Create/delete/list/manage btrfs subvolume. +
See `btrfs-subvolume`(8) for details.
+STANDALONE TOOLS
+----------------
+
+New functionality could be provided using a standalone tool. If the functionality
+proves to be useful, then the standalone tool is declared obsolete and its
+functionality is copied to the main tool. Obsolete tools are removed after a
+long (years) depreciation period.
+
+Tools that are still in active use without an equivalent in *btrfs*:
+
+*btrfs-convert*:: in-place conversion from ext2/3/4 filesystems to btrfs
+*btrfstune*:: tweak some filesystem properties on a unmounted filesystem
+*btrfs-select-super*:: rescue tool to overwrite primary superblock from a spare copy
+*btrfs-find-root*:: rescue helper to find tree roots in a filesystem
+
+Deprecated and obsolete tools:
+
+*btrfs-debug-tree*:: moved to *btrfs inspect-internal dump-tree*
+*btrfs-show-super*:: moved to *btrfs inspect-internal dump-super*
+*btrfs-zero-log*:: moved to *btrfs rescue zero-log*
+
EXIT STATUS
-----------
*btrfs* returns a zero exit status if it succeeds. Non zero is returned in
SEE ALSO
--------
-`mkfs.btrfs`(8), `ionice`(1),
`btrfs-balance`(8),
`btrfs-check`(8),
+`btrfs-convert`(8),
`btrfs-device`(8),
`btrfs-filesystem`(8),
`btrfs-inspect-internal`(8),
`btrfs-scrub`(8),
`btrfs-send`(8),
`btrfs-subvolume`(8),
+`btrfstune`(8),
+`mkfs.btrfs`(8)