rm 命令
rm 命令是 Linux 中用来删除文件的命令,一般如下
rm /home/zhoux/test.txt
#注意写好文件的路径,暂时还是写绝对路径好了,.代表当前目录也别忘了Warning
rm执行后不会有返回提示,没有回收站 在完全熟悉文件路径和通配符 wildcard 前,慎重操作
实际操作
rm 的使用很简单,有以下一些选项
-i
-i 意为 interactive,删除前给出信息
zhoux@westnorth:~$ rm -i test.txt
rm: remove regular file 'test.txt'? no
#询问我是否删除,回答no即不删除Warning
为最大限度避免误删,初学阶段请养成加上
-i的习惯
-f
-f 意为 force,不询问并强制删除
感觉没什么用,也最好别用
-r
-r 意为 recursive,递归(循环,遍历)的删除目录,用于文件夹的删除,即一删到底
zhoux@westnorth:~$ ls
linux_practice projects snap test.txt to_be_remove ubuntu-wsl2-systemd-script
zhoux@westnorth:~$ rm -r to_be_remove
#删除to_be_remove目录
zhoux@westnorth:~$ ls
linux_practice projects snap test.txt ubuntu-wsl2-systemd-scriptrm 与通配符
通配符 wildcard 可以与 rm 联用,感觉挺危险
以下是一个例子
zhoux@westnorth:~/linux_practice/files$ ls -l
total 0
-rw-r--r-- 1 zhoux zhoux 0 Dec 4 08:32 2021.matrix
-rw-r--r-- 1 zhoux zhoux 0 Dec 4 08:32 2022.matrix
-rw-r--r-- 1 zhoux zhoux 0 Dec 4 08:32 scRNA.script.R
-rw-r--r-- 1 zhoux zhoux 0 Dec 4 08:32 script.R
-rw-r--r-- 1 zhoux zhoux 0 Dec 4 08:33 script.r
-rw-r--r-- 1 zhoux zhoux 0 Dec 4 08:33 train1.md
-rw-r--r-- 1 zhoux zhoux 0 Dec 4 08:33 train2.md
-rw-r--r-- 1 zhoux zhoux 0 Dec 4 08:31 xb.R1.fastq
-rw-r--r-- 1 zhoux zhoux 0 Dec 4 08:31 xb.R2.fastq
-rw-r--r-- 1 zhoux zhoux 0 Dec 4 08:31 xb.scRNA.fastq
zhoux@westnorth:~/linux_practice/files$ rm *md
#使用*通配符删除所有以md结尾的文件
zhoux@westnorth:~/linux_practice/files$ ls -l
total 0
-rw-r--r-- 1 zhoux zhoux 0 Dec 4 08:32 2021.matrix
-rw-r--r-- 1 zhoux zhoux 0 Dec 4 08:32 2022.matrix
-rw-r--r-- 1 zhoux zhoux 0 Dec 4 08:32 scRNA.script.R
-rw-r--r-- 1 zhoux zhoux 0 Dec 4 08:32 script.R
-rw-r--r-- 1 zhoux zhoux 0 Dec 4 08:33 script.r
-rw-r--r-- 1 zhoux zhoux 0 Dec 4 08:31 xb.R1.fastq
-rw-r--r-- 1 zhoux zhoux 0 Dec 4 08:31 xb.R2.fastq
-rw-r--r-- 1 zhoux zhoux 0 Dec 4 08:31 xb.scRNA.fastq
#train1,train2两个.md文件已经被删除值得注意的, rm -r files/ ≠ rm files/*
rm -r files/即递归删除,将先删掉目录里的所有文件,*再删掉目录自己rm files/*即使用通配符匹配所有字符,将只删除目录里的文件- 即
rm -r files/=rm files/*+rmdir files/*rmdir只能删掉一个空的文件夹