每天一个Linux命令:rm
2017-05-10 08:04
661 查看
rm命令可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉。对于链接文件,只是删除整个链接文件,而原有文件保持不变。 注意:使用rm命令要格外小心。因为一旦删除了一个文件,就无法再恢复它。所以,在删除文件之前,最好再看一下文件的内容,确定是否真要删除。rm命令可以用-i选项,这个选项在使用文件扩展名字符删除多个文件时特别有用。使用这个选项,系统会要求你逐一确定是否要删除。这时,必须输入y并按Enter键,才能删除文件。如果仅按Enter键或其他字符,文件不会被删除。(来自: http://man.linuxde.net/rm)
一、语法
rm [选项] [参数]
二、选项
-d (direct):直接把欲删除的目录的硬连接数据删除成0,删除该目录;
-f (force):强制删除文件或目录;
-i (inform):删除已有文件或目录之前先询问用户;
-r或-R (recursion):递归处理,将指定目录下的所有文件与子目录一并处理;
–preserve-root:不对根目录进行递归操作;
-v (verbal):显示指令的详细执行过程。
三、参数
文件:指定被删除的文件列表,如果参数中含有目录,则必须加上-r或者-R选项。
四、实例
交互式删除当前目录下的文件test和example
删除当前目录下除隐含文件外的所有文件和子目录 :
rm -r *
应注意,这样做是非常危险的!
实例一:删除文件file,系统会先询问是否删除。
命令:
rm 文件名
输出:
说明:
输入rm log.log命令后,系统会询问是否删除,输入y后就会删除文件,不想删除则数据n。
实例二:强行删除file,系统不再提示。
命令:
rm -f log1.log
输出:
实例三:删除任何.log文件;删除前逐一询问确认
命令:
rm -i *.log
输出:
实例四:将 test1子目录及子目录中所有档案删除
命令:
rm -r test1
输出:
实例五:rm -rf test2命令会将 test2 子目录及子目录中所有档案删除,并且不用一一确认
命令:
rm -rf test2
输出:
实例六:删除以 -f 开头的文件
命令:
rm – -f
输出:
实例七:自定义回收站功能
命令:
说明:
上面的操作过程模拟了回收站的效果,即删除文件的时候只是把文件放到一个临时目录中,这样在需要的时候还可以恢复过来。
一、语法
rm [选项] [参数]
二、选项
-d (direct):直接把欲删除的目录的硬连接数据删除成0,删除该目录;
-f (force):强制删除文件或目录;
-i (inform):删除已有文件或目录之前先询问用户;
-r或-R (recursion):递归处理,将指定目录下的所有文件与子目录一并处理;
–preserve-root:不对根目录进行递归操作;
-v (verbal):显示指令的详细执行过程。
三、参数
文件:指定被删除的文件列表,如果参数中含有目录,则必须加上-r或者-R选项。
四、实例
交互式删除当前目录下的文件test和example
rm -i test example Remove test ?n(不删除文件test) Remove example ?y(删除文件example)
删除当前目录下除隐含文件外的所有文件和子目录 :
rm -r *
应注意,这样做是非常危险的!
实例一:删除文件file,系统会先询问是否删除。
命令:
rm 文件名
输出:
[root@localhost test1]# ll 总计 4 -rw-r--r-- 1 root root 56 10-26 14:31 log.log root@localhost test1]# rm log.log rm:是否删除 一般文件 “log.log”? y root@localhost test1]# ll 总计 0[root@localhost test1]#
说明:
输入rm log.log命令后,系统会询问是否删除,输入y后就会删除文件,不想删除则数据n。
实例二:强行删除file,系统不再提示。
命令:
rm -f log1.log
输出:
[root@localhost test1]# ll 总计 4 -rw-r--r-- 1 root root 23 10-26 14:40 log1.log [root@localhost test1]# rm -f log1.log [root@localhost test1]# ll 总计 0[root@localhost test1]#
实例三:删除任何.log文件;删除前逐一询问确认
命令:
rm -i *.log
输出:
[root@localhost test1]# ll 总计 8 -rw-r--r-- 1 root root 11 10-26 14:45 log1.log -rw-r--r-- 1 root root 24 10-26 14:45 log2.log [root@localhost test1]# rm -i *.log rm:是否删除 一般文件 “log1.log”? y rm:是否删除 一般文件 “log2.log”? y [root@localhost test1]# ll 总计 0[root@localhost test1]#
实例四:将 test1子目录及子目录中所有档案删除
命令:
rm -r test1
输出:
[root@localhost test]# ll 总计 24drwxr-xr-x 7 root root 4096 10-25 18:07 scf drwxr-xr-x 2 root root 4096 10-26 14:51 test1 drwxr-xr-x 3 root root 4096 10-25 17:44 test2 drwxrwxrwx 2 root root 4096 10-25 17:46 test3 drwxr-xr-x 2 root root 4096 10-25 17:56 test4 drwxr-xr-x 3 root root 4096 10-25 17:56 test5 [root@localhost test]# rm -r test1 rm:是否进入目录 “test1”? y rm:是否删除 一般文件 “test1/log3.log”? y rm:是否删除 目录 “test1”? y [root@localhost test]# ll 总计 20drwxr-xr-x 7 root root 4096 10-25 18:07 scf drwxr-xr-x 3 root root 4096 10-25 17:44 test2 drwxrwxrwx 2 root root 4096 10-25 17:46 test3 drwxr-xr-x 2 root root 4096 10-25 17:56 test4 drwxr-xr-x 3 root root 4096 10-25 17:56 test5 [root@localhost test]#
实例五:rm -rf test2命令会将 test2 子目录及子目录中所有档案删除,并且不用一一确认
命令:
rm -rf test2
输出:
[root@localhost test]# rm -rf test2 [root@localhost test]# ll 总计 16drwxr-xr-x 7 root root 4096 10-25 18:07 scf drwxrwxrwx 2 root root 4096 10-25 17:46 test3 drwxr-xr-x 2 root root 4096 10-25 17:56 test4 drwxr-xr-x 3 root root 4096 10-25 17:56 test5 [root@localhost test]#
实例六:删除以 -f 开头的文件
命令:
rm – -f
输出:
[root@localhost test]# touch -- -f [root@localhost test]# ls -- -f -f[root@localhost test]# rm -- -f rm:是否删除 一般空文件 “-f”? y [root@localhost test]# ls -- -f ls: -f: 没有那个文件或目录 [root@localhost test]# 也可以使用下面的操作步骤: [root@localhost test]# touch ./-f [root@localhost test]# ls ./-f ./-f[root@localhost test]# rm ./-f rm:是否删除 一般空文件 “./-f”? y [root@localhost test]#
实例七:自定义回收站功能
命令:
myrm(){ D=/tmp/$(date +%Y%m%d%H%M%S); mkdir -p $D; mv "$@" $D && echo "moved to $D ok"; } 输出: [root@localhost test]# myrm(){ D=/tmp/$(date +%Y%m%d%H%M%S); mkdir -p $D; mv "$@" $D && echo "moved to $D ok"; } [root@localhost test]# alias rm='myrm' [root@localhost test]# touch 1.log 2.log 3.log [root@localhost test]# ll 总计 16 -rw-r--r-- 1 root root 0 10-26 15:08 1.log -rw-r--r-- 1 root root 0 10-26 15:08 2.log -rw-r--r-- 1 root root 0 10-26 15:08 3.log drwxr-xr-x 7 root root 4096 10-25 18:07 scf drwxrwxrwx 2 root root 4096 10-25 17:46 test3 drwxr-xr-x 2 root root 4096 10-25 17:56 test4 drwxr-xr-x 3 root root 4096 10-25 17:56 test5 [root@localhost test]# rm [123].log moved to /tmp/20121026150901 ok [root@localhost test]# ll 总计 16drwxr-xr-x 7 root root 4096 10-25 18:07 scf drwxrwxrwx 2 root root 4096 10-25 17:46 test3 drwxr-xr-x 2 root root 4096 10-25 17:56 test4 drwxr-xr-x 3 root root 4096 10-25 17:56 test5 [root@localhost test]# ls /tmp/20121026150901/ 1.log 2.log 3.log [root@localhost test]#
说明:
上面的操作过程模拟了回收站的效果,即删除文件的时候只是把文件放到一个临时目录中,这样在需要的时候还可以恢复过来。
相关文章推荐
- 每天一个linux命令(5):rm命令
- 每天学习一个linux命令(5):rm 命令
- 每天一个linux命令(5):rm 命令
- 每天一个linux命令(5):rm 命令
- 每天一个linux之rm命令
- 【每天一个Linux命令】22. 删除文件命令rm && 删除空目录命令rmdir
- Linux学习17_每天一个linux命令(5):rm 命令
- (转)每天一个Linux命令(5): rm
- 每天一个linux命令(5):rm 命令
- 每天一个linux命令(14):rm 命令
- 每天一个Linux命令-----rm
- 每天一个linux命令(5):rm 命令
- 【转】每天一个linux命令(5):rm 命令
- 每天一个linux命令(5):rm 命令
- 每天一个linux命令(5):rm 命令
- 每天一个linux命令(5):rm 命令
- 每天一个linux命令(5):rm 命令
- 每天一个linux命令(5):rm 命令
- ***每天一个linux命令(5):rm 命令
- 每天一个linux命令(5):rm 命令