机器学习入门之Linux学习笔记
小标 2018-12-12 来源 : 阅读 1112 评论 0

摘要:本文主要向大家介绍了机器学习入门之Linux学习笔记,通过具体的内容向大家展现,希望对大家学习机器学习入门有所帮助。

本文主要向大家介绍了机器学习入门之Linux学习笔记,通过具体的内容向大家展现,希望对大家学习机器学习入门有所帮助。

前言

近两年大热的DevOps概念让运维学起了开发,作为开发当然也不能落后,虽然之前也用过Linux,Nginx,但是基本都是记了几个网上baidu来的、不知道具体什么的命令。觉得还是有必要稍微系统的学习一下。


 

 概述

Linux有很多版本,这里选了比较稳定的Centos6.x。(其实是因为买的搬瓦工vps可以直接安装科学上网的版本只能说centos6)

但是其实除了安装命令有区别外,其他都差不多的。

安装系统就不多说了,有条件的各个云服务器厂商买vps,没条件的装虚机。


 

 SSH连接

通常使用SSH来连接Linux。


 

 查看SSH服务状态

输入sudo service sshd status来查看ssh的状态,如果显示xxx is running则说明已经启动了


 

 安装SSH

如果提示说没有安装的话,则进行安装


# 先搜索yum源中是否存在sshd
yum search sshd
# 如果可以看到这一行,说明yum中有,则可以直接安装
openssh-server.x86_64 : An open source SSH server daemon
# 安装
sudo yum install openssh-server
# sshd 启动
sudo service sshd start
# 开机自启动
sudo chkconfig sshd on
# 查看开机自启动状态
chkconfig --list sshd


chkconfig详解


 

 重启服务

使用sudo service sshd restart来重启ssh服务


 

 密码登陆

使用ssh 用户名@ip这个命令即可使用SSH来连接linux服务器了。

由于SSH默认端口是22,因此在不改变端口的情况下可以不指定端口号

有时出于安全考虑,会修改默认端口号,这时,就需要使用-p 22来指定端口号


 

 SSH Config

这里先说下Linux的目录系统

在看别人写的Linux命令中,经常会看到/和~这两个符号,第一个其实哪里都一样,指向的就是根目录。第二个,指向的行话叫"家"目录,所谓的家,其实就是/home/用户名这个目录。之所以称之为家,就是因为所有和这个用户相关的文件,都是放在这个文件夹下面的。


# 1. 在家目录(~)下创建.ssh目录
mkdir ~/.ssh

# 2. 创建config文件
touch ~/.ssh/config

# 3. 打开并编辑
sudo vi ~/.ssh/config

Host bwh (这里就是将来使用到的主机别名,因为我是连搬瓦工的,域名是bwh,因此使用这个举例)
    HostName 45.xx.xx.xxx (主机Ip)
    User lz (你的用户名)
    IdentityFile ~/.ssh/id_rsa (ssh的私钥,这里下面将免密登陆的时候会提到,可以先不写)

# 4. 保存并退出
按下`Esc`
输入`:wq`


这时,使用SSH连接就可以不再很麻烦的需要每次都输入用户名和主机IP了,直接使用ssh bwh即可。


 

 免密登陆

虽然通过ssh config已经可以实现不输入用户名和IP了,但是还是需要输入密码,这点还不是很方便。因此就需要来实现免密登陆了。


# 1. 生成ssh key
cd ~/.ssh # 进入家目录下的.ssh目录

ssh-keygen -t rsa  # 生成key,一路回车即可, 也可在后面加上-C key的名称 这个参数,给生成的key指定一个名称,如果不指定,则默认叫id_rsa

# 2. 查看key
ls # 查看生成的key

# 3. 将公钥复制至剪切板
pbcopy < ~/.ssh/id_rsa.pub

# 4. ssh远程连接至服务器
ssh bwh

# 5. 在家目录的`.ssh`目录下创建`authorized_keys`文件
touch ~/.ssh/authorized_keys

# 6. 将刚才复制的本地公钥粘贴至authorized_keys中
sudo vi ~/.ssh/authorized_keys

# 7. 保存退出
按下`Esc`
输入`:wq`

# 8. 重启ssh服务
sudo service sshd restart


这时使用exit关闭ssh连接后再次使用ssh bwh就会发现已经不需要再输入密码了


ssh-keygen详细说明


 

 Windows系统

Windows系统可以使用XShell这个软件,具体就不多介绍了,使用起来大同小异。

这里放几篇链接

windows如何传文件到linux虚拟机


 

 Linux常用命令

Linux下的一些常用命令


 

 软件相关


包管理器: yum


安装软件: yum install xxx


卸载软件: yum remove xxx


搜索软件: yum search xxx


创建缓存: yum makecache


清理缓存: yum clean packages


列出已安装: yum list


包信息: yum info xxx



 

 服务器硬件资源信息


内存: free -m (以m的格式来展示)


硬盘: df -h


负载和用户: w

load average 分别表示最近1分钟、5分钟、15分钟的负载,一般在0.7以下表示还比较健康


CPU: cat /proc/cpuinfo (因为linux是文件系统,因此查看什么东西都可以通过查看文件的方式)



 

 Linux文件目录结构


根目录: /


家目录: /home/xx或者~


临时目录: /tmp


配置目录: /etc


用户程序目录: /usr



 

 文件操作基本命令


创建文件夹: mkdir (有时候需要创建嵌套文件夹,则需要-p参数:mkdir -p ~/test1/test2/test3)


创建文件: touch


删除文件和文件夹: rm (删除文件夹时,需要使用-r参数,这时会double check,如果不需要,则可以使用-rf参数,表示强制删除)


复制: cp (cp 源文件 目的路径)


移动: mv (相当于剪切 mv 源文件 目的路径)(可以用来重命名)


显示路径: pwd


ls/ll: 查看文件夹下文件,使用-a参数查看隐藏文件



 

 其他


ifconfig: 查看IP



 

 Vim相关

菜鸟教程

vim常用命令


 

 安装

使用命令sudo yum install vim进行安装(或升级)


 

 基本操作


新建或编辑文件: vi/vim



vim有三种模式:普通模式、插入模式、命令模式(ex)

打开文件时,默认的就是普通模式,按下i,就会进入插入模式,按下Esc就会回到普通模式,:之后加上命令就表示命令模式


 

 ex模式


保存: :w (即write)


退出: :q(强制退出,不保存修改内容:q!)


保存并退出: :wq(也写为x)


显示行号: set number(网上说也可以setnum,但是我用了不行)


命令行和vim切换: :sh和ctrl + d



 

 快捷键

一般快捷键都是在普通模式下的



回到首行首列: gg


回到末行首列: G


删除一行: dd


恢复上一步: u


复制一行: yy


复制多行: nyy(比如3yy就是复制3行)


粘贴: p


在当前行下面插入一行: o


替换当前字符: r (先输入r,再输入要替换的内容)


查找关键字: /(按n在查找结果中切换)


文本选择: v


行选择: V


选择全部: ggVG (ctrl+a的vim方式,这个命令的实现就是gg+V+G的灵活组合)



更多快捷操作可以参考上面的链接。


 

 文件权限

文件基本有3种权限: rwx (读、写、执行)

对应数字也就是4、2、1

因此经常看到网上说给某个文件777权限其实就是读写可执行所有的权限


通常可以使用ll命令看到文件的权限


 

 文件提权

 

 文件搜索、查找、读取


从文件尾部开始读: tail (一般会加上-f参数,这样加入文件有更新,会自动刷新)(一般这个可以用来看日志文件,自动刷新,但是如果自己开两个终端窗口想尝试就比较尴尬,因为Vim在写文件时,是先删再增的,因此先在一个窗口执行tail -f xxx,再在另一个终端窗口追加内容,是看不到效果的)


从文件头部开始读: head (和tail类似,不过是读的头部)(和tail一样,可以加上-n 20参数,来修改显示行数量,默认是10)


读取整个文件: cat (这个和vi命令相似,经常会使用,不过在使用前需要注意,因为是将文件内容读入内存,因此如果文件过大,会导致内存不足)


分页读取: more (一点点读,enter继续)


可控分页: less (可控分页的意思就是可以使用一些快捷操作来实现特殊的效果,比如g、G这种)


搜索关键字: grep (grep "aaa" xxx -n,在xxx文件中搜索"aaa",-n表示显示行号)(该命令经常与管道命令一起使用|)


查找文件: find (find的使用比较复杂,就放一个网上的教程,个人感觉记下这个页面的几个实例基本够用了。) 菜鸟教程


统计个数: wc (统计行数-l、字节数-c、字数-w)(grep "a" test | wc -l统计test文件中,包含"a"的行数)


文件压缩/解压缩: tar (-czvf压缩,-tzvf显示压缩包内容,-xzvf解压缩) (同时还有zip和unzip)



 

 文件上传和下载


curl


wget


scp 将本地文件复制到服务器(scp 源文件 用户名@ip:路径)



 

 用户操作


添加用户: useradd/adduser


删除用户:userdel


设置密码: passwd



# 1.0 新增用户test
sudo useradd test
# 2.0 修改密码
sudo passwd test
# 3.0 提权
visudo
找到`## Allow root to run any commands anywhere`这一行,
下面写的是`root    ALL=(ALL)       ALL`,
复制出来一行,把root改为test
`lz      ALL=(ALL)       NOPASSWD:ALL`


 

 NodeJs

安装NodeJs网上有很多文章,基本上安装到方式都是一样的,唯一有区别的是安装好之后怎么在全局使用node命令,一种是软连接的方式,一种是添加环境变量的方式。


# 1.0 复制node下载链接
在https://nodejs.org/en/download/下找到`Linux Binaries (x86/x64)`,在`32-bit`或者`64-bit`上鼠标右键,复制链接

# 2.0 下载
使用`wget`加刚才复制的链接,进行下载

# 3.0 解压缩
可以看出后缀是.xz,因此需要下载xz进行安装
sudo yum search xz
sudo yum install xz.x86_64
xz -d node-vxxxxxx.xz 解压缩xz
tar -xf node-vxxxxx.tar 解压tar
mv node-vxxxx node-vx.x 为了后续操作方便,重命名
cp -r node-v8.11.2 /usr/node/node-v8.11.2 (copy文件夹时,记得加上-r参数,否则会说已略过。。)

# 4.0 添加环境变量
sudo vi ~/.bash_profile
在PATH加上"::+node的bin的路径:PATH=$PATH:$HOME/bin:/usr/node/node-v8.11.2/bin
source ~/.bash_profile

# 5.0 注意
记得不要把node复制到家目录下的个人文件夹,这样会导致权限不足


本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标人工智能机器学习频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式AI+学习就业服务平台 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved