basic linux commands

cp Command Syntax

The syntax is as follows to copy files and directories using the cp command:

 
cp SOURCE DEST
cp SOURCE DIRECTORY
cp SOURCE1 SOURCE2 SOURCE3 SOURCEn DIRECTORY
cp[OPTION]  SOURCE DEST
cp[OPTION]  SOURCE DIRECTORY
 

Where,

  • In the first and second syntax you copy SOURCE file to DEST file or DIRECTORY.
  • In the third syntax you copy multiple SOURCE(s) (files) to DIRECTORY.

Linux Copy File Examples

To make a copy of a file called file.doc in the current directory as newfile.doc, enter:
$ cp file.doc newfile.doc
$ ls -l *.doc

To copy a file in your current directory into another directory, enter:
$ cp filename /tmp
$ ls /tmp/filename
$ cd /tmp
$ ls
$ rm filename

To copy a file to a new file and preserve the modification date, time, and access control list associated with the source file, enter:
$ cp -p filename /path/to/new/location/myfile

To copy all the files in a directory to a new directory, enter:
$ cp * /home/tom/backup

To copy a directory, including all its files and subdirectories, to another directory, enter (copy directories recursively):
$ cp -R * /home/tom/backup

How To Use chmod and chown Command

How To Use chmod and chown Command

How do I use chmod and chown command under Linux / Unix operating systems? Use the chown command to change file owner and group information. Use the chmod command to change file access permissions such as read, write, and access.

How do I use chmod and chown command under Linux / Unix operating systems?

Use the chown command to change file owner and group information. Use the chmod command to change file access permissions such as read, write, and access.

chown command

chown command changes the user and/or group ownership of for given file. The syntax is:

 
chown owner-user filechown owner-user:owner-group filechown owner-user:owner-group directory
chown options owner-user:owner-group file
 

Examples

First, list permissions for demo.txt, enter:
# ls -l demo.txt
Sample outputs:

-rw-r--r-- 1 root root 0 Aug 31 05:48 demo.txt

In this example change file ownership to vivek user and list the permissions, run:
# chown vivek demo.txt
# ls -l demo.txt

Sample outputs:

-rw-r--r-- 1 vivek root 0 Aug 31 05:48 demo.txt

In this next example, the owner is set to vivek followed by a colon and a group onwership is also set to vivek group, run:
# chown vivek:vivek demo.txt
# ls -l demo.txt

Sample outputs:

-rw-r--r-- 1 vivek vivek 0 Aug 31 05:48 demo.txt

In this example, change only the group of file. To do so, the colon and following GROUP-name ftp are given, but the owner is omitted, only the group of the files is changed:
# chown :ftp demo.txt
# ls -l demo.txt

Sample outputs:

-rw-r--r-- 1 vivek ftp 0 Aug 31 05:48 demo.txt

Please note that if only a colon is given, or if NEW-OWNER is empty, neither the owner nor the group is changed:
# chown : demo.txt
In this example, change the owner of /foo to “root”, execute:
# chown root /foo
Likewise, but also change its group to “httpd”, enter:
# chown root:httpd /foo
Change the owner of /foo and subfiles to “root”, run:
# chown -R root /u
Where,

  • -R - Recursively change ownership of directories and their contents.

12 Linux Chown Command Examples to Change Owner and Group

12 Linux Chown Command Examples to Change Owner and Group

The concept of owner and groups for files is fundamental to Linux. Every file is associated with an owner and a group. You can use chown and chgrp commands to change the owner or the group of a particular file or directory. In this article, we will discuss the ‘chown’ command as it covers most part of the ‘chgrp’ command also.

The concept of owner and groups for files is fundamental to Linux. Every file is associated with an owner and a group. You can use chown and chgrp commands to change the owner or the group of a particular file or directory.

In this article, we will discuss the ‘chown’ command as it covers most part of the ‘chgrp’ command also.

Even if you already know this command, probably one of the examples mentioned below might be new to you.

  1. Change the owner of a file

ls -lart tmpfile

-rw-r–r– 1 himanshu family 0 2012-05-22 20:03 tmpfile

chown root tmpfile

ls -l tmpfile

-rw-r–r– 1 root family 0 2012-05-22 20:03 tmpfile
So we see that the owner of the file was changed from ‘himanshu’ to ‘root’.

  1. Change the group of a file

Through the chown command, the group (that a file belongs to) can also be changed.

ls -l tmpfile

-rw-r–r– 1 himanshu family 0 2012-05-22 20:03 tmpfile

chown :friends tmpfile

ls -l tmpfile

-rw-r–r– 1 himanshu friends 0 2012-05-22 20:03 tmpfile
If you observe closely, the group of the file changed from ‘family’ to ‘friends’. So we see that by just adding a ‘:’ followed by the new group name, the group of the file can be changed.

  1. Change both owner and the group

ls -l tmpfile

-rw-r–r– 1 root family 0 2012-05-22 20:03 tmpfile

chown himanshu:friends tmpfile

ls -l tmpfile

-rw-r–r– 1 himanshu friends 0 2012-05-22 20:03 tmpfile
So we see that using the syntax ‘:’, the owner as well as group can be changed in one go.

  1. Using chown command on symbolic link file

Here is a symbolic link :

ls -l tmpfile_symlnk

lrwxrwxrwx 1 himanshu family 7 2012-05-22 20:03 tmpfilesymlnk -> tmpfile
So we see that the symbolic link ‘tmpfile
symlink’ links to the file ‘tmpfile’.

Lets see what happens if chown command is issued on a symbolic link:

chown root:friends tmpfile_symlnk

ls -l tmpfile_symlnk

lrwxrwxrwx 1 himanshu family 7 2012-05-22 20:03 tmpfile_symlnk -> tmpfile

ls -l tmpfile

-rw-r–r– 1 root friends 0 2012-05-22 20:03 tmpfile
When the chown command was issued on symbolic link to change the owner as well as the group then its the referent of the symbolic link ie ‘tmpfile’ whose owner and group got changed. This is the default behavior of the chown command. Also, there exists a flag ‘–dereference’ for the same.

  1. Using chown command to forcefully change the owner/group of symbolic file.

Using flag ‘-h’, you can forcefully change the owner or group of a symbolic link as shown below.

ls -l tmpfile_symlnk

lrwxrwxrwx 1 himanshu family 7 2012-05-22 20:03 tmpfile_symlnk -> tmpfile

chown -h root:friends tmpfile_symlnk

ls -l tmpfile_symlnk

lrwxrwxrwx 1 root friends 7 2012-05-22 20:03 tmpfile_symlnk -> tmpfile
6. Change owner only if a file is owned by a particular user

Using chown “–from” flag, you can change the owner of a file, only if that file is already owned by a particular owner.

ls -l tmpfile

-rw-r–r– 1 root friends 0 2012-05-22 20:03 tmpfile

chown –from=guest himanshu tmpfile

ls -l tmpfile

-rw-r–r– 1 root friends 0 2012-05-22 20:03 tmpfile

chown –from=root himanshu tmpfile

ls -l tmpfile

-rw-r–r– 1 himanshu friends 0 2012-05-22 20:03 tmpfile
In the example above, we verified that the original owner/group of the file ‘tmpfile’ was root/friends.
Next we used the ‘–from’ flag to change the owner to ‘himanshu’ but only if the existing owner is ‘guest’.
Now, as the existing owner was not ‘guest’. So, the command failed to change the owner of the file.
Next we tried to change the owner if the existing owner is ‘root’ (which was true) and this time command was successful and the owner was changed to ‘himanshu’.
On a related note, if you want to change the permission of a file, you should use chmod command.

If you are a beginner, you should start by reading the basics of file permissions.

  1. Change group only if a file already belongs to a certain group

Here also the flag ‘–from’ is used but in the following way:

ls -l tmpfile

-rw-r–r– 1 himanshu friends 0 2012-05-22 20:03 tmpfile

chown –from=:friends :family tmpfile

ls -l tmpfile

-rw-r–r– 1 himanshu family 0 2012-05-22 20:03 tmpfile
Since the file ‘tmpfile’ actually belonged to group ‘friends’ so the condition was correct and the command was successful.

So we see that by using the flag ‘–from=:’ we can change the group under a particular condition.

NOTE: By following the template ‘–from=:’, condition on both the owner and group can be applied.

  1. Copy the owner/group settings from one file to another

This is possible by using the ‘–reference’ flag.

ls -l file

-rwxr-xr-x 1 himanshu family 8968 2012-04-09 07:10 file

ls -l tmpfile

-rw-r–r– 1 root friends 0 2012-05-22 20:03 tmpfile

chown –reference=file tmpfile

ls -l tmpfile

-rw-r–r– 1 himanshu family 0 2012-05-22 20:03 tmpfile
In the above example, we first checked the owner/group of the reference-file ‘file’ and then checked the owner/group of the target-file ‘tmpfile’. Both were different. Then we used the chown command with the ‘–reference’ option to apply the owner/group settings from the reference file to the target file. The command was successful and the owner/group settings of ‘tmpfile’ were made similar to the ‘file’.

  1. Change the owner/group of the files by traveling the directories recursively

This is made possible by the ‘-R’ option.

ls -l linux/linuxKernel

-rw-r–r– 1 root friends 0 2012-05-22 21:52 linux/linuxKernel

ls -l linux/ubuntu/ub10

-rw-r–r– 1 root friends 0 2012-05-22 21:52 linux/ubuntu/ub10

ls -l linux/redhat/rh7

-rw-r–r– 1 root friends 0 2012-05-22 21:52 linux/redhat/rh7

chown -R himanshu:family linux/

ls -l linux/redhat/rh7

-rw-r–r– 1 himanshu family 0 2012-05-22 21:52 linux/redhat/rh7

ls -l linux/ubuntu/ub10

-rw-r–r– 1 himanshu family 0 2012-05-22 21:52 linux/ubuntu/ub10

ls -l linux/linuxKernel

-rw-r–r– 1 himanshu family 0 2012-05-22 21:52 linux/linuxKernel
So we see that after checking the owner/group of all the files in the directory ‘linux’ and its two sub-directories ‘ubuntu’ and ‘redhat’. We issued the chown command with the ‘-R’ option to change both the owner and group. The command was successful and owner/group of all the files was changed successfully.

  1. Using chown command on a symbolic link directory

Lets see what happens if we issue the ‘chown’ command to recursively change the owner/group of files in a directory that is a symbolic link to some other directory.

Here is a symbolic link directory ‘linux_symlnk’ that links to the directory ‘linux’ (already used in example ’9′ above) :

$ ls -l linuxsymlnk
lrwxrwxrwx 1 himanshu family 6 2012-05-22 22:02 linux
symlnk -> linux/
Now, lets change the owner (from himanshu to root) of this symbolic link directory recursively :

chown -R root:friends linux_symlnk

ls -l linux_symlnk/

-rw-r–r– 1 himanshu friends 0 2012-05-22 21:52 linuxKernel
drwxr-xr-x 2 himanshu friends 4096 2012-05-22 21:52 redhat
drwxr-xr-x 2 himanshu friends 4096 2012-05-22 21:52 ubuntu
In the ouput above we see that the owner of the files and directories was not changed. This is because by default the ‘chown’ command cannot traverse a symbolic link. This is the default behavior but there is also a flag ‘-P’ for this.

  1. Using chown to forcefully change the owner/group of a symbolic link directory recursively

This can be achieved by using the flag -H

chown -R -H guest:family linux_symlnk

ls -l linux_symlnk/

total 8
-rw-r–r– 1 guest family 0 2012-05-22 21:52 linuxKernel
drwxr-xr-x 2 guest family 4096 2012-05-22 21:52 redhat
drwxr-xr-x 2 guest family 4096 2012-05-22 21:52 ubuntu
So we see that by using the -H flag, the owner/group of all the files/folder were changed.

  1. List all the changes made by the chown command

Use the verbose option -v, which will display whether the ownership of the file was changed or retained as shown below.

chown -v -R guest:friends linux

changed ownership of linux/redhat/rh7' to guest:friends
changed ownership of
linux/redhat’ retained to guest:friends
ownership of linux/redhat_sym' retained as guest:friends
ownership of
linux/ubuntu_sym’ retained as guest:friends
changed ownership of linux/linuxKernel' to guest:friends
changed ownership of
linux/ubuntu/ub10′ to guest:friends
ownership of linux/ubuntu' retained as guest:friends
ownership of
linux’ retained as guest:friends

Linux Copy File Command [ cp Command Examples ]

Linux Copy File Command [ cp Command Examples ]

To copy files and directories use the cp command under Linux, UNIX, and BSD like operating systems. cp is the command entered in a Unix / Linux shell to copy a file from one place to another, possibly on a different filesystem. The original file remains unchanged, and the new file may have the same or a different name.

About these ads
This entry was posted in Uncategorized. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s