指令+快捷键
1.scp [-r] username@ip:/path/file /path :scp上传或者下载 从第一个复制到第二个
2. 查询语句
top:查看资源使用情况(内存,cpu),htop类似小工具
-d <time> 每隔time秒显示所有进程的资源占用情况
-c 每隔5秒显式进程的资源占用情况,并显示进程的命令行参数(默认只有进程名)
-p <pid> :top -p 12345 -p 6789//每隔5秒显示pid是12345和pid是6789的两个进程的资源占用情况
top -d 2 -c -p 123456 //每隔2秒显示pid是12345的进程的资源使用情况,并显式该进程启动的命令行参数
jps:查看Java运行的程序
du: 显示每个文件和目录的磁盘使用空间。 https://blog.csdn.net/jningwei/article/details/79757861
3.spark-submit --class com.intel.analytics.bigdl.models.rnn.workload_rnn --master yarn --deploy-mode cluster --executor-cores 2 --num-executors 2 --executor-memory 6g --driver-memory 2g --queue queueA /home/lzq/workload_rnn.jar -b 8 -f /home/lzq/workload/workload_data/mnist/ -e 1 -s /home/lzq/workload/workload_data/model_out/ --checkpoint /home/lzq/workload/workload_data/model_out/ :提交到spark上运行的作业,前面的为spark的参数,后面是程序参数
4.hadoop fs -... :和本地文件操作差不多,ls,mkdir,rm,mv之类的
5.ls -l:查看目录细节,可以加-h在文件大小后面加单位,-a可以看隐藏目录。可在.bash_profile中定义快捷命令:alias ll='ls -l'
6. >>重定向,cat file.txt >>newfile.txt 把file内容输入到新文件中
7.shell 部分
- case最后别忘了加esac ,每个case后面;;代表break,*)代表default
- if实现不定参数的传入(注意空格别漏了)
if [ $4!="" ]; then
pathtojar=$4;
fi
- ...
8.tldr:解释命令的工具
9.watch:周期性执行命令 watch -n 10 ls -l 每隔10s执行一次ls -l
10.screen:关闭窗口也不会关闭进程,好像比下面的更方便一些?
screen -ls 查看运行窗口
screen -S name 新建窗口
screen -R -d name 进入窗口
ctrl a+d临时退出当前screen
ctrl s+d推出当前screen
11: nohup: 关闭terminal也不会关闭线程
12. 建立只有自己才能删除的文件
chmod u+s myfife:为用户设置s权限,具有文件所有者的权限
chmod g+s Code:为用户组设置s权限,具有用户组的权限,可以对该目录下的文件执行权利,Code为目录
chmod o+t myfife:为其他用户设置t权限,说明其他用户不能对其进行删除操作
13.用python搭一个文件服务器(ftp?)
python -m http.server
14.">",">>"
>重新新建一个文件,内容加在文件里
>>内容追加在文件中
15. awk
awk '/string/{print $2}' filename
$0为整行,之后为按空格分的,两个/之中是匹配的字符串
文本处理工具 https://awk.readthedocs.io/en/latest/chapter-one.html
16. git相关(联系网站:https://learngitbranching.js.org/?locale=zh_CN)
总体提交流程
commit
pull
push
Git commit :提交到本地仓库,如果本地分支的最新版本和远程有冲突,需要解决冲突后再push。(一定要先commit在pull,防止代码被覆盖),如果已经有过一次本地commit,下一次commit最好加—amend,将此次修改追加到上一次的提交中
Git pull:拉下远程代码,对比本地commit和远程commit,如果同时操作了同一行则会发生冲突,保留的人git add && git commit && git pull,再次pull是为了防止还有人在期间再次提交
git add .:监控工作区的状态树,将所有变化提交到暂存区,但不包括被删除的文件
git stash:存入,list查看,pop恢复,drop删除,clear清空
Git checkout 切换分支,-b <name> 新建分支同时切换到新分支,也可通过指向具体的提交记录(通过log查看commit后面的一串哈希值来指定,分离head);也可通过操作符^来相对位移,一个^代表往之前移动一次,~<num>表示往前移动num次
Git branch 查看分支,-r查看远程分支,-a查看所有分支 git branch <name>可以新建name分支,-f <name>让分支指向另一个提交,如git branch -f master HEAD~3
Git merge master 将当前分支合并到master分支
Git rebase master :将当前分支的根节点移到master上(master节点和当前节点有共同的父节点,rebase用于将分支数图变成线性的),接下来,在master节点上 git rebase <name>,在分支图上就是master节点往前挪到自己的分支上,git rebase name1 name2,将name2移到name1上,同时切换到name2分支上(原先可以不是name2分支),git reabse -I name —solution-ordering hashvalue1 hashvalue2,定义提交顺序
git cherry-pick <name1> <name2> 可以合并多个分支
git reset, git reset HEAD~1会撤销更改,更改会消失
Git revert HEAD,会形成一个撤销的新提交,以便将撤销更改并分享给别人
git log --oneline --graph --decorate --all 树形查看分支结构,
git log --n 查看n条log
之前提交失败的提交解决方法:(之前已经commit过了)
git status查看是否有修改
将需要的修改添加,不需要的不管
git stash保存未提交代码
git status 确认是否可以提交
git branch 确认分支是否正确
Git log -10 查看需要合并的分支
Git rebase -I 哈希的值 ,更改分支的父节点
git pull
Git push
如果想恢复之前文件,git stash list中查看