DEV Community

Cover image for Living in the Shell #11; cp (Copy Files/Directories)
Babak K. Shandiz
Babak K. Shandiz

Posted on • Originally published at babakks.github.io on

Living in the Shell #11; cp (Copy Files/Directories)

cp 🏭

Creates copies of files and directories.

⚠️ Default behavior is to overwrite destination files.

Copy single file

cp ~/.bashrc ~/.bashrc-copy
Enter fullscreen mode Exit fullscreen mode

Copy multiple files into a new directory -t

cd ~ && cp .bashrc .zshrc target-dir
cd ~ && cp -t target-dir .bashrc .zshrc
Enter fullscreen mode Exit fullscreen mode

Both create target-dir directory and copy .bashrc and .zshrc into it.

Copy by wildcard selection -t

cd ~ && cp -t target-dir *.zip *.txt
Enter fullscreen mode Exit fullscreen mode

Copies all .zip and .txt files to target-dir directory.

Copy a directory -r

cp -r ~/.config ~/.config-copy
Enter fullscreen mode Exit fullscreen mode

Update only newer files -u

cp -ru ~/.config ~/.config-last-backup
Enter fullscreen mode Exit fullscreen mode

This just copies files that modified after the last copy.

Create backup for existing destination files -b

cp -rb ~/.config ~/.config-last-backup
Enter fullscreen mode Exit fullscreen mode

Set to ask for overwriting -i

cp -ri ~/.config ~/.config-last-backup
Enter fullscreen mode Exit fullscreen mode

Set to keep existing files (no overwrite) -n

cp -rn ~/.config ~/.config-last-backup
Enter fullscreen mode Exit fullscreen mode

Discussion (0)