Unix & Linux

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

2
无法使用bc对从stdin收到的数字求和
我正在尝试使用以下方法计算文件夹中包含的文件的平均熵: { echo '('; find . -type f -exec entropy {} \; | \ grep -Eo '[0-9.]+$' | \ sed -r 's/$/+/g'; echo '0)/'; find . -type f | wc -l; } | \ tr -d '\n' | bc -l entropy 是一个可执行文件,可计算文件的香农熵,并提供以下形式的输出: $ entropy foo foo: 5.13232 前面的命令错误显示为: (standard_in) 1: …
8 bash  shell  bc 

3
如何在linux终端中查看基本bash语法的参考或备忘单?
每次我需要做一些bash脚本,包括if语句,检查空变量和不存在的文件等。我发现自己在google上找到了一些简单的bash手册或指南。 这些通常太长且太复杂,无法快速回答我手头的问题。 因此,我在想,必须有一些命令或手册页以简短且易于访问的方式涵盖基本的bash语法(用于if语句,检查空变量,不存在的文件等)。我确定我还没有找到命令(man bash似乎不是这样)。 在哪里可以找到?
8 bash 

4
将修改环境的命令输出保存到变量中
如何保存将环境修改为变量的命令的输出? 我正在使用bash shell。 假设我有: function f () { a=3; b=4 ; echo "`date`: $a $b"; } 现在,我可以使用命令来运行f: $ a=0; b=0; f; echo $a; echo $b; echo $c Sat Jun 28 21:27:08 CEST 2014: 3 4 3 4 但是我想将输出保存f到variable c,所以我尝试了: a=0; b=0; c=""; c=$(f); echo $a; echo $b; echo $c 但不幸的是,我得到了: …

2
平滑滚动-它来自哪里?
因此,我已经与Ubuntu和其他基于Debian的发行版打交道已有一段时间了,有点像Crunchbang。但是我也一直注意到Ubuntu(以及LMDE)具有所谓的“平滑滚动”的奇特/精美/令人垂涎的功能(不只是在Firefox / Chrome中,我指的是系统范围的滚动体验)。 我也想在Crunchbang中使用它。我已经在网上搜索有关该功能的文档已有好几个星期了,但是我什么都找不到!我可以理解(而且我甚至不确定)平滑滚动与GTK +(也许还有Synaptics驱动程序?)有关,而与其他无关。 为了清楚起见,我指的是使用鼠标滚轮在WinXP中滚动(一次通常3行或5行)和使用其点击板在OSX中滚动(这更像是在触摸屏上滑动)之间的相同区别。 如果有任何重要意义,我将在带有Elantech Clickpad的Samsung Series 9中运行Crunchbang。 您能帮我找到更多的学习方法吗?还是您知道任何在Crunchbang中使用它的指南?

2
如何保证$ BASH_ENV的可用性
非交互式,非登录外壳程序将尝试获取$ BASH_ENV中指定的任何脚本。但是,如何确保在cron作业或脚本有机会为任何特定会话设置$ BASH_ENV之前设置$ BASH_ENV?是使用硬编码编译Bash的唯一选择吗?

1
使tmux阻塞,直到程序完成
tmux的远程控制功能给我留下了深刻的印象: tmux new-window -t p12346 'echo foo;sleep 10' 这将在名为p12346的会话中创建一个新窗口,并且不会在屏幕上打印任何内容。这太棒了。但是,如何告诉上面的命令等到睡眠完成才返回?即我希望这样做,但要花10秒才能执行: time tmux new-window -t p12346 'echo foo;sleep 10' 背景 如果可行,那么它可能成为GNU Parallel的功能:当前正在运行的作业可以通过访问它们的每个窗口tmux,因此您可以实时跟踪每个作业的进度。 因此tmux不会在前台运行:用户将需要附加到它。
8 tmux 

3
带有yum的CentOS 6.5上的PHP 5.5.13
我在通过CentOS 6.5(64位)计算机上安装PHP 5.5.13(最新稳定版本)时遇到问题yum。 据我所知,它不是CentOS,EPEL或REMI回购的一部分。这些存储库中的任何一个我都可以得到5.4.29。
8 php  centos 

2
如何在Centos 6.5上自动生成resolv.conf
我刚刚安装了CentOS 6.5并配置了以下文件: /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 HWADDR=aa:bb:dd:dd:ee:ff TYPE=Ethernet UUID=adfddfaf-9sda-adse-dfs4-asdfsdfdfg97 ONBOOT=yes NM_CONTROLLED=no BOOTPROTO=dhcp /etc/sysconfig/network NETWORKING=yes HOSTNAME=localhost.IM NTPSERVERARGS=iburst 重新启动计算机时,ifconfig eth0显示IP地址,但resolv.conf文件为空。它里面说的就是search IM。nameservers该文件中没有列出。 但是,启动后,如果我确实dhclient -r要释放IP地址,然后键入dhclient eth0要获取IP地址,resolv.conf则会使用我的DNS名称服务器正确填充。 为什么我的配置文件中没有自动发生这种情况?我认为dhcp在我的ifcfg-eth0文件中启用该功能应该可以解决此问题。 CentOS文档说设置NETWORKING=yes在启动时开始联网:http : //www.centos.org/docs/5/html/Deployment_Guide-zh-CN/s1-dhcp-configuring-client.html。 任何帮助表示赞赏。

1
这四个命令(fifo,进程替换,重定向...)之间有什么区别?
我的目标是使用nc和创建一个简单的echo服务器fifo。我并不是在寻找最好的方法,我只是想了解以下命令的语义(何时发生派生,为什么,它发生了什么变化,为什么命令表现不同...)。 我使用bash,所以我不知道如果所有的命令都将使用POSIX工作sh或zsh,ksh... 这是我在标题中提到的四个命令(假设我已经做过mkfifo fifo): cat fifo | nc -l localhost 8888 > fifo exec 3<> fifo && nc -l localhost 8888 <&3 >&3 && exec 3>&- nc -l localhost 8888 <(cat fifo) > fifo nc -l localhost 8888 < fifo > fifo 现在,我希望这4个命令可以执行相同的操作,至少最后两个命令可以执行相同的操作。 第一个命令的行为符合预期,一个简单的回显服务器在客户端关闭连接时将关闭。 行为像1。 我可以连接到服务器,发送数据,但是我什么也收不到。当我关闭客户端连接时,服务器关闭。 无法连接到服务器,服务器将永远监听。

8
Grep其余部分…比赛结束后
我有一个仅包含两行的文件,具有以下结构: $ cat /tmp/pwpower.log 000D6F0000D34227, -114.10 000D6F0001A405C4, -130.09 这些值是我的太阳能发电厂的功率值。负值表示生成。 我需要通过grep / sed / awk提取的值-哪种方法最聪明。我需要分别提取两个值并且没有减号。 我现在做的事有点愚蠢,但是可以用-我敢肯定你们中的许多人会为我提供更聪明的方法:-)在这里,我当然只看到值加上减号。 要获得第一个值: cat /tmp/pwpower.log |grep -o "\-.*" | head -n 1 要获取第二个值: cat /tmp/pwpower.log |grep -o "\-.*" | tail -n1 和相关的问题,是否有一种简单的方法来获取这些STRING并进行转换,以便我可以计算出SUM?

6
将大文件拆分为多个块而无需拆分条目
我有一个很大的.msg文件,格式为UIEE格式。 $ wc -l big_db.msg 8726593 big_db.msg 本质上,文件由各种长度的条目组成,如下所示: UR|1 AA|Condon, Richard TI|Prizzi's Family CN|Collectable- Good/Good MT|FICTION PU|G.P. Putnam & Sons DP|1986 ED|First Printing. BD|Hard Cover NT|0399132104 KE|MAFIA KE|FICTION PR|44.9 XA|4 XB|1 XC|BO XD|S UR|10 AA|Gariepy, Henry TI|Portraits of Perseverance CN|Good/No Jacket MT|SOLD PU|Victor Books DP|1989 BD|Mass Market Paperback NT|1989 tpb …

2
告诉wget不匹配模式的Spider URL?
我想测试我的网站在被抓取时的行为。但是,我想排除所有包含单词“ page”的URL。我试过了: $ wget -r -R "*page*" --spider --no-check-certificate -w 1 http://mysite.com/ 该-R标志应该拒绝包含单词“ page”的URL模式。除了它似乎不起作用: Spider mode enabled. Check if remote file exists. --2014-06-10 12:34:56-- http://mysite.com/?sort=post&page=87729 Reusing existing connection to [mysite.com]:80. HTTP request sent, awaiting response... 200 OK 如何排除此类网址的爬虫?
8 wget  url 

4
git archive致命:协议不支持该操作
我可以git clone这样... git clone https://github.com/stackforge/puppet-heat.git ...没有问题。但是我想排除克隆附带的所有git meta东西,所以我想我会用,git archive但出现此错误: $ git archive --remote=https://github.com/stackforge/puppet-heat.git fatal: Operation not supported by protocol. 有人知道我为什么或做错了吗?
8 git  github 

2
SSH:哪一个是我的公钥
我的大学问我的SSH公钥,因为我需要访问大学的计算机集群。 我使用linux ssh-keygen -t dsa命令生成了SSH密钥。但是,我不知道他们需要我提供什么信息。 ssh-keygen -t dsa命令生成: 关键指纹 钥匙的randomart图片 id_dsa id_dsa.pub 我的公钥是哪一个?
8 ssh 


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.