Unix & Linux

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

7
为什么[AZ]匹配bash中的小写字母?
在我所知道的所有shell中,都rm [A-Z]*删除了以大写字母开头的所有文件,但是使用bash删除了以字母开头的所有文件。 由于在使用bash-3和bash-4的Linux和Solaris上存在此问题,因此它不能是由libc中的错误模式匹配器或配置错误的语言环境定义引起的错误。 是这种奇怪而危险的行为,还是仅仅是多年来未修复的错误?
42 bash  shell  wildcards  locale 

2
cat <> file`如何工作?
cat &lt; file将文件的内容打印到stdout。 cat &gt; file读取标准输入,直到检测到Ctrl+ D并将输入文本写入文件。 cat &lt;&gt; file,至少在我的Bash版本中,愉快地打印文件的内容(无错误),但不修改文件,也不更新修改时间戳。 Bash标准如何证明&gt;在第三条陈述中似乎被忽略的理由?更重要的是,它在做什么?

2
“同步”和“异步”安装选项之间的区别
从最终用户的角度来看,sync和asyncmount选项之间有什么区别?使用这些选项之一挂载的文件系统是否比使用另一个选项挂载的文件系统更快?如果未设置,则默认为哪个选项? man mount他说,这种sync选择可能会缩短闪存的寿命,但可能会因过时的传统观点而失效。无论如何,这让我有些担心,因为分区/和/home放置位置的主硬盘驱动器是SSD驱动器。 Ubuntu安装程序(14.04)sync既未指定分区也未指定async选项/,但已通过option async进行/home了设置defaults。这是我的/etc/fstab,我添加了一些额外的行(请参阅注释),但未更改安装程序所做的行中的任何内容: # / was on /dev/sda2 during installation UUID=7e4f7654-3143-4fe7-8ced-445b0dc5b742 / ext4 errors=remount-ro 0 1 # /home was on /dev/sda3 during installation UUID=d29541fc-adfa-4637-936e-b5b9dbb0ba67 /home ext4 defaults 0 2 # swap was on /dev/sda4 during installation UUID=f9b53b49-94bc-4d8c-918d-809c9cefe79f none swap sw 0 0 # here goes part written by …
42 filesystems  mount  fstab  ssd 


3
如何确保SSH端口仅对特定IP地址开放?
这是我的/etc/sysconfig/iptables: 它有两个端口,分别为80 apache和22 ssh。 # Firewall configuration written by system-config-firewall # Manual customization of this file is not recommended. *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT -A INPUT -p icmp -j ACCEPT -A INPUT -i lo -j ACCEPT -A …
42 ssh  security  iptables 

2
使用/ var / log / messages调试内存不足
我的消息日志中将引发以下报告: kernel: Out of memory: Kill process 9163 (mysqld) score 511 or sacrifice child kernel: Killed process 9163, UID 27, (mysqld) total-vm:2457368kB, anon-rss:816780kB, file-rss:4kB 不管这个问题是针对还是无关紧要httpd,但我很好奇如何继续调试该问题。mysqldpostfix 我如何获得有关为什么PID 9163被杀死的更多信息,并且我不确定Linux是否将终止的PID的历史记录保存在某处。 如果您的消息日志文件中出现这种情况,您将如何逐步解决此问题? # free -m total used free shared buffers cached Mem: 1655 934 721 0 10 52 -/+ buffers/cache: 871 784 Swap: 109 …


8
通过ssh访问服务器的IP地址的历史记录
引起我注意的是,我的一台服务器被黑客攻击并感染了一个已知的中国僵尸网络。 这是一个具有自己的静态IP(美国地址)的原型/测试虚拟机,因此没有造成伤害(只是花了我一段时间才能弄清楚)。 现在,我想知道入侵使用了什么IP / s,以了解攻击是否源自中国。 有没有办法查看服务器上ssh上已接收连接的历史记录? 编辑:系统是Linux Debian 7
42 networking  ssh  logs  ip  forensics 

4
grep:内存耗尽
我正在做一个非常简单的搜索: grep -R Milledgeville ~/Documents 一段时间后出现此错误: grep: memory exhausted 如何避免这种情况? 我的系统上有10GB的RAM,运行的应用程序很少,所以我真的很惊讶一个简单的grep内存不足。~/Documents大约100GB,其中包含各种文件。 grep -RI 可能没有这个问题,但是我也想在二进制文件中搜索。


6
通用Node.js shebang?
如今,Node.js非常受欢迎,我一直在上面编写一些脚本。不幸的是,兼容性是一个问题。正式地,应该将Node.js解释器称为node,但是Debian和Ubuntu附带了一个名为的可执行文件nodejs。 我希望Node.js可以在尽可能多的情况下使用的可移植脚本。假设文件名是foo.js,我真的希望脚本以两种方式运行: ./foo.js如果node或nodejs位于中,则运行脚本$PATH。 node foo.js也运行脚本(假设解释器称为node) 注意: xavierm02和我本人的答案是多语言脚本的两个变体。我仍然对纯粹的shebang解决方案感兴趣,如果有的话。


5
如何限制进程使用的带宽?
我有一台CentOS 5.7服务器,它将每晚备份其文件。我担心在通过网络传输备份时,服务器托管的各个站点的访问者的性能都会下降。 是否可以将进程的最大允许吞吐量限制为网络接口?我想将基于SSH的文件传输限制为仅可用带宽的一半。它可以在服务器或客户端。也就是说,我很乐意在发起连接的客户端或接收连接的服务器上执行此操作。 (不幸的是,我无法添加专用于备份的接口。我可以增加可用的吞吐量,但这仅意味着网络传输将更快地完成,但在执行连接时仍会最大化连接的总容量。) 一些背景 也许是有一些背景知识的。退一步,我遇到了一个问题,就是没有足够的本地空间来创建备份本身。输入SSHFS!备份被保存到表面上是本地驱动器的位置,因此Web服务器本身上没有备份位。 为什么这么重要?因为那似乎会使尊者的使用无效rsync --bwlimit。rsync实际上并没有进行传输,也无法进行传输,因为我什至都无法腾出空间来保存备份文件。 我听到您问:“等等,为什么您甚至需要制作一个备份文件?为什么不只是rsync源文件和文件夹?” 因为令人讨厌的东西叫做“ Plesk”!这是我面向客户的Web主机,使用Plesk为方便起见。因此,我使用Plesk来启动备份,因为Plesk向备份添加了各种额外的魔术,这使得在还原过程中使用它非常安全。 悲伤的脸

3
如何在zsh中正确收集行数组
我认为以下内容将以行的形式对输出进行分组my_command: IFS='\n' array_of_lines=$(my_command); 因此,$array_of_lines[1]它将指向输出中的第一行my_command,$array_of_lines[2]指向第二行,依此类推。 但是,上面的命令似乎无法正常工作。就像我检查过的一样,它似乎也将my_command字符的输出分割开了,我相信它会逐行打印数组的元素。我也用以下方法对此进行了检查:nprint -l $array_of_lines echo $array_of_lines[1] echo $array_of_lines[2] ... 在第二次尝试中,我认为添加eval可能会有所帮助: IFS='\n' array_of_lines=$(eval my_command); 但我得到的结果与没有它时完全相同。 最后,按照zsh中带空格的List元素的答案,我还尝试了使用参数扩展标志,而不是IFS告诉zsh如何拆分输入并将元素收集到数组中,即: array_of_lines=("${(@f)$(my_command)}"); 但我仍然得到相同的结果(发生n) 有了这个,我有以下问题: Q1。有哪些“适当”的方式来收集多行代码中的命令输出? Q2。如何指定IFS仅在换行符上分割? Q3。如果我在上面的第三次尝试中使用参数扩展标志(即使用@f)来指定拆分,则zsh是否会忽略IFS?的值?为什么上面没有用?
42 shell-script  zsh 

5
用VIM缩进几行?
例如,我正在编辑以下代码: &lt;html&gt; &lt;body&gt; &lt;script&gt; var a = 10; a += 100; &lt;/script&gt; &lt;/body&gt; &lt;/html&gt; 现在我需要缩进脚本行: &lt;html&gt; &lt;body&gt; &lt;script&gt; var a = 10; a += 100; &lt;/script&gt; &lt;/body&gt; &lt;/html&gt; 如何在不将光标移到每一行的开头并按Tab的情况下执行此操作?
42 vim  vi 

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.