Unix & Linux

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

3
stderr重定向在csh中不起作用
我运行以下命令: pkg_add emacs-23.4,2.tbz 2> output.log 输出仍显示在终端中。当我按时↑,我得到 pkg_add emacs-23.4,2.tbz 2 > output.log 在...前面有一个空格2。 我本来没有提出。我尝试 pkg_add emacs-23.4,2.tbz > output.log 2>&1 同样,当我按时↑,已经添加了空格。 为什么这发生在我身上? 我在FreeBSD上运行csh。

1
Home键在长输入字符串上以bash(tty和X)起作用
当我打Home,如果我的电流输入足够短(比如<36个字符),它工作正常。但是,当我键入一个较长的命令,然后又想回到开头时,它似乎已经完成了工作,但是该命令不再正确显示。好像我不是刚开始,但要离开大约10个字符。尽管如果我键入“ blindly”,它可以正常工作,但看起来像是一团糟,好像整个输入都移到了右边,但没有重绘。因此,我键入了它,但实际上没有键入,因为我要“擦除”的位置在右边“实际上”是10个字符。因此,如果我尝试擦除该命令,则仍显示前10个字符,但是如果我单击Enter它,则仅显示另一个提示,就好像先前的输入为空。 我知道这不是有史以来最好的解释,但关键是bash能够识别它并尝试做正确的事情,但经常失败。 我在tty和X会话的终端中都重现了这一点。当我按下Ctrl+时V,Home我看到了不同的序列(^[OH在X中,^[[1~在tty中),但是两者似乎都在我的体内/etc/inputrc: # do not bell on tab-completion #set bell-style none set meta-flag on set input-meta on set convert-meta off set output-meta on $if mode=emacs # for linux console and RH/Debian xterm "\e[1~": beginning-of-line "\e[4~": end-of-line "\e[5~": beginning-of-history "\e[6~": end-of-history "\e[7~": beginning-of-line "\e[3~": delete-char "\e[2~": quoted-insert "\e[5C": forward-word …

3
按时间排序
我可能放错了一个简单的解决方案。如何获得atq按时间顺序排序的输出,这样我就可以轻松查看接下来要运行的是谁?的man页面sort没有任何可识别时间戳的内置内容,如下所示: atq 1264 Sat Mar 24 15:03:00 2012 a master 1445 Sat Mar 24 20:28:00 2012 a master 1548 Sun Mar 25 15:09:00 2012 a master 1193 Sat Mar 24 11:03:00 2012 a master 1359 Sat Mar 24 17:13:00 2012 a master 1726 Mon Mar 26 21:24:00 2012 a master …
11 date  sort  at 



4
大型文件的smbclient替代
我正在使用smbclient每晚将一组大文件(80GB)从Linux系统传输到Windows共享。最近,无论出于什么原因,我一直在经历I / O超时: cli_push returned NT_STATUS_IO_TIMEOUT 这会导致活动文件传输被中止并从Windows共享中删除。 这可能是由于未解决的Samba错误8498(或可能不是)引起的。Windows系统不受我的控制,因此我无法安装ssh服务器(使用scp或sftp),也不想依赖于Microsoft的NFS实现。 是否有另一种简单的标准替代方法,可以让我定期通过网络将80GB的数据从Linux可靠地移动到Windows(网络是GB以太网,因此带宽不是问题)?

4
Bash路径补全如何与sudo一起使用?
制表符路径补全不适用于(至少在Ubuntu和AFAIK Arch上)与 sudo mount <whatever> 我尝试挂载的iso文件不在中/etc/fstab。如果我只是输入 mount <whatever> 完成工作正常(但命令失败,因为我不是root用户)。显然是sudo打破了它。 如何使sudo完成工作? 令人惊讶的是 sudo umount <whatever> 完成工程。如何实现的?会调查/etc/fstab吗? 解决方案:我只是将一个shell脚本放入传递了参数的/usr/local/bin调用中sudo mount ...。调用此脚本时,完成是可行的,因为这样做不会成功sudo。

3
哪个窗口管理器具有Python绑定?
我一直都在用Python编写代码,而我对桌面环境最感兴趣,我一直有自己想尝试的想法。 我尝试过使用python-xlib,但有关如何使用它的文档太少,而且ICCCM文档非常晦涩。所以我还没走得很远。 更重要的是,我对制作窗口管理器的兴趣不大,而对为桌面环境与其交互的应用程序感兴趣。例如任务栏。然后直接与X交谈意味着绕过WM。 所以我想知道是否有任何主要的WM具有python绑定,因此我可以与它们进行交互。我已经找到了python-metacity和python-compizsettings,但是我发现零使用它们的文档。 从Python的角度来看,总体情况有点令人沮丧。如果您有任何建议,请让我知道。

1
tcpdump:“捕获的数据包”与“过滤器收到的数据包”
我们有一个脚本 tcpdump -v src host <IP address> and port <port number> >>out.txt 2>>err.txt -w capture.cap 在多个IP上运行,而脚本的其他部分在后台启动一些流量。我们要检查数据包是否返回给我们,并仅在收到包裹时手动检查那些情况。首先,tcpdump的错误输出对此似乎还不错。 正如主题所暗示的,问题是“捕获的数据包”和“过滤器接收的数据包”之间有什么区别?有些捕获没有记录任何数据包,而是输出“捕获了0个数据包,过滤器接收了2个数据包”,这听起来像是一个矛盾,因为如果没有捕获任何数据包,那么其中的2个如何被过滤?最初,我们一直在寻找“过滤器接收到0个数据包”,但是当没有接收到数据包时,它始终不会写入错误输出。那么这些数字显示了什么? 如果要过滤未收到回复数据包的情况,我需要知道要查找的内容。
11 ip  tcpdump 

4
Shell中复杂条件的语法是什么?
如果要在shell(sh)中表示以下测试: if ( a == 1 && ( b == 1 || b == 2 )) { ... } 到目前为止,我能写的最好的是: if [[ $a -eq 1 ]]; then if [[ $b -eq 1 || $b -eq 2 ]]; then ... fi fi 我不知道如何复合&&和|| 具有正确的优先级。谷歌搜索没有给我任何答案(教程仅提供基本示例,如果有的话) 将这两个if合并为一个的语法是什么?
11 shell 


1
重新映射bash vi键?
我使用Dvorak和vi,因此当我在Bash中了解vi模式时,我感到非常兴奋。但是,如果我可以将移动键重新映射为我在vi中使用的键,那就更好了(我交换了一些键,直到移动键回到Dvorak的主行中为止)。 我怎样才能做到这一点?


2
在vim中保留大小写的搜索和替换?
在中vim,我知道可以区分大小写进行搜索。但是,如果我要搜索大写或小写的字符串,并用相同的大写字母替换它,是否可以在一个字符串中:s///? 例如,我想更改这些行: short Short SHORT 至 long Long LONG 我可以用三个:s命令来执行此操作,也可以使用一个不敏感的命令来:s手动解决问题,但是有更好的方法吗?保留大小写的搜索和替换?

10
计算目录中文件数量的最佳方法是什么?
如果解析的输出ls很危险,因为它的输出可能会破坏某些时髦的字符(空格\n,...),那么知道目录中文件数量的最佳方法是什么? 我通常依靠find避免这种解析,但是find mydir | wc -l出于相同的原因,它也会中断。 我现在正在使用Solaris,但是我正在寻找一个尽可能在不同的unice和不同的shell中移植的答案。

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.