我通常使用 tcsh 或 bash,并且经常想使用“man”来查看命令的选项。目前,当我退出 man 或 ctrl-C 时,man 文本消失,我看到在执行“man”命令之前存在的回滚缓冲区。当我在命令提示符下键入命令而不打开第二个窗口时,我仍然希望看到我正在查看的“man”文本作为参考,我该怎么做?
我不知道如何从 Cygwin 中启动一个新的 Cygwin 会话,类似于从 bash 中启动一个新终端:
gnome-terminal
这可能很容易,但我错过了一些东西。有任何想法吗?
我不太明白管道在 bash 中是如何工作的。
我知道它将一个命令的输出作为另一个命令的输入。
我能得到什么输出,因为它是命令打印到屏幕上的。
但是我怎么知道一个命令会接受什么输入呢?
这是我认为可行的示例:
which gem | rm
Run Code Online (Sandbox Code Playgroud)
不幸的是它没有。
哪个 gem 打印出来,/usr/bin/gem所以必须是正确的输出?
我认为那是给 rm 的,所以它会是,rm /usr/bin/gem但我错了。
所以我的问题是,我怎么知道命令需要什么输入?
我有一个目录,里面有 10144911 个文件。到目前为止,我已经尝试了以下方法:
for f in ls; do sed -i -e 's/blah/blee/g' $f; done撞毁了我的外壳,ls它在一个 tilda 中,但我不知道如何制作一个。
ls | xargs -0 sed -i -e 's/blah/blee/g' 太多的参数 sed
find . -name "*.txt" -exec sed -i -e 's/blah/blee/g' {} \; 不能再分叉没有更多的记忆
关于如何创建这种命令的任何其他想法?这些文件不需要相互通信。ls | wc -l似乎工作(非常慢)所以它必须是可能的。
我hexdump像这样转储一个字符串2031 3334 2e30 0a32 2032 3331 302e 000a。很明显,这0x0a是换行符,但是,当我尝试回显这个字符串时,我总是得到1 430.2 2 13.0- 新行被替换为空格,即使我使用了-e标志。
可能是什么问题?尾矿会\0破坏输出吗?有没有其他方法可以打印0x0a新行?
谢谢和最好的问候。
我有一个巨大的文本文件,它太大了,无法将整个文件分页到内存中。我需要对这个文本文件做的就是编辑第一行(它是一个 CSV 文件,我需要更改标题)。
有没有一种简单的方法可以在 bash 中做到这一点?
我有一台 Fedora 23 机器。
我有一个目录/文件同步 bash 脚本,可将我的本地 /home 目录同步到远程目录(在 NAS 机器中)。我手动运行它,但我想创建一个 systemd 服务并使其更灵活,因为其他人使用我的 PC 和他们自己的用户凭据,我想知道用户何时登录并在之后启动我的服务。
我可以从我的服务的 systemd 文件中做些什么,还是我必须从脚本中的代码中进行检查?
我只需要确保我可以访问环境变量(如 $USER)并将其作为服务运行。
ArchLinux (Manjaro)。
我正在运行一个 bash 文件。它运行 2 个进程(命令),使用&. 但是当我按Ctrl+C停止程序时 - 一个进程死了,另一个继续工作。
如何停止这两个进程?或者我如何编写一个新的脚本来杀死这两个进程?
这可能是一个重复的问题,但我对 CentOS 的登录/启动过程(尤其是在 VM 上)不够熟悉,不知道要搜索什么。
我在 VirtualBox 中运行 CentOS 7。我不小心附加gnome-terminal到我的~/.bashrc文件末尾。所以现在当我登录时会弹出一个终端窗口。该终端会话执行.bashrc,打开另一个窗口,等等,我被大量gnome-terminal终端窗口淹没。
我正在尝试在没有 GUI 登录的情况下登录终端会话(因此gnome-terminal失败),但没有 GUI 就无法启动它。我试过使用这个问题的答案,但没有成功。我每次都得到一个 GUI 登录:如何在 CLI 中启动 CentOS?. 是否有另一种方法可以在启动时编辑 grub 配置,或者从 GUI 登录获取新终端实例的方法,例如 Ubuntu 中的 Ctrl+Alt+F1?(是的,我试过了。它要么在 CentOS 7 中不起作用,要么在 VirtualBox VM 中不起作用。)或者有没有其他方法可以获得没有 GUI 的终端会话,所以我可以编辑我的.bashrc并解决这个烂摊子?
有什么方法可以交互式地grep,这意味着我有一堆来自某个地方的行,我想通过管道进行进一步处理,并且可以选择手动指定我想要的行?
考虑这个例子:
#Name Food Music
Adam Cake Rock
Bert Fruit Folk
Caesar Cake Rock
Doris Cake Folk
Emil Fruit Rock
Francis Fruit Folk
Gertrud Cake Rock
...
Run Code Online (Sandbox Code Playgroud)
我可以使用这个文件并使用类似的行过滤它
cat people.txt | grep -v "^#" | grep "^.*Fruit.*Folk"
Run Code Online (Sandbox Code Playgroud)
...让所有人都受邀参加素食民俗派对。当我进一步自动化时:
cat people.txt | grep -v "^#" | grep "^.*Fruit.*Folk" | ??? | peopleInviterScript
Run Code Online (Sandbox Code Playgroud)
...我想???在管道中添加一些让我可以在发送邀请之前选择/取消选择人员的选项。
在 bash/zsh 中是否已经有这样一个我不知道的工具?