Копировать только / измененные / новые файлы только * к другому каталогу?

Если tmux версии 1.7 или выше

move-window -r

или

set-option -g renumber-windows on

в .tmux.conf для автоматического выполнения, в будущем.

6
12.12.2018, 23:17
2 ответа

Если вам нужно только увидеть, какие файлы будут затронуты, не видя различий между ними, вы можете использовать параметр --dry-runдля rsync. Устроим песочницу для тестирования:

$ cd /tmp
$ mkdir -p testing/{a,b}
$ cd testing/
$ touch a/hello a/world
$ ls a
hello
world
$ rsync -rv --append-verify a/ b
$ ls b
hello
world

Теперь внесите изменения в содержимоеa:

$ echo 123 > a/hello 
$ touch a/abc

Теперь используйте rsync... --dry-run..., чтобы посмотреть, что произойдет:

$ rsync -rv --append-verify --dry-run a/ b
sending incremental file list
abc
hello

sent 103 bytes  received 22 bytes  250.00 bytes/sec
total size is 4  speedup is 0.03 (DRY RUN)

Мы видим, что на самом деле никаких изменений вb:

не вносилось.
$ ls b
hello
world
$ cat b/hello
$

Если вам нужно увидеть различия между каталогами, вы можете использоватьdiff:

$ /bin/diff -aurN a b
diff -aurN a/hello b/hello
--- a/hello 2018-12-13 08:16:23.376761456 +1100
+++ b/hello 2018-12-13 08:16:11.306761686 +1100
@@ -1 +0,0 @@
-123

Если bнаходится на удаленном компьютере и вам нужно увидеть различия, вам нужно будет создать локальную копию b, а затем вы сможете diff.

2
27.01.2020, 20:30

Я считаю, что лучший ответ находится вhttps://serverfault.com/a/508272/173599. Здесь я цитирую соответствующую команду:

rsync -aHxv --compare-dest=folder2/ folder1/ folder3/

Для сравнения folder1с folder2в качестве места назначения, но вместо этого скопируйте в folder3.

5
27.01.2020, 20:30

Теги

Похожие вопросы