If you're copying a file on a Unix / Linux / OS X operating system, use the
cp command. Use
cp -r to copy a directory and
all its contents - the
-r means "recursive". If you use the
cp command to copy files that you have read access to, but do not own, then you'll be made the owner of the new copies; for the command to do otherwise would have security implications.
So what if you need to copy whole directory structure and
retain the current user and group assignments? First, you'll need to log in as the system administrator (root). Use the
su - command and be careful!
Once you're logged in as root, change to the directory that's above the one you wish to copy, and copy via the
tar command. For example, to copy everything in /home to /second/home:
cd /
mkdir /second
tar cpf - home | (cd second; tar xpf -)
The tar utility is more often used to make an archive file containing all of the information in a directory or series of directorys.
• Specified with the
c parameter, tar
creates an archive and with the
x parameter, it e
xtracts from an archive
• With the
f - option, tar is instructed to write to
stdout or read from
stdin.
• The
p option preserves ownerships on extraction, to prevent all of the files being changed to the ownership of the person running the command ... and for reasons of inter-user security, this only works for root.
(written 2006-04-28, updated 2006-06-05)
Associated topics are indexed as below, or enter http://melksh.am/nnnn for individual articles
A101 - Web Application Deployment - Linux -An Introduction For Users [3819] Packing a tar, jar or war file - best practise - (2012-07-26)
[3791] The Kernel, Shells and Daemons. Greek Gods in computing - (2012-07-01)
[3256] Displaying a directory or file system tree - Linux - (2011-04-22)
[3179] Oops - I typed ci not vi, and have lost my file ... - (2011-02-21)
[2831] Recording (a macro) in vi - (2010-06-27)
[2636] Linux - useful tips including history and file name completion - (2010-02-15)
[2494] Making Linux Politically correct - (2009-11-06)
[2479] Accidentally typed ci rather than vi? - (2009-10-27)
[2300] What does x on a linux directory mean? - (2009-07-21)
[2299] How much space does my directory take - Linux - (2009-07-20)
[2203] Always use su with minus. And where do programs come from? - (2009-05-27)
[2201] Running straight from the jar, but not from a tar - (2009-05-26)
[1904] Ruby, Perl, Linux, MySQL - some training notes - (2008-11-23)
[1902] sstrwxrwxrwx - Unix and Linux file permissions - (2008-11-23)
[1897] Keeping on an even keel - (2008-11-21)
[1893] Some Linux and Unix tips - (2008-11-18)
[1803] FTP passive mode - a sometimes cure for upload hangs - (2008-09-20)
[1764] Yank and Push - copy and move in vi - (2008-08-21)
[1651] ls command - favourite options - (2008-05-23)
[1527] Selecting file names in a shell - one word or another - (2008-02-02)
[1438] Copy and paste / cut and paste and other vi techniques - (2007-11-20)
[1408] Wireless hotel tips - FTP and Skype connections failing - (2007-10-26)
[1366] awk - a powerful data extraction and manipulation tool - (2007-09-25)
[1288] Linux run states, shell special commands, and directory structures - (2007-08-03)
[1287] Work and play at Well House Manor - Football and Shell Shortcuts - (2007-08-02)
[1259] Where am I and how did I get here? - (2007-07-05)
[1068] ls -l report, Linux / Unix - types and permssions - (2007-02-06)
[1013] Copy multiple files - confusing error message from cp - (2006-12-30)
[1012] Moving files between Windows / DOS and Linux / Unix - (2006-12-30)
[984] Cardinal numbers and magic numbers - (2006-12-14)
[749] Cottage industry or production line data handling methods - (2006-06-07)
[711] THE home directory or MY home directory - (2006-05-06)
[710] Linux training Glasgow, Python programming course Dundee - (2006-05-05)
[679] More or less on the edge of the page - (2006-04-11)
[659] Web Application Components - (2006-03-28)
[593] Finding where the disc space has gone - (2006-02-06)
[431] File permissions of Linux and Unix systems - (2005-08-31)
[430] Linux commands - some basics - (2005-08-31)
[249] An easy way out - (2005-03-17)
[152] Aladdin, or careful what you wish. - (2004-12-15)
[74] pushd and popd - (2004-10-05)
[73] vi - full circle - (2004-10-04)
A162 - Web Application Deployment - Backups and File System Management [4481] Extracting data from backups to restore selected rows from MySQL tables - (2015-05-01)
[4405] Backup procedures - via backup server - (2015-01-24)
[4400] Commenting out an echo killed my bash backup script - (2015-01-19)
[4390] Checking MySQL database backups have worked (not failed) - (2015-01-10)
[4115] More or less back - what happened to our server the other day - (2013-06-14)
[4063] Backups by crossover between network centres - setting up automatic scp transfers - (2013-04-13)
[4056] An overpractical test of our backup strategy! - (2013-03-30)
[1801] Will your backups work if you have to restore them? - (2008-09-18)
[1765] Dialects of English and Unix - (2008-08-21)
[1648] The tourists guide to Linux - (2008-05-20)
[1439] Linux / Unix - layout of operating system files - (2007-11-20)
[1023] Finding public writeable things on your linux file system - (2007-01-06)
[754] tar, jar, war, ear, sar files - (2006-06-10)
[735] Boys will be boys, saved by Ubuntu - (2006-05-27)
[554] What backup is adequate? - (2006-01-04)
[334] Symbolic links and hard links - (2005-06-02)
[153] Linux - where to put swap space - (2004-12-16)
Some other Articles
A story of goldfishMay day awayDisc PartitioningErin Brent - rest in peaceCopying files and preserving ownershipIterators - expressions tha change each time you call themMinature Cyclists only - limited headroomAs I walked in to OxfordExtremes costs of getting on lineCatch up weekend