summaryrefslogtreecommitdiff
path: root/man/zh_CN/man1/dos2unix.pod
diff options
context:
space:
mode:
Diffstat (limited to 'man/zh_CN/man1/dos2unix.pod')
-rw-r--r--man/zh_CN/man1/dos2unix.pod31
1 files changed, 30 insertions, 1 deletions
diff --git a/man/zh_CN/man1/dos2unix.pod b/man/zh_CN/man1/dos2unix.pod
index f5ffca5..1a50d15 100644
--- a/man/zh_CN/man1/dos2unix.pod
+++ b/man/zh_CN/man1/dos2unix.pod
@@ -53,10 +53,17 @@ C<-o> 和 C<-n>。还有一个区别是SunOS/Solaris下的版本默认使用 I<i
dos2unix -- -foo
-或者在新文件模式中:
+或者在新文件模式下:
dos2unix -n -- -foo out.txt
+=item B<--allow-chown>
+
+在旧文件模式下,允许修改文件的所有者。
+
+若使用此选项,将允许在转换文件时原始文件的属主或属组发生变更,类似于使用新文件模式进行转换。另请参见选项C<-o> 和 C<-n>。仅当
+dos2unix 支持保护文件的属主/属组时才能使用该选项。
+
=item B<-ascii>
只转换断行符。这是默认的转换模式。
@@ -292,12 +299,34 @@ B<unix2dos>:只有Unix断行符会被转换为两个DOS断行符。在Mac模
使用新文件(配对)模式转换时,命令执行者必须为文件的所有者。新文件的读/写权限将由源文件的权限减去命令执行者的 umask(1) 得到。
+=item B<--no-allow-chown>
+
+在旧文件模式下,不允许修改文件的所有者(默认选项)。
+
+当原始文件的属主/属组无法保持不变时,停止格式转换。另请参见C<-o> 和 C<-n>选项。仅当 dos2unix
+支持保护文件的属主/属组时才能使用该选项。
+
=item B<-o, --oldfile 文件 ...>
旧文件模式。转换并将输出覆盖到源文件。程序默认使用此模式,允许使用通配符。
在旧文件(替换)模式下,被转换的文件的所有者、组和读/写权限保持不变。当文件被其他具有写权限的用户(如root)转换时,情况也是如此。如果无法保持这些值不变,转换将会终止。改变源文件的所有者可能造成其无法读取该文件,而改变组则可能带来安全隐患,使文件被不法分子读取。只有Unix才支持转换时保留所有者、组和读/写权限。
+若要查看 dos2unix 是否支持保护文件的所有者,请输入C<dos2unix -V>。
+
+dos2unix
+在转换格式时会生成一个临时文件。如果在转换时出错,它会删除临时文件,从而保证原始文件不被更改;如果转换成功,将用临时文件替换原始文件。在这一过程中,如果
+dos2unix
+无法将临时文件的所有者设置为原始文件的所有者,那么新生成的文件也无法保留原始文件的属主/属组属性(即便您对原始文件有写入权限)。在这种情况下,可以使用C<--allow-chown>选项来继续进行转换:
+
+ dos2unix --allow-chown foo.txt
+
+或者在新文件模式下:
+
+ dos2unix -n foo.txt foo.txt
+
+使用C<--allow-chown>选项的好处在于:您可以使用通配符来操作文件,同时尽可能保持文件的所有者不变。
+
=item B<-q, --quiet>
安静模式。不显示任何警告或信息。返回值为0,除非命令行选项有误。