每天一个linux之rm命令

学习了创建文件和目录的命令mkdir ,今天学习一下linux中删除文件和目录的命令:rm命令。rm是常用的命令,该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除。对于链接文件,只是删除了链接,原有文件均保持不变。

rm是一个危险的命令,使用的时候要特别当心,尤其对于新手,否则整个系统就会毁在这个命令(比如在/(根目录)下执行rm * -rf)。所以,我们在执行rm之前最好先确认一下在哪个目录,到底要删除什么东西,操作时保持高度清醒的头脑。

1.命令格式:

rm [选项] 文件…

2.命令功能:

删除一个目录中的一个或多个文件或目录,如果没有使用-r选项,则rm不会删除目录。如果使用rm来删除文件,通常仍可以将该文件恢复原状。

3.命令参数:

 -i, --interactive 进行交互式删除

-f, --force 忽略不存在的文件,从不给出提示

-r, -R, --recursive 指示rm将参数中列出的全部目录和子目录均递归地删除

4.命令实例:

实例一:创建text1文件后删除text1,系统会先询问是否删除

命令:

 rm 文件名

输出:

[BEGIN] 2015/12/24 23:44:26
[[email protected] ~]# 
[[email protected] ~]# ls
anaconda-ks.cfg  install.log  install.log.syslog  log.txt  text
[[email protected] ~]# touch text1
[[email protected] ~]# ls
anaconda-ks.cfg  install.log  install.log.syslog  log.txt  text  text1
[[email protected] ~]# rm text1
rm: remove regular empty file `text1‘? y
[[email protected] ~]# ls
anaconda-ks.cfg  install.log  install.log.syslog  log.txt  text

[END] 2015/12/24 23:44:52

输入rm text1命令后,系统会询问是否删除,输入y(yes)后就会删除文件,不想删除则数据n(no)。

实例二:强行删除新建的text1,系统不再提示。

命令:

rm -f text1

输出:

[BEGIN] 2015/12/24 23:48:02
[[email protected] ~]# 
[[email protected] ~]# touch text1
[[email protected] ~]# ls
anaconda-ks.cfg  install.log  install.log.syslog  log.txt  text  text1
[[email protected] ~]# rm -f text1
[[email protected] ~]# ls
anaconda-ks.cfg  install.log  install.log.syslog  log.txt  text

[END] 2015/12/24 23:48:32

实例三:删除任何新建的.txt文件;删除前逐一询问确认

命令:

 rm -i *.txt

输出:

[BEGIN] 2015/12/24 23:52:04   
[[email protected] ~]# ls
anaconda-ks.cfg  install.log  install.log.syslog  text
[[email protected] ~]# 
[[email protected] ~]# touch text1.txt text2.txt text3.txt
[[email protected] ~]# ls
anaconda-ks.cfg  install.log  install.log.syslog  text  text1.txt  text2.txt  text3.txt
[[email protected] ~]# rm -i *.txt
rm: remove regular empty file `text1.txt‘? y
rm: remove regular empty file `text2.txt‘? y
rm: remove regular empty file `text3.txt‘? y
[[email protected] ~]# ls
anaconda-ks.cfg  install.log  install.log.syslog  text

[END] 2015/12/24 23:52:36

实例四:将 text子目录及子目录中所有档案删除

命令:

 rm -r text

输出:

[BEGIN] 2015/12/24 23:58:34
[[email protected] ~]# ls
anaconda-ks.cfg  install.log  install.log.syslog  text
[[email protected] ~]# tree /root/text/
/root/text/
└── init.d
    ├── dnsmasq
    ├── firstboot
    ├── functions
    ├── haldaemon
    ├── halt
    ├── htcacheclean
    ├── httpd
    ├── ip6tables
    ├── iptables
    ├── irqbalance
    ├── mdmonitor
    ├── messagebus
    ├── NetworkManager
    ├── portreserve
    ├── postfix
    ├── psacct
    ├── quota_nld
    ├── udev-post
    └── xinetd

1 directory, 19 files
[[email protected] ~]# rm -r text
rm: descend into directory `text‘? y
rm: descend into directory `text/init.d‘? y
rm: remove regular file `text/init.d/dnsmasq‘? y
rm: remove regular file `text/init.d/postfix‘? y
rm: remove regular file `text/init.d/htcacheclean‘? y
rm: remove regular file `text/init.d/portreserve‘? y
rm: remove regular file `text/init.d/httpd‘? y
rm: remove regular file `text/init.d/messagebus‘? y
rm: remove regular file `text/init.d/quota_nld‘? y
rm: remove regular file `text/init.d/haldaemon‘? y
rm: remove regular file `text/init.d/halt‘? y
rm: remove regular file `text/init.d/mdmonitor‘? y
rm: remove regular file `text/init.d/xinetd‘? y
rm: remove regular file `text/init.d/iptables‘? y
rm: remove regular file `text/init.d/ip6tables‘? y
rm: remove regular file `text/init.d/NetworkManager‘? y
rm: remove regular file `text/init.d/psacct‘? y
rm: remove regular file `text/init.d/irqbalance‘? y
rm: remove regular file `text/init.d/firstboot‘? y
rm: remove regular file `text/init.d/functions‘? y
rm: remove regular file `text/init.d/udev-post‘? y
rm: remove directory `text/init.d‘? y
rm: remove directory `text‘? y
[[email protected] ~]# 

[END] 2015/12/24 23:59:35

实例五:rm -rf 命令会将 text 子目录及子目录中所有档案删除,并且不用一一确认

命令:

rm -rf text

输出:

[BEGIN] 2015/12/25 0:05:00
[[email protected] ~]# ls
anaconda-ks.cfg  install.log  install.log.syslog  text
[[email protected] ~]# tree /root/text
/root/text
└── init.d
    ├── haldaemon
    ├── halt
    ├── htcacheclean
    ├── httpd
    ├── NetworkManager
    ├── portreserve
    ├── postfix
    ├── psacct
    ├── quota_nld
    ├── rdisc
    ├── restorecond
    ├── rngd
    ├── rsyslog
    ├── wdaemon
    ├── winbind
    ├── wpa_supplicant
    └── xinetd

1 directory, 17 files
[[email protected] ~]# rm -rf text
[[email protected] ~]# ls
anaconda-ks.cfg  install.log  install.log.syslog

[END] 2015/12/25 0:05:37

时间: 2024-12-26 09:13:16

每天一个linux之rm命令的相关文章

Linux中rm命令详解

linux下rm命令使用详解---linux删除文件或目录命令 用户可以用rm命令删除不需要的文件.该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除.对于链接文件,只是断开了链接,原文件保持不变. rm命令的一般形式为:rm [选项]... 目录... 删除指定的<文件>(即解除链接). -d      --directory    删除可能仍有数据的目录 (只限超级用户) -f      --force          略过不存在的文件,

linux下rm命令修改,增加回收站功能【笔记】

一个脚本,linux的用户根目录下.bashrc最后加入如下代码,可以修改rm命令,让人们rm时候不再会全部删除,而是会加入到回收站里,以下是根据别人的资料参考修改的,不是原创 加入后,需要source .bashrc 工作原理,重新定义rm,每次执行rm的话,会将文件mv到~/.trash目录下 操作方法,终端下执行: mcls----->清空.trash回收站中的文件 ur  恢复指定文件 cattrash  查看回收站的内容 mkdir -p ~/.trash alias rm=trash

【Linux】- rm命令

Linux rm命令用于删除一个文件或者目录. 语法 rm [options] name... 参数: -i 删除前逐一询问确认. -f 即使原档案属性设为唯读,亦直接删除,无需逐一确认. -r 将目录及以下之档案亦逐一删除. 实例 删除文件可以直接使用rm命令,若删除目录则必须配合选项"-r",例如: # rm test.txt rm:是否删除 一般文件 "test.txt"? y # rm homework rm: 无法删除目录"homework&qu

每天一个Linux之pwd命令

Linux中用 pwd 命令来查看"当前工作目录"的完整路径. 简单得说,每当你在终端进行操作时,你都会有一个当前工作目录.在不太确定当前位置时,就会使用pwd来判定当前目录在文件系统内的确切位置. 1.命令格式: pwd [选项] 2.命令功能: 查看"当前工作目录"的完整路径 3.常用参数: 一般情况下不带任何参数 如果目录是链接时: 格式:pwd -P  显示出实际路径,而非使用连接(link)路径. 4.常用实例: 实例1:用pwd命令查看默认工作目录的完整

每天一个linux之touch命令

linux的touch命令不常用,一般在使用make的时候可能会用到,用来修改文件时间戳,或者新建一个不存在的文件. 文件存在三个时间戳(可用stat查看): access time:访问时间,简写为atime,读取文件内容 modify time: 修改时间, mtime,改变文件内容(数据) change time: 改变时间, ctime,元数据发生改变 1.命令格式: touch [选项]... 文件... 2.命令参数:   -a 或--time=atime或--time=access

linux 重写rm命令

重写rm命令 replease rm to trash root用户 vi /etc/bashrc 在最后面增加如下脚本 saferm () { if [ ! -d /export/dustbin ] then mkdir -p /export/dustbin chmod 777 /export/dustbin if [ $? -ne 0 ] then echo "Error: failed to create /export/dustbin" fi fi local dst=`mkt

每天一个Linux之mkdir命令

linux mkdir 命令用来创建指定的名称的目录,要求创建目录的用户在当前目录中具有写权限,并且指定的目录名不能是当前目录中已有的目录. 1.命令格式:    mkdir [选项]  目录... 2.命令功能:   通过 mkdir 命令可以实现在指定位置创建以 DirName(指定的文件名)命名的文件夹或目录.要创建文件夹或目录的用户必须对所创建的文件夹的父文件夹具有写权限.并且,所创建的文件夹(目录)不能与其父目录(即父文件夹)中的文件名重名,即同一个目录下不能有同名的(区分大小写). 

Linux之rm命令

自己瞅: [[email protected] ~]# rm --help 用法:rm [选项]... 文件... 删除 (unlink) 文件. -f, --force 强制删除.忽略不存在的文件,不提示确认 -i 在删除前需要确认 -I 在删除超过三个文件或者递归删除前要求确认.此选项比-i 提 示内容更少,但同样可以阻止大多数错误发生 --interactive[=WHEN] 根据指定的WHEN 进行确认提示:never,once (-I), 或者always (-i).如果此参数不加WH

每天一个Linux之locate命令

locate 让使用者可以很快速的搜寻档案系统内是否有指定的档案.其方法是先建立一个包括系统内所有档案名称及路径的数据库,之后当寻找时就只需查询这个数据库,而不必实际深入档案系统之中了.在一般的 distribution 之中,数据库的建立都被放在 crontab 中自动执行. 1.命令格式: Locate [选择参数] [样式] 2.命令功能: locate命令可以在搜寻数据库时快速找到档案,数据库由updatedb程序来更新,updatedb是由cron daemon周期性建立的,locat