小标
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
您输入的评论内容中包含违禁敏感词
我知道了

请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式AI+学习就业服务平台 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号