当前位置 主页 > 服务器问题 > Linux/apache问题 >

    Linux之删除带有空格的文件(不是目录)

    栏目:Linux/apache问题 时间:2020-01-16 14:06

    大家平时工作中对不带空格的文件接触较多。这样一来删除操作也是比较简单的。但是有时我们会接触带有空格的文件。对于这种文件我们应该如何删除呢?

    首先我们演示一下find命令结合xargs命令删除不带空格的文件

    [root@ELK-chaofeng test]# touch 1.txt 2.txt
    [root@ELK-chaofeng test]# ls
    1.txt 2.txt
    [root@ELK-chaofeng test]# find . -type f | xargs
    ./1.txt ./2.txt
    [root@ELK-chaofeng test]# find . -type f | xargs rm -rf
    [root@ELK-chaofeng test]# ls
    [root@ELK-chaofeng test]#
    

    接下来我们演示删除带有空格的文件

    [root@ELK-chaofeng test]# touch 1.txt 2.txt '1 2.txt'
    [root@ELK-chaofeng test]# ls
    1 2.txt 1.txt 2.txt
    [root@ELK-chaofeng test]# ll
    total 0
    -rw-r--r-- 1 root root 0 Feb 14 12:24 1 2.txt
    -rw-r--r-- 1 root root 0 Feb 14 12:24 1.txt
    -rw-r--r-- 1 root root 0 Feb 14 12:24 2.txt
    [root@ELK-chaofeng test]# find . -type f -print0 | xargs -0 rm -rf
    [root@ELK-chaofeng test]# ls
    

    上面的参数-print0,于默认的-print相比,输出的序列不是以空格分隔,而是以null字符分隔。而xargs也有一个参数-0,可以接受以null而非空格间隔的输入流。

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持IIS7站长之家。