ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

shell 编程基础——删除文件而不删除文件夹

2022-02-23 10:03:37  阅读:254  来源: 互联网

标签:文件 shell 删除 命令 rf 文件夹 rm type find


最好的学习方法,莫过于从实践中学习。

首先需要区分文件和文件夹,需要使用 find 命令夹 -type f 的参数,找出文件下下的所有文件。其次再通过rm -rf 的命令删除文件。我首先想到的是这样子的

find -type f | rm -rf 
rm: missing operand
Try 'rm --help' for more information.

目录下是有文件的,结果却报 rm 命令没有加operand ;查阅资料后发现rm 命令不支持管道。于是我想着把find 出来的文件用变量保存,再通过rm删除。命令如下。

FIHSER155:test $ a=`find -type f` ; rm -rf $a
FIHSER155:test $ find -type f
FIHSER155:test $

目的达成了。注意** `` ** 这个符号是反斜杠,键盘符号1的左边那个键盘。

这个是指第一个命令执行完后不管成功与否再执行后面的指令。类似shell 脚本里面的换行。

其实还有第二种方法,也是比较普遍的方法, 那就是用 xargs 指令,让不支持管道的命令采用类似管道的做法。命令如下:

 find -type f | xargs rm -rf

标签:文件,shell,删除,命令,rf,文件夹,rm,type,find
来源: https://blog.csdn.net/weixin_44794688/article/details/123074207

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有