• Linux 创建与删除(5)


    相对于Windows下的右键新建文件与删除,我更喜爱Linux下的命令式创建与删除,真的方便。不过Windows下也可以借助工具来实现,比如git bash、cmder等等终端工具。

    创建文件

    新建文件使用touch命令,后直接跟文件名,比如创建一个名为 demo的 js文件:

    touch demo.js

     

    注意,如果当前目录下已经有了一个同名的文件,那么就会修改文件的末次修改日期。

    查看文件信息

    ls -l

    有一个111.txt文件的信息:

    -rw-r--r--   1 root root     0 Apr 19 16:04 111.txt

    现在使用touch命令再来创建一次:

    touch 111.txt

    再看一下信息:

    ls -l  
    
    // -rw-r--r--   1 root root     0 Apr 22 14:57 111.txt

    显然,时间已经变了~

     

    创建目录

    创建目录使用mkdir命令,后直接跟目录名。

    结合cd 命令,创建多层级目录

    mkdir a
    cd a
    mkdir b
    cd b
    mkdir c
    cd c

    这个层级很明了,查看当前所在位置:

    pwd
    
    //  /a/b/c

    创建命令虽然简单,但是上面这种看起来很繁琐,层级多了还容易写错,所以这里主要介绍一个选项,可以更简便地创建多级目录:

    -p : 可以递归创建目录

    再来创建上面这样的目录,就可以这样写了:

    mkdir -p a1/b1/c1

    删除

    删除命令是rm,可以删除文件也可以删除目录,需要注意的是:

    使用rm删除的文件不可恢复

    删除文件

    删除一个普通的文件,直接rm+文件名,例如:

    //删除test.txt文件
    rm test.txt

    此时会提示是否删除此文件:

    rm: remove regular empty file ‘test.txt’?

    在问号后面输入 y 就是确定删除,输入 n 就是取消删除。

     

    删除目录

    如果要删除一个目录文件,直接使用rm是不行的,例如:

    //删除a目录
    rm a

    系统会提示:

    rm: cannot remove ‘a’: Is a directory

    此时,我们需要加一个选项,就是 -r,再来试下:

    rm -r a

    此时,会提示:

    rm: descend into directory ‘a’?

    输入 y确定:

    rm: descend into directory ‘a/b’?

    这是因为a目录下还有b目录,再次确定:

    rm: remove directory ‘a/b/c’?

    b目录下仍有c目录,之后一直确定:

    rm: remove directory ‘a/b’?y
    
    rm: remove directory ‘a’?

    可以看到删除一个目录的过程比较麻烦,它会一层层进入到最深层的目录里,然后再从里往外一层层删除。不过虽然麻烦,但是却很合理,因为如果你不想删掉整个目录所有文件,这样的询问还是有必要的。现在,你可能会问,我就是想删掉整个目录,不想它一直提示怎么办?为此,Linux提供了另一个选项。

     

    强制删除

    使用选项 -f 可以实现强制删除,无需提示,即使文件不存在,也不会提示。

    现在删除 a目录,可以:

    rm -rf a

    此时会一次性删除整个a目录,而不会再提示了。

     

    在这之前,如果我们删除一个不存在的文件,会提示文件不存在:

    //删除aaa.txt文件
    rm: cannot remove ‘aaa.txt’: No such file or directory

    如果加上-f,就不会提示了:

    rm -f aaa.txt

     

    最后想说,不管是touch、mkdir还是rm命令,它们都不止有一个选项可用,我只是把我用到的都说了,说多了也没必要,还不如查手册。

     

     

     

  • 相关阅读:
    HTTP协议一次上传多个文件的方法
    PHP中include和require的区别
    jenkins持续集成工具
    vue加强(第二天)
    VUE(第一天)
    mybatis的SQL映射(加强)
    easyPOI的上传和下载(导入和导出功能)
    shiro登录授权框架
    SpringDataJPA(ORM对象关系映射框架)
    SpringSpringMVCJPA集成
  • 原文地址:https://www.cnblogs.com/wjaaron/p/8907904.html
Copyright © 2020-2023  润新知