Unix & Linux

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

4
禁用bash中的作业控制(CTRL-Z)
有时我偶然会碰巧按下CTRL+ Z,我的应用程序就会消失在后台。我知道,我可以用将它带回来fg,所以没什么大不了的。但是我想知道还是要关闭它job control。在我的一生中,我不记得有什么需要的实例,在我看来,它只是过去的遗物。 可以job control完全禁用吗?还是我错过了一些东西,这个功能可能有用?我如何在我的手机上禁用它.bashrc 更新: 我已经尝试过set +m@Falsenames建议。但是,这仅在我在终端中键入时有效。添加set +m到我.bashrc没有任何效果。

4
所有ssh命令的本地时间戳记录?
如何保留我在其中使用的所有远程命令的本地时间戳记ssh(命令行openssh客户端始于bash)? 要求: 必要: 100%客户端,无需依赖服务器日志 为每个用户配置或安装的日志存储在用户的主目录中。 支持区分与多个用户和主机的多个同时会话。 非侵入性(无需每次都激活它,并且不会严重干扰使用ssh) 高优先级: 没有记录输出或尽可能过滤掉 密码条目未记录或文件已加密 指示实际使用的命令(在完成制表符/历史记录,退格键,CTRL+ C等之后的操作) 很高兴有: 还记录链接会话中的命令(在远程ssh或su <user>会话期间输入的命令) 会话的开始和结束应被记录 一个bash基于简单的,非root用户的解决方案将是最好的(也许是该命令的alias或bash包装脚本ssh?) 我的技能水平: 我对编程并不陌生,但仍在学习bash和学习“ Linux方式”,因此,对带有简短说明的代码示例将不胜感激。 可能的策略 键盘记录程序 -问题:记录密码,不记录选项卡/历史记录完成(请参阅glenn的回答) screen每秒进行一次回滚转储,并diff在它们之间找到新的回滚行 -问题:如何以一种有用的自动化方式实现这一点? ssh "$@" | tee >(some_cleaner_function >> $logfile) -问题:无法在链接的会话中处理多行命令或历史记录,需要仔细清理(请参阅我的答案) 以上一些的组合 一个例子 以下SSH会话: user@local:~$ ssh user@remote Last login: Tue Jun 17 16:34:23 2014 from local user@remote:~$ cd …

1
'ulimit -m'在现代Linux上不起作用吗?
本文声称该-m标志ulimit在现代Linux中不起作用。我没有其他证据可以证实这一说法。准确吗? 您可以尝试通过设置最大常驻集大小(ulimit -m)来限制进程的内存使用量。这对Linux没有影响。man setrlimit表示它过去仅在古代版本中有效。您应该限制虚拟内存的最大数量(ulimit -v)。 如果确实可以在旧版本的Linux中运行,那么哪个版本停止支持此功能?

3
几行后,通过OpenVPN进行的SSH会话中断/锁定
我有大量运行debian 6(ARM)的相同无风扇PC。其中大多数通过comcast连接,可以正常工作。有些连接到“ WiMax”调制解调器,并且出现通信问题。 具体来说:如果我使用这些命令之一并尝试使用“ ps -ax”之类的命令,则会返回3行,然后会话被锁定。如果我坐下来,最终它将以“由对等方关闭的会话”结束。 我尝试过的 ssh -vvv →没有错误信息 ssh <user@host> 'command'→这有时会返回命令的完整输出。有时它根本无法连接。 关于其他尝试的建议? 我发现我可以成功执行一些命令:例如,按回车键十次或更多次是可以的。cd ~然后lf工作df -h。我可以df成功运行很多次,但是一旦尝试输出更多的东西(例如ls /etc),它就会锁定。 我尝试使用OpenVPN在这两个主机之间进行通信是否有所不同?
12 networking  ip  openvpn 

3
在tmux会话中退出最后一个终端时,可以切换到另一个终端吗?
当我退出tmux会话中的最后一个终端时,它将自动关闭tmux并将我返回到父终端。是否可以将tmux切换到另一个已经运行的会话而不是关闭? 我为我处理的每个任务创建了一个新的命名会话,例如TRxxx,电子邮件,暂存器等,当其中一个完成后,我通过在每个终端中运行exit关闭所有终端。当您在会话的最后一个终端中运行exit时,tmux将使您返回到父终端,但是否有可能将其切换到其他打开的会话之一,所以我不必重新连接? 这个问题类似于“ 杀死一个tmux会话并选择另一个tmux会话 ”,但是我想通过退出而不是杀死窗口来关闭终端。
12 tmux 

2
在debian上修复损坏的软件包?
我想开始探索将自己从Google应用程序中移开,因为它很昂贵,而且好像城堡具有我需要的所有组件功能。所以我正在尝试使用以下方法安装citadel-suite: apt-get install citadel-suite 但它返回: citadel-suite:取决于:citadel-mta,但是不会被安装 E:无法纠正问题,您拿着损坏的包装。 嗯,是。它确实需要citadel-mta。那是一半的意思。那么为什么不安装呢?我持有哪些破损的包裹?他们为什么坏了?他们为什么被拘留?我没有抓住他们。或者就这样打破它们。 apt-get的问题在于,在我使用它的10年中,它借用了Apple短语才行得通。现在不是,我很茫然。我确实尝试了-f开关,但没有帮助。我尚未对/etc/apt/sources.list进行任何修改,因此无法还原它们。接下来我应该尝试什么?
12 debian  apt 


3
无法连接到任何本地主机连接
我正在使用具有最新更新的Centos 6.5。 我的问题是,每当我尝试连接到某些本地服务时,它都将挂起,例如: get wget 127.0.0.1 --2014-03-11 12:43:42-- http://127.0.0.1/ Connecting to 127.0.0.1:80... After a while timeout... ssh # ssh 127.0.0.1 -p 6060 -v OpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11 Feb 2013 debug1: Reading configuration data /etc/ssh/ssh_config debug1: Applying options for * debug1: Connecting to 127.0.0.1 [127.0.0.1] port 6060. debug1: connect to address …


2
在Mac OS上,PATH是什么?
什么是PATH在一个Mac OS?我已经用它来安装全局命令行工具,但是我发现的唯一文档是用于执行此操作的教程,没有对幕后发生的事情进行真正的解释。我也没有在Wikipedia上找到相关页面。 那么** 的目的是PATH什么?/etc/paths与~/.bash_profile**有什么区别? 例如,在我的paths文件中,我看到以下内容: /usr/bin /bin /usr/sbin /sbin /usr/local/bin 但是在我的中~/.bash_profile,我看到了: # Setting PATH for Python 2.7 # The orginal version is saved in .bash_profile.pysave PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}" export PATH 这仅仅是用户特定的paths文件添加吗?什么是所有的东西中paths,像/usr/bin?
12 osx  path  binary 

3
我们如何跟踪Linux中程序崩溃的问题?
如果应用程序在Windows中崩溃,我们可以在“管理”工具中检查“事件查看器”以查看崩溃的原因。有时它具有有用的信息,而其他却没有,但这只是一个开始。 在Linux中,如果某个应用程序(任何应用程序)崩溃,那么如何开始跟踪发生了什么? 是否有一些中央日志或类似的东西?


3
分发脚本:我应该将/ bin / gawk或/ usr / bin / gawk用于shebang吗?
gawk通常在/ bin或/ usr / bin中吗?我愿意,#!/usr/bin/env gawk但是我不能使用参数。现在我正在使用#!/bin/gawk -f。该脚本很长,包含很多单引号,并且可以与stdin一起使用。 GNU Awk手册的第1.1.4节“可执行awk程序”在其示例中使用#!/ bin / awk,但接着说: 请注意,在许多系统上都awk可以在中找到/usr/bin而不是/bin。买者自负。 大多数人做什么?我已经读过sed应该在/ bin中标准化,而perl应该在/ usr / bin中标准化(与sed链接相同的页面,但是他们不会让我为此帖子做第三个链接)。那awk / gawk呢?有谁知道哪个更普遍或更受欢迎?
12 awk  shebang  env 

1
du的输出错误?
我认为我的du命令感到困惑。 % du -shc DIR ... ... 6123941496 total % du -shc DIR ... ... 6.1G total % du -sc --si DIR ... ... 6.6G total 我尝试LANG=C在电子表格中给出并仔细检查结果。看起来-h已经使用1000(--si)的幂进行输出,而--si给出了错误的答案。我认为正确的答案应该是-h为5.7G,--si为6.1G。那么这里发生了什么? % du --version du (GNU coreutils) 8.20 ... % uname -a Linux XXX 3.9-1-amd64 #1 SMP Debian 3.9.8-1 x86_64 GNU/Linux
12 disk-usage 

2
如何在变量中存储管道(|)?
想法是将其用作...命令中的管道。例如:说有某种长路径必须反复输入,然后是管道和第二个程序,即 "directory1/directory2/direcotry3/file.dat | less -I " 我希望该部分存储在变量中,因此可以这样使用: r="directory1/directory2/direcotry3 \| less -I -p " $ cat path1/path2/$r <searchterm> 相反,我得到 cat: invalid option -- I Try `cat --help' for more information. ...表示管道显然无法正常工作。
12 bash  pipe  variable 

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.