mirror of
https://github.com/jbranchaud/til
synced 2026-01-03 23:28:02 +00:00
Add Copying Nested Directories With Ditto as a unix til
This commit is contained in:
@@ -10,7 +10,7 @@ smart people at [Hashrocket](http://hashrocket.com/).
|
|||||||
For a steady stream of TILs from a variety of rocketeers, checkout
|
For a steady stream of TILs from a variety of rocketeers, checkout
|
||||||
[til.hashrocket.com](https://til.hashrocket.com/).
|
[til.hashrocket.com](https://til.hashrocket.com/).
|
||||||
|
|
||||||
_857 TILs and counting..._
|
_858 TILs and counting..._
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -756,6 +756,7 @@ _857 TILs and counting..._
|
|||||||
- [Command Line Length Limitations](unix/command-line-length-limitations.md)
|
- [Command Line Length Limitations](unix/command-line-length-limitations.md)
|
||||||
- [Configure cd To Behave Like pushd In Zsh](unix/configure-cd-to-behave-like-pushd-in-zsh.md)
|
- [Configure cd To Behave Like pushd In Zsh](unix/configure-cd-to-behave-like-pushd-in-zsh.md)
|
||||||
- [Copying File Contents To System Paste Buffer](unix/copying-file-contents-to-system-paste-buffer.md)
|
- [Copying File Contents To System Paste Buffer](unix/copying-file-contents-to-system-paste-buffer.md)
|
||||||
|
- [Copying Nested Directories With Ditto](unix/copying-nested-directories-with-ditto.md)
|
||||||
- [Create A File Descriptor with Process Substitution](unix/create-a-file-descriptor-with-process-substitution.md)
|
- [Create A File Descriptor with Process Substitution](unix/create-a-file-descriptor-with-process-substitution.md)
|
||||||
- [Curling For Headers](unix/curling-for-headers.md)
|
- [Curling For Headers](unix/curling-for-headers.md)
|
||||||
- [Curling With Basic Auth Credentials](unix/curling-with-basic-auth-credentials.md)
|
- [Curling With Basic Auth Credentials](unix/curling-with-basic-auth-credentials.md)
|
||||||
|
|||||||
47
unix/copying-nested-directories-with-ditto.md
Normal file
47
unix/copying-nested-directories-with-ditto.md
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
# Copying Nested Directories With Ditto
|
||||||
|
|
||||||
|
You can copy nested directories with `cp` using the `-R` (_recursive_) flag.
|
||||||
|
The way `cp` works is that it replaces the target location with the source
|
||||||
|
directory, wiping out whatever files or directories reside at the target
|
||||||
|
location.
|
||||||
|
|
||||||
|
Conversely, the `ditto` utility, available on OS X's version of Unix, does
|
||||||
|
_recursive_ directory copies by default and merges the contents of any existing
|
||||||
|
directories.
|
||||||
|
|
||||||
|
As an example, here are two folders, `folder1` and `folder2`:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
❯ exa -T folder1
|
||||||
|
folder1
|
||||||
|
├── cats
|
||||||
|
│ └── sneaky
|
||||||
|
└── dogs
|
||||||
|
└── fido
|
||||||
|
|
||||||
|
❯ exa -T folder2
|
||||||
|
folder2
|
||||||
|
└── cats
|
||||||
|
└── oreo
|
||||||
|
```
|
||||||
|
|
||||||
|
Using `ditto` to copy `folder1` to `folder2`
|
||||||
|
|
||||||
|
```bash
|
||||||
|
❯ ditto folder1 folder2
|
||||||
|
```
|
||||||
|
|
||||||
|
we get a `folder2` where directories from `folder1` are created and existing
|
||||||
|
directories are merged together.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
❯ exa -T folder2
|
||||||
|
folder2
|
||||||
|
├── cats
|
||||||
|
│ ├── oreo
|
||||||
|
│ └── sneaky
|
||||||
|
└── dogs
|
||||||
|
└── fido
|
||||||
|
```
|
||||||
|
|
||||||
|
See `man ditto` for more details.
|
||||||
Reference in New Issue
Block a user