我试图找出一种体面的方法来将 tmux 缓冲区中的内容复制到剪贴板中。我尝试了一些不同的东西,比如
bind-key p select-pane -t 2 \; split-window 'xsel -i -b' \; paste-buffer
Run Code Online (Sandbox Code Playgroud)
这让我相当接近,我所要做的就是在我做前缀 p 之后点击 control-d。
我尝试通过这样做来解决这个问题
bind-key p select-pane -t 2 \; split-window 'xsel -i -b << HERE\; tmux paste-buffer\; echo HERE'
Run Code Online (Sandbox Code Playgroud)
但这根本行不通。事实上,如果我把它配对到只是
bind-key p select-pane -t 2 \; split-window 'xsel -i -b << HERE'
Run Code Online (Sandbox Code Playgroud)
它没有做任何事情,所以我假设拆分窗口不喜欢 shell 命令中的 << 。
有任何想法吗?
编辑:select-pane -t 2如果你愿意,你可以跳过,这并不重要。我只使用特定的布局,而窗格 2 是我在做其他事情时更喜欢拆分的布局,以便默认情况下进入涉及拆分的绑定。
Linux 中有一些特殊的文件,它们并不是真正的文件。
其中最显着和清晰的例子是在dev文件夹中,“文件”,如:
/dev/null - 忽略您写入文件的任何内容/dev/random - 输出随机数据而不是文件内容/dev/tcp - 通过网络发送您写入此文件的任何数据首先,这些类型的“文件”的名称是什么,它们实际上是某种伪装的脚本或二进制文件?
其次,它们是如何创建的?这些文件是在内核级别内置到系统中的,还是有办法自己创建一个“神奇文件”(a 怎么样/dev/rickroll)?
我发现自己需要重新排列系统分区,以将之前根文件系统下的数据移动到专用挂载点。卷都在 LVM 中,所以这相对容易:创建新卷,将数据移入其中,缩小根文件系统,然后在适当的点挂载新卷。
问题是第 3 步,缩小根文件系统。涉及的文件系统是ext4,所以支持在线调整大小;然而,在挂载时,文件系统只能增长。缩小分区需要卸载它,这对于正常运行的根分区当然是不可能的。
网络上的答案似乎围绕着启动 LiveCD 或其他应急媒体、执行压缩操作,然后启动回已安装的系统。但是,有问题的系统是远程的,我只能通过 SSH 访问。我可以重新启动,但无法启动救援光盘并从控制台执行操作。
如何在保持远程 shell 访问的同时卸载根文件系统?
我有一项服务突然停止。我试图重新启动该服务但失败并要求运行“systemctl daemon-reload”。
它究竟是做什么的?什么是“守护进程重新加载”?
如何更新locate的缓存/索引?我安装了新软件包,但这些文件显然尚未编入索引。那么我必须提交哪个命令才能触发索引器?
我目前正在开发 debian jessie(测试):使用 Linux mbpc 3.13-1-amd64 #1 SMP Debian 3.13.7-1 (2014-03-25) x86_64 GNU/Linux
我有一个二进制文件(我无法修改),我可以:
./binary < file
Run Code Online (Sandbox Code Playgroud)
我也可以这样做:
./binary << EOF
> "line 1 of file"
> "line 2 of file"
...
> "last line of file"
> EOF
Run Code Online (Sandbox Code Playgroud)
但
cat file | ./binary
Run Code Online (Sandbox Code Playgroud)
给我一个错误。我不知道为什么它不适用于管道。在所有 3 种情况下,文件的内容都提供给二进制的标准输入(以不同的方式):
据我所知,二进制文件不应该注意到这 3 个之间的区别。有人可以解释为什么第三种情况不起作用吗?
BTW:二进制文件给出的错误是:
20170116/125624.689 - U3000011 无法读取脚本文件“”,错误代码“14”。
但我的主要问题是,具有这 3 个选项的任何程序有何不同。
下面是一些进一步的细节:我试图再次strace的 和实际上有一些错误ESPIPE(非法谋取)从lseek的 后面EFAULT(地址错误)从读取错误信息之前。 …
假设我有一个变量
line="This is where we select from a table."
Run Code Online (Sandbox Code Playgroud)
现在我想 grep 有多少次 select 在句子中出现。
grep -ci "select" $line
Run Code Online (Sandbox Code Playgroud)
我试过了,但没有用。我也试过
grep -ci "select" "$line"
Run Code Online (Sandbox Code Playgroud)
它仍然不起作用。我收到以下错误。
grep: This is where we select from a table.: No such file or directory
Run Code Online (Sandbox Code Playgroud) 这个sed 命令在文件的开头插入一个标签:
sed -i "1s/^/<?php /" file
Run Code Online (Sandbox Code Playgroud)
如何使用 sed 在每个文件的末尾插入一些内容?
假设我有任何进程(例如,vi)的一千个或更多实例正在运行。我如何在一次射击/一行命令/一个命令中将它们全部杀死?