Mac 采坑进阶录
1,加密的文件权限过高
sudo sudo chmod -R 777 ./
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
Permissions 0777 for '/Users/gaoyabing/.ssh/id_rsa' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "/Users/gaoyabing/.ssh/id_rsa": bad permissions
git@git.souche-inc.com's password:
Permission denied, please try again.
git@git.souche-inc.com's password:
以上提示:私有秘钥的权限太高,认证拒绝。对我在 ~/ 路径执行了 sudo chmod -R 777 ./ 结果误操作.ssh文件的权限变高。
1,权限改回原来的设置,可以设置400
2,修改权限后再生成新的 ssh-key 替换git的key
还有一种提示
The authenticity of host 'git.souche-inc.com (120.26.151.227)' can't be established.
ECDSA key fingerprint is SHA256:n29q+bmAVXjmN3nfxXEgCEpVEMltPqhZR0Jeehrj2ug.
Are you sure you want to continue connecting (yes/no)? yes
ECDSA是一种签名算法,如果yes后还是不行,就删除.ssh文件夹下的秘钥,可以先备份,然后重新生成一组秘钥替换掉git上的公钥。
2,terminal 终端多窗口操作
tmux 插件,brew install tmux
终端输入 tmux
然后输入 Ctrl + b 激活操作命令,一次一个。
执行完激活命令之后,有以下常用指令操作窗口:
% 水平切分窗口
" 竖直切分窗口
c 关闭所有切分的小窗口
x 关闭当前切分的小窗口
N 类似Tab切换
3,批量删除文件
rm delete.txt
可以删除文件,如何同时删除以下文件呢?
delete1.txt
delete2.txt
delete3.txt
del4.txt
shell指令可否有模糊匹配?
批量删除前缀是tmux-的文件:
tmux-client-1.log
tmux-client-2.log
tmux-client-3.log
....
模糊匹配文件
rm tmux-*.log
正则匹配文件
删除指定匹配的内容,用正则过滤 grep 文件然后删除
ls | grep -P "test-[1-2]{0,1}[0-9].jpg" | xargs -d"\n" rm
第一步:ls 文件列表
第二步:grep 放入grep管道
第三步:-P perl正则语法,可以使用 " test-[1-2]{0,1}[0-9].jpg "
第四步:| xargs -d"\n" 去掉列表中的换行符
第五步:删除过滤后的文件列表 rm,完成。
注: rm不能直接支持正则表达式。
https://www.runoob.com/perl/perl-tutorial.html Perl 是一门报表提取语言,sed,awk,shell类似。
4,git rm 和 rm 的区别
用 git rm 来删除文件,操作的是暂存区,不用重新 git add 这个文件可以直接 git commit -m。
用 rm 是删除了磁盘文件。
git rm 删除过的文件,执行 git commit -m "abc" 提交时,会自动将删除该文件的操作提交上去。
rm 删除的文件,执行git commit -am "abc" 提交时多一个参数 -a,会自动提交rm的文件。