Unix & Linux

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

1
向后搜索Bash中的历史记录吗?
在Bash中,当我点击时Ctrlr,我可以向后搜索命令历史记录。如果我想再次搜索,该怎么办?(该方法Ctrls无效)。 我的重击是: GNU bash, version 4.2.25(1)-release (i686-pc-linux-gnu)

1
强制重新读取分区表:BLKRRPART和BLKPG ioctl之间的区别?(Linux)
当我希望Linux在不重新启动的情况下考虑新创建的分区时,可以使用几种工具来强制刷新内核“分区缓存”: partx -va /dev/sdX kpartx -va /dev/sdX hdparm -z /dev/sdX sfdisk -R /dev/sdX ... 我不确定这两种技术之间的区别,但我认为它们没有使用相同的ioctl,例如BLKRRPART或BLKPG。那么,两者之间有ioctl什么区别?

1
如何在Arch Linux上重建glibc?
似乎MATLAB已在Linux上获得了成功,因为它“通过静态TLS动态加载了某些库”,这对我来说除了意味着一堆错误之外,对我来说没有任何意义。 建议的解决方法是glibc使用更大的文件进行重建DTV_SURPLUS。这给我留下了两个问题: 如何glibc在Arch Linux上重建以增加DTV_SURPLUS?我看着abs树中的PKGBUILD,却没有看到DTV_SURPLUS任何地方,所以我不知道在哪里进行更改。 我设定为什么值DTV_SURPLUS?大概将其设置为过大 2^64和一个坏主意。 在R2014a中使用以下MWE可以看到MATLAB的问题: >> ones(10)*ones(10); >> doc('help'); Exception in thread "XPCOMMessageLoop" java.lang.UnsatisfiedLinkError: /opt/matlab/sys/jxbrowser/glnxa64/xulrunner/xulrunner-linux-64/libxul.so: dlopen: cannot load any more object with static TLS at java.lang.ClassLoader$NativeLibrary.load(Native Method) at java.lang.ClassLoader.loadLibrary1(Unknown Source) at java.lang.ClassLoader.loadLibrary0(Unknown Source) at java.lang.ClassLoader.loadLibrary(Unknown Source) at java.lang.Runtime.load0(Unknown Source) at java.lang.System.load(Unknown Source) at com.teamdev.jxbrowser.gecko.xpcom.impl.linux.LinuxMozillaToolkit.c(Unknown Source) at com.teamdev.jxbrowser.gecko.xpcom.impl.linux.LinuxMozillaToolkit.a(Unknown Source) …

1
使用iptables转发出站流量端口
我正在尝试使用将所有从端口80传出的流量转发到端口8080,iptables并且尝试了以下规则,尽管它不起作用: iptables -t nat -A OUTPUT -p tcp --dport 80 -j REDIRECT --to-port 8080 另外,对于传入流量,我需要一个规则,即转发同一主机上的端口以不作为代理。

1
如何将高分辨率从GRUB2传递到FreeBSD?
我从GRUB2引导FreeBSD-10-RELEASE。我设置了GRUB2启动菜单,以笔记本电脑的最大分辨率1024x768x32可以很好地显示它。我知道可以通过命令将此分辨率传递给引导加载程序,gfxpayload但是它不起作用。 在FreeBSD本身中,我已将控制台配置为以该分辨率显示,但是直到启动设备扫描中途才启动。发生的是,当我在GRUB2中选择FreeBSD菜单项后,FreeBSD引导加载程序接管了通常以640x480分辨率显示的FreeBSD引导菜单。 我遵循我能找到的所有声称可以通过GRUB2分辨率的方法,但是没有任何效果。这个功能是否可能不适用于FreeBSD(因为从一开始我就在FreeBSD中安装和配置GRUB2一直是我的问题),或者还有其他特定于FreeBSD的配置吗? 即使就功能而言这不是必需的,但在我最终设法使系统上的所有其他功能都正常运行之后,拥有最后一件事还是很高兴的。这将是一个不错的樱桃!

2
在没有X的vim之间复制/粘贴
在vim中,"+p从系统剪贴板粘贴。但是,在非GUI盒上通过SSH远程工作时,此功能不可用。 在这种环境下可以实现复制/粘贴吗? 仅从终端复制文本是不够的,因为它还会复制超出文件范围的内容(例如,如果使用tmux,则会复制全屏显示,因为它们都是纯文本)。

4
帮助的来源是什么?
help 显示有关内置命令的信息。帮助的来源是什么?它是否维护用于内置命令的数据库,还是读取每个内置命令的某些文件(类似于每个实用程序的联机帮助页)? 有时我发现它的信息似乎扩大了 --help $ cd --help bash: cd: --: invalid option cd: usage: cd [-L|[-P [-e]]] [dir] $ help cd cd: cd [-L|[-P [-e]]] [dir] Change the shell working directory. Change the current directory to DIR. The default DIR is the value of the HOME shell variable. The variable …
8 shell 

4
退出外壳程序后,chdir(<directory>)不会更改目录
我想制作一个简单的C程序来更改我的项目目录。其内容如下: #include &lt;unistd.h&gt; int main() { chdir("/home/enedil/projects/algo"); return 0; } 我用以下命令编译了它(pro.c是它的文件名): gcc pro.c -o /usr/local/bin/pro 没有错误也没有警告。但是,当我运行它,它并不会改变目录。为什么?
8 process  c  cd-command 

2
根据grep regex重定向输出
我gradle run用来启动REST服务器。REST服务器的输出如下所示: XXX.XXX.XX.XXX - &lt;moreinfo&gt; randomtext randomtext XXX.XXX.XX.XXX - &lt;moreinfo&gt; XXX.XXX.XX.XXX - &lt;moreinfo&gt; randomtext XXX.XXX.XX.XXX - &lt;moreinfo&gt; XXX.XXX.XX.XXX这是IP地址,randomtext是错误消息。不幸的是,所有输出都定向到stdout。 如何将以IP地址开头的所有行定向到一个名为的文件中,err.log并将其他所有行定向到all.log? 不幸的是,gradle run由于它是REST服务器,因此只能启动一次且不能停止。 也许使用tee,grep组合?

2
如何从已安装的文件构建RPM软件包?
有两台机器,SLES的版本/架构相同。 在#A机器上,安装了一个“ foo”软件,我们可以使用来查看rpm -qa。 在#B机器上,需要安装“ foo”软件。 在foo.rpm从任何来源无法使用,从互联网等 题 由于该软件包foo.rpm已安装在#A机器上,我们可以foo.rpm根据已经安装的文件在其上构建文件吗? 我认为rpm中也有前置/后置脚本。因此,可以安装foo.rpm(具有依赖项?)。
8 rpm 

3
打印不包含标点符号的所有行
我想要一个可以打印不包含标点符号的所有行的正则表达式模式: 输入: .This is line 1 This is ! line 2 This is line (3) This is line 4 输出:(应为) This is line 4 到目前为止我尝试过的是: grep '[^[:punct:]]' file.txt 但是它会显示所有不是标点符号的字符。

1
使用ssh和shell脚本在远程计算机上使用变量执行命令
我想使用本地计算机上的脚本来执行位于远程计算机上的命令和脚本。我知道可以使用来执行这些命令ssh,所以我做了: #!/bin/bash ssh username@target 'cd locationOf/theScript/; ./myScript.sh' 它运作完美。我希望此脚本使用变量更通用。现在它是: #!/bin/bash LOCATION=locationOf/theScript/ EXEC=myScript.sh ssh username@target 'cd ${LOCATION}; ./${EXEC}' 我得到这个错误: bash: ./: is a directory 我想远程机器不知道这些变量。那么有没有办法将它们导出到目标?

1
不应该预先植入debconf-get-selections中的哪些值?
我想在新系统的安装中复制为系统当前配置所做的Debian安装选择。 Debian可以通过“预配置”(也称为“ preseed”)文件进行预配置,该文件基本上包含安装程序会询问的问题的答案。 该文档指出,从现有的Debian安装中创建预配置文件的一种方法是: ...使用debconf-get-selectionsdebconf-utils软件包中的,将debconf数据库和安装程序的cdebconf数据库都转储到一个文件中: $ debconf-get-selections --installer &gt; file $ debconf-get-selections &gt;&gt; file 但随后立即添加: 但是,以这种方式生成的文件将包含一些不应该预播的项目... 该文档没有详细说明那些不应该预装的项目。 有人可以详细说明吗? 作为说明,在下面,我包括从上面的两个命令获得的输出的第二个字段,在该字段中,我仅保留了以开头的行d-i以及注释,有时为了简洁起见也被截断了。(仅保留以开头的配置行的原因d-i是,在Debian提供的示例预配置文件中,仅出现这样的行。) # Check the integrity of another CD-ROM? cdrom-checker/nextcd # Web server started, but network not running save-logs/no_network # for internal use only debian-installer/consoledisplay debian-installer/shell-plugin # Country, territory or area: # Choices: …

3
除了“默认”外,我还必须在snd_pcm_open中提供什么设备名称
我想同时录制2个设备的声音: 内部麦克风 外部USB网络摄像头麦克风 使用pulseaudio声音控制器,我将这些设备中的任何一个设置为默认设备,并可以使用录制声音snd_pcm_open(&amp;handle, "default", SND_PCM_STREAM_CAPTURE, 0)。 但是现在我想同时录制两个设备的声音,所以我必须选择这里提到的命名方案。但是,我没有成功。 我以为这可以解决我的问题,但front:CARD=U0x46d0x825,DEV=0作为设备的名称并没有帮助。 我得到这些错误: ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM ALSA lib pcm_hw.c:1667:(_snd_pcm_hw_open) Invalid value for card arecord -l 给我: # arecord -l **** List of CAPTURE Hardware Devices **** Home directory not accessible: Permission denied card 0: PCH [HDA …
8 c  alsa 

2
用部分可选的内容来抓取一段文本
我在一个非常大的日志文件(例如A.log)中描述了一个事件的多个条目。我想对日志文件中的事件条目做两件事: 计算每个此类条目的出现次数(这不是强制性要求,但是很高兴拥有)。 将实际条目提取到一个单独的文件中,并在以后进行研究。 典型的事件条目如下所示,并且它们之间还会有其他文本。因此,在下面的示例中,有两个事件条目,第一个包含两个DataChangeEntry 有效负载,第二个包含一个DataChangeEntry 有效负载。 Data control raising event :DataControl@263c015d[[ #### DataChangeEvent #### on [DataControl name=PatternMatch_LegendTimeAxis, binding=.dynamicRegion1. beam_project_PatternMatch_dashboard_LegendTimeAxis_taskflow_LegendTimeAxis_beamDashboardLegendTimeAxisPageDef_beam_project_PatternMatch_dashboard_LegendTimeAxis_taskflow_LegendTimeAxis_beamDashboardLegendTimeAxis_xml_ps_taskflowid.dynamicRegion58. beam_project_PatternMatch_view_LegendTimeAxis_taskflow_LegendTimeAxis_beamVizLegendTimeAxisPageDef_beam_project_PatternMatch_view_LegendTimeAxis_taskflow_LegendTimeAxis_beamVizLegendTimeAxis_xml_ps_taskflowid.QueryIterator] Filter/Collection Id : 0 Collection Level : 0 Sequence Id : 616 ViewSetId : PatternMatch.LegendTimeAxis_V1_0_SN49 ==== DataChangeEntry (#1) ChangeType : UPDATE KeyPath : [2014-06-26 06:15:00.0, 0] AttributeNames : [DATAOBJECT_CREATED, COUNTX, …

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.