删除文件(rm,rmdir)

适用于 ubuntu 20.04
ubuntu 20.04 是 “西柚云” 主要使用的操作系统 西柚云官网

  • rmdir 删除一个空目录

    # 在 /tmp 目录下创建一个名为 xiyouyun 的目录
    cd /tmp
    mkdir xiyouyun
    # 将工作目录切换为 xiyouyun
    cd xiyouyun
    # 在 xiyouyun 目录下创建一个名为 to_delete 的目录
    mkdir to_delete
    # 查看当前工作目录下的文件信息,确认 to_delete 目录是否被创建
    ls
    # 删除 to_delete 目录
    rmdir to_delete
    # 查看当前目录下的文件信息,确认 to_delete 目录是否被删除
    ls
    # 在当前工作目录下生成一个 xiyou.txt 的文件
    echo "hello, xiyouyun" > xiyou.txt
    ls
    # 此时 xiyouyun 目录下存在一个名为 xiyou.txt 的文件,不能被删除
    rmdir /tmp/xiyouyun
    

  • rm 删除文件或目录,支持正则表达式匹配待删除的文件或目录,这里关于正则表达式的知识点只需要记住 * 在匹配文件路径时可以代表任意字符就行。

    # 在 /tmp 目录下创建一个名为 xiyouyun 的目录
    cd /tmp
    mkdir xiyouyun
    # 将工作目录切换为xiyouyun
    cd xiyouyun
    # 在 /tmp/xiyouyun 目录下创建 9 个文件,分别为 1.txt、2.txt …… 9.txt,可以暂时忽略这里的语法
    touch {1..9}.txt
    ls
    # 删除文件 1.txt
    rm 1.txt
    # 删除文件 9.txt, * 可以表示后面的 .txt, * 在表示路径时可以表示任意字符,因此这里的 9* 可以被解释为 9.txt
    rm 9*
    # 创建两个目录 father/son 此时在 father 目录下会创建一个名为 son 的子目录,因此创建后 father 目录不是空目录
    mkdir -p father/son
    # 查看目录层级结构,如果系统中不存在这个命令,可以借助 ls 查看当前工作目录下的文件,或者通过 apt install tree 安装这个软件。
    tree
    # 删除 father 目录,以及 father 目录下面的所有文件
    # 失败,rmdir 只能删除空目录
    rmdir father
    # rm 命令默认删除文件,使用 -r 参数可以删除目录,-i 参数会在删除目录前一一询问用户是否删除该的文件,输入 yes 并回车就会将对应的文件删除
    rm -r -i father
    ls
    # rm 的 -f 参数表示在删除文件时不用输入 yes 确认,强制删除。
    mkdir -p father/son
    # 这里的 -r 和 -f 可以连在一起写作 -rf,效果同分开写相同,下面这条命令会删除 father 目录和 father 目录下的所有文件
    rm -rf father
    ls
    

补充内容

mkdir 能够创建目录,touch 能够创建文件,那么怎么区分文件或目录呢?

  • 使用 ls 输出当前工作目录下的文件信息时,会通过不同的颜色来区分目录和文件,但这种方式不一定总是可靠。因为光凭颜色只能看出有一种颜色表示目录,另一种颜色表示文件,不能看出哪一种颜色对应目录,哪一种颜色对应文件。

  • 在 windows 中可以通过文件后缀(如:1.txt)来区分文件和目录,文件有后缀,目录没后缀,这在 linux 系统中也不可行。

  • 这里介绍一种方法:使用 ls -l 以 list(列表)的形式列出当前工作目录下的所有文件信息,每个文件或目录对应一行,看每一行的第 1 个字符就可以判断对应的文件信息是目录还是文件了。第 1 个字符为 d 的行表示该行对应的文件类型为目录,第 1 个字符为-的行表示该行对应的文件类型为文件。

    # 创建 xiyouyun 目录,如果 /tmp/xiyoyun 目录存在,不做操作
    mkdir -p /tmp/xiyouyun
    cd /tmp/xiyouyun
    # 创建 1 个目录
    mkdir directory
    # 创建一个名为 file 的文件,文件名不带后缀
    touch file
    ls -l
    


删除文件最佳实践

我们之前说到 rmdir 和鸡肋,只能用来删除空目录,这是一种非常保守的做法。但 rm -rf 的时候会直接删除文件而无法找回,这是不是又有点激进呢?

在使用图形化界面的电脑中,有一个“回收站(trash)”的概念,我们删除文件后,文件会被放入到”回收站“中,并不会立即被删除。此时文件还可以从”回收站“中恢复,只有在做完“清空回收站“后,文件才会被真正删除。而在终端中,你使用 rm 删掉一个文件后就无法恢复了,文件不会被放入回收站。

这对初学者并不友好,慎重使用 rm 这个命令是需要刻意训练的。因为在图形化界面中删除一个文件后可以在想要使用这个文件时将它从 trash 中恢复,这会让人们在做出删除操作时很草率,这可能导致误删文件之后后悔莫及。

这里我给大家介绍一个新命令:mv(move),它有两个参数 mv [source_path] [target_path],第 1 个参数是想要删除的文件或目录的路径,第 2 个参数是 trash 的路径,trash 是一个目录。文件或目录会被移动到 trash 目录中。

# 在家目录下创建 trash,之前的文章有说到,在路径中 ~ 可以表示家目录
mkdir ~/trash# 创建 9 个文件
touch xiyou{1..9}.txt
ls# 将刚刚的 9 个文件放入 trash, 上文的内容有说到,在路径中的 * 可以表示任意字符
mv xiyou*.txt ~/trash
ls# 将xiyou9.txt文件从 trash 中恢复到当前目录中, 之前的文章有说到,在路径中 . 可以代表当前的工作目录
mv ~/trash/xiyou9.txt .
ls

为了避免“回收站”占用空间过大,记得使用 rm 命令定期删除其中不再需要的文件。

Linux教程之删除文件(rm,rmdir)相关推荐

  1. linux 只读文件 删除,linux – 我无法删除文件’rm:无法删除X只读文件系统’

    我正在尝试删除rdiff备份文件夹,因为备份过程中出现了一些问题,需要删除它的历史记录并重试.但是,当我跑: rm -r -f rdiff-backup-data 我在一些文件上得到以下内容: rm: ...

  2. linux下删除只读文件,linux – 我无法删除文件’rm:无法删除X只读文件系统’

    我正在尝试删除rdiff备份文件夹,因为备份过程中出现了一些问题,需要删除它的历史记录并重试.但是,当我跑: rm -r -f rdiff-backup-data 我在一些文件上得到以下内容: rm: ...

  3. linux 批量选中文本删除,教程 | 【七牛云】Qshell Linux下批量删除文件教程

    原标题:教程 | [七牛云]Qshell Linux下批量删除文件教程 项目内容 本文将教您使用七牛云提供的Qshell工具在linux下安装并且使用批量查询和批量删除命令行进行远程删除文件. 项目教 ...

  4. python rm 条件_删除文件 (rm)

    # 附录A-练习14:删除文件 (rm) 这节练习中,你将学会如何使用`rm`命令删除一个文件. ### 做到这些 ### Linux ~~~ $ cd temp $ ls uncool.txt ia ...

  5. linux下的删除文件命令,Linux下删除文件命令

    在linux中删除文件与文件夹我们可以直接使用rm就可以删除了,彻底删除文件或文件夹我们可以使用shred命令来完成,接下来是小编为大家收集的Linux下删除文件命令,希望能帮到大家. Linux下删 ...

  6. linux删除的文件有回收站么,Linux命令行删除文件到回收站

    先说方法,原理后面分析. 由于我使用的是Ubuntu14,这里以该系统为主,其他系统略有区别. 可以新加别名del,用于删除文件. alias del='mv -t ~/.local/share/Tr ...

  7. linux c 删除文件,linux c remove 删除文件或目录函数

    linux c remove 删除文件或目录函数 头文件:#include remove()函数用于删除指定的文件,其原型如下: int remove(char * filename); [参数]fi ...

  8. Linux 创建、删除文件夹

    Linux 创建.删除文件夹 创建文件夹 创建aa文件夹,查看列表:可以看到已经有文件夹aa; mkdir aa 批量创建文件夹(bb cc dd),查看列表:可以看到有文件夹多了三个(bb cc d ...

  9. linux 如何安全删除文件,Linux系统安全删除文件方法是什么.docx

    PAGE PAGE # Linux系统安全删除文件方法是什么 很多时候我们直接删除文件都会被各种手段恢复,那么怎么 安全删除文件呢?以Linux系统为例.只有通过一些工具,才能安全 地删除数据.具体怎 ...

最新文章

  1. chrome Native Client 让你可以使用 C 以及 C++ 语言开发 Web 应用
  2. 谨以此片,献给你身边的产品经理
  3. recurrence relation in parenthesis placing problem
  4. springboot项目启动后找不到jsp文件
  5. Cocos2dx利用intersectsRect函数检测碰撞
  6. 原生JS实现addClass,removeClass,toggleClass
  7. 申请Let's Encrypt的证书
  8. Oracle 存储过程+JOB初学
  9. 快速配置Maven到OSChina中央库的教程
  10. php 封装模式,PHP设计模式(三):封装
  11. spring5.0学习笔记3
  12. 医院信息化服务器配置,医院信息化建设方案(完整).doc
  13. Node-跟着李南江学编程
  14. 七月流火,让我们共享一场开源数据库的饕餮盛宴
  15. Pegasus Serial Port Tool @ Simplicity Version 串口测试工具简化版发布
  16. HDU 1863 (图论基础prim算法)
  17. 字节跳动 |go 后端开发工程师社招一二三四五面面经|2022
  18. Android UI 模板
  19. [Elasticsearch](五)Docker环境下搭建Elasticsearch,Elasticsearch集群,Elasticsearch-Head以及IK分词插件和拼音分词插件
  20. 对称与魔术初步(六)——魔术《4选1的诅咒》等

热门文章

  1. vue项目中下载文档的一种方式
  2. 配置Hive递归查询子目录
  3. loadrunner中Run-time-Setting设置
  4. echarts 5.4 版本 map 地图下钻,显示南沙群岛缩略图,海南三沙市编辑隐藏
  5. python连接windows远程桌面,如何使用Paramiko、Python在windows机器之间建立远程桌面连接...
  6. 2022电大国家开放大学网上形考任务-古代诗歌散文专题非免费(非答案)
  7. PHP实现汉字笔画统计
  8. iMail Basic 功能之导入和导出
  9. 东西南北中布局 BorderLayout
  10. tm是什么域名_tm域名是什么