我正在查看rmMacBook 上命令的手册页,我注意到以下内容:
-W 尝试取消删除命名文件。目前,该选项只能用于恢复被whiteouts 覆盖的文件。
这是什么意思?什么是“白化”?
:>filename.txt
Run Code Online (Sandbox Code Playgroud)
例如:
root@box$ dd if=/dev/zero of=file.txt count=1024 bs=1024
1024+0 records in
1024+0 records out
1048576 bytes (1.0 MB, 1.0 MiB) copied, 0.00536175 s, 196 MB/s
root@box$ ll
total 1024
-rw-r--r-- 1 root root 1048576 Nov 15 14:40 file.txt
root@box$ :>file.txt
root@box$ ll
total 0
-rw-r--r-- 1 root root 0 Nov 15 14:40 file.txt
Run Code Online (Sandbox Code Playgroud)
这与rm?不同吗?它是否比其他类似的将文件归零或删除的方法运行得更快或更慢?
我多次听说发行rm -rf是危险的,因为用户可能会意外删除整个系统。但有时我想递归删除一个目录,而不必每次都被询问。我正在考虑使用yes | rm -r。
我在想的是,yes | rm -r比rm -rf? 或者本质上,它们是一样的吗?
我在一个特定文件夹中有很多文件和文件夹,我想全部删除它们;但是,我想保留文件 X、Y 和 Z。
有没有办法我可以做这样的事情: rm * | but NOT grep | X or Y or Z
我一直在尝试使用rsnapshot进行备份,但我发现它无法使用。虽然它能够在几分钟内区分一个目录 (50gb) 并复制它(硬链接每个文件),我可以在大约半小时内 cp 整个目录,但删除它需要一个多小时。即使直接使用rm -rfv,我发现 rm 单个文件最多可能需要半秒钟,而cp和link命令会立即完成。
为什么 rm 这么慢?有没有更快的方法来递归删除硬链接?复制文件比删除文件花费的时间更少对我来说没有意义。
我正在使用的文件系统是一个外部存储驱动器,通过 USB 连接并键入 fuseblk(我认为这意味着它是 ntfs)。我的电脑运行的是 ubuntu linux。
从顶部输出:
Cpu(s): 3.0%us, 1.5%sy, 0.0%ni, 54.8%id, 40.6%wa, 0.0%hi, 0.1%si, 0.0%st
Mem: 8063700k total, 3602416k used, 4461284k free, 557604k buffers
Run Code Online (Sandbox Code Playgroud) 在 Linux 中删除文件:
我们需要为其设置哪些最低权限?
我们需要在其父目录上设置哪些最低权限?
我正在运行一个出现故障的 Python 脚本,用于sudo创建一个名为>.
我怎样才能摆脱这个文件?
当然,当我尝试时sudo rm >,我收到错误bash: syntax error near unexpected token 'newline',因为它认为我正在尝试重定向rm.
它的权限是-rw-r--r--.
我知道这rm -f file1会在file1不提示我的情况下强行删除。
我也知道rm -i file1在删除之前会先提示我file1
现在,如果您执行rm -if file1,这也将在file1不提示我的情况下强行删除。
但是,如果您执行rm -fi file1,它会在删除之前提示我file1。
那么,在组合命令选项时,最后一个优先是真的吗?like rm -if, then-f将优先,但 rm -fithen the-i将优先。
该ls例如命令,如果你说不要紧ls -latR或ls -Rtal。
所以我想只有当你有矛盾的命令选项时才重要,比如rm -if,对吗?
我不小心执行sudo rm /*而不是sudo rm ./*在我想删除其内容的目录中,我基本上搞砸了我的系统。
诸如ls、grep等的基本命令都不起作用,我的应用程序也没有打开,例如 Chromium、slack、图像查看器等。
我试图在互联网上查找我的问题并找到了这个问题,但是那里的解决方案都不适合我。
我在 Arch Linux 桌面上,自从这件事发生后我还没有退出我的系统,因为我担心我将无法重新登录,如这里建议的那样。另外,如果有帮助的话,我没有 Arch Linux 映像文件的实时 USB。
关于我应该如何进一步使我的系统恢复正常的任何帮助,将不胜感激。谢谢!
编辑:我附上了一些命令的输出:
$ echo /*
/boot /dev /etc /home /lost+found /mnt /opt /proc /root /run /srv /sys /tmp /usr /var
Run Code Online (Sandbox Code Playgroud)
$ echo /usr/*
/usr/bin /usr/include /usr/lib /usr/lib32 /usr/lib64 /usr/local /usr/sbin /usr/share /usr/src
Run Code Online (Sandbox Code Playgroud)
另外,
echo /usr/bin/*给我一长串目录格式/usr/bin/{command},其中 {command} 是我可以从终端运行的任何命令,如果我没有弄乱我的系统。
如果需要任何其他信息,请告诉我!
当我在 zsh 中执行 rm * 时,我得到如下信息:
2014-06-08 10:14:23 $ rm *
zsh: sure you want to delete all the files in /home/assay/assay/log [yn]? y
rm: remove regular file `development.log'? y
Run Code Online (Sandbox Code Playgroud)
首先 zsh 询问我是否确定要删除所有文件,然后 rm 询问每个特定文件。
我如何才能进行 zsh 验证?
rm ×10
bash ×2
command-line ×2
files ×2
arch-linux ×1
command ×1
external-hdd ×1
filenames ×1
options ×1
osx ×1
performance ×1
permissions ×1
quoting ×1
shell ×1
sudo ×1
zsh ×1