Unix & Linux

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

4
UFW:仅允许来自具有动态IP地址的域的流量
我运行了一个我想使用UFW进行保护的VPS,仅允许连接到端口80。但是,为了能够对其进行远程管理,我需要保持端口22的开放状态并使其可在家中访问。 我知道UFW可以配置为仅允许从特定IP地址连接到端口: ufw allow proto tcp from 123.123.123.123 to any port 22 但是我的IP地址是动态的,因此这不是解决方案。 问题是:我具有DynDNS的动态DNS解析功能,是否可以使用域而不是IP创建规则? 我已经试过了: ufw allow proto tcp from mydomain.dyndns.org to any port 22 但是我得到了 ERROR: Bad source address


2
Linux终端如何工作?
如果启动一个终端并调用一个可执行文件(为简单起见,假设它是面向行的),您将从可执行文件中得到对该命令的答复。如何打印给您(用户)?终端会做类似的事情pexpect吗?(轮询等待输出)还是什么?如何通知要输出的输出?终端如何启动程序?(这类似于python的os.fork()吗?)我不知道终端的工作方式,我一直在使用一些终端仿真器,但我仍然不了解所有这些魔术如何工作。我正在查看konsole(kde)和yakuake(可能使用konsole)的来源,我无法了解发生所有魔术的地方。

2
为什么Unix手册页使用双反引号代替双引号?
我注意到,Unix实用程序格式化的手册页和其他文档经常使用双反引号,``然后用双单引号引起''来的单引号而不是双引号字符"。单引号被类似地替换。为什么是这样? 以下是几个示例,来自手册页grep: To find all occurrences of the pattern `.Pp' at the beginning of a line: $ grep '^\.Pp' myfile The apostrophes ensure the entire expression is evaluated by grep instead of by the user's shell. The caret `^' matches the null string at the beginning of a line, and …
32 man  history 

3
限制特定接口上的传出带宽
我想知道一种限制接口传出带宽的最简单方法。我想限制传出端口的速度,以使服务器之间的文件传输在繁忙时间内不会失败。 什么是最简单的解决方案?我知道我可以使用,iptables但是我正在寻找简单的安装/配置。
32 linux  networking 

1
引号内的通配符
这将是一个简单的过程,但是在我的记忆中,当执行Shell脚本时,使用双引号将允许扩展globlob和变量。 但是在下面的代码中: #!/bin/sh echo *.sh echo "*.sh" echo '*.sh' echo $LANG echo "$LANG" echo '$LANG' 我得到这个结果: bob.sh redeployJboss.sh *.sh *.sh en_US.utf8 en_US.utf8 $LANG 因此,单引号可防止glob和变量扩展,而双引号仅允许变量扩展而没有glob? 我可以使用任何报价模式吗?

6
计算上一个程序的输出行数
我正在尝试计算某个程序产生的输出行数。问题是,该程序需要很长时间才能运行,并且我想向用户显示输出。有没有一种方法可以计算最后一条命令输出的行数? 我可以,program | wc -l但是不会向用户显示输出。据我所知,我必须做program; program | wc -l-但是该程序至少需要一分钟才能运行,所以我不想只为了在底部显示行数就要做一次以上。 编辑: 有没有一种方法可以显示输出(逐行显示),然后在末尾返回计数?

4
什么不需要碎片整理?Linux还是ext2 ext3 FS?
您为什么不必对Linux系统进行碎片整理?是因为它使用的是ext2 / ext3文件系统,还是因为是Linux? 这很重要,因为我有一个双启动系统(W7 / Ubuntu)和一个公共分区(NTFS),两个系统都可以访问该分区。如果我在Linux上使用此分区,它会变得碎片化吗? 另一个问题是Truecrypt容器。我也使用Linux和Windows访问它们,它们是FAT32。它们是否因在其上运行Linux而变得支离破碎?



3
我如何确定自己是否更喜欢?
不熟悉Linux时,Linux系统的行为如何?如果我尝试使用sudo,将会发生以下情况: server:/tmp>$ sudo cal [sudo] password for user: Sorry, try again. 是否有可能我只是不知道密码,或者这意味着我不懂密码?(在打印出来的另一台机器系统上,我没有任何抱怨,并且将报告此事件)
32 permissions  sudo  root 

2
从grub rescue命令提示符启动Windows
以前,我已经安装了Ubuntu 10.04和Windows 7。 现在,我登录Windows,打开分区编辑器并删除了包含Ubuntu的卷-我以为它将删除Ubuntu,这可能会帮助我安装另一个OS-然后重新启动系统。 那里有GRUB救援提示。 我要登录Windows。我怎样才能做到这一点? 在GRUB救援中,我尝试了以下操作: ls (hd0) (hd0,3) (hd0,2) (hd0,1) (hd1) (hda1,1) 尝试了的所有组合ls (hdax)/,并抛出: error: Unknown Filesystem. 我尝试了这个: rootnoverify (hd0,0) chainloader +1 makeactive boot 它抛出了: Unknown command. 编辑: 我从USB安装了Ubuntu。现在,当我重新启动系统时,我得到了GRUB,显示了旧的Windows和新安装的Ubuntu。我高兴地登录Windows。然后,我使用标准过程删除了Ubuntu,以免受到grub的抢救。
32 linux  windows  grub  rescue 


4
查找-exec + vs查找| xargs:选择哪一个?
我了解-exec可以+选择模拟的行为xargs。在任何情况下,您都喜欢一种形式而不是另一种形式吗? 如果只是避免使用管道,我个人倾向于使用第一种形式。我确定肯定开发人员find必须进行适当的优化。我对么?
32 bash  find  pipe  xargs 

3
强制GNU屏幕在重新连接时回流到当前端子宽度?
重新连接会话时,我想强制将GNU屏幕重排到现有的终端宽度。在我看来,在将机器升级到CentOS 6之前,这可以正常工作,但是我不知道如何还原它。(TERM=xterm) 每当我重新连接会话时,无论断开会话时处于什么状态,它都会在80列处启动,并同时调整终端的大小(在本例中为Puty)。 我要启动并重新连接: screen -aA -R <session> 我的.screenrc仅包含以下内容以及一些无关的键绑定: term xterm defscrollback 10000 # status line at the bottom hardstatus on hardstatus alwayslastline hardstatus string "${-}%{.0c}%-w%{.y0}%f%n %t%{-}%+w %=%{..G}[%H] %{..Y} %D %M %d, %Y %c | Load: %l" caption splitonly "%{.yK}%3n t" caption string "%{.c0}%3n %t" vbell off # Fix fullscreen …

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.