Unix & Linux

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

2
将stdin和stdout重定向到端口
我想要一个程序P,该程序可以从stdin&读取和写入stdout,但可以将其连接到nc或从任何端口读取并输出到另一个端口的任何程序。 # The reading is easy, here P reads from port 50505 nc -l 50505 | P 我该如何写回端口60606?

2
更改我的Exchange密码后,“用户已验证但未连接”
当我启动Thunderbird(在Ubuntu 14.04下为31.2.0)时,john.doe@example.com通过IMAP访问的Outlook 365帐户完全无法访问(即使我有本地档案,我什至看不到文件夹列表)。我在D-Bus通知中看到以下消息(几次): “收件箱”上的当前操作未成功。帐户john.doe@example.com的邮件服务器响应:用户已通过身份验证,但未连接。 这个帐户已经使用了一段时间。我在上一个Thunderbird会话中更改了密码;输入新密码后,雷鸟仍然可以使用。 这个看似荒谬的消息“用户已通过身份验证但未连接”是什么意思?我如何获得我的电子邮件?

2
如果bash停止回声,该怎么办?
我在工作中使用的一种应用程序有时会与我的bash拧在一起,所以我再也看不到自己的输入了。即 $ echo foo foo $ 变成 $ foo $ 我错误地尝试运行stty -echo,这使情况变得更糟,现在它停止接受所有命令,这使我的输入处于某种状态,该状态只会>在每次换行时出现,而没有别的。 我该怎么办?

2
在管道中使用脚本时如何读取用户输入
一般问题 我想编写一个与用户交互的脚本,即使该脚本位于管道链的中间。 具体例子 具体来说,它用file或来stdin显示行(带有行号),要求用户输入选择或行号,然后将相应的行打印到stdout。我们将此脚本称为selector。然后,基本上,我希望能够 grep abc foo | selector > myfile.tmp 如果foo包含 blabcbla foo abc bar quux xyzzy abc 然后selector向我展示(在终端上,而不是在myfile.tmp!中)带有选项 1) blabcbla 2) foo abc bar 3) xyzzy abc Select options: 之后我输入 2-3 并以 foo abc bar xyzzy abc 作为的内容myfile.tmp。 我已经启动并运行了一个选择器脚本,如果我不重定向输入和输出,则基本上可以正常运行。所以 selector foo 表现得像我想要的。但是,当像上面的示例中那样将内容管道在一起时,selector将显示的选项打印到myfile.tmp并尝试从grepped输入中读取选择。 我的方法 我尝试使用的-u标志read,如 exec 4< /proc/$PPID/fd/0 exec …

1
为什么openssl s_client针对不匹配的CAfile验证证书?
我正在尝试产生证书验证错误,openssl s_client如下所示: $ openssl s_client -crlf -verify 9 \ -CAfile /etc/ssl/certs/TURKTRUST_Certificate_Services_Provider_Root_1.pem \ -starttls smtp -host mx-ha03.web.de -port 25 web.de服务器的证书是由德国电信CA而不是TURKTRUST认证的,因此上述命令应该失败,对吗? 但它报告: Verify return code: 0 (ok) 为什么? 我的意思是模拟gnutls-cli命令按预期失败: $ { echo -e 'ehlo example.org\nstarttls' ; sleep 1 } | \ gnutls-cli --starttls --crlf \ --x509cafile /etc/ssl/certs/TURKTRUST_Certificate_Services_Provider_Root_1.pem \ --port 25 mx-ha03.web.de [..] …

4
Bash脚本如何知道其运行方式?
我正在尝试制作一个Bash脚本,以帮助我运行一个相当复杂的命令,并进行一些小的更改,使其通过echo和read向我询问。 我找到了迫使其运行终端以执行命令的解决方案,但我对此并不感兴趣。我想做的是,如果我在Nautilus中放开并在Enter上按Enter(使其与Run Software一起运行),它会轻轻弹出一个通知,提示“请从终端运行此程序”。 我可以使弹出窗口发生-就像我知道的命令一样-但我无法让Bash脚本来判断它是否在终端中运行,似乎总是这样。可能吗


1
识别文件中的重复文本块
是否有一种简便的方法来识别文件中重复的文本或接近重复的文本块? 我想用它来识别代码重复。看起来有些专业程序具有此功能,但我不想参与其中。 我希望有一个类似于diff的工具,可以进行某种“文件内”比较。甚至更好的是在单个文件中的vimdiff。

2
在KVM中设置访客网络以与外界互动(google.com)
我试图更好地了解机器中的网络设置。 主机设置 我的主机上有一个无线接口(wlan0),其IP地址为192.168.1.9。 该主机的默认网关是通过IP地址为的ISP通过我的ISP到达外界的路由器192.168.1.1。 我的主机中的route -n命令将输出返回给我, Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 wlan0 169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 wlan0 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 wlan0 192.168.1.160 0.0.0.0 255.255.255.224 U 0 0 0 virbr2 …
10 networking 

1
如何使用grep过滤掉以任何关键字开头的行?
我有一个大的文件(化学品数据库),我需要显示只有头记录,其被定义为不启动线:ATOM,CONNECT,HETATM,TER,或END。我应该grep用来做这个。这是文件的示例(整个文件在此处): HEADER TRANSFERASE 15-OCT-12 4HKD TITLE CRYSTAL STRUCTURE OF HUMAN MST2 SARAH DOMAIN COMPND MOL_ID: 1; COMPND 2 MOLECULE: SERINE/THREONINE-PROTEIN KINASE 3; COMPND 3 CHAIN: A, B, C, D; COMPND 4 FRAGMENT: SARAH DOMAIN, UNP RESIDUES 436-484; COMPND 5 SYNONYM: MAMMALIAN STE20-LIKE PROTEIN KINASE 2, MST-2, STE20-LIKE COMPND 6 KINASE …
10 grep 

2
mkfifo-磁盘I / O是否实际发生?
我有2个应用程序: 生产者(N个实例) 消费者(1个实例) 我目前从生产者那里写出中间结果,然后消费者从磁盘读取这些文件并产生最终结果。 我想通过将生产者的输出直接“流化”到消费者来最小化此I / O。 我碰到命名管道(mkfifo)和随后的例子在这里。这看起来不错,但我无法确定这是如何实现的?FIFO队列是否只是通过文件进行缓冲?如果是这样,那可能对我没有帮助。我希望内容在不使用磁盘的情况下完全“通过内存”传输。也许跨进程不可能吗?
10 io  fifo 

2
找出屏幕会话中正在运行的命令
我经常让任务在屏幕上运行,以便以后可以检查它们,但有时我需要检查屏幕上正在运行的命令。通常是各种php脚本,例如 screen -d -m nice -n -10 php -f convertThread.php start=10000 我没有记录哪个屏幕正在运行哪个命令,但是我希望能够通过检查其中运行的命令来了解进度,而不会终止该过程。 我在屏幕帮助页面中看不到任何选项。
10 gnu-screen 

1
不使用useradd / adduser将用户添加到系统的步骤是什么?
我浏览了一些Linux问题,并看到了这个有趣的问题。 不使用useradd/ 将用户添加到系统的步骤是什么adduser? 我想到的一种可能的方法是, 在/etc/passwd文件中为用户添加一个条目。 在/etc/group文件中为该组添加一个条目。 为添加的用户创建主目录。 使用passwd命令设置新的用户密码。 我测试了上述方法,效果很好。 这是唯一可能的方法,还是有其他解决方法可以实现?
10 users  useradd 

1
在哪里可以设置全局Java选项?
我在Java程序中可怕的,不正确渲染字体,如jabref和rubymine。可以通过运行来解决 _JAVA_OPTIONS='-Dawt.useSystemAAFontSettings=on' jabref 我知道我可以将这些Java选项导出为环境变量,然后从命令行启动程序。但是,是否有一种方法可以全局设置这些选项,以便所有Java程序都能识别它们,而无论它们如何启动? 我也知道我可以修改*.desktopJava程序的所有文件,但是我正在寻找一种全局解决方案。 我java-7-openjdk在Arch Linux上使用。(FWIW过去安装了现在已损坏的jre7-openjdk-headless-infinality时还可以。)

3
阅读时如何处理退格键?
我如何处理输入的退格键,它显示^?是否尝试过以及如何read计算字符,因为12^?3已经有5个字符完成了(尽管它们都不是实际的输入),但是在12^?3^?返回提示后,很奇怪。请帮忙! -bash-3.2$ read -n 5 12^?3^?-bash-3.2$
10 bash  shell  line-editor  read 

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.