On Sun, March 1, 2015 10:22 am, Richard wrote: > > > ------------ Original Message ------------ >> Date: Sunday, March 01, 2015 10:44:08 -0500 >> From: Mark LaPierre <marklapier at gmail.com> >> To: centos at centos.org, Mark LaPierre <marklapier at aol.com> >> Subject: Re: [CentOS] scp -rp behavior(SOLVED) >> >> On 02/26/15 19:45, Valeri Galtsev wrote: >>> >>> On Thu, February 26, 2015 6:34 pm, Mark LaPierre wrote: >>>> Hey all, >>>> >>>> I'm trying to copy configuration files from my old CentOS 6.6 32 >>>> bit machine to my new CentOS 6.6 64 bit machine. >>>> >>>> On my 32 bit machine: >>>> >>>> [mlapier at mushroom ~]$ ifconfig >>>> eth0 Link encap:Ethernet HWaddr 00:19:DB:E5:4E:9F >>>> inet addr:192.168.15.105 >>>> >>>> When I issue this command on my new 64 bit machine, >>>> 192.168.15.101: >>>> >>>> scp -pr mlapier at 192.168.15.105: /home/mlapier/.thunderbird >>>> /home/mlapier/.thunderbird >>> >>> How about escaping dot (with backslash) for the remote machine, >>> or just giving the whole path for remote machine in quotes: >>> >>> scp -pr mlapier at 192.168.15.105:"/home/mlapier/.thunderbird" >>> /home/mlapier >>> >>> ? >>> >>> Also, if you want to specify destination directory (say with >>> different name) you will need to end directory with forward slash >>> both on local and remote, like: >>> >>> scp -pr mlapier at 192.168.15.105:"/home/mlapier/.thunderbird/" \ >>> /home/mlapier/.thunderbird/ >>> >>> (this should be one line which didn't fit for me in one line hence >>> backslash...) >>> >>> Valeri >>> >>>> >>>> It copies all directories and files in 192.168.15.105: >>>> /home/mlapier/ to 192.168.15.101: /home/mlapier. I don't want >>>> all that, I just want the .thunderbird folder and all it's >>>> contents. >>>> >>>> The user and group account numbers match on the two machines for >>>> this user so that's not the issue. >>>> >>>> When I RTFM this is what I thought it said to do. I'm I >>>> misreading the FM or is something weird going on here? >>>> >> >> Putting the source path in quotes, because of the dot, like this: >> >> scp -pr mlapier at 192.168.15.105:"/home/mlapier/.thunderbird" >> /home/mlapier >> >> worked. >> >> If the destination also contains a dot or other such character >> then put the destination in quotes too: >> >> scp -pr mlapier at 192.168.15.105:"/home/mlapier/.thunderbird" >> "/home/mlapier/.thunderbird" >> >> but only include the destination directory if the destination >> directory does not yet exist otherwise you will get a copy of the >> source directory inside the destination directory like this: >> >> /home/mlapier/.thunderbird/.thunderbird > > > The problem is/was the space, after the colon, in your command: > > scp -pr mlapier at 192.168.15.105: /home/mlapier > > quotes, slashes, etc. are totally unnecessary. > > If you are keeping the destination name the same as the source, you > only need to use a "." (dot) for the target (whether the destination > directory/file already exists or not), not the full name. You only > need a path on the target side if you are trying to put the > directory/file in other than the home directory of the user you are > logging in as. > > So, assuming you were in your home directory on the source side, all > you needed is/was: > > scp -pr mlapier at 192.168.15.105:.thunderbird . > Well, you are right about dot for local argument, namely "dot" is expanded on local machine into "path to current directory". For remote machine, however, you do have to specify absolute path to the directory you intend to rsync or scp. In your example remote directory quite likely does not exist, as your command is exact equivalent of this: scp -pr mlapier at 192.168.15.105:/.thunderbird . whereas you may want to have: scp -pr mlapier at 192.168.15.105:/home/remote_user_name/.thunderbird . Why "slash": /.thunderbird in case of your example? Because if you do not specify absolute path beginning with / the ssh daemon prepends your relative path with its `pwd` it runs in, and its `pwd` is "/") Another way to specify remote user's home directory would be: scp -pr mlapier at 192.168.15.105:"~/.thunderbird" . and here quotes prevent "~" from being expanded on local machine, thus "~" is passed verbatim to remote machine and is expanded on remote machine into path to remote user's home directory. I hope I didn't mess up anything here ;-) Valeri ++++++++++++++++++++++++++++++++++++++++ Valeri Galtsev Sr System Administrator Department of Astronomy and Astrophysics Kavli Institute for Cosmological Physics University of Chicago Phone: 773-702-4247 ++++++++++++++++++++++++++++++++++++++++