Unix & Linux

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

7
如何找到逃犯的Crontab
几年前,我设置了一个cron作业,作为监视系统的一部分,每分钟自动对URL进行ping操作(这过于简单了,但是可以解决这个问题)。因为我是一个可怕的人,所以我在任何地方都没有记录。 几年后的今天,我开始在要ping的URL的另一端遇到该应用程序的麻烦。我解决了这个问题,但后来才意识到,我不知道这个Cron工作是从哪里来的。 有没有一种方法可以快速搜索或找出特定系统上的所有crontab?我具有root访问权限,因此权限不是问题。我只是曾经的用户cron,我从没对它的实现进行过深入的研究,但是我的* nix直觉表明必须在一组包含所有crontab的文本文件中。我只是不知道它们会在哪里,如果我钻进去,我会害怕找到其中一些(但不是全部),或者会丢失一些奇怪的系统细微差别 另外,我知道通过root访问 获取系统中所有用户的列表 su 作为用户 crontab -l 与所有用户重复 但我正在寻找一些不那么手册的内容(并希望学习有关cron的实现的知识)
17 cron 


3
查找X.org指针抓取所有者
我有一个似乎抓住了鼠标的应用程序(我可以移动它,但是不能在任何地方单击),有没有办法找到拥有X.org鼠标抓取器的应用程序? 这里提供的释放鼠标的快捷方式似乎无效,因此我对可以为我提供更多信息的东西感兴趣。
17 x11 


2
xargs:在多个命令中使用相同的参数
我正在尝试编写一种单行代码,以探测df -h分区的输出并在分区之一(或几乎)没有空间时发出警报。使用xargs的部分现在把我踢了屁股... echo 95 | xargs -n1 -I{} [ {} -ge 95 ] && echo "No Space on disk {}% full -- remove old backups please" 如何使第二个{}也显示“ 95”?

4
Bash脚本来检测服务器何时关闭或离线
背景:服务器停机时,我需要收到警报。当服务器关闭时,Sysload收集器可能将无法发送任何警报。为了在服务器关闭时收到警报,我有一个外部源(服务器)对其进行检测。 问题:有什么方法(我更喜欢bash脚本)来检测服务器何时关闭或脱机并发送警报消息(电子邮件+ SMS)?

1
使程序首先从管道读取,然后从键盘读取
考虑交互式程序interactive。我必须相当频繁地运行该程序,并且每次运行它时,前几个命令都是相同的。显然,不得不一遍又一遍地键入这些命令是很痛苦的。我已经在文件中收集了这些命令(用换行符分隔)cmd。现在,我可以cat cmd | interactive运行命令了。问题是,一旦cmd被完全读取,就会interactive收到EOF并退出。 我想做的是首先interactive从管道中读取(显然interactive < cmd也可以接受),并且在收到EOF时,改为从键盘开始读取。
17 command-line  pipe  cat  stdin 

4
如何确定网络接口是物理接口(设备)还是虚拟接口(别名)?
我有一个运行OpenWrt(路由器的嵌入式Linux种类)的小型家用路由器。它具有五个以太网端口,一个标记为WAN,四个标记为LAN 1至4。它具有以下根据定义的网络接口ifconfig: root@TIBERIUS: ~ > ifconfig | grep Link br-lan Link encap:Ethernet HWaddr 00:23:CD:20:C3:B0 eth0 Link encap:Ethernet HWaddr 00:23:CD:20:C3:B0 lan1 Link encap:Ethernet HWaddr 00:23:CD:20:C3:B0 lan2 Link encap:Ethernet HWaddr 00:23:CD:20:C3:B0 lan3 Link encap:Ethernet HWaddr 00:23:CD:20:C3:B0 lan4 Link encap:Ethernet HWaddr 00:23:CD:20:C3:B0 lo Link encap:Local Loopback pppoe-wan Link encap:Point-to-Point Protocol wan Link encap:Ethernet …

2
“ Segmentation fault”消息是否出现在STDERR下?
我在其中运行了一个可执行文件 bash ./code > log 它在终端上偶尔显示错误消息,而所有printf语句都进入日志文件。我像下面一样重新运行 ./code >& log 现在,偶尔的错误消息也将记录到日志中。但是,如果存在分段错误,它仍会显示在终端上。为什么?如何使消息Segmentation fault (core dumped)进入日志文件? 用户$ bash --version GNU bash版本4.2.24(1)-发行版(i686-pc-linux-gnu)

6
在vim中自动创建匹配的花括号
如何在vim中自动创建匹配的花括号? 它的工作方式如下:如果我输入了一个右括号,则右括号应会自动出现,并且光标应位于两者之间。要跳出括号对,Ctrl-j可以使用组合。 有很多插件可以自动插入括号。但是他们 使用不同于Ctrl-j跳出括号对的组合键,或者 干扰UltiSnips按键绑定。 预期效果如下 :inoremap ( ()<Esc>:let leavechar=")"<CR>i :imap <C-j> <Esc>:exec "normal f" . leavechar<CR>a 但是使用这些设置,UltiSnips片段不再起作用。所以我用UltiSnips插入了右括号: inoremap ( (<C-R>=UltiSnips_Anon('($1)$0', '(')<CR> 这几乎可行。匹配的括号被插入,我可以用跳过结尾的括号Ctrl-j。但是,仅当开放式支架前面有空间时,此方法才起作用。 main () // works, the closing parentheses is added main( // fails without a space 我的解决方案要么需要使用其他键绑定来跳过闭合括号,要么需要在打开的括号前面留一个空间。如何解决这个问题? 注意:我以括号为例。它应使用括号,大括号,方括号和小于号,并且不会干扰UltiSnips插件。
17 vim 

4
如何在Vim中从文件视图切换到目录列表?
我打开了一个目录vim some/dir。我可以在树中导航,但是一旦打开文件,我想知道如何关闭文件视图才能返回目录列表以导航到另一个文件。:wq是没有选择的,因为它关闭了整个vim会话。我猜有一个for模式,但是我不知道它叫什么,也不知道我如何启动它。 如何关闭文件到文件导航视图?

4
如何解决此ssh-agent问题?
我正在使用Linux Mint,并且似乎无法在登录时自动获得gnome-keyring来解锁。 我的问题的症状如下: $ ssh-add Identity added: /home/me/.ssh/id_rsa (/home/me/.ssh/id_rsa) $ git pull WARNING: gnome-keyring:: couldn't connect to: /tmp/keyring-Nmf3J3/pkcs11: No such file or directory 如何确保git可以在没有任何密码输入的情况下进行推/拉操作? 我意识到这里有一些与gnome-keyring和ssh-agent有关的东西,但是还无法确定。 ssh-add在会话期间运行意味着不再要求我提供SSH / git的密码。 问题是我需要ssh-add在每个会话期间运行-我必须丢失如何在登录时解锁Gnome的钥匙圈。 $ export | grep GNOME GNOME_KEYRING_CONTROL=/tmp/keyring-hjMM4V GNOME_KEYRING_PID=1961 在与第一次编辑相同的会话中再次发生。我做到git pull了WARNING: gnome-keyring:: couldn't connect to: /tmp/keyring-hjMM4V/pkcs11: No such file or directory。 $ env …


3
我的“哪个”命令有时可能是错误的?
我已经从源代码(v24.2)编译了最新的emacs版本,因为我的计算机上安装的版本(v21.3)很旧。我已经照常做了: $configure --prefix=$HOME make make install 现在,我正在测试emacs,并意识到它仍会启动以前的版本...而我的$HOME/bin路径应该覆盖系统路径(因为它在我的.bashrc文件中位于$ PATH之前)。 我首先想到的是查看which命令输出。令人惊讶的是,它为新的emacs开辟了道路。我不明白这里的差异在哪里。在同一会话中,这里是不同的输出: $ emacs --version GNU Emacs 21.3.1 $ `which emacs` --version GNU Emacs 24.2.1 我没有涉及emacs的别名。完全没有 $ alias | grep emacs $ 你知道发生了什么吗?
17 bash  emacs  path  which 

4
TCP在Linux笔记本电脑上消失
每隔几天我就会遇到以下问题。我的笔记本电脑(经过Debian测试)突然变得无法使用与Internet的TCP连接。 以下内容可以正常运行: UDP(DNS),ICMP(ping)—我得到即时响应 与局域网中其他计算机的TCP连接(例如,我可以ssh到邻居笔记本电脑) 局域网中的其他机器一切正常 但是,当我尝试从笔记本电脑进行TCP连接时,它们会超时(对SYN数据包无响应)。这是典型的curl输出: % curl -v google.com * About to connect() to google.com port 80 (#0) * Trying 173.194.39.105... * Connection timed out * Trying 173.194.39.110... * Connection timed out * Trying 173.194.39.97... * Connection timed out * Trying 173.194.39.102... * Timeout * Trying 173.194.39.98... * Timeout …
17 debian  networking  tcp 

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.