Reason is I want to make a tidy script instead of

cd /some/dir
cpio -whatever<somefile
cd -

3 Answers 3


There is nothing in GNU cpio to allow for this. This might be a little cleaner:

(cd /some/dir && cpio -whatever < /some/file)

Using the subshell parentheses will preserve the scripts current working directory and using && will ensure that the cpio extraction is only done if you successfully change directories to the target.

  • 3
    The somefile has to actually reside in /some/dir here. I just tried it and it sayd it couldn't find the files. So you either have to use relative paths back to where the files were or absolute paths. Feb 13, 2016 at 11:28

Adding a little more to what TCampbell did:

(cp /some/file /some/dir && cd /some/dir && cpio -whatever < file && rm -f file)


Use -D option (cpio (GNU cpio) 2.13, should be available in most modern distributions):

   Operation modifiers valid in any mode
       -D, --directory=DIR
              Change to directory DIR.
cat archive | cpio -D /tmp/outdir -idmv

Output directory will be created, if it doesn't exist.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .