关于linux系统的rm命令

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于linux系统的rm命令相关的知识,希望对你有一定的参考价值。

我是Fedora11。

出现以下错误:

[root@dzf advio]# rm *.o
rm: 无法删除 “*.o”: 协议错误
[root@dzf advio]# rm -f *.o
rm: 无法删除 “*.o”: 协议错误

请问是怎么回事呢?
[root@dzf advio]# pwd
/home/dzf/Book/apue/advio
[root@dzf advio]# mount
/dev/mapper/vg_dzf-lv_root on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw)
/dev/sda1 on /boot type ext3 (rw)
tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0")
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
gvfs-fuse-daemon on /home/dzf/.gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev,user=dzf)
/home/dzf/Book on ./Book type vboxsf (rw)
[root@dzf advio]#

我是在虚拟机挂载的本地文件
本地系统XP,
已经发现问题就是出在挂载的本地文件上,因为把该目录cp到虚拟机中的文件夹,可以执行该命令。

不是只读的,可以一个个删除,就是不能用以上操作

求高手解释。

pwd
mount
两个命令,贴出输出。
-------------
virtualbox 的数据共享……
是不是共享过来的目录设置了禁止写入只能读?
要不就是 vbox 这个共享数据的缺陷?
-------------
for x in `ls *.o`
do
rm -f $x
done

囧rz
用 shell 一个一个删吧……
你可能遇到了某些特殊的问题,导致 rm 的某些工作不正常……
参考技术A 有些奇特,可以试着以single模式登陆删除看看。还可以试试用mv命令移动它,看看有什么提示。 参考技术B 是不是执行该进程呢?PS下看看 参考技术C 看不出来什么问题,关注一下

Linux 之 rm 命令

rm是很常用的命令,该命令的功能是删除目录中的一个或者多个文件或者目录。对于链接文件,只是删除了链接文件,不会删除原文件。
rm是一个很危险的命令,新生一定不能在/根目录执行rm -rf *,或者执行rm -rf /,这将导致系统所有文件被删除,导致系统崩溃。所以在删除时一定要确认清楚。

命令格式

rm [选项] 文件...

命令功能

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

命令参数

- -f,--force 不提醒直接删除
- -i,--interactive 交互式删除
- -r,-R --recursive 递归删除子目录
- -v,--verbose 详细显示进行的步骤
- --help 帮助信息
- --version 输出版本信息

rm rumenz.txt删除文件,系统会询问

如果确认要删除则输入(y/Y),不需要删除则直接回车或者输入非(y/Y)的字符文字。
>ls
rumenz.txt
> rm rumenz.txt
> rm: remove regular empty file ‘rumenz.txt’? y

强行删除文件,系统无提示

直接删除,没有返回的机会
>ls 
rumenz.txt
> rm -r rumenz.txt

删除当前目录下所有txt文件,删除前逐一询问

>ls
1.txt   2.txt   3.txt   4.txt   5.txt  6.log
> rm -i *.txt
rm -i *.txt
remove 1.txt? y
remove 2.txt? y
remove 3.txt? y
remove 4.txt? y
remove 5.txt? y
>ls
6.log

删除目录下子目录所有的文件

> tree rumenz/
rumenz/
├── 1.txt
├── one
│   └── 2.txt
└── tow
> rm -r rumenz

直接删除文件(文件或者目录),没有提示

删除rumenz下的所有目录和文件
> rm -rf rumenz

直接删除rumenz目录下的所有文件和目录,保留rumenz目录

> rm -rf rumenz/*

删除以-开头的文件

> touch -- -rumenz
> ls 
-rumenz
> rm -- -rumenz

自定义回收站


# 定义一个函数
> rrm(){ D=/tmp/$(date +%Y%m%d%H%M%S); mkdir -p $D; mv "$@" $D && echo "moved to $D ok";}
> alias rm="rrm"
> rm  node_exporter-1.0.1.linux-amd64.tar.gz
moved to /tmp/20210130221519 ok
> cd /tmp/20210130221519
> ls
node_exporter-1.0.1.linux-amd64.tar.gz
删除文件的时候只是把文件放到一个临时目录中,这样在需要的时候还可以恢复过来。

原文链接:https://rumenz.com/rumenbiji/...
微信公众号:入门小站

以上是关于关于linux系统的rm命令的主要内容,如果未能解决你的问题,请参考以下文章

关于linux命令 cp,rm,mv执行时是否询问的问题,不同用户有不同的别名设置

Linux常用命令——rm

开发常用Linux指令整理

关于linux下的MySQL数据恢复问题

关于Linux的基本操作命令

linux 系统下面,rm -rf 删除的文件能找回来吗?