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" " rm                                                              

第一步:ls 文件列表

第二步:grep 放入grep管道

第三步:-P  perl正则语法,可以使用 " test-[1-2]{0,1}[0-9].jpg "

第四步:| xargs -d" " 去掉列表中的换行符

第五步:删除过滤后的文件列表 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的文件。

原文地址:https://www.cnblogs.com/the-last/p/11473683.html