小编Mag*_*nus的帖子

为什么rm可以删除只读文件?

如果我创建一个文件,然后将其权限更改为444(只读),如何rm删除它?

如果我这样做:

echo test > test.txt
chmod 444 test.txt
rm test.txt
Run Code Online (Sandbox Code Playgroud)

...rm会问我是否要删除写保护的文件test.txt。我原以为rm不能删除这样的文件,我必须先做一个chmod +w test.txt。如果我这样做rm -f test.txt,然后rm将删除文件,甚至没有要求,即使它是只读的。

任何人都可以澄清吗?我正在使用 Ubuntu 12.04/bash。

permissions rm files readonly

101
推荐指数
2
解决办法
9万
查看次数

输出重定向和空格

我对此很偏执,但希望这是一个简单的问题:

有什么区别吗

cat file1 | egrep -oP "[Mm]y string" > /home/user/file.txt
Run Code Online (Sandbox Code Playgroud)

cat file1|egrep -oP "[Mm]y string">/home/user/file.txt
Run Code Online (Sandbox Code Playgroud)

即,是否有空格填充管道 (|) 和重定向 (>) 字符?我真的很怀疑那里有空格,当我不想要时,空格会以某种方式结束在输出文件中。任何人都可以澄清吗?(如果重要,请使用 Ubuntu 12/bash。)

command-line shell shell-script

9
推荐指数
1
解决办法
1431
查看次数

Linux软件RAID-1和设备名称

我想在我的 Ubuntu 系统上设置软件 RAID-1,并找到了 /etc/raidtab 的示例:

raiddev /dev/md0
    raid-level      1
    nr-raid-disks   2
    nr-spare-disks  0
    persistent-superblock 1
    device          /dev/sdb1
    raid-disk       0
    device          /dev/sdc1
    raid-disk       1
Run Code Online (Sandbox Code Playgroud)

不过,我希望 raid 设备的路径是 /raid。只用就可以吗

raiddev /raid
Run Code Online (Sandbox Code Playgroud)

...或者它真的必须命名为 /dev/md0 吗?

raid

4
推荐指数
1
解决办法
3893
查看次数

Bash while 循环和从管道读取

我有一个 Windows 命令行程序,我通过 wine 在 Ubuntu 中的 Bash 脚本中运行。Bash 脚本基本上是这样的:

wine myprogram.exe | while read line
do
   # Process line
done
Run Code Online (Sandbox Code Playgroud)

现在,由于我已经编写了 myprogram.exe,我知道它只是尽可能快地输出数据。谁能向我解释一下 Bash while 循环如何处理数据,以防我的程序比 while 循环处理得更快?如果内核调度程序产生太多数据,内核调度程序会让 myprogram.exe 休眠吗?任何人?目前我倾向于它是黑魔法。

shell scheduling pipe

3
推荐指数
1
解决办法
4415
查看次数

在 Emacs 中设置制表符缩进

我想在 Emacs 中做一件非常简单的事情。我想设置它以便当我按下 TAB 键时,它插入两个空格。只是这个。这就是我要问的。我已经尝试这样做了几年了,但没有办法做到。在每种文件类型中,它都会以不同的方式爆炸。HTML文件?在获得四个空格或跳到上一行缩进之间的随机选择。Python文件?只有四个空格,我会忽略您的任何设置。根据之前工作时的月相,它似乎也会随机停止工作。

在我的 .emacs 中:

(setq indent-tabs-mode nil)
(setq tab-width 2)
Run Code Online (Sandbox Code Playgroud)

这应该有效,对吧?不不不。似乎 emacs 对每个扩展都有一个神奇的“文件模式”,它完全覆盖了我告诉它的内容。那么我是否必须找到这个神奇的仙女配置并为每种文件类型覆盖它?我该怎么做才能让这个简单的事情发挥作用。呸。

emacs

2
推荐指数
1
解决办法
1466
查看次数

带有查找和许多目录的循环的 Bash 脚本

我正在编写一个 bash 脚本来在包含许多(100,000+)个子目录的目录上做一些工作。对于可以传递给 for 循环的参数数量是否有预定义的限制,如下所示?

for dir in $(find . -type d)
do
  # My code
done
Run Code Online (Sandbox Code Playgroud)

我担心如果 find 命令返回太多目录,脚本会出错。

bash

1
推荐指数
1
解决办法
8668
查看次数

标签 统计

shell ×2

bash ×1

command-line ×1

emacs ×1

files ×1

permissions ×1

pipe ×1

raid ×1

readonly ×1

rm ×1

scheduling ×1

shell-script ×1