我想更多地了解 Linux一定是我最持久的感悟之一。
但我经常发现,当我打开历史书时,我学到的东西最多,或者只是对我学到的东西感到最满意。
什么是隐藏在/etc和/dev我不知道的吗?嗯,文件。一切都是一个文件。
但是是什么把这些文件放在那里呢?
历史把它们放在了它们所在的位置,而历史决定了它们是如何书写的,yadda yadda yadda。
根据 man hosts
Historical Notes
RFC 952 gave the original format for the host table, though it has since changed.
Before the advent of DNS, the host table was the only way of resolving hostnames on the fledgling Internet. Indeed, this file could
be created from the official host data base maintained at the Network Information Control Center (NIC), though local changes were
often required to bring …Run Code Online (Sandbox Code Playgroud) 不久前,我决定尝试使用 dropbox。因为我可以apt-get,我认为它是免费软件。
但是,我很快发现该apt-get命令仅下载了dropbox 守护程序的下载程序。
所以我阻止了它的踪迹,做了一个apt-get remove,aaaand...
等一等。
存储库不会消失!事实上,如果 I apt-get update,它仍然在那里:
Ign http://linux.dropbox.com wheezy InRelease
Run Code Online (Sandbox Code Playgroud)
它不在 my 中/etc/apt/sources.list,那么它是如何到达那里的?
sox可能是继续让我沮丧的一个 linux 程序。同时,我对它的功能感到敬畏,如果不能精通它,我希望能接近流利地使用它。
今天,我花了大约 2 个小时试图通过管道sox读取字节parec。
所述parec字节是一个pulseaudio“汇”。为了让它们流过管道,我使用了 askubuntu 的这个答案。
这是我一直在使用的命令:
$ parec -d telephonControl.monitor | sox -b 16 -e signed -c 2 -r 44100 - -t pulse hmm.ogg silence 1 0.50 0.1% 1 2.0 0.1% : newfile : restart
Run Code Online (Sandbox Code Playgroud)
这是我得到的错误:
sox FAIL formats: can't determine type of `-'
write() failed: Broken pipe
Run Code Online (Sandbox Code Playgroud)
更重要的是,oggenc 可以很好地解析它们:
parec -d telephonControl.monitor | oggenc -b 192 -o telephonControl.ogg --raw -
Encoding standard input to
"telephonControl.ogg" …Run Code Online (Sandbox Code Playgroud) 所以,我有这个文本文件,它主要由字母数字字符组成。这是标准文件。但是由于我是从 PDF 复制并粘贴的,所以里面有页码。我不太关心偶尔出现的不是一页的数字,所以我想我会用sedor将它们全部清除tr。毕竟,只是比在 GUI 中查找和替换第一个零,然后一个,然后两个等等快一点点。
那我该怎么做呢?
有一段时间我想学习如何使用csplit,所以今晚我尝试练习。我创建了一个包含一些文本的文件,在我想拆分文本的地方,我写了两个冒号 (::),中间有两个换行符,这样它们就形成了与文本其余部分分开的双倍行距段落。然后我csplit这样调用:
$csplit filename /::/
Run Code Online (Sandbox Code Playgroud)
当我看到打印到标准输出的唯一内容是一些数字时,我以为我失败了。但是当我查看目录列表时,我意识到我已经部分成功了。一堆文本已从其余文本中切掉,最上面的一点。我只需要csplit注意我放置了两个冒号的其他地方。但我无法弄清楚如何做到这一点。我以为可能是
$csplit filename /::/*/
Run Code Online (Sandbox Code Playgroud)
但唉,这没有用。
根据下面的答案,我也尝试过
me@localhost:~/folder$ csplit story3.bkp /::/'{*}'
Run Code Online (Sandbox Code Playgroud)
但我得到了
csplit: /::/{*}: integer expected after delimiter
Run Code Online (Sandbox Code Playgroud)
所以然后我尝试在 /::/ 之后添加一个空格 - 有效!
我刚刚开始使用 KDE,我找不到任何关于 Nautilus 脚本的 KDE 等价物的信息。我需要做的是选择一些文件,右键单击,然后对所有文件应用一些命令,就像使用 Nautilus 脚本一样。
我不喜欢,不关心,不想要来自我的窗口管理器的通知。曾经。
示例:由于我手动删除了该virtuoso-t软件包,因此我的计算机不会花费很长时间尝试索引自己的文件。我认为这是一件好事。当我启动 KDE 时,我收到一条通知,指出如果没有virtuoso. 所以我不得不浪费点击关闭那个窗口。
我也不会因为碰巧有新版本的东西而更新我的软件包。我一般等一会。
当我使用apt-get很多时,我收到一条通知,说有许多新的“系统更新”。
每一次。
比如惩罚。
我对使用 LXDE 或 XFCE 不感兴趣。我在很多方面更喜欢纯 KDE。但是,如果我可以抑制 KDE 的所有消息,更符合“没有消息就是好消息”的用户体验,那真的很棒。毕竟,在不同的时间间隔内要关闭的窗户要少得多。
如果我有nano两个文件,其中一个文件读取“this”而不输入换行符,其中一个读取“is”而我不输入换行符,我希望能够cat将这两个文件一起转换为“thisis”。
相反,换行符是自动插入的。
alec@ROOROO:~/$ cat test1 test2 > test3
alec@ROOROO:~/$ cat test3
this
is
Run Code Online (Sandbox Code Playgroud)
那么,如何在不添加换行符的情况下连接两个文件?
我有一些用影拓数位板画的图。所有这些图纸都是 25x35 左右。每个像素的颜色都经过精心挑选。它们有点像“缩影”。
我需要调整这些大小。但我遇到了问题。图像会抖动,如果我让它们变大,就会模糊。
这是正常大小的图像。它碰巧被抖动,但这是不可见的。

我使用了以下两个 imagemagic 命令,但它们都产生了模糊:
convert -resize 400% image.xcf image-2.jpg
convert -adaptive-resize 400% image.xcf image-2.jpg
Run Code Online (Sandbox Code Playgroud)

我最近写了以下bash函数:
makeaudiobook () {
count=1
almbumartist=$2
for f in $1; do
preprocess $f > $f-preprocessed
text2wave $f-preprocessed -o $f.wav
lame -b 16 --tt $f --ta $albumartist --tl $albumartist --tn $count $f.wav $f.mp3
rm -rf $f.wav $f-preprocessed
count=$(($count+1))
done
}
Run Code Online (Sandbox Code Playgroud)
它没有按预期工作。它不会遍历所有符合我在$1. 作为单线,这会奏效。事实上,我把它变成了一个函数,因为我厌倦了把它写成单行。但作为一个bash函数,它不起作用。那么我需要做什么才能让它发挥作用?
我希望能够在诸如输出之类的东西上调用它split,例如,
me@localhost$~ makeaudiobook x?? haskell
Run Code Online (Sandbox Code Playgroud)
...x??匹配 xaa、xab、xac 等的地方。就像我说的,作为单线这很好。那么我需要做什么才能将这个 glob 表达式传递给$1?