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

首先需要区分文件和文件夹,需要使用 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

关于xargs 的详细用法可以参考以下网址
xargs详细用法

还有第三种方法
对find 命令深入了解后发现find 命令的 -exec 参数也能实现这个功能,代码如下:

$ find -type f
./ext4.ext4
./source/keytest.sh
./source/static/static.h
./source/static/static.c
./source/static/main.c
......
$ find -type f -exec rm -rf {} \;
$ find -type f

但是方法一和方法三是有缺陷的,因为 -exec 和变量的方式 是将查找的范围一次性发送到后面的命令当中,当查找到的结果较多会导致命令行参数溢出。因此还是推荐第二种方式。

喜欢博主的麻烦一键三连,谢谢!

shell 编程基础——删除文件而不删除文件夹相关推荐

  1. Linux Shell编程基础

    linux系统下给命令指定别名alias命令用法: 在linux系统中如果命令太长又不符合用户的习惯,那么我们可以为它指定一个别名.虽然可以为命令建立"链接"解决长文件名的问题,但 ...

  2. 【⛔拒绝内卷,学会shell,走遍天下都不怕⛔】shell编程基础

    shell编程基础 shell简介 属性 shell是一个命令行解释器,建立了用户和操作系统之间的接口.当我们在命令行输入一个命令后,shell会对命令进行解释,调用相应的程序去执行.shell是一种 ...

  3. shell编程基础笔记

    第一部分shell编程基础 1shell简介 什么是shell 存取权限和安全 shell简单脚本 shell特性 1.1什么是shell shell是核心程序kernel之外的指令解析器,是一个程 ...

  4. Shell编程基础常用代码1

    Shell编程 注:大家觉得博客好的话,别忘了点赞收藏呀,本人每周都会更新关于人工智能和大数据相关的内容,内容多为原创,Python Java Scala SQL 代码,CV NLP 推荐系统等,Sp ...

  5. 「Linux」Linux Shell 编程基础入门

    Linux Shell 编程基础入门 1. 变量 1.1 变量定义 1.2 使用变量 1.3 引号 1.4 将命令的结果赋值给变量 1.5 位置参数 1.6 特殊变量及其含义 2. 字符串 2.1 字 ...

  6. android mkdirs 不起作用,Android mkdirs()创建一个零字节文件而不是文件夹

    在我的 Android应用程序中,我试图在SD卡上创建以下文件夹: /mnt/sdcard/OSGiComponents/admin/felix-cache/ 这是代码: File cacheDir ...

  7. shell编程基础(七): 处理文件命令sed与awk

    一.sed(以行为单位处理文件) sed意为流编辑器(Stream Editor),在Shell脚本和Makefile中作为过滤器使用非常普遍,也就是把前一个程序的输出引入sed的输入,经过一系列编辑 ...

  8. _int64_在Linux对应对文件,LInux 编程基础学习笔记 持续ing 文件读写

    一.文件读写 1.创建文件: 头文件: 函数:creat(char *path,int mode)  mode:S_I(R|W|X)(USR|GRP|OTH)   对不同用户组的不同读写执行 2.打开 ...

  9. linux shell编程输入输出,Linux shell编程 13标准输入、输出及文件重定向-dps文件怎么打开...

    5.6 标准输入.输出和错误 当我们在 s h e l l中执行命令的时候,每个进程都和三个打开的文件相联系,并使用文件描述符来引用这些文件.由于文件描述符不容易记忆, s h e l l同时也给出了 ...

  10. Linux Shell 编程基础详解——吐血整理,墙裂推荐!

    第一部分:Linux Shell 简介 Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁.Shell 既是一种命令语言,又是一种程序设计语言. Shell 是指一种应用程序, ...

最新文章

  1. 《LeetCode力扣练习》第6题 C语言版 (做出来就行,别问我效率。。。。)
  2. android 访问公共文件夹权限_手机应用获取了储存权限后,可以访问你整个文件吗?...
  3. mingw w64 v8.0.0_使用Visual Studio Code和MinGW编译运行C++代码
  4. 能熟练掌握和应用计算机基础知识,浙江省大学生计算机基础知识与应用能力等级考试二级(V......
  5. axios代理跨域 cli4_跨域本质及解决办法
  6. CentOS 7本地镜像部署NFS服务
  7. 搜索引擎的那些事(32位MD5算法)
  8. [Serializable]在C#中的作用——实现.NET对象序列化
  9. docker配置 nacos_Docker下配置nacos
  10. r 语言初学者指南_自然语言处理初学者指南
  11. ISO14443、15693、18000体系分析
  12. Python之面向对象-类与 类之间的关系
  13. 得物购买截图生成_iPhone12订单生成器app-iPhone12订单生成器网页app免费版预约 v1.0...
  14. ACwing 1018 最低通行费
  15. matplotlib保存图片去除白边
  16. 过采样算法之SMOTE
  17. 用PS做一个好看的图案
  18. 3900x做服务器性能怎么样,【茶茶】AMD YES?AMD R9 3900X测试报告
  19. VoiceChatter在VS2005上编译方法
  20. 嵌入式数据库系统Berkeley DB

热门文章

  1. thinkphp5.1+easywechat4 微信开放平台开发
  2. IDEA断点调试技巧,多张动图包教包会
  3. 计算机无法启动打印服务,win10系统打印服务无法启动的设置教程
  4. Win32学习笔记(25)远程线程
  5. go unrecognized relocation (0x2a) in section `.text‘问题
  6. c语言里判断回文数的函数,(C语言)回文数的判断
  7. Win系统 - 超简单!给硬盘来个简易健康体检吧
  8. openKylin 0.7.5 更新版本发布,完成 KMRE 适配,并修复 150+ 已知 Bug!
  9. VMWare 虚拟机系统 ping 不通主机解决方案
  10. xshell文件传输