Vim编辑器
Sublime text(跨平台) 编辑器
Vi介绍
Unix linux下标准编辑器
Vi编辑器完全一样 尤其是在终端
Vim比较于高级 vim更适用于coding(写代码)
Vim重点 光标的移动 模式切换 删除 查找 替换 复制 粘贴 撤销命令
Vim三种模式(重点)
Vim存在的三种模式 (大众认知)
命令模式 在该模式下不能被文件直接编辑 可以输入一些快捷键进行操作 删除阿行 复制 移动光标 【进入时默认模式】
编辑文件内容(输入模式)
尾行模式 最后输入命令来操作文件 搜索 替换 保存 推出 撤销 高亮
Vim打开文件 四种
#vim 文件路径 打开指定文件
#vim 数字 文件路径 打开指定文件,将光标移动到指定行
#vim /关键词 文件的路径 打开指定文件,高量显示关键字
#vim 文件1 文件2 文件3 同时打开多个文件
三种命令
退出方式 :q
命令模式
打开第一个看到文件的模式(打开文件即可进入)
- 光标移动
按键shift 6 或者 ^ 到行首
按键shift 4 或者 $ 到行尾
正则表达式 * 通配符 ^以…开始 $结尾
按键gg(good game)光标移动到第一行
按键G 光标移动到末行
向上翻屏 按键Ctrl b (before)或者PgUp直接翻屏
向下翻屏 按键Ctrl f (after) 或者PgDn直接翻屏
- 复制操作
1.复制光标所在行
复制yy
粘贴 按下你想粘贴的地方p
2.以光标所在行为准(包括当前行为)
按键数字 yy
粘贴 按下你想粘贴的地方p
3.可视化复制
按键Ctrl v 按下 上下左右键盘 p粘贴
Esc Esc推出
- 剪切/删除
1.剪切删除光标所在行
按键:dd (删除后移动下一行)
2.剪切/删除光标所在行为准(包括当前行)
按键 数字 dd
3.剪切/删除光标所在的当前行,但是删除时候不上移动
按键D
- 撤销/回复
撤销命令 按键 :u (undo)
恢复 ctrl + r
- 快速的光标的移动
1.快速将光标移动到指定行
按键 数组 + G
2.以当前光标为zhun向上/下移动n行
按键 数字 上,数字 下
3.以当前光标为准向左/右移动n个字符
按键 数字 左,数字 右
4.末行模式下的快捷移动方式,移动到指定的行
输入英文的“:”其次输入行数字
末行模式
按一下Esc 两下Esc 删除末行中的全部命令给
进入方式 按下“ : ” 即可进入
- 保存操作 (Write)
输入:“:w” 保存文件
输入:“:w 路径”(可以相对路径 可以决定路径) 另存为
退出 : exc 按两下 删除
末行模式
进入方式:
按下: 即可进入
连按esc键盘
删除末行输入字符
- 保存操作(write)
输入:“:w” 保存文件
输入:“: w 路径” 另存为
- 退出
Quit
输入:“:q” 退出文件
- 保存并退出
输入“:wq” 保存并且退出
Ls -la
- 强制(!)
输入:“:q!” 强制退出 刚才做的修改操作不做保存
- 调用外部命令(了解)
在vim里面调用外部命令
输入:“:!外部命令”
例如 !ls -la
6.搜索/查找
输入:“/ 关键词”
在搜索结果中切换上/下结构 N/n 上/下(next)
取消高亮 输入:nohl [no higlight]
替换 :
1.:s/搜索的关键词/新的内容 string replace 替换光标所在行的第一处的内容
2.:s/搜索的关键词/新的内容/g 替换光标所在行的全部内容
3.:%s/搜索的关键词/新的内容 替换所有文档中每行第一个符合条件的内容
4.:%/搜索的关键词/新的内容/g 替换整个文档的符合条件的内容
1.%表示整个文件
2.g表示全局(global)
8.显示行号
输入:“:” [number] 显示数字
如果想取消 输入 no nonu
9.扩展命令
Vim 同时打开多个文件
末行模式输入 “:files”
在%a的位置有两种显示的可能
%a: a=active,表示当前正在打开的文件
#表示上一个打开的文件
切换文件的方式:
- 如果需要指定切换文件的名称 “:open ” 已经打开的文件名
- 可以通过其他命令来切换上一个文件和下一个文件
输入“:bn” 切换到下一个文件(back next)
输入“:bp”切换到上一个文件(back previous)
编辑模式(进入方式)
1.i (insert)在光标所在字符前开始插入
2.a(after)在光标所在字符后开始插入
3.o在光标所在行的下面另起一行新插入
4.I在光标的首行开始插入,如果行首有空格则在空格后插入
按下Esc可以退出
七:实用功能
- 代码着色
如何控制着色显示与否?
显示:”:syntax on”
关闭显示:“:syntax off”
- Vim中的计算器的使用
Vim集成了一个简易的计算器
A进入编辑模式
B按下 Ctrl +r,输入等于号,此时光标会变到最后一行
输入计算内容按下回车
八.扩展内容:
Vim的配置
编辑器也是有配置文件
- 文件打开情况下在末行模式下输入的配置 临时的
- 个人配置文件(~/.vimrc) 如果没有可以自行新建
显示行号:set nu
- 全局配置文件 (Vim自带,/etc/vimrc)
针对同一个配置项目 设置不同的值
- 先在全局的配置中 设置不显示行号 在个人的配置中显示行号 最后显示行号 以个人为准
- 在全局中配置显示行号,在个人设置不显示行号 最后不显示 以个人为准
个人配置文件存在以个人配置文件为准
Syntax 语法
二.异常退出的问题
在编辑文件之后并没有正常 wq(保存退出)
解决方法 ls -a
将交换文件 删除 在编辑过程中产生的临时文件rm -f .passwd.swp
别名机制:
创建一些自己的命令
在Linux 下没有命令可能不习惯
现在可以自己创造 命令
别名机制依靠一个别名 映射文件: ~/.bashrc
重新登录一下账号
4.退出方式:
之前编辑的文件可以使用 “:q” 或者“:wq”
除了上面的语法之外,vim 还支持另外一个保存退出方法“:x”
在没有修改的情况下 表示直接退出 ,在文件修改的情况下表示保存并退出
X进行退出的话,则修改时间不会被更新的
自有服务:不需要用户独立去安装的软件的服务
- 运行模式
运行级别
在Linux 中存在一个进程 init ( initialize ,初始化),进程id是1.
查看进程 #ps -ef | grep init
该进程存在一个对应的配置文件 inittab(系统运行级别配置文件,位置/etc/inittab)
文件的主要内容:
根据上述的描述,可以得知 Centos6.5存在7种运行级别/模式
- halt 表示关机的级别 (不要将默认的运行级别设置成0)
- -单用户模式
- -多用户模式,不带NFS(Network File System)
- 多用户模式,完整的多用户模式
- 没有被使用的模式(保留模式)
- X11完整的图形化界面模式
- 表示重启级别(不要将默认的运行级别设置成这个值)
与该级别相关的几个命令:
#init 0 表示关机
#init 3 表示切换到 多用户模式(不带桌面的,纯命令模式)
#init 5 表示图形界面
#init 6 表示重启
#init 指令需要超级管理员用户
在输入密码时候没有 * 提示输入,只要自己确定输入的密码错误,按下回车即可
回到桌面模式 init 5
设置命令行永久为 命令行模式
#vim /etc/inittab 文件中的initdefault值设置成 3,然后重启操作系统
没个用户名 都拥有一个唯一的用户名和各自的密码
注意三个文件:
用户账号的添加 删除 修改以及用户密码的管理
用户组的管理
/etc/passwd 存储用户的关键信息
/etc/group 存储用户组的关键信息
/etc/shadow 存储用户的密码信息
- 用户管理
1.#useradd 选项 用户名
-g 表示指定用户的用户组,选项的值可以是用户组id,也可以是组名
-G 表示指定用户的用户附加组,选项的值可以是用户组id,也可以是组名
-u uid 用户的id(用户的标识),系统默认会从500之后按顺序分配uid,如果不想使用系统分配的,可以通过该选项自定义【类似于腾讯qq的自选靓号情况】
-c comment: 添加注释
创建用户 useradd
a验证方式/etc/passwd
b验证是否存在家目录: 在Centos下创建好用户之后随之产生一个同名家目录
ls /home/
认识 passwd 文件
用户密码:用户ID 用户组ID 注释 家目录 :解释器shell
密码:此密码位置一般情况都是x,标识密码的占位
用户ID:用户的识别符
用户组ID 该用户所属的主组ID
注释:解释该用户是做什么的u
解释器 shell 等待用户进入系统之后,用户输入指令之后,该解释器会手机用户输入的指令,传递给内核
在不添加选项的时候,执行useradd 之后会执行一系列的操作
#a创建同名的家目录
#b创建同名的用户组
查看用户的主组可以查看passwd文件,查看附加组可以查看group文件
2.修改用户
#usermod 选项 用户名 user modify 用户编辑
-g 表示指定用户的用户组,选项的值可以是用户组id,也可以是组名
-G 表示指定用户的用户附加组,选项的值可以是用户组id,也可以是组名
-u uid 用户的id(用户的标识),系统默认会从500之后按顺序分配uid,如果不想使用系统分配的,可以通过该选项自定义【类似于腾讯qq的自选靓号情况】
-I 修改用户名 usermod -l 选项(新的用户名) 用户名(旧的)
3.设置用户的密码
Linux 不允许没有密码的用户登录到系统,因此前面创建的用户目前都是处于锁定状态,需要设置密码之后才能登录计算机
常用的语法:#passwd 用户名
在设置密码的时候也是没有任何输入提示的,放心输入,确保两次输入的密码一致
也可以使用弱密码
#tail -3 /etc/shadow
设置密码之后shadow文件中的体现:能够看出lisi用户是没有密码的
- 删除用户
#userdel 选项 用户名
#userdel: user delete(用户删除)
#ps -ef | grep 用户名
常用选项:
-r :表示删除用户的同时删除家目录
已经登录的 提示失败 ,没有登陆的 用户可以正常删除
解决办法: kill 对应用户的全部进程
#ps -ef igrep 用户名
所有跟用户操作的命令 除passwd 外 只有root超级管理员有权限执行
在设置好密码之后可以登录账
切换用户命令 #su [用户名] (switch user)
如果用户名不指定则表示切换到root用户
切换用户需要注意的事项:
1.从root往普通用户切换不需要密码
2.切换用户前后的工作路径是不变的
3.普通用户没有办法访问root 用户家目录,但是反之则可以
/etc/group
文件结构:
- 添加用户组
#groupadd 选项 用户组名
-g:类似用户添加里的“-u”,“-g”表示选择自己设置一个自定义的用户组ID数字
,如果不指定则默认从500之后递增
#groupadd 指令创建一个新的用户组,名为Administrators
- 用户组编辑
#groupmod 选项 用户组名
选项:
-g类似用户添加里的“-u”,“-g”表示选择自己设置一个自定义的用户组ID数字
-n类似于用户修改“-l”,表示设置新的用户组的名称ls
3.用户组的删除
#groupdel 用户名
不能删除用户的主组,删除可以,从组内移除所有的组
三.网络设置
首先知道网卡配置文件位置:/etc/sysconfig/network-scripts
命名格式:ifcfg-网卡名称
ONBOOT 自动启动 是否开机启动
BOOTPROTO:地址的一个分配的方式 DHCP表示动态主机分配协议
HWADDR:硬件地址,MAC地址
重启网卡
#service network restart
目录 有的分支版本中可能没有service命令来快捷操作,但是有一个共性的目录:
/etc/init.d 放着服务的快捷方式
重启网卡命令 /etc/init.d/network restart
扩展:如果修改网卡的配置文件,但是配置文件的目录层次很深,此时可以在浅目录中创建一个快捷方式(软连接),方便以后去查找
#ln -s 原始文件的路径快捷方式的路径
扩展2:如何去重启单个网卡?
停止某个网卡:#ifdown网卡名
开启某个网卡 #ifup 网卡名
四.#ssh服务(重点)
#ssh(secure shell,安全外壳协议),该协议有两个常用的作用:远程连接协议,远程文件传输协议
Xshell
协议使用端口号:默认是22
如果需要修改,则需要修改ssh服务的配置文件:#/etc/ssh/ssh_config
(防火墙)
端口号的范围是从:0-65525
不能使用别的服务已经占用的端口
远程终端:
终端工具主要帮助运维人员连接远程的服务器,常见终端工具:xshell,secureCRT. Putty.
- 获取服务器ip地址 ifconfig
- 顺手测试终端的相通性
- 输入相关的信息
弹出确认选择是
- SSH服务文件传输
可视化传输工具 Filezilla
文件站点管理器
- 通过命令行工具来传输文件/文件夹
Pscp工具
PuTTY Secure Copy client
Release 0.62
Usage: pscp [options] [user@]host:source target
pscp [options] source [source...] [user@]host:target
pscp [options] -ls [user@]host:filespec
用法:
- pscp 选项 用户名 @linux 主机地址 :资源路径 Windows 本地的地址 (下载到win)
- pscp 选项 资源路径 用户名@linux主机地址: 远程的路径(上传到Linux路径)
- pscp 选项 -ls 用户名 @Linux 主机地址(列出远程路径下的结构)
ctrl+c暂停
- 设置主机名字
#hostname
#hostname -f FQDN(全限定域名)
- 临时设置主机名子
#hostname 设置主机名
切换用户使之生效
- 永久设置主机名
/ect/sysconfig//network 主机名的配置文件
修改其中的HOSTNAME为自己需要设置的永久主机名
与临时的主机名一致
#localhost
修改linux服务器的hosts文件,将运维执行指向本地(设置FQDN)
#vim /etc/hosts
不设置FQDN会怎么样?
1.很多开源服务器软件 Apache 则无法启动,或者出现报错
2.方便记忆,看到主机名对其作用有一个初步判断
3.如果不设置则会影响本地的域名的解析 本地访问
二.Chkconfig
提供开机启动项 的一个管理服务
在linux 下不是所有的软件安装完成之后都有开机自启动服务,有的可能需要自己去添加。除此之外还可以查看删除。
- 开机启动
#chkconfig –list
其中0-6表示各个启动的级别 3级为关闭 off ,则表示在其3启动形式下默认开机不启动
Kdump服务记录系统崩溃的
- 删除服务
#chkconfig –del 删除服务
- 添加开机启动服务
- #chkconfig –add 服务名 【必须要保证服务的正常运行,才可以添加】
设置服务在某个级别下开机启动(重点)
#chkconfig --level 35 连在一起的启动级别 服务名 on/off
# chkconfig --list | grep httpd
chkconfig --level 5 httpd off
三.ntp服务
作用 主要是用于对于计算机的时间同步管理操作。
例如当前的虚拟机Linux时间就是不准的
时间同步方式有两个 :
时间上游
- 一次性同步(手动同步),通过服务自动同步。
一次性同步(煎蛋)
#ntpdate 时间服务器的域名或ip地址
- 设置时间同步服务
服务名:ntpd
启动ntpd服务
service ntpd restart 或者 /etc/init.d/ntpd start
chkconfig --list | grep ntpd
date +"%F %T"
设置ntpd服务开机启动
四.防火墙服务
防火墙:防范一些网络攻击
硬件防火墙 软件防火墙
防水墙:bbs论坛,灌水水军
选择性让请求通过,保证网络安全
#Iptables服务 作用 相关操作 防火墙规则描述 查看
当前centos6.5 中防火墙有一个名称 iptables 7.x默认使用的是firewalld
- 查看iptables是否启动
chkconfig --list |grep iptables
ps -ef | grep iptables
uptables 服务启动/重启/关闭
#service iptables start/restart/stop
service iptables start
service httpd start
/etc/init.d/iptables start/stop restart
cd /etc/init.d
./network restart
桥接
- 查看iptables的状态规则service iptables status
如果 iptables没有启动,则提示服务没有启动,如果已经启动,则显示防火墙的相关的规则
- 查看规则的命令
#iptables -L -n
含义:-L表示列出规则
-n表示将单词表达形式改成数字形式显示
4.简单设置防火墙规则
#iptables 80端口开放
# iptables -A INPUT -p tcp --dport 80 -j ACCEPT
-p protocol协议(icmp/tcp/upd) --dport指定端口号 -j操作行为 两种 允许 禁止 accept reject
-A 添加规则 出战 output
-I 表示将规则放到最前面
iptables -I INPUT -p tcp --dport 80 -j ACCEPT
/etc/init.d/iptables save
在添加完成之后 保存操作
/etc/init.d/iptables save
ps -ef |grep httpd
五.rpm管理
的作用类似于windowd上的电脑管家中“软件管理” 安全卫视里面的,主要作用是对Linux服务器上的软件包进行对应管理操作,管理分为:查询,卸载,安装
- 查询
#rpm -ga|grep 关键词
选项:
-q:查询,query
-a:全部,all
#rpm -qa |grep firefox
- 卸载某个软件
#rpm -e 软件的名称
#rpm -e firefox
#service httpd stop
火狐卸载的时候没有依赖关系
但是卸载Apache的时候提示无法卸载
当存在依赖关系的时候不想去解决这个问题的时候可以:
#rpm -e 软件包 -nodeps
在卸载 Apache 的时候提示无法卸载
不用考虑依赖关系
#rpm -e 软件包名 –nodeps
- 软件的安装
1.找到安装包
2.可以从光盘中读取 或者 镜像文件
查看块状设备的信息
#lsblk(list block devices) 查看块状设备的信息
Name 名称
Size 设备大小
Type 类型
MountPoint:挂载点
扩展:挂载就相当于分配盘符
- 解挂操作 #umount
#umount 当前设备的挂载(路径)
此时相当于u盘的弹出 没有
- 2.挂载光盘
- 命令 :mount
- 语法:#mount 设备的原始地址 要挂载的位置路径
- 设备原始地址:统一都在 dev下,然后根据大小确定具体name值,拼凑在一起组成原始地址 例如当前“/dev/sr0
- 要挂载的位路径:挂载目录一般都在mnt下,也可以在mnt下建立目录,此处以/mnt/dvd
安装软件命令:
#rpm -ivh 软件包完整的名称
选项:
-i install 安装
-v 显示进度条
-h 表示以#形式显示进度条
#rpm -qa | grep firefox
不用考虑依赖关系
#rpm -e 软件包名 –nodeps
force