Questions tagged «rm»

rm是删除文件的命令


1
Debian:无法删除/ sys /中的符号链接:不允许的操作
我在运行某些命令时并没有完全理解它们,而试图使屏幕亮度正常工作,现在我陷入了试图摆脱的“ / sys / class / backlight / asus_laptop”中令人讨厌的符号链接。 我努力了 sudo rm /sys/class/backlight/asus_laptop sudo rm '/sys/class/backlight/asus_laptop' su root rm /sys/class/backlight/asus_laptop sudo rm /sys/class/backlight/asus_laptop 进入目录并输入rm asus_laptop,更改所有权并使用Thunar尝试删除它。 我懂了 rm: cannot remove '/sys/class/backlight/asus_laptop': Operation not permitted 取消链接也是如此,rmdir不起作用,Thunar失败。 对此的权限为lrwxrwxrwx 如何删除?
10 linux  permissions  rm  sysfs 

1
rm -f的替代选项
我想运行一个命令行: cd ~/www/tmp/; rm -P 2* 但是如果没有以2开头的文件,我会报错。 您可能认为我想使用-f,但是: -f Attempt to remove the files without prompting for confirmation, regardless of the file's permissions. If the file does not exist, do not display a diagnostic message or modify the exit status to reflect an error. 而且我确实在乎文件权限-如果发生奇怪的事情,我希望使用命令中止。我只想抑制“不存在”错误。 我查看了一些其他带有“ rm错误”的问题,发现这两个(有点)相关: 删除文件和目录的名称。无此文件或目录 但是,我不了解该问题答案中的所有内容,也不知道我需要它吗? touch这个问题的黑客建议: …
10 command-line  rm 

6
删除名称中带有空格的文件
我正在尝试删除名称中带有空格的所有文件。我正在使用以下命令。但这给我一个错误 命令: ls | egrep '. ' | xargs rm 在这里,如果我仅使用ls | egrep '. '命令,它将为我提供所有文件名,文件名中带有空格。但是,当我尝试将输出传递给rm时,所有空格(前导或尾随)都会被删除。因此我的命令未正确执行。 关于如何删除名称中至少有一个空格的文件的任何指针?
10 shell  quoting  rm  xargs 

2
为什么`cp`和`rm`分别对待目录?
为什么喜欢cp和rm对待目录的工具与常规文件分开?它们都要求用户明确指定她想要递归的行为,否则他们将根本不处理目录。 我与计算机的第一次交互(前一段时间)是在Windows / GUI /指向和单击/拖放环境中,无论目标如何,这些操作的表现总是很自然的。 当我使用通配符命令时,这种行为使我特别沮丧。如果我想删除目录(*)中除非空子目录以外的所有内容,该怎么办? 我只能想象这是一种安全性功能,可以防止用户用脚砸自己,但这与我对Unix原则的理解相矛盾: Unix通常不会保护用户免受自己的伤害。一直假设用户知道她在做什么。 对于Unix,所有内容都是文件。目录不只是另一个文件吗?为什么要区别对待他们? 我的问题: 这种行为是出于技术限制还是故意选择的? 如果是后者, 是否有任何历史原因说明了这种选择的原因?
10 rm  cp 

4
在UNIX中删除超过5天的文件(文件名中的日期,而不是时间戳)
我想从目录中删除超过5天的日志文件。但是删除不应该基于文件的时间戳。它应该基于文件名。对于今天的例子日期是07月05日和目录包含类似名称的10个文件ABC_20120430.log,ABC_20120429.log,ABC_20120502.log,ABC_20120320.log等我希望能够通过提取从文件的名称日期以删除这些文件。
10 bash  sed  rm 

4
在OpenSolaris下删除文件时设备上没有空间
尝试在客户端盒上安装NFS共享(从OpenIndiana服务器导出)时,OI服务器崩溃。我得到了死亡的黑屏,看上去像是日志转储,然后重新启动了系统。它再也没有恢复,并且在我停止引导后收到以下错误消息: svc.startd[9] Could not log for svc:/network/dns/mulitcast:default: write(30) failed with No space left on device? 除操作系统外,我在启动驱动器上没有其他任何东西,所以...我不确定什么可能会填满驱动器?也许是某种日志文件?我似乎无法删除任何内容。当我尝试删除任何内容时,它没有出现空间错误: $ rm filename cannot remove 'filename' : No space left on device 我可以登录“维护模式”,但不能登录标准用户提示符。 输出df为: rpool/ROOT/openindiana-baseline 4133493 4133493 0 100% / swap 83097900 11028 830386872 1% /etc/svc/volatile /usr/lib/libc/libc_hwcap1.so.1 4133493 4133493 0 100% /lib/libc.so.1 输出mount为: / …

2
递归删除所有文件,而不删除目录
我想“清理”目录中的所有文件,包括子目录中的所有文件,但我想保留子目录。我的理解rm -r是,它也会删除子目录本身。 我不希望删除隐藏(点)文件。 如何才能做到这一点?
10 command-line  find  rm 

1
为什么rmdir和unlink两个单独的系统调用?
这让我有些疑惑了: [15:40:50][/tmp]$ mkdir a [15:40:52][/tmp]$ strace rmdir a execve("/usr/bin/rmdir", ["rmdir", "a"], [/* 78 vars */]) = 0 brk(0) = 0x11bb000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7ff3772c3000 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=245801, ...}) = 0 mmap(NULL, 245801, …

1
如何强制创建符号链接?
我有一个特定的目录,里面充满了按日期组织(命名)的其他目录。为便于参考,我有一个名为current最新链接的符号链接。 在创建新日期目录的脚本中,我希望创建或修复current符号链接以指向创建后的最新目录。 我以为适当的命令就是 ln -fs 2017-03-01 current 如果current符号链接尚不存在,则可以使用。 但是,如果current已经创建了符号链接(并且将其指向目录2017-02-28),则无法使用: 除删除符号链接current,并创建一个新的符号链接current指向2017-03-01,其结果反而是一个破碎的符号链接称为 2017-03-01指向自身,休息里面的目录2017-02-28(这是符号链接current指向,仍然分)。 这让我ln感到困惑,因此我阅读了的规格。原来这是预期的行为: 概要 ln [-fs] [-L|-P] source_file target_file ln [-fs] [-L|-P] source_file... target_dir 描述 ... 当最终操作数命名现有目录时,将采用第二种提要形式。 因此,似乎没有办法重新指向当前指向目录的符号链接,该目录指向新目标,其中新目标的名称与符号链接的名称不同。因此,ln -fs它不像我认为的那样起作用。 要我rm current,还是有另一种方法,我忽略了?
10 symlink  rm  ln 

2
删除名称中没有字符串的文件
我要删除名称中不包含字符串“ 999”(不带“'')的文件。 我努力了: grep -vlr 999 . | xargs -0 rm -f -- find . -print0 | grep --null-data -v 999 | xargs -0 rm -- 但是它们都不起作用。我正在使用bash 3.2.57的macOS Sierra。
9 bash  osx  filenames  rm 

2
rmdir和rm -r之间的区别
我通常使用rm删除目录: rm -r myDir 但是我知道另一个命令rmdir,它似乎也可以完成这项工作: rmdir myDir 这两个命令有什么区别,什么时候应该使用?
9 directory  rm  command 

2
如何删除具有多个btrfs子卷的目录?
我的根文件系统在btrfs分区上。我的/chroot目录中包含许多btrfs子卷,这使我无法使用删除它rm -rf /chroot。在试图删除所有子卷,我想上市仅低于子卷/chroot使用-o,该男子页说,它“只打印下面指定的路径子卷”。 # btrfs subvolume list -o /chroot ID 593 gen 6616 top level 5 path chroot/base-devel/root ID 594 gen 6618 top level 5 path chroot/multilib-devel/root ID 595 gen 6620 top level 5 path chroot/base/root ID 597 gen 6624 top level 5 path chroot/twm/root ID 599 gen 6628 top …
9 rm  btrfs 

2
意外删除/ tmp
偶然地,我跑了sudo rm -r /tmp,这有问题吗? 我使用重新创建了它sudo mkdir /tmp,是否可以解决问题? 重新创建目录后,在Ubuntu 14.04的nautilus侧边栏中的地方部分中,我可以看到/ tmp,该位置以前不存在..这是问题吗? 最后一件事,是否需要sudo chown $USER:$USER /tmp像以前一样使它易于访问..在此之后会有副作用吗? 顺便说一句,当我尝试使用bash自动完成功能时,出现了这个看似相关的错误 bash:无法为此处文档创建临时文件:权限被拒绝

1
rm可以递归删除空目录吗?
在旧版本的Unix中,rm如果目录为空,该命令将删除目录。从rm的Research Unix第八版手册页:“如果条目是目录,则只有在为空时才将其删除。” 我喜欢这种行为,所以在我的名字中有了这个别名/etc/profile:alias rm='rm -d'我正在使用GNU coreutils版本的rm,其中-d告诉rm您继续删除目录(如果它们为空)。 到目前为止,一切都很好。该别名使我可以rm像过去一样使用。但是,我想更进一步。我想要rm即使目录包含其他目录,也可以删除目录,只要目录是唯一目录即可。只要目录中没有任何文件,只是空的(一旦您到达底部)目录,目录结构就可以了,我想rm将它们全部删除。 是否可以将其写为别名,而该别名仍然可以用作常规rm文件并删除传递给它的任何文件?
9 directory  rm  alias 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.