Skip to main content

File and Dir

获取文件 hash

推荐使用 sha256

md5sum filename
shasum filename
sha1sum filename
sha224sum filename
sha256sum filename
sha384sum filename
sha512sum filename

获取文件夹 hash

find . -type f \( -exec sha1sum "$PWD"/{} \; \) | awk '{print $1}' | sort | sha1sum
# or
find . -type f -print0 | sort -z | xargs -0 sha1sum | sha1sum

可靠的复制文件

rclone sync /mnt/drive-a/dir /mnt/drive-b/dir -P

rsync 复制文件

# 可以显示进度
rsync -avh --progress /mnt/disk1/zlibrary/pdf /mnt/disk2/Z-Library/zh-cn

dd 显示进度

参考:https://www.cnblogs.com/potato-chip/p/12759103.html

pkill -USR1 ^dd$
# or
killall -USR1 dd

# 每5秒检查一次
while killall -USR1 dd; do sleep 5; done

查看各个分区大小和剩余空间

df -hl

查看当前目录占用大小

du -sh

根据关键字拆分文件

requires: gsplit(brew)

grep -E '^INSERT INTO' companies.sql | gsplit -l 100000 --additional-suffix=.sql -d - insert-into-

find . -name 'insert-into-*.sql' | xargs -P $(sysctl -n hw.ncpu) -I{} wrangler d1 execute your-database --yes --remote --file={}

拆分文件

split -l 10000 topic.sql -d -a 4 topic-split.sql_

命令行写入到文本

cat <<-'ATEXT' >> /etc/atext/atext.toml
encoding.codec = "json"
auth.strategy = "bearer"
ATEXT