MacOSX provides the Terminal in order to execute commands. The cp
command is used to copy files in the MacOSX terminal in different ways. A single file or multiple files can be copied to the specified destination path using cp command options.
Copy Single File
The cp command can be used to copy single file. The current file and destination path is provided as parameters to the cp command. In the following example we copy the file named database.txt
into the /var/db
path.
cp database.txt /var/db
Also the copied file name can be changed into different name than the original or source file. In the following example we set the new name as mydatabase.txt
.
cp database.txt /var/db/mydatabase.txt
The source or original file can be also specified as complete or absolute path. In the following example we copy the file database.txt
which is located in the /home/ismail/
is copied to the /var/db/
with a new name mydatabase.txt
.
cp /home/ismail/database.txt /var/db/mydatabase.txt
Copy Multiple Files
The cp command can be also used to copy multiple source files to the specified destination. The source files are provided after the cp command by separating them spaces. The last parameter is the destination path where the source files are copied. In the following example, we copy the source files named database.txt
, names.txt
and sources.txt
into the path /var/backup
.
cp database.txt names.txt sources.txt /var/backup/
Copy Folder Recursively
Single folder may contain multiple files which should be copied to the specified destination. By default the cp command can not copy a folder with files but the -R
option can be used to copy specified folders recursively.
cp -R /home/ismail/db/ /var/database/
Copy Files To/From Remote Systems via Network
The MacOSX also provides the scp
command in order to copy files from/to remote systems by using the network. The scp command is fork of the cp command which is named as Secure cp
. The scp command requires authentication for remote systems. In the following example we copy a local file named database.txt
to the remote system 192.168.1.10
.
scp /home/ismail/database.txt ismail@192.168.1.10:/home/john/
Alternatively a file from the remote system can be copied by using the scp command. In the following example we copy the file named database.txt
into the local system.
scp ismail@192.168.1.10:/home/john/ /home/ismail/database.txt