# man > dcmd(1)

---
type: CommandReference
command: dcmd
mode: man
section: 1
source: man-pages
---

## Quick Reference

- `dcmd <changes-file>` — expand and print the file list to stdout
- `dcmd scp <changes-file> host:/path/` — copy all files in a .changes file to a remote host
- `dcmd --diff --deb scp <changes-file> host:/path/` — copy only the diff and binary .deb files
- `dcmd md5sum <dsc-file>` — compute checksums of all files in a source package
- `dcmd --no-diff md5sum <dsc-file>` — compute checksums excluding the diff file

## Name

**dcmd** — expand file lists of .dsc/.changes files in the command line

## Synopsis

`dcmd` [`options`] [`command`] [`changes-file`|`dsc-file`] ...

## Description

**dcmd** replaces any reference to a `.dsc` or `.changes` file in the command line with the list of files in its 'Files' section, plus the file itself. It allows easy manipulation of all files involved in an upload (for `.changes` files) or a source package (for `.dsc` files). If `command` is omitted, the expanded file list is printed to stdout, one file per line.

## Options

### File Selection

- `--dsc` — select the `.dsc` file
- `--schanges` — select `.changes` files for the 'source' architecture
- `--bchanges` — select `.changes` files for binary architectures
- `--changes` — select `.changes` files (implies `--schanges` and `--bchanges`)
- `--archdeb` — select architecture-dependent binary packages (`.deb` files)
- `--indepdeb` — select architecture-independent binary packages (`.deb` files)
- `--deb` — select binary packages (`.deb` files) (implies `--archdeb` and `--indepdeb`)
- `--archudeb` — select architecture-dependent `.udeb` binary packages
- `--indepudeb` — select architecture-independent `.udeb` binary packages
- `--udeb` — select `.udeb` binary packages (implies `--archudeb` and `--indepudeb`)
- `--tar`, `--orig` — select the upstream `.tar` file
- `--diff`, `--debtar` — select the Debian `.debian.tar` or `.diff` file

Each option may be prefixed with `--no` to select all files _not_ matching the specification. Positive and negative filtering options cannot be combined in the same invocation.

### Miscellaneous

- `--no-fail-on-missing`, `-r` — do not output an error if requested files are not found
- `--package`, `-p` — output only the package name part
- `--sort`, `-s` — sort output alphabetically
- `--tac`, `-t` — reverse output order

## Examples

Copy the result of a build to another machine:

shell
$ dcmd scp rcs_5.7-23_amd64.changes elegiac:/tmp
rcs_5.7-23.dsc                  100%  490     0.5KB/s   00:00
rcs_5.7-23.diff.gz              100%   12KB  11.7KB/s   00:00
rcs_5.7-23_amd64.deb            100%  363KB 362.7KB/s   00:00
rcs_5.7-23_amd64.changes        100% 1095     1.1KB/s   00:00

$ dcmd --diff --deb scp rcs_5.7-23_amd64.changes elegiac:/tmp
rcs_5.7-23.diff.gz              100%   12KB  11.7KB/s   00:00
rcs_5.7-23_amd64.deb            100%  363KB 362.7KB/s   00:00
Check the contents of a source package:

shell
$ dcmd md5sum rcs_5.7-23.dsc
8fd09ea9654cda128f8d5c337d3b8de7  rcs_5.7.orig.tar.gz
f0ceeae96603e823eacba6721a30b5c7  rcs_5.7-23.diff.gz
5241db1e231b1f43ae5514b63d2523f8  rcs_5.7-23.dsc

$ dcmd --no-diff md5sum rcs_5.7-23.dsc
8fd09ea9654cda128f8d5c337d3b8de7  rcs_5.7.orig.tar.gz
5241db1e231b1f43ae5514b63d2523f8  rcs_5.7-23.dsc
## See Also

- [dpkg-genchanges(1)](https://manpages.debian.org/dpkg-genchanges.1)
- [dpkg-source(1)](https://manpages.debian.org/dpkg-source.1)