Unix & Linux

Linux,FreeBSD和其他类似Un * x的操作系统用户的问答

5
如何在Bash中N次执行命令1次
我想要一种随机运行命令的方法,每10次说1次。是否有内置的或GNU coreutil来执行此操作,理想情况是: chance 10 && do_stuff 每do_stuff十次执行一次?我知道我可以编写脚本,但这似乎很简单,我想知道是否有定义的方法。

6
通过stdin传递多个文件(通过ssh)
我在远程主机上有一个程序,我需要自动执行该程序。该命令在同一台计算机上执行该程序,如下所示: /path/to/program -a file1.txt -b file2.txt 在这种情况下,file1.txt并file2.txt用于在程序中完全不同的事情,所以我不能只是cat在一起。然而,在我的情况下,file1.txt和file2.txt我想要传递到程序中只有我的设备上存在的,不是我需要执行该程序的主机上。我知道我可以通过以下方式通过SSH馈送至少一个文件stdin: cat file1.txt | ssh host.name /path/to/program -a /dev/stdin -b file2.txt 但是,由于不允许将文件存储在主机上,因此我也需要一种方法来访问主机file2.txt。我认为可能是因为滥用环境变量以及创造性地使用cat和可能实现的sed,但是我对工具的了解还不足以了解如何使用它们来完成此任务。它可行吗?如何?

1
Debian 9:如何使用德语语言环境设置英语?
我想用英语与德语区域设置。 现在,我的系统使用以下设置运行(在Debian Expert Installer的安装过程中配置): 语言: English - English (Default) 国家,地区或区域: other -> Europe -> Austria 默认区域设置基于的国家/地区: United States - en_US.UTF-8 键盘: German 我的问题是: 如何保留英语,但将当前语言环境(United States - en_US.UTF-8)切换为所需的德语语言环境(de_DE.UTF-8)? 在安装过程中,这是不可能的,因为发生了错误(“检测到无效的语言/区域设置组合”)。

4
为什么删除bash历史记录还不够?
我曾经认为删除我的bash历史记录足以清除bash历史记录,但是昨天我的猫在键盘右侧乱七八糟,当我回到计算机后,我看到一个月前我键入的内容,然后我开始疯狂地按下所有键,寻找可能触发它的原因。原来,即使删除了.bash_history,UPARROW键仍显示我的bash历史记录。 如何真正删除我的bash历史记录?
15 linux  bash  bashrc 

1
由于勘误禁用了TSC_DEADLINE
我将计算机发送给制造商以进行诊断并提供有关视频输出问题的帮助。他们更新了BIOS。从那以后我一直在 [Firmware Bug]: TSC_DEADLINE disabled due to Errata; please update microcode to version: 0x20 (or later) 我之前没有安装任何微码或ucode软件包,而且我不习惯于收到此消息。 我已经联系制造商,他们已经回答“不记得您的票号,但怀疑我们是否更新了BIOS”,因此他们的帮助不是很大。 它可以启动并起作用,但是TSC_DEADLINE重要还是有用? 我唯一能找到的是这样的:https : //git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/?id=73b866d89bf7c9a895d5445faad03fa3d56c8af8 但这似乎仅适用于VirtualBox,无论如何我已经在运行内核4.14,所以我认为如果该提交可以解决我的问题,它将已经拥有。 ryan@pocketwee:~$ uname -a Linux pocketwee 4.14.0-1-amd64 #1 SMP Debian 4.14.2-1 (2017-11-30) x86_64 GNU/Linux

5
文件夹中数百万个(小的)文本文件
我们希望在Linux文件系统中存储数百万个文本文件,目的是能够压缩并提供任意集合作为服务。我们尝试了其他解决方案,例如键/值数据库,但是对并发性和并行性的要求使使用本机文件系统成为最佳选择。 最直接的方法是将所有文件存储在一个文件夹中: $ ls text_files/ 1.txt 2.txt 3.txt 这在EXT4文件系统上应该是可能的,而EXT4文件系统对文件夹中的文件数没有限制。 这两个FS过程将是: 从网络抓取中写入文本文件(不受文件夹中文件数量的影响)。 压缩所选文件,由文件名列表给出。 我的问题是,在一个文件夹中存储多达一千万个文件是否会影响上述操作的性能或整个系统的性能,这与为文件驻留一个子文件夹树有什么不同?


6
为什么Debian默认没有启用防火墙?
我正在将Debian 9.1与KDE一起使用,并且想知道为什么它没有安装并默认启用防火墙?gufw甚至不在DVD1的包装中。 人们应该在获得防火墙之前连接到Internet 吗?为什么?即使默认情况下关闭所有端口,各种已安装,更新或下载的程序也可以打开(或不打开)它们,我希望即使没有一点点未经我许可也可以离开我的机器。 编辑:所以我只是发现关于iptables的问题,但我想这个问题仍然与iptables一样,因为防火墙对于大多数人来说还是相当陌生,其默认规则,可访问性和易用性以及默认情况下会重置任何iptable-rules的事实重新启动时。

1
点点(..)到底是什么?为什么它的行为与符号链接不同?
我试图了解..(双点)的性质。似乎根据您访问它的方式指向不同的目标。 例:- /outer/ middle/ inner/ inner --> ./middle/inner/ 现在,/outer/middle/inner/..导致/outer/middle/,但如果我通过符号链接访问它,/outer/inner/..导致/outer/。似乎这里有两个不同..。 到底是..什么?符号链接?硬链接?还是在访问目录时根据路径动态生成?也许我对符号链接的理解是错误的。 编辑: 其他相关观察 /outer/ middle/ file inner/ f --> ./../file inner --> ./middle/inner/ 现在,如果我尝试通过/outer/inner/f它访问文件,则可以。但这不应该,因为/outer/inner/../file它没有指向文件。该文件位于中/outer/middle/inner/..。这似乎与上面的行为相矛盾!

3
在代码“ {exec> / dev / null; }> / dev / null”是什么意思?
当您重定向包含exec重定向的命令列表时,此后exec> / dev / null似乎仍然没有被应用,例如: { exec >/dev/null; } >/dev/null; echo "Hi" 打印“ Hi”。 我的印象是,{}除非命令列表是管道的一部分,否则它不被视为子外壳,因此exec >/dev/null外壳在我看来仍应在当前的外壳环境中应用。 现在,如果将其更改为: { exec >/dev/null; } 2>/dev/null; echo "Hi" 没有预期的输出;对于以后的命令,文件描述符1仍指向/ dev / null。通过重新运行可以看到: { exec >/dev/null; } >/dev/null; echo "Hi" 没有任何输出。 我尝试制作脚本并对其进行分级,但是我仍然不确定此处到底发生了什么。 在此脚本的每一点上,STDOUT文件描述符发生了什么? 编辑:添加我的strace输出: read(255, "#!/usr/bin/env bash\n{ exec 1>/de"..., 65) = 65 open("/dev/null", O_WRONLY|O_CREAT|O_TRUNC, 0666) …

8
将单独的行变成带引号的逗号分隔列表
我有以下数据(从Rmarkdown文件解析的R软件包列表),我想将其转换为可传递给R进行安装的列表: d3heatmap data.table ggplot2 htmltools htmlwidgets metricsgraphics networkD3 plotly reshape2 scales stringr 我想将列表变成表单列表: 'd3heatmap', 'data.table', 'ggplot2', 'htmltools', 'htmlwidgets', 'metricsgraphics', 'networkD3', 'plotly', 'reshape2', 'scales', 'stringr' 我目前有一个从原始文件到上面列表的bash管道: grep 'library(' Presentation.Rmd \ | grep -v '#' \ | cut -f2 -d\( \ | tr -d ')' \ | sort | uniq 我想添加一个步骤,将新行变成逗号分隔的列表。我尝试添加tr '\n' …
15 linux  sed  csv  tr 

1
如何列出邮箱中的邮件?
使用该mail命令可以显示我收到的消息,并提示我,但是我无法确定如何列出消息。这是邮件的帮助屏幕: Mail Command Description ------------------------- --------------------------------------------- t [message list] type messages(s). more [message list] read message(s), through the $PAGER n goto and type next message. e [message list] edit message(s) f [message list] give head lines of messages. d [message list] delete message(s). s [message list] <file> append message(s) to …

5
如何从命令行更改gnome 3中的键盘布局
我正在使用gnome 3.22.1,但是从3.18开始存在问题。 在此之前(我不记得确切的版本),我能够使用xkb-witch切换键盘布局,xkb-witch是在后台使用X.org绑定的简单应用程序。 在3.18之后,如果您运行xkb-switch,则不会在gnome中切换键盘布局。进一步的研究表明布局切换是有效的,但是时间很短。 如果运行此脚本: for i in $(seq 1000); do lang=$(xkb-switch -s ru; xkb-switch); if [[ "$lang" == "ru" ]]; then echo $lang; fi; done 根据您的幸运程度,您将获得3到20个“成功”布局切换。 谷歌搜索此问题后,我提出以下建议: gsettings set org.gnome.desktop.input-sources current 0 设置已更改,但布局保持不变。 我发现了一种“ hacky”方法来更改布局: setxkbmap us,ru setxkbmap ru,us 但是gnome Shell无法识别该更改,并且在布局指示器中显示了错误的语言。 我已经发布了有关此问题的信息(很抱歉,信誉不足,https://bbs.archlinux.org/viewtopic.php?pid = 1657582https://://github.com/ierton/xkb-switch/issues/15),但没有运气得到任何好的答案。 在这一点上,我被困住了。我不够熟练,无法识别gnome shell代码中的问题。我什至不确定这是(gnome shell的)问题。 我想要的是一种从终端切换键盘布局的gnome感知方式。有人可以指出我正确的方向吗?我是否应该将其记录为错误(尤其是无法通过gsettings更改键盘布局的事实)?

3
如何输出文件的“稀疏”?
如何输出实际用数据填充了多少文件标称大小?就像vmtouch显示当前内存中有多少文件... 我希望工作流程是这样的: $ fallocate -l 1000000 data $ measure_sparseness data 100% $ fallocate -p -o 250000 -l 500000 data $ measure_sparseness 50% 解决方法:使用du -bsh和du -sh并加以比较。

4
使用bash脚本获取控制台宽度
我遇到一个试图通过使用脚本来获取终端大小的问题。通常,我会tput cols在控制台内使用该命令,但是我希望能够通过严格使用脚本来完成此功能。 到目前为止,我能够检测正在运行的控制台并获取其文件路径。但是,我正在努力使用此信息来获取控制台的宽度。我尝试使用命令tput,但是我对Linux /脚本是相当陌生的,因此并不真正知道该怎么做。 这样做的原因是我希望能够设置一个cron条目,每隔一段时间就通知控制台其宽度/列。 到目前为止,这是我的代码: tty.sh #!/bin/bash #Get PID of terminal #terminal.txt holds most recent PID of console in use value=$(</home/test/Documents/terminal.txt) #Get tty using the PID from terminal.txt TERMINAL="$(ps h -p $value -o tty)" echo $TERMINAL #Use tty to get full filepath for terminal in use TERMINALPATH=/dev/$TERMINAL echo $TERMINALPATH …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.