小编sdb*_*bbs的帖子

rsync 声明不同的文件,但 diff 不声明?

我在本地和服务器上都有一个文件。我首先尝试rsync在“dry-run”模式下运行,看看文件之间是否存在一些差异:

$ rsync -aP --dry-run USER@192.168.0.55:/home/dir .
USER@192.168.0.55's password: 
receiving incremental file list
dir/myfile.txt
Run Code Online (Sandbox Code Playgroud)

这显然意味着该文件dir/myfile.txt不同,因为它将被更新。然后我用以下命令检查相同的文件diff

$ ssh USER@192.168.0.55 'cat /home/dir/myfile.txt' | diff --report-identical-files - dir/myfile.txt
USER@192.168.0.55's password: 
Files - and dir/myfile.txt are identical
Run Code Online (Sandbox Code Playgroud)

因此,显然这些文件是相同的。

为什么rsync要更新这个文件 - 我如何从命令行确认原因?

diff rsync

7
推荐指数
1
解决办法
4420
查看次数

为什么历史记录在子 shell 中不输出任何内容?

我刚刚意识到history在子 shell 中不会输出任何内容。我将尝试通过计算行数来显示 - 首先使用 echo 进行健全性检查:

$ echo a | wc -l
1
Run Code Online (Sandbox Code Playgroud)

...并在子外壳中:

bash -c 'echo a' | wc -l
1
Run Code Online (Sandbox Code Playgroud)

事实上,我们期望在这两种情况下都有一行输出。现在,对于history

$ history | wc -l
681
Run Code Online (Sandbox Code Playgroud)

...但在子外壳中:

$ bash -c 'history' | wc -l
0
Run Code Online (Sandbox Code Playgroud)

...history不返回任何行。

为什么会发生这种情况 - 如何history在子 shell 中输出当前 shell 的历史记录(包括最后一个会话命令)?

bash command-history

1
推荐指数
1
解决办法
193
查看次数

标签 统计

bash ×1

command-history ×1

diff ×1

rsync ×1