Cp ( Unix ) - wikipedia Cp ( Unix ) Wikibooks has a book on the topic of : Guide to Unix / Commands / File System Utilities # cp In computing, cp is a command in various Unix and Unix - like operating systems for copying files and directories. The command has three principal modes of operation, expressed by the types of arguments presented to the program for copying a file to another file, one or more files to a directory, or for copying entire directories to another directory. The utility further accepts various command line option flags to detail the operations performed. The two major specifications are POSIX cp and GNU cp. GNU cp has many additional options over the POSIX version. The command is also available in the EFI shell. Contents 1 History 2 Operating modes 3 Usage 4 Option flags 5 Examples 6 Related Unix commands 7 See also 8 References History cp was part of Version 1 Unix. Operating modes cp has three principal modes of operation. These modes are inferred from the type and count of arguments presented to the program upon invocation. When the program has two arguments of path names to files, the program copies the contents of the first file to the second file, creating the second file if necessary. When the program has one or more arguments of path names of files and following those an argument of a path to a directory, then the program copies each source file to the destination directory, creating any files not already existing. When the program 's arguments are the path names to two directories, cp copies all files in the source directory to the destination directory, creating any files or directories needed. This mode of operation requires an additional option flag, typically r, to indicate the recursive copying of directories. If the destination directory already exists, the source is copied into the destination, while a new directory is created if the destination does not exist. Usage Copying a file to another file : cp ( - fHip ) ( -- ) sourcefile targetfile Copying file ( s ) to a directory cp ( - fHip ) ( -- ) sourcefile... targetdirectory Copying a directory to a directory ( - r or - R must be used ) cp - r - R ( - fHip ) ( -- ) sourcedirectory... targetdirectory Option flags f ( force ) -- specifies removal of the target file if it can not be opened for write operations. The removal precedes any copying performed by the cp command. H ( dereference ) -- makes the cp command follow symbolic links ( symlinks ) so that the destination has the target file rather than a symlink to the target. i ( interactive ) -- prompts with the name of a file to be overwritten. This occurs if the TargetDirectory or TargetFile parameter contains a file with the same name as a file specified in the SourceFile or SourceDirectory parameter. If one enters y ( or the locale 's equivalent of y ), the cp command continues. Any other answer prevents the cp command from overwriting the file. p ( preserve ) -- the p flag preserves the following characteristics of each source path in the corresponding target : the time of the last data modification and the time of the last access, the ownership ( only if it has permissions to do this ), and the file permission - bits. R or r ( recursive ) -- copy directories recursively Examples Creating a copy of a file in the current directory : cp prog. c prog. bak This copies prog. c to prog. bak. If the prog. bak file does not already exist, the cp command creates it. If it does exist, the cp command replaces its contents with the contents of the prog. c file. Copy two files in the current directory into another directory : cp jones smith / home / nick / clients This copies the files jones to / home / nick / clients / jones and smith to / home / nick / clients / smith. Copy a file to a new file and preserve the modification date, time, and access control list associated with the source file : cp - p smith smith. jr This copies the smith file to the smith. jr file. Instead of creating the file with the current date and time stamp, the system gives the smith. jr file the same date and time as the smith file. The smith. jr file also inherits the smith file 's access control protection. Copy a directory, including all its files and subdirectories, to another directory : cp - R / home / nick / clients / home / nick / customers This copies the directory clients, including all its files, subdirectories, and the files in those subdirectories, to the directory customers / clients. Some Unix systems behave differently in this mode, depending on the termination of directory paths. Using cp - R / home / nick / clients / / home / nick / customers on a GNU system it behaves as expected ; however, on a BSD system, it copies all the contents of the `` clients '' directory, instead of the directory clients itself. The same happens in both GNU and BSD systems if the path of the source directory ends in. or... ( with or without trailing slash ). The copying of a file to an existing file is performed by opening the existing file in update mode, thereby preserving the files inode, which requires write access and results in the target file retaining the permissions it had originally. Related Unix commands cpio -- copy an entire directory structure from one place to another tar -- create an archive of files link -- system call to create a link to a file or directory ln -- create a link to a file or directory mv -- move a file or directory rm -- remove a file or directory unlink -- system call to remove a file or directory chmod -- change the mode ( aka permissions ) on a file or directory chown -- change ownership on a file or directory chgrp -- change group on a file or directory uucp -- unix to unix copy scp -- secure copy over SSH See also GNU Core Utilities List of Unix programs References Jump up ^ `` GNU Coreutils : cp invocation ''. www.gnu.org. Jump up ^ `` EFI Shells and Scripting ''. Intel. Retrieved 2013 - 09 - 25. Jump up ^ McIlroy, M.D. ( 1987 ). A Research Unix reader : annotated excerpts from the Programmer 's Manual, 1971 -- 1986 ( PDF ) ( Technical report ). CSTR. Bell Labs. 139. Unix command - line interface programs and shell builtins File system cat chmod chown chgrp cksum cmp cp dd du df file fuser ln ls mkdir mv pax pwd rm rmdir split tee touch type umask Processes at bg crontab fg kill nice ps time User environment env exit logname mesg talk tput uname who write Text processing awk basename comm csplit cut diff dirname ed ex fold head iconv join m4 more nl paste printf sed sort strings tail tr uniq vi wc xargs Shell builtins alias cd echo test unset wait Searching find grep Documentation man Software development ar ctags lex make nm strip yacc Miscellaneous bc cal expr lp od sleep true and false Categories Standard Unix programs Unix SUS2008 utilities List Retrieved from `` https://en.wikipedia.org/w/index.php?title=Cp_(Unix)&oldid=862300809 '' Categories : Standard Unix programs Unix SUS2008 utilities File copy utilities Talk Contents About Wikipedia Asturianu Беларуская Български Català Čeština Deutsch Español Euskara فارسی Français 한국어 हिन्दी Italiano ქართული Lumbaart Magyar Nederlands 日本 語 Polski Português Română Русский Українська Tiếng Việt 中文 17 more Edit links This page was last edited on 3 October 2018, at 13 : 45 ( UTC ). Text is available under the Creative Commons Attribution - ShareAlike License ; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy. Wikipedia ® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization. About Wikipedia

Question: unix command for copying a file from a directory to another
Answer: cp