Unix & Linux

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

6
在非交互式外壳中运行脚本?
我有一个正在运行脚本的cron作业。当我通过交互式外壳程序运行脚本(将其shash为bash)时,它可以正常工作。当脚本通过cron自身运行时,它将失败。 我的猜测是它正在使用交互式外壳程序中设置的一些环境变量。我将对脚本进行故障排除并将其删除。 进行更改后,我知道可以将脚本在cron中排队以使其正常运行,但是有一种方法可以从命令行运行脚本,但告诉它可以从cron中运行-即在非交互式环境中?


3
如何解决制表符补全,使其不隐藏条目?
我在Mac OS X上使用自制版本的zsh 4.3.12使用oh-my-zsh。我最近偶然发现了一个奇怪的问题。在scripts/not-used我有几个.R文件: breakdowns.R eventloop.R process-largeclients.R process-qt.R reprocess-pinning.R calculate-qt-error.R generate_decision_tree.R process-net.R process-scalingexp.R 然而,当我尝试ls scripts/not-used/+ Tab第一完成是ls scripts/not-used/_.R其中_代表光标位置。如果再按Tab一次,将得到以下奇怪的结果: $ ls scripts/not-used/.R breakdowns.R eventloop.R 如何消除这种丑陋(错误)的行为? 设置的选项为: alwaystoend autocd autonamedirs autopushd cdablevars completeinword correctall extendedglob extendedhistory noflowcontrol histexpiredupsfirst histignoredups histignorespace histreduceblanks histverify incappendhistory interactive login longlistjobs monitor promptsubst pushdignoredups pushdminus pushdsilent pushdtohome sharehistory …


5
ssh连接被拒绝:如何解决?
我正在努力: $ ssh eric@myserver myserver内联网中的机器在哪里?我可以myserver在端口8080等上ping 或响应HTTP,但是当我尝试时ssh,我得到了 ssh: connect to host myserver port 22: Connection refused 我正在使用Ubuntu 10。 ps -ax,建议如下: eric@Isaiah:~$ ps -ax | grep ssh Warning: bad ps syntax, perhaps a bogus '-'? See http://procps.sf.net/faq.html 1641 ? Ss 0:04 /usr/bin/ssh-agent /usr/bin/dbus-launch --exit-with-session gnome-session 18376 pts/3 S+ 0:00 grep --color=auto ssh
17 ssh 

4
在tmux中少用Ctrl + B
我在中使用Ctrl+B命令前缀tmux,但是与Ctrl+Bin 冲突less,后者用于向上滚动文件。 我该如何工作?我是否必须在中设置其他命令前缀tmux?如果可以避免的话,我真的不想学习新的键绑定。
17 tmux 

2
/ dev / fd与/ proc / self / fd /有何关系?
$ ls -l /dev/stdin /dev/fd/0 lrwx------ 1 tim tim 64 2011-08-07 09:53 /dev/fd/0 -> /dev/pts/2 lrwxrwxrwx 1 root root 15 2011-08-06 08:14 /dev/stdin -> /proc/self/fd/0 $ ls -l /dev/pts/2 /proc/self/fd/0 crw--w---- 1 tim tty 136, 2 2011-08-07 09:54 /dev/pts/2 lrwx------ 1 tim tim 64 2011-08-07 09:54 /proc/self/fd/0 -> /dev/pts/2 / …

2
如何在Linux内核模块中包括本地头文件
说我有一个mymod包含源文件的模块,如下所示: src / mod / mymod.c src / inc / mymod.h 我尝试包括mymod.h如下 #include <mymod.h> 我的makefile包含EXTRA_CFLAGS= -I$(shell pwd)/../inc/但在制作内核时,出现错误提示: 找不到mymod.h 原因似乎是在制作内核模块时,此命令从makefile:运行(使用makeV1): make -C <path/to/linux/src> M=<path/to/mymod> modules 在其他作品中我$(shell pwd)扩展到了<path/to/linux>。这不是我想要的。我如何指定-I参数设置为指向src/inc我的mymod源代码树?
17 linux  kernel  compiling  make 

2
如何在不使用屏幕的情况下在ttys之间切换?
因此,假设您一直将Linux安装引导到桌面。您可以启动gnome-terminal / konsole /任何设备,以便有tty输入命令。 现在,假设我通过SSH进入同一台计算机。它将把我绑定到另一个tty上,以输入命令。 现在让我们说我想将我的tty从我的原始SSH“切换”到更早启动的gnome终端。 基本上我是问是否有任何方法可以做同样的事情screen -x但没有屏幕? 我知道您可以通过将某些内容回显到/ dev文件中来轻松地将输出发送到另一个tty,但是我不知道一种“查看” tty中内容的方法。 有任何想法吗?

6
像`column -t`这样的命令,而是在输出中保留分隔符
我正在编辑一个简单的表。我想格式化好它。虽然我可以使用tbl,latex或类似名称,但这似乎有些过分了-纯文本确实足够。因为很简单,所以我最好将源作为输出。因此来源也应该看起来不错。这似乎应该是一个完美的工作column -s '|' -t-它找到分隔符并自动插入空格以根据每列的最大宽度对齐。不幸的是,它删除了分隔符,因此我无法在进一步编辑后重新运行它。有没有什么好的文本处理工具可以幂等地做到这一点,以便将其输出用作输入?还是我需要自己写? 编辑:这是我想要的示例: foo | bar | baz abc def | 12 | 23456 应该成为 foo | bar | baz abc def | 12 | 3456 当' '隔板和隔板都column -t很好时。但是我的物品中有空格,所以我不能使用它。使隔离物与隔离物不同会使事情复杂化。我认为在分隔符旁边将它们视为分隔符很有用,但这不是做什么的column -s '|' -t(尽管显然当前的行为也很有用)。

2
如何阻止xargs严重合并多个进程的输出?
我正在使用xargs该选项--max-args=0(或者-P 0)。 但是,这些过程的输出将合并到stdout流中,而无需考虑适当的行分隔。因此,我经常会出现以下行: <start-of-line-1><line-2><end-of-line-1> 当我在整个输出的模式中使用egrepwith时^,xargs这弄乱了我的结果。 是否有某种方法可以强制xargs按顺序写进程输出(只要一个进程的输出是连续的,任何顺序都可以)? 还是其他解决方案? 编辑:有关用例的更多详细信息: 我想从不同的主机下载并解析网页。由于每个页面需要大约一秒钟的加载时间,因此我要并行处理几十个页面。 我的命令具有以下形式: echo -n $IPs | xargs --max-args=1 -I {} --delimiter ' ' --max-procs=0 \ wget -q -O- http://{}/somepage.html | egrep --count '^string' 我使用bash而不是Perl之类的东西,因为主机IP($ IPs变量)和其他一些数据来自包含的bash文件。


1
SSH中不会显示外来字符
我在使用ssh和远程服务器(我没有管理员访问权限)时遇到一些问题-具体来说,那里有几个带有韩文和西里尔文字的文件夹。 当我使用来显示父文件夹的内容时ls,字符被转义为“?”。也许值得注意的是,韩文字符的转义字符似乎比应该出现的字符数多得多。 我知道我正在使用的终端程序可以显示字符,因为使用sftp它们可以完美显示它们。我尝试过的所有终端都出现了问题。 机器概要 本地机器: Linux 2.6.32-5-686,i686 Debian GNU / Linux 6.0.2(压缩) 拥有管理员权限 远程服务器: Linux 2.6.32-bpo.5-amd64,x86_64 Debian GNU / Linux 5.0.8(Lenny) 没有管理员权限,也没有物理权限 我可能已经错过了一些其他重要统计信息或一些信息,在这种情况下,我深表歉意。我对整个非Windows计算方面还很陌生,所以我几乎不知道我在这里做什么。

2
如何检查grub2实际在哪个驱动器上安装了MBR?
我正在使用Debian / Squeeze系统(其历史至少可以追溯到Woody),该系统已作为Squeeze升级的一部分升级到grub2。一切正常,但是我要弄乱磁盘配置。 当前,该机器使用2个80GB驱动器,它们带有RAID1的/,/ home和/ boot分区(还有另外一对具有RAID1的“ / data”和两个交换的驱动器,以防万一有人想知道交换在哪里) ,但我没有碰那些)。 我添加了2个130GB的SSD,将其分区为至少与80GB驱动器上的分区一样大,并打算通过扩展RAID1使其包含新的SSD1,等待同步,然后删除旧的磁盘,来切换到新的SSD驱动器。从阵列驱动器,因此仅保留SSD(然后扩展文件系统)。但是mdadm / ext3争吵不是这个问题。 那将给我留下2个过时的80GB(IDE)驱动器,我想从计算机中删除它们。我担心的是,删除它们将需要一些关键的MBR。如何确保计算机可引导? 进一步来说: 当我进行Squeeze升级时,我记得有一些关于grub2应该安装到哪个驱动器的选择(我选择了默认驱动器,即所有驱动器)。但是,SSD当时不在计算机中。我如何重新运行此程序以将grub安装在SSD MBR上?(我猜这是某些软件包的dpkg-reconfigure)。 如何找到grub2认为安装在哪个驱动器上?可悲的是,这些天/ boot / grub /下几乎有200个文件!在哪里看?另外,/ boot / grub / device.map.auto当前仅列出3个驱动器(80GB中的2个,但其他驱动器对中只有一个,而没有SSD)似乎有点奇怪。我如何获得最新消息?(更新:那是一条红色的鲱鱼; device.map.auto似乎是几年前的遗物;在grub-mkdevicemap的更新中,device.map看起来很明智。我认为这方面的偏执源自于旧的主板的BIOS,重新排序GRUB看到的设备订单)。 结果:一切顺利,现在我可以使用两个旧的80GB IDE驱动器,以及一个运行快速且快速启动的系统,该系统运行在RAID1固态硬盘上,所有文件系统的大小均已调整为新分区大小。我正在寻找的另一个“缺少Grub难题的部分”是dpkg-reconfigure grub-pc哪个提示哪个磁盘保持MBR。Aaron的回答实际上是最能使我确信这正在按预期工作的方法,因此接受了该回答。
17 debian  boot  grub2  bootable 


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.