unix中的f 以及如何在dos中实现

分享于 

3分钟阅读

电脑

 

问题:


rm -f/obi/u01/informatica/v711/pmserver/SrcFiles/coe/aone/AccessOne_Daily_Input.xml



它在unix中的用途及其在dos中的可能实现?


回答 1:

它只是强制删除一个文件,即使它是只读的。

 
del/f filename



 

Windows 命令外壳中的粗糙等效项。


回答 2:

rm -f <filename> 如果存在,则删除 <filename>,即使它只读取当前用户。 如果 <filename> 不存在,rm -f <filename> 将悄悄返回成功。 如果试图删除 <filename> 导致权限错误或者 <filename> 为目录,rm 将以错误消息退出。 请参见 POSIX.1-2008 shell &实用程序:

如果你想确保某个特定文件不存在,这将非常有用。 如果文件不存在,rm -f 将无提示地成功;它将尝试删除只读文件( 如果已经存在的话)。 这样可以避免首先检查文件是否存在,或者允许文件权限位的写入。 在使用传统的目标文件这使得它非常有用,因为你需要确保所有构建的文件都不需要在每个 rm 调用周围都加上条件 shell 代码。

DEL 具有 /F 标志,它使 DEL 前进并删除你没有写权限的文件。 但是,如果试图删除不存在的文件( 与 rm -f 不同),它仍然会发出抱怨:


C:Usersbinki>DEL/F nonexistent


Could Not Find C:Usersbinkinonexistent



C:Usersbinki>rm -f nonexistent



C:Usersbinki>



也许有更好的方法,但是我认为,只能通过 IF EXIST的帮助来复制 rm -f 行为。 因此,我建议 IF EXIST <filename> DEL/F <filename> 要使用 close cmd 语法来复制 rm -f <filename>的行为,请执行以下操作:


C:Usersbinki>IF EXIST nonexistent DEL/F nonexistent



C:Usersbinki>touch existent& chmod u-w existent



C:Usersbinki>DEL existent


C:Usersbinkiexistent


Access is denied.



C:Usersbinki>IF EXIST existent DEL/F existent



C:Usersbinki>ls -l existent


ls: existent: No such file or directory



C:Usersbinki>




回答 3:

rm -f强制删除文件。 如果需要删除特定文件夹中的所有内容,包括文件夹withing文件夹,则需要在unix中执行 rm -rf。


回答 4:

如果你觉得适用UNIX命令,你可以在 Windows 中使用UNIX命令 shell 模拟器,我使用的是 CYGWIN:

http://www.cygwin.com/



IMP  UNIX  DOS  
相关文章