1.vi命令使用方法
1)vi命令的基本用法
步骤一: vi oldboy.txt --- 利用vi命令打开一个文件
步骤二: 输入i --- 进入编辑模式
步骤三: 编辑文件内容
步骤四: esc --- 退出编辑模式
步骤五: :wq --- 保存退出文件
2)vi命令详细使用方法
vi三种命令模式
1.命令模式
命令模式中移动光标
G ---移动到文件行尾
gg ---移动到文件行首
ngg ---指定移动到第几行
$ ---光标移动到当前行行尾
0或^ ---光标移动到当前行行首
2.插入模式(--INSERT--)
3.底线命令模式(: /)
vi三种模式切换方法
命令模式-->插入模式(移动光标位置,并进入编辑状态)
i ---从光标所在位置进入插入模式
I ---从光标所在行行首进入插入模式
o ---从光标所在行下一行进入插入模式
O ---从光标所在行上一行进入插入模式
A ---从光标所在行行尾进入插入模式
a ---从光标所在字符下一个字符进入插入模式
C ---从光标所在位置到行尾进行剪切,并进入插入模式
cc ---剪切光标所在行内容,并进入插入模式
命令模式-->底线命令模式
: --- wq 保存 q! 强制退出
/ --- 进入搜索状态(向下搜索 n依次向下)
? --- 进入搜索状态(向上搜索 n依次向上)
退出插入模式: esc
特殊使用技巧:
ndd --- 删除n行内容
dG --- 删除文件全部内容
np --- 将内容进行n次粘贴
nyy --- 复制n行内容
u --- 撤回
2 系统优化项目说明
1.系统信息查看方法
cat /etc/redhat-release --- 获得系统发行版本信息
uname -a --- 显示电脑即操作系统的相关信息
2.系统基础优化部分
1.添加系统普通用户
创建普通用户
username oldboytest
passwd 123456
删除普通用户目录及目录下所有文件
userdel -r oldboytest
切换用户信息
su - oldboytest ---root 用户切换到普通用户不需要密码
su - root ---普通用户切换到root用户需要输入密码
su 和 su - 的区别 su是变换前用户在哪个目录下变换后依旧在哪个目录,su -是变换后切换到登录用户的家目录.exit等价于logout退出当前登录用户,返回前一次登录用户,前一次没有就直接登出系统
查看用户信息
whoami
id
2.命令提示符优化
命令提示符环境变量
1.查看命令提示符变量:echo $PS1
当前账户名称@当前主机名 当前所在目录最后一个目录 用户提示符
u :当前账户名称
@ :分隔符
h :当前主机名(仅取第一个名字)
H :完整的主机名
w :完整的工作目录名称
W :当前所在目录最后一个目录名称
d :日期 weekday month date
:24小时时间格式 HH:MM:SS
T :12小时时间格式
A :24小时格式 HH:MM
# :下达的第几个命令
$ :提示字符 root:# 普通用户:$
2.修改命令提示符的内容(/etc/bashrc 或 /etc/profile)
Linux登陆过程中家在配置文件顺序:/etc/profile > /etc/profile.d/*.sh > ~/.bash_profile > ~/.bashrc > /etc/bashrc.
1. vi /etc/bashrc
2.vi /etc/profile
由于/etc/profile 的执行顺序大于/etc/bashrc 所以存在于/etc/profile中的配置会生效
3.修改命令提示符颜色
在PS1中设置字符颜色的格式为:[e[F;Bm]........[e[0m],其中“F“为字体颜色,编号为30-37,“B”为背景颜色,编号为40-47,[e[0m]作为颜色设定的结束。
颜色对照表:
F B
30 40 黑色
31 41 红色
32 42 绿色
33 43 黄色
34 44 蓝色
35 45 紫红色
36 46 青蓝色
37 47 白色
只需将对应数字套入设置格式中即可。
设置特殊显示
0 OFF,关闭颜色
1 高亮显示
4 显示下划线
5 闪烁显示
7 反白显示
8 颜色不可见
特殊显示可在结束颜色输入里面设置:[e[ 特殊颜色编号 m]
永久修改 vi /etc/profile
3.yum下载源优化
yum repolist : 检查可用的yum源信息
1.yum软件的优势:
1.不需要通过官方网站单独下载软件包(通过yum仓库下载)
2.可以解决软件的依赖关系(相当于浏览器和flash的关系)
2.优化方法:
1.优化基础的yum源文件(yum Base)
打开阿里云开源镜像站 https://developer.aliyun.com/mirror/
打开centos
找到centos7 复制curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo 执行命令
2.优化扩展的yum源文件(yum epel)
打开阿里云开源镜像站 https://developer.aliyun.com/mirror/
打开 epel
找到epel(RHEL 7) 复制 wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
执行命令
查看 /etc/yum.repos.d 查找base 和 epel 一个基础一个扩展
下载软件: cowsay sl yum install -y cowsay sl
3.确认软件是否安装
1.安装软件出现以下信息,则为已安装
2.利用rpm命令可管理软件是否安装
rpm -q(query-查询)a 软件名 ------------ 查看软件是否安装,未安装则无信息显示
rpm -ql(list-列表) 软件名 ------------- 查看软件包中其他相关文件信息
有些软件名称与软件包的名称不一样,像上述的vim 直接搜vim会显示软件未安装,重新安装vim 又会显示软件已安装,此时需要查看软件属于哪个软件包
rpm -qf 文件名(绝对路径)=rpm -qf `which 命令` --------------- 查看文件属于哪个软件包
注:在linux中 xxx.rpm 意为linux中的软件安装程序
4.系统安全相关优化(对一些安全服务进行关闭)
1.防火墙安全服务
查看防火墙服务状态
centos6:service iptables status=/etc/init.d/iptables status
centos7:systemctl status firewalld
临时关闭防火墙
centos6:services iptables stop
services iptables start
centos7:systemctl stop firewalld
systemctl start firewalld
永久关闭防火墙
centos6:chkconfig iptables off ---- 开机自动关闭防火墙
chkconfig iptables on ---- 开机自动开启防火墙
centos7:systemctl disable firewalld --- 开机自动关闭防火墙
systemctl enable firewalld --- 开机自动开启防火墙
centos7简单查看防火墙状态
systemctl is-active firewalld ------ 查看防火墙关闭与否
systemctl is-enable firewalld ------ 查看防火墙开机自启状态开启与否
企业中服务器是不能随便关机的,对于安全性要求不高的服务器,防火墙的开启有时会阻止网络的访问,此时需要关闭防火墙,临时关闭可用于程序网络的正常访问,结合永久关闭,下次重启时就不需要临时关闭防火墙,但对于安全性要求较高的服务,建议临时关闭防火墙即可
2.selinux安全服务
系统中root用户的权限很大,几乎可以干任何事,selinux就是为了控制root用户的权限,增加系统的安全性
对于安全性要求不高的企业来说,selinux的存在会限制root用户的某些操作,一般情况下selinux都是关闭的(centos6和centos7操作一样)
查看selinux状态:
getenforce ------ 确认selinux服务开启与否
临时关闭服务:
setenforce [] ------ 可直接执行查看可用状态
Enforcing(强制执行) 等价于 1 ------ 服务开启状态
Permissive(许可的) 等价于 0 ------ 服务关闭状态
setenforce Permissive = setenforce 0 ------ 关闭服务
永久关闭服务:
vi /etc/selinux/config ----- 系统重启服务生效
SELINUX=disabled
5.字符编码优化(可以显示中文 避免出现乱码)
字符编码:实现对非英字符的支持
出现乱码原因:
1.系统字符集设置有问题
2.远程软件字符集设置有问题
3.文件编写字符集和所查看的字符集不统一
1.出现乱码情况设置:
echo $LANG ----- 查看系统编码
export LANG=en_US.UTF-8 ------ 设置系统编码
2.解决乱码情况: 保持系统与远程连接软件编码一致,一般都是utf-8
临时修改: export LANG=en_US.UTF-8
永久修改:(也可用/etc/profile 进行修改,profile优先级大,一般不使用profile)
centos 6: vi /etc/sysconfig/i18n
centos 7: vi /etc/locale.conf
在7中还有一种即临时修改又能永久的命令
localectl set-locale LANG=en_US.UTF-8
3.设置系统显示中文
1.查看当前系统字符集:
echo $LANG
2.临时修改:
export LANG=zh_CN.UTF-8
3.永久修改
centos6 : vi /etc/sysconfig/i18n
centos7 : localectl set-locale LANG=zh_CN.UTF-8
6.shell远程连接优化(远程连接速度加快)
步骤一:修改ssh服务配置文件 /etc/ssh/sshd_config
79 no
115 no 去*号
步骤二:修改hosts文件 /etc/hosts
10.0.0.200(主机地址) 主机名
步骤三:重启ssh远程服务
systemctl restart sshd