我见过很多使用 diff 命令的例子,但没有一个详细说明它的基本用法。这是我想使用的两个文件的内容:
cat -A file1.txt
a$
b$
c$
d$
cat -A file2.txt
b$
c$
d$
e$
Run Code Online (Sandbox Code Playgroud)
如果我像这样使用 diff 命令:
diff file1.txt file2.txt
Run Code Online (Sandbox Code Playgroud)
我得到:
1d0
< a
4a4
> e
Run Code Online (Sandbox Code Playgroud)
我想知道的是,除了小于号和大于号之外,1d0 中的第 1 行和 0 行以及 4a4 中的第 4 行和第 4 行是什么意思。更一般地说,为什么在 a 之前有一个小于号而不是大于号?有什么不同?
我试图通过测试了解 find 命令的输出-cnewer。在进行一些有限的测试时,这就是我得到的。
首先,我创建了一个文件:
cd ~/Documents
touch file1.txt
Run Code Online (Sandbox Code Playgroud)
然后我等了几分钟才创建另一个文件:
touch file2.txt
Run Code Online (Sandbox Code Playgroud)
然后我决定通过执行以下操作将内容时间戳与元数据时间戳进行比较:
ls -lht (for content timestamp)
-rw-rw-r-- 1 mason mason 0 Aug 11 01:19 file2.txt
-rw-rw-r-- 1 mason mason 0 Aug 11 01:17 file1.txt
Run Code Online (Sandbox Code Playgroud)
进而:
ls -lhtc (for metadata timestamp)
-rw-rw-r-- 1 mason mason 0 Aug 11 01:19 file2.txt
-rw-rw-r-- 1 mason mason 0 Aug 11 01:17 file1.txt
Run Code Online (Sandbox Code Playgroud)
到目前为止,没有什么意外,因为我没有做任何改变元数据时间戳的事情。
现在如果我输入:
chmod 664 file1.txt
Run Code Online (Sandbox Code Playgroud)
更改元数据时间戳,然后再次查看输出:
ls -lhtc
-rw-rw-r-- 1 mason mason 0 Aug 11 01:23 file1.txt
-rw-rw-r-- 1 …Run Code Online (Sandbox Code Playgroud) 我最初是在 Ubuntu 论坛上问这个问题的,我以为我理解它,但后来我看到有人以不同的方式使用相同的命令,现在我不确定我是否理解它了,所以我谦虚地问再次为您提供帮助。
这是我的标准图片目录的样子:
-rw-rw-r-- 1 mason mason 1.3M Aug 12 21:35 Beijing-trip.jpg
-rw-r--r-- 1 mason mason 26K May 27 2013 Eiffel-tour.jpg
-rw-r--r-- 1 mason mason 1.5M Sep 20 2013 work-buddies.jpg
-rw-r--r-- 1 mason mason 155K Apr 2 2013 Q1-profits.jpg
-rw-r--r-- 1 mason mason 245K Nov 27 2016 Ireland.jpg
-rw-r--r-- 1 mason mason 675K Jun 14 2014 Christmas.jpg
-rw-r--r-- 1 mason mason 210K Nov 27 2016 Thanksgiving.jpg
-rw-r--r-- 1 mason mason 348K May 27 2013 family.jpg
-rw-r--r-- 1 mason mason …Run Code Online (Sandbox Code Playgroud)