我对两个总是产生相同输出的命令的期望是它们在放入管道时总是产生相同的输出,但显然情况并非如此tar | gzip:
~/test$ ls
~/test$ dd if=/dev/urandom of=file bs=10000000 count=1
1+0 records in
1+0 records out
10000000 bytes (10 MB) copied, 0,877671 s, 11,4 MB/s // Creating a 10MB random file
~/test$ tar cf file.tar file // Archiving the file in a tarball
~/test$ tar cf file1.tar file // Archiving the file again in another tarball
~/test$ cmp file.tar file1.tar // Comparing the two output files
~/test$ gzip -c file > file.gz // Compressing the file with …Run Code Online (Sandbox Code Playgroud) 我正在编写一个脚本来检查非常大的依赖项列表。所以我写了一个函数来获取包名作为输入并使用dpkg检查它是否安装并打印适当的输出。这是此功能的一个版本:
check_dependency() {
dpkg -l $1 > /dev/null
if [ $? -eq 0 ]; then
# print something saying it is installed
else
# print something saying it was not found
fi
}
Run Code Online (Sandbox Code Playgroud)
安装包时工作正常。但是当它没有安装时,它以某种方式不会将输出重定向到/dev/null并提示:
dpkg-query: no packages found matching foo-bar
Run Code Online (Sandbox Code Playgroud)
在第二次尝试中,我修改了函数体以将其用于grep -q:
check_dependency() {
dpkg -s $1 | grep -q 'installed'
if [ $? -eq 0 ]; then
# print something saying it is installed
else
# print something saying it was not found …Run Code Online (Sandbox Code Playgroud) 我想修改我的音频输出的音高。
我知道您可以使用 PlayItSlowly 之类的软件来收听音频文件并在此过程中改变音高,但我正在寻找一种修改音高的方法,就像我对音量所做的一样。
我可以使用 Realtek 的声音管理器在 Windows 上做到这一点,所以我想一定有办法在 Linux 上做到这一点。
我想将 Gnome System Monitor 3.6 中显示的 CPU 和内存使用实时信息保存到文本文件中。有谁知道这是否可能?如果是这样,怎么做?如果 Gnome System Monitor 无法实现,则其他工具也可以,只要它可以工作。
顺便说一句,我不怕在这里使用终端:D
首先,这不是一个关于 的问题history,它存储了所有输入的命令。
我在工作的工作站上有几个打开的终端,从中我可以启动模拟、检查输出以及偶尔会显示错误消息的位置。
在Gnome Terminal有一个控制回滚长度的设置中,在我的情况下,该设置被设置为不到 10000 行。
现在我的问题是:如何搜索回滚?
就我而言,我想检查之前是否出现过最近的错误消息。是的,我可以向后滚动并使用我的眼球来搜索有问题的错误消息。但是对于几个可能长达 10000 行的终端来说,这意味着要花费大量时间滚动。
我假设回滚中的信息需要存储在某个地方,如果存储在某个地方,它实际上可能是可搜索的。
[编辑:更正了有关 Gnome 终端的问题。]
./program -a asdf我有一个(专有)程序,可以在终端中启动。当我这样做时,我可以在正确的时间看到所有输出。
但是,当我想在我的脚本中使用程序的输出并运行时./program -a asdf | script.sh,“script.sh”仅包含read line并echo $line在循环中,程序的输出是“奇怪的”。当程序打印第一行块时,脚本不会打印任何内容。当程序(几分钟后)打印第二个行块时,我的脚本将打印第一个块。
为什么?
有没有办法让我自己的脚本“像终端一样工作”,以便在终端显示时立即获取输出?
你好,经过几个小时的谷歌搜索后,我一片空白。
我已在 18.04 中成功配置音频,但需要帮助来更改端口设备的优先级。演讲者应优先!目前情况如下:
"$ pactl list sinks
Sink #0
State: RUNNING
Name: alsa_output.pci-0000_00_1f.3.analog-stereo
Description: Built-in Audio Analogue Stereo
Driver: module-alsa-card.c
Sample Specification: s16le 2ch 44100Hz
Channel Map: front-left,front-right
Owner Module: 8
Mute: no
Volume: front-left: 35388 / 54% / -16.06 dB, front-right: 35388 / 54% / -16.06 dB
balance 0.00
Base Volume: 65536 / 100% / 0.00 dB
Monitor Source: alsa_output.pci-0000_00_1f.3.analog-stereo.monitor
Latency: 39638 usec, configured 40000 usec
Flags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY
Properties:
alsa.resolution_bits = "16"
device.api = …Run Code Online (Sandbox Code Playgroud) 在过去的 7 天里,我在 Ubuntu 12.10 中运行了一个相当复杂的 python 脚本。到目前为止,它必须在终端上生成至少 20k 行输出,但并非所有输出都是可见的。
我没有在终端上启用无限滚动的远见,也没有尝试将输出保存到某个文件之类的方法。但是现在我的时间不多了,我无法考虑再次重新运行整个代码并尝试这些选项。
有谁知道我现在怎样才能看到完整的输出而不必重新运行脚本?
非常感谢
我想创建一个文本文件,它将添加我将在终端上运行的每个命令作为文本文件中的新行条目。即,我需要记录我在终端中所做的事情。此外,如果我可以将我在终端中获得的输出记录以及终端中的输入作为文本文件保存,那就更好了。
每次我忘记一个命令时,我都必须在 Internet 上再次搜索该命令。
我可以制作像上面那样的文件吗?
dd if=/dev/urandom of=a.log bs=1M count=2
Run Code Online (Sandbox Code Playgroud)
问题:如果这段代码 ^ 给了我随机数,我怎么能得到随机的非单词(无法理解),比如“hgcqw”。
问题二:shuf命令可以和dd命令一起使用吗?
谢谢!
6/21 更新。(父亲节)
@ Serg 我的目标是首先获得数字。比如说,从 01 到 100 的随机两位数。给出命令并运行代码。最终它会给我 14、17、21、35(我正在编造我得到的随机数)。接下来,我想获得这些数字的平均值。在这种情况下,平均值将为 21.75 (22)。目标是停止循环,直到找到我正在寻找的特定平均值。在这种情况下,它将是 25。我的第二个目标是获取随机单词,然后计算使用了哪些单词。
@特顿
一个词是“buck”、“duck”或“祝你好运”。基本上可以在字典中找到任何东西。如果我们将限制限制为 5 个字母,长度还可以,我不介意学习如何?
什么是词?我想你的意思是只有 az 和 AZ 但什么长度?liwyduglashvdbalishfvgapivflakhf 会是一个词吗?ksjdas-asd-asd-asd 怎么样?- 可以用语言表达。请编辑并澄清。– 昨天的特登
output ×10
command-line ×5
scripts ×2
sound ×2
audio-jack ×1
dd ×1
default ×1
dpkg ×1
gnome ×1
gzip ×1
input ×1
pulseaudio ×1
realtime ×1
tar ×1