patch 命令的“-Np1”选项有什么作用?

What does the "-Np1" option for the patch command do?

有人给我发了一个补丁,告诉我使用命令应用它:

patch -Np1 -i file.patch

出于好奇,我试图找出 -Np1 选项的作用,但补丁手册页对此奇怪地不透明。谁能解释一下这是做什么的?谢谢

这是两面旗帜。 -N-p1.

   -N  or  --forward
      Ignore patches that seem to be reversed  or  already  applied.   See
      also -R.

   -pnum  or  --strip=num
      Strip the smallest prefix containing num leading slashes  from  each
      file  name found in the patch file.  A sequence of one or more adja-
      cent slashes is counted as a single slash.  This controls  how  file
      names  found  in  the  patch file are treated, in case you keep your
      files in a different directory than the  person  who  sent  out  the
      patch.  For example, supposing the file name in the patch file was

         /u/howard/src/blurfl/blurfl.c

      setting -p0 gives the entire file name unmodified, -p1 gives

         u/howard/src/blurfl/blurfl.c

      without the leading slash, -p4 gives

         blurfl/blurfl.c

      and  not specifying -p at all just gives you blurfl.c.  Whatever you
      end up with is looked for either in the current  directory,  or  the
      directory specified by the -d option.