xref: /freebsd/sys/contrib/openzfs/man/man8/zfs-diff.8 (revision ccb59683b98360afaf5b5bb641a68fea22c68d0b)
1.\"
2.\" CDDL HEADER START
3.\"
4.\" The contents of this file are subject to the terms of the
5.\" Common Development and Distribution License (the "License").
6.\" You may not use this file except in compliance with the License.
7.\"
8.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9.\" or https://opensource.org/licenses/CDDL-1.0.
10.\" See the License for the specific language governing permissions
11.\" and limitations under the License.
12.\"
13.\" When distributing Covered Code, include this CDDL HEADER in each
14.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15.\" If applicable, add the following below this CDDL HEADER, with the
16.\" fields enclosed by brackets "[]" replaced with your own identifying
17.\" information: Portions Copyright [yyyy] [name of copyright owner]
18.\"
19.\" CDDL HEADER END
20.\"
21.\" Copyright (c) 2009 Sun Microsystems, Inc. All Rights Reserved.
22.\" Copyright 2011 Joshua M. Clulow <josh@sysmgr.org>
23.\" Copyright (c) 2011, 2019 by Delphix. All rights reserved.
24.\" Copyright (c) 2013 by Saso Kiselkov. All rights reserved.
25.\" Copyright (c) 2014, Joyent, Inc. All rights reserved.
26.\" Copyright (c) 2014 by Adam Stevko. All rights reserved.
27.\" Copyright (c) 2014 Integros [integros.com]
28.\" Copyright 2019 Richard Laager. All rights reserved.
29.\" Copyright 2018 Nexenta Systems, Inc.
30.\" Copyright 2019 Joyent, Inc.
31.\"
32.Dd March 16, 2022
33.Dt ZFS-DIFF 8
34.Os
35.
36.Sh NAME
37.Nm zfs-diff
38.Nd show difference between ZFS snapshots
39.Sh SYNOPSIS
40.Nm zfs
41.Cm diff
42.Op Fl FHth
43.Ar snapshot Ar snapshot Ns | Ns Ar filesystem
44.
45.Sh DESCRIPTION
46Display the difference between a snapshot of a given filesystem and another
47snapshot of that filesystem from a later time or the current contents of the
48filesystem.
49The first column is a character indicating the type of change, the other columns
50indicate pathname, new pathname
51.Pq in case of rename ,
52change in link count, and optionally file type and/or change time.
53The types of change are:
54.Bl -tag -compact -offset Ds -width "M"
55.It Sy -
56The path has been removed
57.It Sy +
58The path has been created
59.It Sy M
60The path has been modified
61.It Sy R
62The path has been renamed
63.El
64.Bl -tag -width "-F"
65.It Fl F
66Display an indication of the type of file, in a manner similar to the
67.Fl F
68option of
69.Xr ls 1 .
70.Bl -tag -compact -offset 2n -width "B"
71.It Sy B
72Block device
73.It Sy C
74Character device
75.It Sy /
76Directory
77.It Sy >
78Door
79.It Sy |\&
80Named pipe
81.It Sy @
82Symbolic link
83.It Sy P
84Event port
85.It Sy =
86Socket
87.It Sy F
88Regular file
89.El
90.It Fl H
91Give more parsable tab-separated output, without header lines and without
92arrows.
93.It Fl t
94Display the path's inode change time as the first column of output.
95.It Fl h
96Do not
97.Sy \e0 Ns Ar ooo Ns -escape
98non-ASCII paths.
99.El
100.
101.Sh EXAMPLES
102.\" These are, respectively, examples 22 from zfs.8
103.\" Make sure to update them bidirectionally
104.Ss Example 1 : No Showing the differences between a snapshot and a ZFS Dataset
105The following example shows how to see what has changed between a prior
106snapshot of a ZFS dataset and its current state.
107The
108.Fl F
109option is used to indicate type information for the files affected.
110.Bd -literal -compact -offset Ds
111.No # Nm zfs Cm diff Fl F Ar tank/test@before tank/test
112M       /       /tank/test/
113M       F       /tank/test/linked      (+1)
114R       F       /tank/test/oldname -> /tank/test/newname
115-       F       /tank/test/deleted
116+       F       /tank/test/created
117M       F       /tank/test/modified
118.Ed
119.
120.Sh SEE ALSO
121.Xr zfs-snapshot 8
122