标签:
rm命令可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉。对于链接文件,只是删除整个链接文件,而原有文件保持不变。
注意:使用rm命令要格外小心。因为一旦删除了一个文件,就无法再恢复它。所以,在删除文件之前,最好再看一下文件的内容,确定是否真要删除。rm命令可以用-i选项,这个选项在使用文件扩展名字符删除多个文件时特别有用。使用这个选项,系统会要求你逐一确定是否要删除。这时,必须输入y并按Enter键,才能删除文件。如果仅按Enter键或其他字符,文件不会被删除。
(1)用法:
用法:rm [选项]... 文件...
(2)功能:
删除 (unlink) 文件。
(3)选项参数:
1) -f, --force 强制删除。忽略不存在的文件,不提示确认
2) -i 在删除前需要确认
3) -I 在删除超过三个文件或者递归删除前要求确认。此选项比-i 提示内容更少,但同样可以阻止大多数错误发生
4) --interactive[=WHEN] 根据指定的WHEN 进行确认提示:never,once (-I), 或者always (-i)。如果此参数不加WHEN 则总是提示
5) --one-file-system 递归删除一个层级时,跳过所有不符合命令行参 数的文件系统上的文件
6) --no-preserve-roo 不特殊对待"/" --preserve-root 不允许删除"/"(默认)
7) -r, -R, --recursive 递归删除目录及其内容
8) -v, --verbose 详细显示进行的步骤 --help 显示此帮助信息并退出 --version 显示版本信息并退出
9) -d 直接把欲删除的目录的硬连接数据删除成0,删除该目录
(4)实例:
1)[root@localhost Document]# rm -i touch_test_file 等同于rm touch_test_file,交互式删除,y键确认删除,n键不删除
[root@localhost Document]# rm -i touch_test_file rm:是否删除普通空文件 "touch_test_file"?n [root@localhost Document]# rm -i {touch_test_file,touch_test_file2} rm:是否删除普通空文件 "touch_test_file"?y rm:是否删除普通空文件 "touch_test_file2"?y
2)[root@localhost Document]# rm -f test 强制删除文件不做交互提醒
[root@localhost Document]# ll 总用量 0 -rw-r--r--. 1 root root 0 5月 1 18:49 10 days ago drwxrwxr-x. 3 sunjimeng sunjimeng 17 5月 1 03:13 bin drwxrwxr-x. 3 sunjimeng sunjimeng 18 5月 1 03:21 Father -rw-r--r--. 1 root root 0 5月 1 18:58 test [root@localhost Document]# rm -f test [root@localhost Document]# ll 总用量 0 -rw-r--r--. 1 root root 0 5月 1 18:49 10 days ago drwxrwxr-x. 3 sunjimeng sunjimeng 17 5月 1 03:13 bin drwxrwxr-x. 3 sunjimeng sunjimeng 18 5月 1 03:21 Father
3)[root@localhost Document]# rm -r * 删除当前目录下除隐含文件外的所有文件和子目录
[root@localhost Document]# ll 总用量 0 -rw-r--r--. 1 root root 0 5月 1 18:49 10 days ago drwxrwxr-x. 3 sunjimeng sunjimeng 17 5月 1 03:13 bin drwxrwxr-x. 3 sunjimeng sunjimeng 18 5月 1 03:21 Father [root@localhost Document]# rm -r * rm:是否删除普通空文件 "10 days ago"?y rm:是否进入目录"bin"? y rm:是否删除目录 "bin/os_1"?y rm:是否删除目录 "bin"?y rm:是否进入目录"Father"? y rm:是否删除目录 "Father/Child"?y rm:是否删除目录 "Father"?y [root@localhost Document]# ll 总用量 0
4)[root@localhost Document]# rm -v test1 显示删除的详细步骤
[root@localhost Document]# touch {test1,test2} [root@localhost Document]# rm -v test1 rm:是否删除普通空文件 "test1"?y 已删除"test1" [root@localhost Document]# ll 总用量 0 -rw-r--r--. 1 root root 0 5月 1 19:24 test2 [root@localhost Document]#
5)[root@localhost Document]# rm f* 与[root@localhost Document]# rm ./t* 删除以某个或某些字符结尾或开头的文件
[root@localhost Document]# touch {file1,file2,test1,test2} [root@localhost Document]# ll 总用量 0 -rw-r--r--. 1 root root 0 5月 1 19:28 file1 -rw-r--r--. 1 root root 0 5月 1 19:28 file2 -rw-r--r--. 1 root root 0 5月 1 19:28 test1 -rw-r--r--. 1 root root 0 5月 1 19:28 test2 [root@localhost Document]# rm f* rm:是否删除普通空文件 "file1"?y rm:是否删除普通空文件 "file2"?y [root@localhost Document]# rm ./t* rm:是否删除普通空文件 "./test1"?y rm:是否删除普通空文件 "./test2"?y [root@localhost Document]# ll 总用量 0
6)[root@localhost Document]# touch -- -test与[root@localhost Document]# rm -- -test 删除以-字符开头的文件,另外ls -- -test可以列出此-开头的文件
[root@localhost Document]# touch -test touch: 日期格式"est" 无效 [root@localhost Document]# touch -- -test [root@localhost Document]# ll 总用量 0 -rw-r--r--. 1 root root 0 5月 1 19:37 -test [root@localhost Document]# rm -test rm:无效选项 -- t Try ‘rm ./-test‘ to remove the file "-test". Try ‘rm --help‘ for more information. [root@localhost Document]# rm -- -test rm:是否删除普通空文件 "-test"?y
7)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]#
说明:
上面的操作过程模拟了回收站的效果,即删除文件的时候只是把文件放到一个临时目录中,这样在需要的时候还可以恢复过来。
8)
[root@localhost Document]# rm --help 用法:rm [选项]... 文件... Remove (unlink) the FILE(s). -f, --force ignore nonexistent files and arguments, never prompt -i prompt before every removal -I prompt once before removing more than three files, or when removing recursively; less intrusive than -i, while still giving protection against most mistakes --interactive[=WHEN] prompt according to WHEN: never, once (-I), or always (-i); without WHEN, prompt always --one-file-system 递归删除一个层级时,跳过所有不符合命令行参 数的文件系统上的文件 --no-preserve-root do not treat ‘/‘ specially --preserve-root do not remove ‘/‘ (default) -r, -R, --recursive remove directories and their contents recursively -d, --dir remove empty directories -v, --verbose explain what is being done --help 显示此帮助信息并退出 --version 显示版本信息并退出 默认时,rm 不会删除目录。使用--recursive(-r 或-R)选项可删除每个给定 的目录,以及其下所有的内容。 To remove a file whose name starts with a ‘-‘, for example ‘-foo‘, use one of these commands: rm -- -foo rm ./-foo 请注意,如果使用rm 来删除文件,通常仍可以将该文件恢复原状。如果想保证 该文件的内容无法还原,请考虑使用shred。 GNU coreutils online help: <http://www.gnu.org/software/coreutils/> 请向<http://translationproject.org/team/zh_CN.html> 报告rm 的翻译错误 要获取完整文档,请运行:info coreutils ‘rm invocation‘
9)[root@localhost Document]# rm --version 版本信息
[root@localhost Document]# rm --version rm (GNU coreutils) 8.22 Copyright (C) 2013 Free Software Foundation, Inc. 许可证:GPLv3+:GNU 通用公共许可证第3 版或更新版本<http://gnu.org/licenses/gpl.html>。 本软件是自由软件:您可以自由修改和重新发布它。 在法律范围内没有其他保证。 由Paul Rubin、David MacKenzie、Richard M. Stallman 和 Jim Meyering 编写。
标签:
原文地址:http://www.cnblogs.com/MenAngel/p/5452010.html