在尝试输入时~/Code,我不知何故让自己进入了某种 ssh shell:
??[jpearson@cominor] - [~/code] - [Fri Aug 05, 06:08]
??[$]>
ssh> ^D
Run Code Online (Sandbox Code Playgroud)
如您所见, ctrl+d 使我退出了它,但我很想知道我发现了什么,以及我是如何到达那里的。尝试谷歌让我无处可去。
我正在使用 zsh,但我不知道这是否相关。5. CentOS
我正在尝试通过 Amazon S3 在多台机器上移动一个大目录的一部分(约 40 GiB 和约 800 万个文件),由于需要保留符号链接,我将目录打包,然后上传结果文件,而不是直接同步到 S3。
大多数文件已经压缩,所以我没有用 gzip 或 bzip 压缩存档。我的命令是
tar --create --exclude='*.large-files' --exclude='unimportant-directory-with-many-files' --file /tmp/archive.tar /directory/to/archive
Run Code Online (Sandbox Code Playgroud)
在运行它时,我注意到tar在八核机器上似乎只使用一个内核。我的印象是,基于该核心的挂钩、低平均负载 (~1) 以及我所看到的统计数据iostat,正如我所期望的那样,此操作实际上是受 CPU 限制的,而不是受磁盘限制的。由于它很慢(约 90 分钟),我有兴趣尝试并行化 tar 以利用额外的内核。
关于这个主题的其他任何问题的焦点上压缩或创建多个存档(其中,由于目录结构,不容易在我的情况)。似乎大多数人忘记了您甚至可以在不压缩的情况下创建 tarball。
我在/etc/profileCentOS 机器上发现了这段可爱的代码片段:
for i in /etc/profile.d/*.sh ; do
if [ -r "$i" ]; then
if [ "${-#*i}" != "$-" ]; then
. "$i"
else
. "$i" >/dev/null
fi
fi
done
Run Code Online (Sandbox Code Playgroud)
我知道它.sh从加载到文件中/etc/profile.d,但我对最后一个 if 语句感到困惑,if [ "${-#*i}" != "$-" ]. 这个语法是做什么的?我什至不知道在哪里查找。