正如标题所示,我的同事声称使用文本编辑器而不是解析器(例如 less)会锁定文件,并且在日志文件的情况下会导致无法写入日志文件。
我以前从未听说过这个,只是一些初步测试发现情况并非如此。此外,我在 Google 搜索中找不到任何相关信息,无法表明他的想法可能来自哪里。
答案1
vim 不会这样做,但我不确定其他的是否如此。不过,有一个非常简单的方法可以检查这一点:
打开两个终端窗口(konsole、gnome-terminal 等),并在第一个控制台中运行以下命令:
touch ~/test.txt
vim ~/test.txt
现在,在第二个控制台中输入以下内容:
echo "This is a test" >> ~/test.txt
如果文件被 vim 锁定,则第二个控制台中的命令将失败,因为无法写入文件。它不会失败。使用您想要的任何编辑器重复第一个控制台中的步骤 #2。
显然,如果您尝试在第一个控制台中保存任何更改,那么您就会进入未知领域,但就附加到日志文件而言,这是安全的。
有些编辑器(例如 vim、gedit 等)在打开文件时会创建一个“影子”文件,以表明该文件已在编辑器中打开。这不是锁定,也不会对系统上的其他应用程序产生任何影响 - 它只是让编辑器知道该文件已打开的一种方式。
答案2
答案3
我想我理解你的问题了。我自己也尝试过解决同样的问题
如果使用以下命令创建文档:
sudo nano nanoCreated.py
文档已创建,但文档已被锁定。它只能通过 nano 编辑器进行编辑。当您尝试使用其他编辑器进行编辑时,这将成为一个问题。
不过我不认为其他编辑器(例如 Vim)有同样的问题。
要解决锁定文件的问题:
使用以下命令创建文件:
touch nameOfFile.py
或使用任何其他扩展名。您也可以使用任何其他命令,例如:cat>nameOfFile.py
然后您可以使用以下方式访问该文档:
sudo nano nameOfFile.py
然后您可以从那里编辑文档,保存后,它将不会被锁定,并且可以由其他文本编辑器编辑使用
如果您查看我上传的图片。我使用创建了文件 nameOfFile 和 nanoCreated.py 文件,sudo nano nameOfFile.py
并且两个文件都被锁定了,您可以看到锁定图标。这两个文件只能由 Nano 编辑。但是,我使用我提供的步骤创建了其他文件,它们都没有被锁定