FileInfo represents information about a file
FileDiff represents the difference between two files.
Permission represents file permissions of a file
{
	boolToChar := func(b bool) string {
		if b {
			return "r"
		}
		return "-"
	}
	return fmt.Sprintf("%s%s%s%s%s%s%s%s%s",
		boolToChar(p.OwnerRead), boolToChar(p.OwnerWrite), boolToChar(p.OwnerExecute),
		boolToChar(p.GroupRead), boolToChar(p.GroupWrite), boolToChar(p.GroupExecute),
		boolToChar(p.OthersRead), boolToChar(p.OthersWrite), boolToChar(p.OthersExecute),
	)
}BaseInfo contains the common fields for both disks and partitions
PartitionInfo represents information about a disk partition
DiskInfo represents information about a disk
import "fmt"