Unix & Linux

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

5
为什么硬链接仅在同一文件系统内有效?
我正在阅读Mark Ba​​tes 撰写的命令行介绍。 在第一章中,他提到硬链接不能跨越文件系统。 关于硬链接要注意的重要事项是它们仅在当前文件系统上有效。您不能在其他文件系统上创建到该文件的硬链接。为此,您需要使用符号链接,第1.4.3节。 我只知道一个文件系统。从root(/)开始的那个。硬链接不能跨越文件系统的说法对我来说没有意义。 Unix文件系统上的Wikipedia 文章也没有帮助。

3
滚动条移到我单击的位置
我在Fedora上使用MATE。在某些时候,滚动条在许多应用程序上的行为已经改变。当我在滚动条下面单击时,现在滚动条跳到我单击的位置。以前,它曾经向下滚动一页(如果我单击了滚动条当前位置下方的任意位置)。 我喜欢旧的行为。当页面很长时,新的行为会使滚动条几乎无法使用:我无法精确控制单击的位置来控制页面跳转到的位置。 有没有办法恢复以前的行为?换句话说,是否有一种方法可以单击滚动条当前位置下方的滚动条,使窗口向下滚动一页,而不是跳转到我单击的位置? 这种差异在Firefox中最为明显,但不仅限于Firefox。它也会影响其他应用程序。
22 mouse  gtk  scrolling 

6
仅在命令成功的情况下如何抑制输出?
我想通过抑制通常成功的辅助命令的输出来简化脚本的输出。 但是,-q在它们上偶尔使用时,对它们使用会隐藏输出,因此我无法理解该错误。此外,这些命令将其输出记录在上stderr。 是否只有在命令成功的情况下才可以抑制它的输出? 例如(但不限于)这样的东西: mycommand | fingerscrossed 如果一切顺利,则fingerscrossed捕获输出并将其丢弃。否则,它将回显到标准或错误输出(无论如何)。

1
netfilter / iptables:为什么不使用原始表?
在Linux下,我们通常使用“过滤器”表进行通用过滤: iptables --table filter --append INPUT --source 1.2.3.4 --jump DROP iptables --table filter --append INPUT --in-interface lo --jump ACCEPT 根据下面的netfilter流程图,数据包首先经过“原始”表: 所以我们可以这样写: iptables --table raw --append PREROUTING --source 1.2.3.4 --jump DROP iptables --table raw --append PREROUTING --in-interface lo --jump ACCEPT 数据包的处理速度更快,无需经过conntrack + mangle + nat + routing。因此使用的CPU /内存少了一点(反过来又因必须加载iptable_raw模块而得到的补偿) 如果盒子也是路由器,则只有一个规则(显然,对于每个规则来说都行),因为无需为过滤器/转发添加相同的规则 我只进行了快速测试,所以效果很好。 我发现的文档总是描述在严格情况下要使用的原始表。但是没有人给出最小的理由。 …
22 linux  iptables 

2
为什么精美度从-20到19?
该nice命令允许您调整程序的调度优先级(“ niceness”)。在我使用过的所有类Unix系统上,niceness由一系列整数指定,其中-20是最有利的调度优先级,默认值为0,最不利的调度优先级是19。 将默认值设为0足够直观,但是为什么选择-20和19作为范围的端点?为什么不使用-128和127,它们恰好适合带符号的8位字节?还是为什么不使用-100到100(对于十进制思维的人来说更直观),或者类似地但在人机工程学上更容易使用-99到99?-20至19的范围是任意选择的还是nice与最初与之交互的调度程序的内部有某种关系?(我知道,至少对于Linux来说,今天没有这种关系,Linux的调度程序使用的优先级在0到139之间。但是,我对-20到19范围的历史原因很感兴趣。)

2
为什么我的所有SSH尝试都由于超时而失败?
我是使用SSH和相关技术的新手,所以很可能我不了解基本知识。(这也可能是服务器故障的问题。...不确定。) 我正在尝试通过SSH服务器连接到我拥有的Web服务器,并且由于超时而无法建立连接。 ~ $ ssh -vvv DOMAIN.com OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011 debug1: Reading configuration data /Users/USER/.ssh/config debug1: Reading configuration data /etc/ssh_config debug1: /etc/ssh_config line 20: Applying options for * debug1: /etc/ssh_config line 102: Applying options for * debug2: ssh_connect: needpriv 0 debug1: Connecting to DOMAIN.com [123.45.67.89] port 22. …
22 ssh 

2
CTRL + 4(和CTRL + \)在bash中做什么?
我只是偶然发现CTRL+ 4 关闭stdin了从命令行读取输入的程序。 当我 在程序阅读中键入CTRL+ 4或CTRL+ 时,它是这样的/stdin $ cat wefwef wefwef ^\Quit $ bc bc 1.06.95 Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc. This is free software with ABSOLUTELY NO WARRANTY. For details type `warranty'. ^\Quit $ 我得到^\Quit显示,然后程序关闭。与使用^C或相比有什么区别^D?怎么^\Quit办? 编辑:发现CTRL+ \做同样的事情。

5
如何为Shell脚本创建服务,以便可以像守护程序一样启动和停止它?
我使用CentOS 7的目的是每五秒钟创建一个cron,但正如我研究的那样,我们只能使用一分钟的cron,所以我现在要做的是创建一个shell文件。 hit.sh while sleep 5; do curl http://localhost/test.php; done 但是我已经通过右键单击来手动点击它。 我想要的是为该文件创建服务,以便我可以自动启动和停止它。 我找到了创建服务的脚本 #!/bin/bash # chkconfig: 2345 20 80 # description: Description comes here.... # Source function library. . /etc/init.d/functions start() { # code to start app comes here # example: daemon program_name & } stop() { # code to …

3
使用空的shell变量时发出错误
有时我使用$PROJECT_HOME/*来删除项目中的所有文件。如果PROJECT_HOME未设置环境变量(因为我设置了环境变量,su并且新用户未设置此环境变量),它将开始从根文件夹中删除所有文件。这是世界末日。 bash在外壳中使用未定义的环境变量时,如何配置抛出错误?

5
区分运行和bash shell脚本中的源代码?
我在这里要问的是非常非传统/非常规/危险的,或者我的Google-fu技能根本无法解决... 在bashshell脚本中,是否有任何简单的方法可以判断它是从另一个shell脚本获取资源,还是由它自己运行?换句话说,是否可以区分以下两种行为? # from another shell script source myScript.sh # from command prompt, or another shell script ./myScript.sh 我正在考虑做的是创建一个类似于实用程序的shell脚本,其中包含bash可以在获取源代码后使用的功能。当这个脚本自己运行时,我也会希望它根据定义的功能执行某些操作。这个shell脚本是否可以使用某种环境变量,例如 some_function() { # ... } if [ -z "$IS_SOURCED" ]; then some_function; fi 最好是,我正在寻找一种不需要调用者脚本设置任何标志变量的解决方案。 编辑:我知道在源代码和运行脚本之间的区别,我试图在这里找到什么,才能分辨出正在使用的脚本的区别(两种方式)。

1
iptables表和链如何遍历
我知道linux有3个内置表,每个表都有自己的链,如下所示: 过滤器:预打印,前进,后送 NAT:预输出,输入,输出,写入 混合:预输出,输入,前进,输出,输出 但是我不明白它们是如何遍历的,以什么顺序遍历。例如,在以下情况下如何遍历它们: 我将数据包发送到同一局域网中的PC 当我将数据包发送到其他网络中的PC时 当网关收到数据包并且必须转发时 当我收到发给我的小包时 任何其他情况(如果有)

2
如何设置权限drwxr-xr-x到其他文件夹?
我在下面的文件夹中没有几个导演- teckapp@machineA:/opt/keeper$ ls -ltrh total 8.0K drwxr-xr-x 10 teckapp cloudmgr 4.0K Feb 9 10:22 keeper-3.4.6 drwxr-xr-x 3 teckapp cloudmgr 4.0K Feb 12 01:44 data 我在其他一些机器上也有其他文件夹,我需要像这样将其更改为上述文件夹的权限drwxr-xr-x。 意味着如何将任何文件夹权限更改为drwxr-xr-x?我知道我需要用chmod与此命令,但是应该为此使用chown的值是什么?

2
将消息传递到sendmail的格式是什么?
我正在使用以下命令即时创建消息并发送: echo "Subject:Hello \n\n I would like to buy a hamburger\n" | sendmail email@example.com 看起来,当您从文件发送信息时,可以执行以下操作: sendmail email@example.com mail.txt 然后sendmail将每一行视为标题,并对其进行解析。但是,按照我上面发给它的方式,所有内容最终都在主题行中。 如果要在sendmail中回显带有标头的消息,那么格式是什么?怎么做?
22 shell  email  sendmail  echo 


2
从grep -r中排除隐藏的子目录
我有一个svn本地副本,我想对字符串some_string进行搜索。 $ grep some_string * -r lang/en:some_string=Some string lang/.svn/en:some_string=Some string 但是,如果再往前走一点,似乎一级隐藏目录已被排除在外: $ cd lang && grep some_string * -r en:some_string=Some string 如何从输出中而不是从第一个深度级别中删除隐藏的svn目录? $ grep some_string * -r --which_option_here? lang/en:some_string=Some string
22 grep  recursive 

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.