I've issued the following command:
sudo cp ~/Transfers/ZendFramework-1.11.4-minimal/library/Zend/* ~/public_html/cmsk.dev/library/
When I do this, I start getting the following messages:
cp: omitting directory `Tag'
cp: omitting directory `Test'
cp: omitting directory `Text'
cp: omitting directory `TimeSync'
cp: omitting directory `Tool'
cp: omitting directory `Translate'
cp: omitting directory `Uri'
cp: omitting directory `Validate'
and so on...
Why do I get these messages ?
By default,
cp
copies only the direct files in, and not subdirectories in the directory. The messagecp: omitting directory 'directory'
warns you that the mentioned directory is not copied.To do so, specify the
-r
(or--recursive
) option:The manual page (command:
man cp
) contains an overview of the available options.The message means that
cp
hasn't copied the directories listed. This is the default behaviour forcp
- only files are copied normally, regardless of if you are specifying them explicitely or using*
. If you want directories copying use the-r
switch which means "recursive".Couple of things here which need to check:
Don't use
sudo
. You don't need it, you already have the permissions to write stuff in your own home directory.You can easily view hidden files and directories in the graphical file manager by selecting View/Show Hidden Files from the menu. Or by pressing Ctrl - H.
You need to use the
-R
option in thecp
command to copy a directory and it's contents./home isn't your home directory. /home/username is. So you are probably trying to copy from wrong place.
The shell is case sensitive, so ~/downloads and ~/Downloads are two different things.
When you are copying a directory like:
You're only and exactly copying the
dir1
itself and not the files within it, so at the end you will end up with a new directory structure while the structure does not exist.In other words after it has been copied it will say that my contents is
file1
,file2
, etc; However these files has not been copied and thus does not exist in it.So to fix this issue that may came up
cp
by default does not copy the directories and skips them unless you specify-r
option which copies all the files recursively too.The reason it says
omitting directory
is becausecp
and all copy utilities, that I know of, create a list of files and sub-directories to be copied before starting to copy the files. When the--recursive
options is missing, sub-directories get bumped off this list. As such, omitting refers to removal from the copy list, not from your source media. I believe this addresses the meaning of the message.The cp command is used to copy files and directory, not the nested directories, if you want to copy nesting directories then you can add -r after that, where -r means recursive.
Syntax that you can follow (running as root):
or
Suppose you have two directories 'Tag' & 'Test'
If you want to copy 'Tag' directory to 'Test' directory use command
Mostly Problem will be solved with above code if not and you get below message like
then add some files in 'Tag' directory and then copy those to 'Test' . Actually i to have same problem but solved like what i said secondly.