前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >机器学习程序猿在Linux猩球的生存指南

机器学习程序猿在Linux猩球的生存指南

作者头像
流川枫
发布2018-09-12 11:01:18
1K0
发布2018-09-12 11:01:18
举报
文章被收录于专栏:AI星球AI星球
0. Linux猩球

Linux猩球

一个小程序猿,在一场飞行意外中,坠落到Linux猩球,与家乡Win猩球/Mac猩球的绚丽多彩不同的是:Linux猩球大部分时间都是处于黑暗之中[命令行/Shell界面],因此,大多数时候他只能跟这个黑色的世界进行交互。为了更好的生存下来,他制作了这个基本生存指南。

指南适用范围: 这不是一个系统的Linux终端命令介绍,只是我剪贴板上常用的几个命令而已,适用于Linux轻度使用者。我使用Linux的场景主要就是为了跑深度学习模型,以及线上云主机的执行一些脚本、Hadoop/Spark任务...更详细的学习资料请参考最后的参考文献。

Linux猩球最初是由芬兰人李纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学上学时偶然发现的…此后,大量程序猿的背井离乡来此开荒,现在仍滞留大量的程序猿成为难民….

2. Shell世界生存口诀

0.急速解渴快捷键(~高频)

代码语言:javascript
复制
// 光标回到行首[告别手指抽筋的方向键]
control+a
// 光标回到行末
control+e
// 删除命令行的整段命令
control+u
// 删除光标处到行尾的字符
control+k
// 恢复上一次删除内容
control+y
// 查看系统所有用户
cat /etc/passwd

//vim解渴快捷键 [~命令行模式下使用~]
gg: 将光标移动到文档开头
G:  将光标移动到文档末尾
$:  将光标移到移到本行尾
0:  [数字] 将光标移到本行行首

1.操作文件夹

代码语言:javascript
复制
pwd  //显示当前所处路径
cd 文件夹名称  //进入某个文件件,假设存在文件User
ls    //显示当前目录的内容
ls -a   //显示当前目录的内容,包括隐藏文件[即以 . 开头的文件]
ls -ahl   // 显示当前目录的内容,文件大小以可读方式显示
du -h  //显示当前文件夹的大小

ls -aul

文件夹权限

文件夹的权限是一个比较重要的概念,关系到你是否有权利操作这个文件夹,关于权限的修改可学习chmod等命令。

2.创建、复制、移动、重命名、删除

代码语言:javascript
复制
mkdir  newfile:创建一个新的目录
cp 来源档(source) 目标档(destination)
cp aa.txt a.txt    //复制一个文件并重命名为a.txt
cp -r model1  model-3800    //【文件夹要+r参数】复制源文件夹model1到目标文件夹model-3800
mv  source destination
mv aa.txt a.txt   //相当于把aa.txt文档重新命名为a.txt

rm 文件  //删除文件
rm -r 文件夹   //删除文件夹【慎用...配合方向键很酸爽!】
rm *.log //批量删除

-----为了解决手残执行rm -r等危险命令,使用history预防-------
history  //显示终端执行的命令历史记录
history |grep rm   //防止误删【血的教训】
history -d 1066   //手动删除该条rm历史记录,防止后面手滑错误执行….虽然麻烦,但是在生产主机上,我还是每次都要执行一下,不要问我问什么这么小心….

2.查询、检索、统计

代码语言:javascript
复制
find . -name "*.py" | wc -l    //查看当前文件下(包含子文件夹)总共有多少个py文件
grep -o root  a.txt | wc -l  // 统计文件a.txt中root这个词出现的次数
grep root  a.txt | wc -l   //统计有root出现行的总行数

grep详细用法

3.操作txt等文档[编辑脚本、配置文件]

代码语言:javascript
复制
vi a.txt   //新建a.txt文档
head -10 a.txt  //显示a.txt文件的前10行
tail -10 a.txt  //显示a.txt文件的后10行
wc -l a.txt  //显示文件有多少行
wc -w a.txt   // 看文件里有多少个词
cat f a.txt | tail -n +3000 | head -n 1000    //即显示文件的3000~3999行

4、其它我常用的命令

代码语言:javascript
复制
sh test.sh   //执行sh脚本
python test.py //执行python脚本
nohup sh  test2118.sh>  test.log  &     //后台执行脚本test.sh,并将输出写入到test.log中

配合使用脚本:

代码语言:javascript
复制
tail -f test.log   //动态输出test.log的内容,监控后台执行的脚本的执行过程
ps -ef | grep python  //查看系统运行python程序的PID,根据PID我们可以终止某个后天运行的脚本
kill -9 9208  //杀掉PID=9208的进程

杀死本机的火狐浏览器

ps au // 显示所有正在运行的进程:

ps aux

top //显示运行中系统的动态实时视图

top命令

扩展工具Htop 使用pt-get在linux安装htop的命令:apt-get install htop htop 是一个类似top的交互式进程查看工具,但是可以垂直和水平滚动来查看所有进程和他们的命令行。进程的相关操作(killing,renicing)不需要输入PID。

Htop

高级文本编辑工具 Awk/Vi/Vim编辑器的使用,需要慢慢熟悉那些快捷命令,使用场景还是非常多的

Vi/Vim的快捷键 如何让vi/vim打开文件时显示行号:【方便线上微调代码时】 1.只改变当前用户的vim cd ~ //进入在~目录下 vim .vimrc --> 添加一行 set number -->Esc-->wq, 保存退出,即可(普通用户权限即可)

3. 最后

最好,大家有木有手残执行 rm -f 文件夹 的痛苦经历,评论区抖搂出来大家嗨皮一下啊,逃亡路上不孤单...或者,有什么比较好的、常用的命令贴出来,大家相互学习!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018.02.02 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 0. Linux猩球
  • 2. Shell世界生存口诀
  • 3. 最后
相关产品与服务
云服务器
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档