DevOps入门之Linux

前言

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

概述

Linux有很多版本,这里选了比较稳定的Centos6.x。(其实是因为买的搬瓦工vps可以直接安装科学上网的版本只能说centos6) 但是其实除了安装命令有区别外,其他都差不多的。 安装系统就不多说了,有条件的各个云服务器厂商买vps,没条件的装虚机。

SSH连接

通常使用 来连接Linux。

查看SSH服务状态

输入 来查看ssh的状态,如果显示 则说明已经启动了

安装SSH

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

chkconfig详解

重启服务

使用 来重启ssh服务

密码登陆

使用 这个命令即可使用SSH来连接linux服务器了。 由于SSH默认端口是22,因此在不改变端口的情况下可以不指定端口号 有时出于安全考虑,会修改默认端口号,这时,就需要使用 来指定端口号

SSH Config

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

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

免密登陆

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

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

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文件目录结构

根目录:

家目录: 或者

临时目录:

配置目录:

用户程序目录:

文件操作基本命令

创建文件夹: mkdir (有时候需要创建嵌套文件夹,则需要 参数: )

创建文件: touch

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

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

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

显示路径: pwd

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

其他

ifconfig: 查看IP

Vim相关

菜鸟教程 vim常用命令

安装

使用命令 进行安装(或升级)

基本操作

新建或编辑文件:

vim有三种模式:普通模式、插入模式、命令模式(ex) 打开文件时,默认的就是普通模式,按下 ,就会进入插入模式,按下 就会回到普通模式, 之后加上命令就表示命令模式

ex模式

保存: (即write)

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

保存并退出: (也写为 )

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

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

快捷键

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

回到首行首列:

回到末行首列:

删除一行:

恢复上一步:

复制一行:

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

粘贴:

在当前行下面插入一行:

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

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

文本选择:

行选择:

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

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

文件权限

文件基本有3种权限: rwx (读、写、执行) 对应数字也就是4、2、1 因此经常看到网上说给某个文件777权限其实就是读写可执行所有的权限

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

文件提权

文件搜索、查找、读取

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

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

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

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

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

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

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

统计个数: wc (统计行数 、字节数 、字数 )( 统计test文件中,包含"a"的行数)

文件压缩/解压缩: tar ( 压缩, 显示压缩包内容, 解压缩) (同时还有 和 )

文件上传和下载

curl

wget

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

用户操作

添加用户: useradd/adduser

删除用户:userdel

设置密码: passwd

NodeJs

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

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180613G24AQK00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券