Unix & Linux

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

4
另一个用户名的无密码ssh?
我想为一个Subversion项目建立一个无密码的ssh连接。现在我正在使用ssh + svn,这有点烦人,因为我想在与服务器进行交易的任何时候都必须输入密码。 我在网上找到了一些有关如何为无密码的ssh生成密钥的教程,但是它们似乎都假设我在远程系统上使用的用户名与我在家庭系统中使用的用户名相同。但是,我用于ssh + svn的用户名与我正在运行的系统上的用户帐户名不同。如何正确设置?我只是通过更改密钥文件中的名称而没有运气。

3
我可以连接或查看废弃的ssh会话吗?
我有一个运行的Redhat虚拟实例,可以ssh从公司网络上的任何主机上运行该实例。ssh运行某些可能导致我断开连接的脚本时,我的会话已断开。该who命令在本地仍然列出删除的连接。重新连接ssh开始一个全新的会话。有没有办法连接到原始会话?如果不能,我可以杀死它吗?我具有root和物理访问权限。我在原始会话中没有使用屏幕。
14 ssh 

5
Linux系统上的OCR
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 2年前关闭。 我一直发现OCR技术在开源系统上落后。自成立以来,我还看过Ocropus项目。我已经尝试过听说是适用于Linux的最佳OCR引擎Tesseract,但发现它严重缺乏商业文档。还有其他更有希望的OCR实现方案吗?解释笔迹更抱有希望的目标呢?* nix系统在该领域有什么可能?

6
如何通过隧道路由特定地址?
我只能从服务器所在的子网访问某些网站/服务(请考虑典型的Intranet方案)。有没有一种方法可以透明地路由通过SSH隧道到达这些地址的流量? 请考虑以下设置: 我的笔记本电脑已连接到家庭网络。它不能直接在IP X和Y上访问服务。我有一个到服务器的SSH隧道,该服务器位于可以实际访问这些服务的子网上。 我能以某种方式自动封装到X和Y子网的所有流量以通过此隧道,而不必运行将通过服务器发送所有流量的整个VPN解决方案吗?换句话说:所有流向任何其他子网的流量仍应直接从便携式计算机进行,而无需通过服务器(使用隧道)。

5
您在KDE上使用哪种IDE进行Mono开发?
目前,我没有带有GUI的Linux安装。所有人都在运行文本模式。当我这样做时,我通常使用KDE。在Windows上,我是.NET开发人员,但尚未进行任何Mono开发。我听说Monodevelop仅适用于GNOME。 如果您在KDE环境中开发Mono,那么您将使用哪种IDE?
14 kde  mono 


3
关于yash shell中的printf是否是内置命令有些困惑
根据其手册,该yash外壳具有printf内置功能。 但是,这是我在yash具有默认配置的shell中看到的内容: kk@eeyore ~ $ command -v printf /usr/bin/printf kk@eeyore ~ $ type printf printf: a regular built-in at /usr/bin/printf 是否printf在此外壳中内置?对于许多其他假定的内置实用程序(也可以作为外部命令使用),结果是相似的。 作为对比,在pdksh(ksh在OpenBSD,这里printf是不是内置的): $ command -v printf /usr/bin/printf $ type printf printf is /usr/bin/printf 而在bash(这里printf 是一个内置的): $ command -v printf printf $ type printf printf is a shell builtin

1
如何在Linux名称空间中执行chroot?
在阅读了有关Linux名称空间的信息后,我感到它们是chroot的替代品,其中包括许多其他功能。例如,在本文中: [...]命名空间的其他用途包括将进程的chroot()样式隔离到单个目录层次结构的一部分。 但是,当我克隆装载名称空间时,例如使用以下命令,我仍然可以看到整个原始根树。 unshare --mount -- /bin/bash 我知道我现在可以在新的名称空间中执行与原始名称空间不共享的其他挂载,因此可以提供隔离,但是它仍然是相同的根,例如/etc,两个名称空间仍然相同。我仍然需要chroot更改根目录还是有替代方法? 我原以为这个问题会提供答案,但是答案仅chroot再次使用。 编辑#1 现在有提到的已删除评论pivot_root。由于这实际上是的一部分linux/fs/namespace.c,因此实际上是名称空间实现的一部分。这表明只能使用unshare和更改根目录mount是不可能的,但是名称空间提供了自己的-更聪明的版本chroot。chroot即使在阅读了源代码之后(例如在安全性或更好的隔离性的意义上),我仍然没有获得使这种方法与根本上有所不同的这种方法的主要思想。 编辑#2 这不是这个问题的重复。执行完答案中的所有命令后,我有单独的/tmp/tmp.vyM9IwnKuY(或类似的文件),但是根目录仍然相同!
14 chroot  namespace 

2
如何在Ubuntu中使用Bash for sh
我正在安装一个巨大的程序,该程序具有作为rpm文件的资源。它卡在了 #!/bin/sh SCITEGICPERLBIN=`dirname $0` SCITEGICPERLHOME=`dirname $SCITEGICPERLBIN` if [ $SCITEGICPERLHOME == "." ] 显然,sh可以bash使用这种语法在Red Hat Linux中工作,但是会unexpected operator在Ubuntu中产生错误。 我无法将脚本更改bash为脚本来自rpm软件包。我可以提取并重新rpm打包程序包,但是可能有很多这样的脚本。 有没有一种方法可以将Shell默认值更改#!/bin/sh为as bash或其他任何可以处理[操作符的方法?

3
tail -f,在日志空闲3秒后插入换行符吗?
执行a时tail -f error.log,如何在3秒内未对文件执行任何操作后以编程方式插入换行符? (显然,一旦添加了一个换行符,则不应再添加其他换行符,除非将其他文本行添加到日志文件中) 例如,这些行被添加到error.log: foo bar boo [[wait 4 seconds]] 2far 2foo 2bar 2boo [[wait 40 seconds]] 2far 这将是控制台中的输出: foo bar boo 2far 2foo 2bar 2boo 2far

4
在某些情况下,bash(或其他shell)脚本中的空格数量确实很重要
有人告诉我空格在bash其他shell脚本中很重要,除非我知道自己在做什么,否则不要更改空格的存在。“改变存在”是指在两个非空格字符之间插入一个空格,或者在两个非空格字符之间删除一个空格,例如更改var="$val"为var ="$val",反之亦然。我想问一下 在shell脚本中使用单个空格或使用多个连续空格会有所不同吗?。 (当然,在引号中插入/删除空格会有所不同,例如从更改为echo "a b",echo "a b"反之亦然。我正在寻找除此琐碎示例以外的示例。) 我遇到了这个问题,但是那是关于在两个非空格字符之间添加和删除空格的问题,我知道很多例子会有所作为。 任何帮助,将不胜感激。如果可能,包括更多种类的贝壳。

1
条件正则表达式错误
string=123456 if [ $string == 123456 ]; then echo 123 fi 这可以正常工作,但是如果我将==更改为=〜,则会收到此错误: ./test: line 3: [: =~: binary operator expected

1
tar-如何将时间戳记精确度降低到一秒以上?
我正在tar打包许多文件。修改文件上的时间戳很关键,并且必须具有很高的准确性。使用时tar -cvf,时间戳会保留,但会四舍五入到最接近的秒数,即stat在文件上运行时仅显示以.0结尾的时间戳。有没有一种方法可以保留时间戳以提高准确性,还是可以为此目的使用其他存档工具?

7
检查文件的所有行是否都出现在不同的文件中
我得到两个文件:大约1万行的file1和几百行的file2。我想检查file2的所有行是否都出现在file1中。即:∀行ℓ∈file2:∀∈file1 任何人都不应该知道这些符号是什么意思,或者“检查file2的所有行是否在file1中出现”的含义是:两个文件中的几个等效行都不影响检查是否返回文件满足要求。 我该怎么做呢?

3
我可以使用`sed`来翻译`tr`这样的字符吗?
我想用另一组中的相应字符替换一组字符,如下所示: original set: ots "target" set: u.x foobartest → fuubar.ex. 这样的翻译/音译是tr命令的特长: $ echo 'foobartest' | tr 'ots' 'u.x' fuubar.ex. 不幸的是,tr它不支持就地更改文件sed。 我想使用它,sed所以我不必重新发明处理临时文件的方式。
14 sed  tr 

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.