Mac Linux Commands Tips
Mac 上的 ZIP 文件中的 __MACOSX 和 .DS_Store
压缩前排除 __MACOSX 和 .DS_Store
zip -r data.zip . -x ".DS_Store" -x "__MACOSX"
压缩后删除 __MACOSX 和 .DS_Store
zip -d data.zip "__MACOSX/*"
zip -d data.zip "*/.DS_Store"
批量删除
for f in *.zip; do zip -d "$f" "__MACOSX/*"; done
for f in *.zip; do zip -d "$f" "*/.DS_Store"; done
创建 MD5 HASH
# Mac
md5 -s 'this will be encrypted'
md5 -qs 'this will be encrypted'
echo -n "this will be encrypted" | md5
# 以下会包含换行符参与运算
echo "this will be encrypted" | md5
md5 <<< 'this will be encrypted'
设置权限
- 默认情况下所有者为 root
- 目录权限 755 即所有者有【读/写/执行】权限,其它用户、用户组有【读/执行】权限,目录如果没有执行权限的话,可能无法访问目录内的文件
- 文件权限 644,即所有者有【读/写】权限,其它用户、用户组有【读】权限
find path -type d -exec chmod 755 {} \;
find path -type f -exec chmod 644 {} \;
上面是命令行,下面是shell脚本示例
for a in $(find path)
do
if [ -d "$a" ]
then
chmod 755 $a
else
chmod 644 $a
fi
done
Tmux 和 Screen
执行长时间进程防止意外中断,一般建议安装 tmux
- http://www.ruanyifeng.com/blog/2019/10/tmux.html
- https://linuxhint.com/tmux_vs_screen/
Swap space
- 考虑是否需要升级内存。
- 阿里云ECS默认没有分配 swap ,某些莫名其妙的问题可能是该实例存在OOM(out-of-memory)问题,尝试创建swap文件或许可以解决。
- 检查日志
cat /var/log/messages | grep oom-killer
- 查看内存
free -h
参考
密码生成
定期修改公共资源密码,如支持子帐号则考虑是否应该使用子帐号。
生成四位随机字符串加日期方法如下,修改 head -c 4 可指定随机多少位。
# macOS 方式一
date +%s | shasum -a 256 | base64 | head -c 4 ; date +%m%d ; echo
# macOS 方式二
openssl rand -base64 32 | head -c 4 ; date +%m%d ; echo
# CentOS 方式一
date +%s | sha256sum | base64 | head -c 4 ; date +%m%d ; echo
# CentOS 方式二
openssl rand -base64 32 | head -c 4 ; date +%m%d ; echo
GBK 转 UTF-8
# 显示可识别的编码名称
iconv --list
# gb2312转utf-8
iconv -f GB2312 -t UTF-8 a.html > b.html
iconv -f GB2312 -t BIG5 a.html > b.html
# 把 ucs 软件在windows上生成的日志文件转成 utf-8 合并到一个文件里
find *.log -exec sh -c "iconv -f GBK -t UTF-8 {} >> all.log" \;
Base64 编码解码
# 必须使用 -n ,禁止追加一个回车符
echo -n hello | base64
echo aGVsbG8= | base64 -d
base64 -d <<< aGVsbG8=
输出不带注释的内容
grep "^[^;]" php.ini
cat /usr/local/etc/redis.conf | grep -v ^# | grep -v ^$
grep -v '^\s*$\|^\s*\;' /etc/php-fpm.d/www.conf
grep '^[[:blank:]]*[^[:blank:]#;]' /etc/php-fpm.d/www.conf
grep -v "^\s*[#\;]\|^\s*$" /etc/php-fpm.d/www.conf
See hidden files on Mac via Finder
As mentioned above, it doesn’t take much to make the hidden files on your Mac visible. In fact, you can check out all of the hidden files on your Mac by following just three easy steps:
- In Finder, open up your Macintosh HD folder
- Press Command+Shift+Dot
- Your hidden files will become visible. Repeat step 2 to hide them again!