cp -R behaviour


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting cp -R behaviour
# 1  
Old 01-20-2009
cp -R behaviour

i 've noticed the following difference between freebsd cp and gnu cp

from the freebsd cp man page:

Code:
     -R    ... If the source_file ends in a /, the contents of the directory are copied rather than
       the directory itself. ...
on gnu cp from the man page

while on gnu cp manpage:

Code:
‘-r' ‘--recursive'

Copy directories recursively. Symbolic links are not
followed by default; see the --archive (-a), -d, --dereference (-L),
     --no-dereference (-P), and -H options. Special files are copied by
     creating a destination file of the same type as the source; see the
     --copy-contents option. It is not portable to use -r to copy symbolic
     links or special files. On some non-gnu systems, -r implies the
     equivalent of -L and --copy-contents for historical reasons. Also, it
     is not portable to use -R to copy symbolic links unless you also
     specify -P, as POSIX allows implementations that dereference symbolic
     links by default.

the difference above creates problems when one wants to copy all files from a directory to another directory, without copying
the directory itself.

for example what i want to do is copy some files from a source directory and overwrite some files in
the destination directory, i want to do this using a script.

if i ran the script on freebsd i could do something like this
Code:
#!/usr/bin/env bash

sourcee='original-configuration/source/'
destination='/etc/destin'

cp -rv ${sourcee} ${destination

}


but in linux i have the following:

Code:
#!/usr/bin/env bash

sourcee='original-configuration/source'
destination='/etc/destin'

cp -rv ${sourcee}/* --target-directory=${destination}

is it possible no to use shell globing with gnu cp?
should i use a different tool? or should i use gnu cp in a different way?

thanks in advance for your answers,
nicolas
# 2  
Old 01-20-2009

Use the same code for both FreeBSD and Linux:

Code:
cp -Rv "$sourcee" "$destination"

Other varieties may not have the -v option.
# 3  
Old 01-23-2009
thanks for your answer cfajohnson!

but this requires that i do the paste one level up from where i want...

for example i have a folder settings which contains file1.conf file2.conf and i want to insert those files on /etc

to use your way: i have to rename settings to etc and then copy etc to /

am i correct on this?

with the bsd-cp i do a normal copy append to source path '/' and get the directory contents...
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. Red Hat

Ps command different behaviour

Hi Experts, ps command behavior in Redhat is such that it outputs all the output(of long lengths). In Unix the ps command output was limited to only 80 chars. In that if you pipe its output to another command hen the 80 chars restriction wouldn't be there. This 80 char limitation will only be... (14 Replies)
Discussion started by: Albert_Pinto7
14 Replies

2. Programming

Sort behaviour

I see strange results when sorting with -n options and I wander if somebody can explain it. Input file and two results: $ cat aa 14 -1 11 -1 0 -1 0 $ sort -u aa -1 0 (1 Reply)
Discussion started by: migurus
1 Replies

3. Programming

different behaviour in fg and bg

fg = foreground bg = background I have a cobol program that I start with a very simple script. The script is not at fault as it has not changed and the program worked in fg and bg before. I have altered the logging in the program and moved my cursor declare to working storage. The program runs... (6 Replies)
Discussion started by: Bruble
6 Replies

4. Ubuntu

Weird rm behaviour

I am little bit confused by the behaviour of rm in Ubuntu. It seems that as a regular user I can delete files owned by another user even when the permissions are set to 644. Here is an example: cjohnson@carbon:~/test$ sudo touch testfile cjohnson@carbon:~/test$ ls -al total 8 drwxr-xr-x... (2 Replies)
Discussion started by: ccj4467
2 Replies

5. UNIX for Advanced & Expert Users

eval behaviour

Hi, I have snippet like the following x="1" prompt1="hi" if I say eval echo \$prompt$x then it is giving o/p "hi" if I say `eval echo \$prompt$x` here it is giving 1 ! if I add one more escape character i.e. `eval echo \\$prompt$x` then it is giving "hi" Can you please... (3 Replies)
Discussion started by: shahnazurs
3 Replies

6. Shell Programming and Scripting

Why this behaviour of IF condition?

I have a variable, defndata, which is a number (fetched from a file using awk). I want that if defndata is not initialized (that is its not found in the file using awk), then to execute a block of statements, otherwise execute another block. if then .... else ... fi Now this... (4 Replies)
Discussion started by: indianjassi
4 Replies

7. Shell Programming and Scripting

A Strange Behaviour!!!

Can some-one give me a view to this : I have a directory in an unix server, having permissions r-xr-xr-x .This directory is basically a source directory. Now there is another directory basically the destination directory which has all the permissions. Note:I log in as not the owner,but user... (5 Replies)
Discussion started by: navojit dutta
5 Replies

8. Programming

Different behaviour of this program

Hi, I have one doubt, in the below program, if I declare char *b inside the main(), the function compiles & runs properly. But at the same time, if I declare it globally it compiles but when we run it, it creates core dump (segmentation fault) both in C & C++. It is not being trapped by catch... (7 Replies)
Discussion started by: royalibrahim
7 Replies

9. Shell Programming and Scripting

Count behaviour when using su -

Gentlemen, OK, I have an odd issue here perhaps someone can shed some light for me. When running a script as its user/owner the below pause/wait works just fine. When a developer has used su - to assume the username the pause does not happen... This is a HPUX11.00 machine, I have copied the blurb... (1 Reply)
Discussion started by: Eronysis
1 Replies
Login or Register to Ask a Question