cp -Rps dir1 dir2
Yes, you can do it with
rsync -a --include '*/' --exclude '*' /path/to/source /path/to/dest
too, but I didn't test if this can handle attributes correctly
(experiment rsync command yourself with --dry-run switch to avoid
harming your file system)
You must be in the parent directory of dir1 while executing
this command (place dir2 where you will), else soft links of
files in dir2 will be made. I couldn't find how to avoid this
"limitation" (yet). Playing with recursive unlink command loop
maybe?
PS. Bash will complain, but the job will be done.
tree -i dir1 dir2 dir1 file_in_dir1 link_to_file_in_dir1 -> file_in_dir1 subdir1 file_in_subdir1 link_to_file_in_dir1 -> ../file_in_dir1 dir2 subdir1 (output of tree command without -i switch is nice, but posted here looks terrible)
Any thoughts on this command? Does it work on your machine? Can you do the same thing with only 14 characters?
You must be signed in to comment.
commandlinefu.com is the place to record those command-line gems that you return to again and again. That way others can gain from your CLI wisdom and you from theirs too. All commands can be commented on, discussed and voted up or down.
Every new command is wrapped in a tweet and posted to Twitter. Following the stream is a great way of staying abreast of the latest commands. For the more discerning, there are Twitter accounts for commands that get a minimum of 3 and 10 votes - that way only the great commands get tweeted.
» http://twitter.com/commandlinefu
» http://twitter.com/commandlinefu3
» http://twitter.com/commandlinefu10
Use your favourite RSS aggregator to stay in touch with the latest commands. There are feeds mirroring the 3 Twitter streams as well as for virtually every other subset (users, tags, functions,…):
Subscribe to the feed for: