小编Rei*_*eid的帖子

为什么波浪号 (~) 不在双引号内展开?

根据这个答案和我自己的理解,波浪号扩展到主目录:

$ echo ~
/home/braiam
Run Code Online (Sandbox Code Playgroud)

现在,每当我希望 shell 扩展工作时,即使用诸如 的变量名$FOO,并且不要因为意外的字符、诸如空格等而中断。应该使用双引号"

$ FOO="some string with spaces"
$ BAR="echo $FOO"
$ echo $BAR
echo some string with spaces
Run Code Online (Sandbox Code Playgroud)

为什么这种扩展不适用于波浪号?

$ echo ~/some/path
/home/braiam/some/path
$ echo "~/some/path"
~/some/path
Run Code Online (Sandbox Code Playgroud)

shell

68
推荐指数
4
解决办法
2万
查看次数

生成包含随机数字的 1 GB 文本文件的最快方法是什么?

我尝试了一个 bash 脚本,但创建一个简单的 1 MB 文件花了太长时间。我认为答案在于使用/dev/randomor /dev/urandom,但这里的其他帖子只展示了如何使用这些东西将各种数据添加到文件中,但我只想添加数字。

那么,是否有一个命令可以用来创建一个大小为 1 GB 的随机文件,其中只包含 0 到 9 之间的数字?

编辑:我希望输出是这样的

0 1 4 7 ..... 9
8 7 5 8 ..... 8
....
....
8 7 5 3 ..... 3
Run Code Online (Sandbox Code Playgroud)

范围是 0 - 9 意味着只有数字 0、1、2、3、4、5、6、7、8 和 9。我还需要它们以空格分隔,每行 100,最多行n数。这 n 是我不在乎的东西,我希望我的最终大小为 1 GB。

编辑:我使用的是 Ubuntu 16.04 LTS

random files

55
推荐指数
7
解决办法
2万
查看次数

将大目录树拆分为指定大小的块?

我有一个目录树,我想将其备份到光盘。不幸的是,它超过了任何一个磁盘的大小(大约 60GB)。我正在寻找一个脚本,可以将这棵树分割成适当大小的块,并带有硬链接或诸如此类的东西(保持原始文件不变)。然后我可以将这些一口大小的树提供给备份过程(添加 PAR2 冗余等)。

这不是一个花哨的脚本,但它似乎已经完成了。建议?

(一步跨越和写作是不行的,因为我想在文件被烧毁之前做更多的事情。)

backup disk-usage split burning

13
推荐指数
3
解决办法
9080
查看次数

在 Linux 上刻录蓝光光盘的最佳实践

我最近买了一台蓝光刻录机,想知道如何最好地刻录光盘。场景是:我有一个装满文件的目录,想把它们放在光盘上,读回来一次验证,然后把光盘放在架子上(即,主要目的是备份)。一些文件大于 4.4GB 或 ISO 文件系统的任何限制。

为了写入 DVD,我目前使用growisofs, withsplit将文件分成一口大小的块。growisofs 似乎没有很好的 UDF 支持,并且拆分文件很蹩脚,这就是我提出问题的动机。

当前将文件写入 BD-R 光盘的最佳做法是什么?

我在 Debian Wheezy(测试)上。

iso blu-ray

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

FVWM 窗口管理器的替代品?

我已经使用 FVWM 十多年了,有一段时间我一直担心窗口管理器正在缓慢死亡。我意识到 2.6.0 是几天前才发布的,讽刺的是,这让我想起了寻找替代品 - 虽然新的稳定版本很好,但花了很长时间(2.4.20 和 2.6.0 之间的时间为 4 年) ,以及 2.4.19 和 2.4.20 之间的 2 年),我对 FVWM 的未来仍然没有信心。

因此,我想知道是否有更现代的窗口管理器具有以下属性(这些是我喜欢 FVWM 并希望保留的关键内容):

  1. 焦点跟随鼠标,无需自动提升。也就是说,如果我拖动鼠标到被部分遮蔽的窗口,该窗口获得焦点但不能走到前面。

  2. 我可以使用键盘在多个虚拟桌面之间切换,也可以在它们之间移动窗口。

  3. 修饰键+鼠标窗口操作,可以配置为如下:

    • 左键单击 + alt + shift = 如果最前面则发送到后面,否则升到前面
    • 右键单击 + alt + shift = 垂直最大化窗口(水平尺寸不变)
    • 中键 + alt + shift = 抓取窗口并移动它
    • 中和弦 + alt + control + shift = 调整大小(将指针拖到边或角并移动该边或角)

对于所有这些,“单击”意味着单击窗口中的任意位置,而不仅仅是框架。移动/调整大小操作应在鼠标按下时开始并在鼠标抬起时结束。

我不使用任何桌面环境,只是普通的 X11。

window-manager software-rec x11

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