#345 MySQL Error: Packet sequence number wrong
MySQL 2020-01-18#344 Python 打开文件的方式
Python 2020-01-10#343 Shell 历史
Unix Linux Shell 2020-01-07参考: https://en.wikipedia.org/wiki/Comparison_of_command_shells
Linux Shell
- Thompson shell (sh), 1971, Unix v1 - v6
只存在历史中
在 Bourne shell 之前,贝尔实验室还出了一个 Mashey shell,只出现在 1976 年的 PWB UNIX 中(所以又叫 PWB shell),没有大范围使用 - Bourne shell (sh), 1977, Unix v7
- C shell (csh), 1978
- TENEX C shell (tcsh), 1983
是 TENEX 系统开发的 csh 兼容 Shell - Korn shell (ksh), 1983
- Bash, 1989
- Almquist shell (ash), 1989
- zsh, 1990
- Debian Almquist shell (dash), an ash fork, 1997
主体随 ash 是 BSD 协议,不过,可能是为了保持对 bash 的兼容,采用了 bash 项目的一个文件 - fish, 2005
分类
- ksh, bash, zsh, ash, dash 都是 Bourne shell 兼容。
- csh, tcsh 就是 csh 兼容。
- fish
说明
- Unix 上的 sh 有版权问题, 所以 BSD 和 Linux 上的
/bin/sh
都指向某一种兼容 Shell (一般是默认 Shell) - RHEL/CentOS 上,默认 Shell 是 Bash
- Debian/Ubuntu 上,默认 Shell 是 Dash
- FreeBSD 上默认采用 tcsh, 基于 FreeBSD 的 GhostBSD 采用 fish
- OpenBSD 上默认采用 pdksh (pd: Public Domain), 不知道和 tsh 什么关系。可能是 OpenBSD 维护的 tsh 兼容 Shell。
- NetBSD 上默认采用 ash
- 由于 ash 非常轻量级,BusyBox 采用了 dash fork
然后 BusyBox 被 Alpine Linux, Tiny Core Linux 或者其他嵌入式 Linux (比如 OpenWrt) 采用,所以这些系统的默认 Shell 应该就是 ash
所以可能使用最广泛的 Shell 是 ash 和 bash。
其他:MacOS 上曾经默认采用 bash, 后来专向了 zsh
Windows 平台
- command.com, 1980
- cmd.exe, 1993
- PowerShell, 2006
#342 玩具总动员
影视 育儿 2020-01-06#341 Python DataClass
Python 2020-01-02#340 “买办” 是个啥?
个人 2020-01-01#339 CentOS 版本历史
CentOS 2019-12-26只列出 6.0 之后的版本。按版本号排序。
#338 如何占用文件以及遇到 Text file busy 之后怎么处理 [编辑中]
Linux 2019-12-25:) 本文正在编辑中,暂时不提供浏览...
#337 GNU/Linux 上如何快速创建一个大文件?「from StackOverflow」
Linux 开发工具 2019-12-25在 StackOverflow 上看到好些种快速创建文件的命令,逐个测试,在 Ubuntu 下可用的方法有以下几种:
time dd if=/dev/zero of=test.img bs=10M iflag=fullblock,count_bytes count=10G
# 0.00s user 0.45s system 1% cpu 39.144 total
# 在 xfsprogs 包中:
# -n 表示不写入数据
time xfs_mkfile -n 10g test.img
# 0.01s user 0.01s system 2% cpu 0.669 total
# 在 VBox 挂载的虚拟磁盘上执行时遇到 “不支持的操作” 错误
# 在 EXT4 磁盘上没有遇到问题,速度很快
time fallocate -l 10G test.img
time truncate -s 10G test.img
# 0.00s user 0.00s system 46% cpu 0.005 total
time dd if=/dev/zero of=test.img bs=1 count=0 seek=10G
# 0.00s user 0.00s system 77% cpu 0.002 total
最后看到的 dd seek
方案深得征信深得朕心。
根据这个思路,Python 创建 10G 的文件应该这么写(也是我一直以来的写法):
GB = 1 << 30
with open('test.img', 'w') as _file:
_file.seek(10 * GB - 1)
_file.write(chr(0))
#336 Systemd 相关命令
Linux Systemd 2019-12-21#335 Systemd 子命令
Linux Systemd 2019-12-21#334 Systemd 的问题
Linux Systemd 2019-12-20开源中国上看到 Debian 正在投票是否支持非 systemd 初始化系统。
- 2014 年素来混乱的 Debian 社区,经过了一番激烈争论之后(甚至是生命安全威胁),终于决定支持 systemd。
PS: 这场争议导致部分核心人员离开,主要是对 Debian 社区的管理机制(混乱 “民主”)产生质疑。 - 2015 年 5 月发布的 Debian 8.0 (Jessie) 开始使用 Systemd 当默认的初始化系统。
但是关于 Systemd 的争论从未停止,甚至有部分开发者独自维护了一个拒绝 Systemd 的分叉:Devuan。
Systemd 真是闹出好大争议,和 GNOME3 一样。也正是有 GNOME3 的例子(社区总体来说,或者说大多数人,最后还是拥抱了变化,接纳 GNOME3),而且我只是一个实用主义的使用者,我觉得 Systemd 挺好的,能提升性能、使用又方便,为什么不呢。
#333 五险一金(武汉)以及个人所得税
武汉 个人 2019-12-14我不知道具体是怎么规定的,或者别的公司是怎么实施的,这里只是以我司(SendCloud)作为参考。
主要是我根据资料和自己的理解,结合实际数据,自己臆断的,不一定是真的,哈。
#332 读史书:兔死狗烹
阅读 历史 古文 2019-11-26范蠡遂去,自齐遗大夫种书曰:“蜚鸟尽,良弓藏;狡兔死,走狗烹。越王为人长颈鸟喙,可与共患难,不可与共乐。子何不去?” 种见书,称病不朝。人或谗种且作乱,越王乃赐种剑曰:“子教寡人伐吴七术,寡人用其三而败吴,其四在子,子为我从先王试之。” 种遂自杀。
《史记 越王勾践世家》
上令武士缚信,载后车。信曰:“果若人言,‘狡兔死,良狗亨;高鸟尽,良弓藏;敌国破,谋臣亡。’天下已定,我固当亨!” 上曰:“人告公反。” 遂械系信。至雒阳,赦信罪,以为淮阴侯。
《史记 淮阴侯列传》