Questions tagged «shell»

Shell是一种软件,它使用户通常可以通过在命令行中键入来与操作系统进行交互。

6
如果达到一定的噪音水平,如何在一段时间内使机器“黑屏”(作为惩罚)?
我的孩子(4岁和5岁)在计算机上玩游戏时大喊大叫。我找到了有效的解决方法。当我听到很大的声音时,我便进入游戏计算机并执行以下操作: chvt 3; sleep 15; chvt 7 在Linux上,这将关闭屏幕15秒钟。我告诉他们,计算机不喜欢吵闹的声音。他们完全相信这一点,并请求计算机原谅。他们变得安静了许多,但没有达到我满意的程度,因此我需要继续进行这一教育过程。但是,我并不总是手动执行此操作。 可以自动化吗?麦克风已连接到盒子。如果响度级别超过某个阈值,那么我要运行命令。


11
“来源”是做什么的?
$ whatis source source: nothing appropriate. $ man source No manual entry for source $ source bash: source: filename argument required source: usage: source filename [arguments] 它存在,并且可以运行。为什么在Ubuntu中没有关于它的任何文档?它有什么作用?如何安装有关它的文档?

30
文件更改时如何执行命令?
我想要一种只要文件更改即可执行命令的快速简单的方法。我想要一个非常简单的东西,让我在终端上运行并在完成该文件处理后将其关闭。 目前,我正在使用此: while read; do ./myfile.py ; done 然后Enter,每当我在编辑器中保存该文件时,都需要转到该终端并按。我想要的是这样的: while sleep_until_file_has_changed myfile.py ; do ./myfile.py ; done 或任何其他简单的解决方案。 顺便说一句:我正在使用Vim,我知道我可以添加一个自动命令来在BufWrite上运行某些命令,但这不是我现在想要的解决方案。 更新:我想要一些简单的东西,如果可能的话可以丢弃。此外,我希望在终端中运行某些内容,因为我想查看程序输出(我想查看错误消息)。 关于答案:感谢您的所有答案!所有这些都非常好,并且每个人都采取了截然不同的方法。因为我只需要接受一个,所以我接受了我实际使用的一个(简单,快速且易于记忆),即使我知道它不是最优雅的。
434 linux  unix  shell  script 

11
重新加载Linux用户的组分配而不注销
使用以下方式分配用户的辅助组列表时: # usermod -G <grouplist> <user> 是否可以强制此组分配在不注销所有正在运行的会话的情况下生效? 在存在许多运行中的Shell 的Screen会话的情况下,这将非常有用,因为整个会话本质上需要销毁才能使组分配生效。 我想我可以使用newgrp命令在运行的外壳程序中更改用户的主要组-是否有一些替代方案可用于次要组? 理想情况下,我希望某些东西可以在每个shell中生效,而不必在每个shell中手动运行,但是如果失败了,也许可以通过某种方式强制Screen在每个shell中执行相同的命令。

9
chown不会更改符号链接
我正在尝试使用以下命令更改符号链接的用户/组: $ chown -h myuser:mygroup mysymbolic/ 但这并没有改变。我以root用户身份登录。当前用户/组设置为root:root。什么地方出了错?

19
如何完全从终端分离流程?
我在Ubuntu上使用Tilda(下拉终端)作为我的“命令中心”,这几乎是其他人使用GNOME Do,Quicksilver或Launchy的方式。 但是,我在努力从启动该终端的终端中完全分离一个过程(例如Firefox),即防止此类(非)子进程 关闭始发终端时终止 通过STDOUT / STDERR“污染”始发终端 例如,为了在“适当的”终端窗口中启动Vim,我尝试了一个简单的脚本,如下所示: exec gnome-terminal -e "vim $@" &> /dev/null & 但是,这仍然会造成污染(此外,传递文件名似乎也不起作用)。
304 linux  bash  shell  ubuntu  terminal 

12
如果文件不存在,如何使rm不给出错误?
我正在编写一个makefile,它将在编译结束时清理一些无用的文件。如果已经制作了目标,它当然会跳过该目标,并且可能不存在无用文件。所以,如果我这样做: rm lexer.ml interpparse.ml interpparse.mli 我可能会收到错误,因为其中一个文件不存在。有什么方法可以说 rm 忽略这些文件? 在阅读手册页时,我看到以下选项: -f Attempt to remove the files without prompting for confirma- tion, regardless of the file's permissions. If the file does not exist, do not display a diagnostic message or modify the exit status to reflect an error. The -f option overrides …
285 shell  makefile  rm 


10
在tmux中使用鼠标滚动外壳输出
在tmux中,鼠标滚动无法像在没有tmux的情况下运行shell时(在Gnome Terminal中)那样工作。看来tmux发送鼠标滚动事件就像我按上/下键一样。但是我想让它滚动显示shell 输出历史记录。有没有办法使tmux像这样工作? 注意:我知道如何使用键盘滚动(由于这里还有另一个问题)。 我尝试在两个版本的tmux中滚动鼠标: 0.8-5hardy1(在Ubuntu 8.04(Hardy Heron)上) 1.3-1(在Ubuntu 10.10(Maverick Meerkat)上)
255 shell  tmux 

15
如何可靠地保持SSH隧道打开?
我下班时使用SSH隧道来绕过各种隐性防火墙(我的老板没关系:))。问题是,一段时间后,ssh连接通常会挂起,并且隧道断开。 如果我至少可以自动监视隧道,则可以在挂起隧道时重新启动它,但我什至没有想办法。 可以告诉我如何防止ssh连接挂起的用户的加分点,当然!

12
如何切换到上一个目录而不是上一个目录?
我目前的工作时间很多,都是在两条距离很远的树之间来回移动,并且从根本上转移了方向。令我惊讶的是,如果有一个参数cd将用户带到他们所在的最后一个目录,我的生活会轻松很多。 也就是说,如果我在: /etc/foo/bar/baz/moo 然后输入: cd /var/lib/fubarred_app/blargh/logs 我希望能够返回第一个目录,而不必再次键入整个路径。 由于我在每个地方都使用了足够的命令,因此回去查找所需的路径与自己键入路径一样困难,因此记忆键不会将其剪断。 有没有简短的命令可以让我转到上一个目录?
214 unix  shell 



9
Ctrl + C无法终止进程时该怎么办?
Ctrl+ C并不总是能杀死当前进程(例如,如果该进程在某些网络操作中很忙)。在这种情况下,您只需在光标处看到“ ^ C”,就不能做其他事情了。 使该过程立即终止而又不丢失我的终端的最简单方法是什么? 答案总结: 通常,您可以Ctrl+ Z使进程进入睡眠状态,然后执行kill -9 _process-pid_,使用ps和其他工具找到进程的pid 。在Bash(可能还有其他Shell)上,您可以轻松执行kill -9 %1(或通常为'%N')。如果Ctrl+ Z不工作,你必须打开另一个终端和杀死从那里。
171 linux  bash  shell 

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.