标签: zsh

与 macOS tar 相比,为什么使用 Python 的 tar 库时 tar.xz 文件要小 15 倍?

语境

我正在压缩大约 1.3 GB 的文件夹,每个文件夹都包含 1440 个 JSON 文件,发现在 macOS 或Raspbian 10 (Buster)上使用tar命令和 Python 的内置tarfile库之间存在 15 倍的差异

最小工作示例

此脚本比较了两种方法:

#!/usr/bin/env python3

from pathlib import Path
from subprocess import call
import tarfile

fullpath = Path("/Users/user/Desktop/temp/tar/2021-03-11")
zsh_out = Path(fullpath.parent, "zsh-archive.tar.xz")
py_out = Path(fullpath.parent, "py-archive.tar.xz")

# tar using terminal
# tar cJf zsh-archive.tar.xz folderpath
call(["tar", "cJf", zsh_out, fullpath])

# tar using tarfile library
with tarfile.open(py_out, "w:xz") as tar:
    tar.add(fullpath, arcname=fullpath.stem)

# Print filesizes
print(f"zsh tar filesize: {round(Path(zsh_out).stat().st_size/(1024*1024), 2)} …
Run Code Online (Sandbox Code Playgroud)

compression zsh python tar macos

240
推荐指数
2
解决办法
6万
查看次数

Zsh 没有打到 ~/.profile

我刚刚在我的 Ubuntu 系统上安装了 zsh。似乎 zsh 没有在 init 上执行 ~/.profile 。据我所知,这应该是一种自动行为。我错过了什么?

zsh ubuntu

229
推荐指数
4
解决办法
17万
查看次数

如何让 tmux 使用我的默认 shell?

在新设置中,tmux 使用 bash 而不是我的默认设置 (zsh)。

如何强制它使用 zsh?

zsh shell tmux

191
推荐指数
6
解决办法
13万
查看次数

如何修复和恢复 zsh 中的“损坏的历史文件”?

重新启动后,我开始在加载 shell 时看到一条消息:

zsh: corrupt history file /home/myusername/.zsh_history
Run Code Online (Sandbox Code Playgroud)

我如何才能从这种情况中恢复并可能恢复一些历史记录?

zsh file-corruption

122
推荐指数
2
解决办法
5万
查看次数

如何从命令行进行递归查找和替换?

使用像 bash 或 zshell 这样的 shell,如何进行递归的“查找和替换”?换句话说,我想在这个目录及其子目录中的所有文件中用 'bar' 替换每次出现的 'foo'。

bash zsh shell find-and-replace

120
推荐指数
4
解决办法
16万
查看次数

Mac 上的 .zshrc 文件在哪里?

我正在使用 iTerm 并想使用Oh My ZSH自定义终端窗口的外观!. 根据文档,我需要更改~/.zshrc文件并添加一个ZSH_THEME值:

找到要使用的主题后,您需要编辑该 ~/.zshrc文件。您会在其中看到一个环境变量(全部大写),如下所示:

ZSH_THEME="robbyrussell"
Run Code Online (Sandbox Code Playgroud)

问题是我不知道在哪里可以找到~/.zshrc文件。

terminal zsh themes iterm2 macos

81
推荐指数
4
解决办法
40万
查看次数

zsh 启动非常慢

ZSH 从创建一个新的终端窗口到准备好大约需要一秒钟半的时间。我很确定罪魁祸首是compinit.

我一直没能找到好的文档,compinit,但看起来它应该在一些文件中缓存所有必要的东西,比如.zcompdump.

有什么加速的技巧吗?

mac zsh oh-my-zsh

77
推荐指数
7
解决办法
5万
查看次数

ZSH - 输出整个历史?

我最近从 bash 切换到 zsh。在 bash 中,我用来查找以前运行的命令的一种方法(除了递归搜索)是history | grep whatever,whatever我记得的命令位在哪里。

在 zsh 中,这不起作用。history尽管我的.zsh_history文件包含许多条目,但我已将其配置为执行此操作,但仅返回少数项目。

如何输出我的整个历史,适合搜索grep?

zsh

76
推荐指数
3
解决办法
6万
查看次数

scp 与 zsh :未找到匹配项

当我通过 zsh 尝试 scp 时,我得到

scp hostA:Descargas/debian-6.0.4-* user@192.168.1.154:Escritorio/Software/
zsh: no matches found: hostA:Descargas/debian-6.0.4-*
Run Code Online (Sandbox Code Playgroud)

相同的命令在 bash 中工作

zsh scp

76
推荐指数
5
解决办法
5万
查看次数

bash 中的 <() 到底是什么(zsh 中的 =() )?

我对 bash 很满意,但最近我换了一个我不知道的替代品。

<(command)bash究竟是什么?它与=(command)zsh中的相比如何?

我知道这与默认文件描述符有关。在我的电脑里

echo <()
Run Code Online (Sandbox Code Playgroud)

Returns /proc/self/fd/11,我发现它是脚本 STDOUT 的副本,但这对我来说似乎仍然很混乱。

linux bash zsh shell

67
推荐指数
2
解决办法
3万
查看次数