---
name: "dcmd"
section: "1"
platform: "linux"
package: "devscripts"
version: "2.25.15+deb13u1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/dcmd"
---

# dcmd(1)

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

## 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 the files involved in an upload (for *.changes* files) or a source package (for *.dsc* files).

If *command* is omitted (that is the first argument is an existing *.dsc* or *.changes* file), the expanded list of files is printed to stdout, one file by line. Useful for usage in backticks.

## OPTIONS

There are a number of options which may be used in order to select only a subset of the files listed in the *.dsc* or *.changes* file. If a requested file is not found, an error message will be printed.

- **--dsc**

  Select the *.dsc* file.

- **--buildinfo**

  Select the *.buildinfo* 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 by **--no** to indicate that all files *not* matching the specification should be selected.

It is not possible to combine positive filtering options (e.g. **--dsc**) and negative filtering options (e.g. **--no-changes**) in the same **dcmd** invocation.

- **--no-fail-on-missing, -r**

  If any of the requested files were not found, do not output an error.

- **--package, -p**

  Output package name part only.

- **--sort, -s**

  Sort output alphabetically.

- **--tac, -t**

  Reverse output order.

## EXAMPLES

Copy the result of a build to another machine:

```
$ 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:

```
$ 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)](/dpkg-genchanges/1.md), [**dpkg-source**(1)](/dpkg-source/1.md)

## AUTHOR

This program was written by Romain Francoise \<rfrancoise@debian.org\> and is released under the GPL, version 2 or later.
