vi 命令
快速移动光标操作:
将光标切换到文件最后一行 G
将光标切换到文件第一行 gg
将光标切换到文件开头 0/^
将光标切换到文件结尾 $
将光标切换到指定行 10gg/10G
快速移动光标进入编辑状态 :
在当前光标所在位置进入编辑状态 i
在当前光标下一行进入编辑状态 o
在当前光标上一行进入标记状态 O
将光标切换到一行头部进入编辑状态 I
将光标切换到一行尾部进入编辑状态 A
将光标之后内容删除进行编辑状态 C
将光标所在行内容清空并进入编辑状态 cc
快捷编辑文件方法
快速复制文件指定行内容 yy
快速粘贴复制的内容 p
快速删除指定行内容 dd
将光标所在行到结尾所有内容删除 dG
扩展:
撤销操作:u
取消撤销:ctrl+r
显示行号:set nu/set nonu
替换操作:r替换单个字符/R替换字符后面的一整行
底行替换::s###g :4s###g :1,$s###g :%s###g
搜索信息:
默认检索信息有大小写区别
方法一:/检索的信息 n向下查找 N 向上查找 默认自上而下
方法二:?检索的信息 n向上查找 N向下查找 默认自下而上
默认检索信息忽略大小写
例子:/oldboy\c ---忽略大小写方法一
例子::set ic ---忽略大小写方法二
vim批量操作:
ctrl+v ---选中多行 --x/d 删除多行指定信息 ---批量取消注释
1) 编辑文件时,文件所对应目录是否存在
2) 编辑命令只能编辑文件,不能编辑目录
3) 编辑文件时,有提示信息
出现提示原因:
01. 多个用户编辑相同的文件
02. 在编辑文件时,出现异常断开情况
准备环境
cat >/oldboy/oldboy.txt<<EOF
oldboy01
oldboy02
oldboy03
oldboy04
oldboy05
oldboy06
EOF
[root@oldboyedu ~]# grep -B 2 03 /oldboy/oldboy.txt --- 过滤指定信息前几行
oldboy01
oldboy02
oldboy03
[root@oldboyedu ~]# grep -A 2 03 /oldboy/oldboy.txt --- 过滤指定信息后几行
oldboy03
oldboy04
oldboy05
[root@oldboyedu ~]# grep -A 2 -B 2 03 /oldboy/oldboy.txt
oldboy01
oldboy02
oldboy03
oldboy04
oldboy05
[root@oldboyedu ~]# grep -C 2 03 /oldboy/oldboy.txt --- 过滤指定信息上下几行
oldboy01
oldboy02
oldboy03
oldboy04
oldboy05
sed -i 's@#oldboy@oldgirl@g' /文件信息
[root@oldboyedu ~]# tr 'a-z' 'A-Z' </oldboy/oldboy.txt --- 替换文件字母大小写信息
OLDBOY01
OLDBOY02
OLDBOY03
OLDBOY04
OLDBOY05
OLDBOY06
tr替换文件信息是单个字符替换
[root@oldboyedu ~]# vim /oldboy/oldboy.txt
oldboy01
oldgirl02
oldbaby03
[root@oldboyedu ~]# tr 'oldboy' 'oldgirl' </oldboy/oldboy.txt
ildgir01
ildgirl02
ildgagr03
o l d b o y
o l d g i r l
o l d b a b y 0 3
i l d g a g r 0 3
01. 系统挂载概念
给一个磁盘存储设备开个门(挂载点)
mount /dev/cdrom /mnt
umount /mnt --- 离开挂载点进行卸载
/bin 二进制可执行文件保存目录 命令目录
/etc 配置文件保存目录
/proc 硬件信息 进程信息 内核信息 存储的数据保存在内存中
/tmp 临时目录 回收站
/var 日志文件保存目录
/boot 系统启动文件保存目录
/dev 设备文件保存目录
/home 普通用户家目录
/mnt 临时挂载点
/opt 第三方软件程序存储目录
/usr/local 第三方软件程序存储目录
/root 管理员家目录 root
/sbin 管理员执行的命令存储目录
/etc
1) /etc/sysconfig/network-scripts/ifcfg-eth0 网卡配置文件(启动 如何静态配置地址 如何配置IP地址)
centos7 systemctl start network ifup/ifdown
centos6 /etc/init.d/network start
2) /etc/profile 配置环境变量/别名功能
变数或变量,是指没有固定的值,可以改变的数
作用: 在脚本中减少信息改动
脚本: 将多个命令操作汇总到一个文件执行, 提高工作效率
1. 系统环境变量
2. 用户环境变量
全局环境变量配置文件: /etc/profile /etc/bashrc 国法
局部环境变量配置文件: ~/.bashrc ~/.bash_profile 家规
~/.bash_history -- 记录用户历史命令信息
history
-c 清空历史命令
-w 将内存中历史命令信息写入到历史文件中
alias 别名='命令信息'
unalias 别名
- 开机自动挂载文件
/etc/fstab
- 开机自动加载命令信息
/etc/rc.local
补充: 开机运行脚本信息目录
cd /etc/profile.d/
cat /etc/profile.d/oldboy.sh
- 修改主机名称文件
/etc/hostname
方法: hostnamectl set-hostname rac04
- 系统登陆前信息提示文件
/etc/issue
/etc/issue.net
- 主机名和ip地址建立对应关系文件
/etc/hosts
- 临时配置DNS服务配置文件
etc/resolv.conf
- 设置系统运行级别
/etc/inittab ---centos6
systemctl set-default TARGET.target ---centos7 永久设置运行级别
- 第三方软件程序存储目录
/usr/local
- 日志文件目录
/var/log/messages ---服务程序出现问题 查看错误日志信息
tail -f /var/log/messages 动态查看日志
- 系统登陆安全信息文件
/var/log/secure ---检查系统登录信息 哪个用户登录你的系统
系统安装软件方法
yum install -y 软件
yum list|grep tree ---查看安装的软件
yum grouplist ---查看可安装的软件组包
yum groupinstall "System Administration Tools" ---安装软件组包
rpm -ivh tree.rpm ---显示安装tree安装过程并且可读
rpm -qa tree ---是查询一个包是否安装
rpm -ql tree ---列出一个rpm包安装的文件
rpm -qf tree ---通过路径查询软件是否安装
/proc 如何查看硬件信息
/proc/cpuinfo lscpu 查看cpu状态
/proc/meminfo free -h 查看内存
/proc/loadavg w top uptime 查看负载
/proc/mounts df -h 查看挂载
grep 'physical id' /proc/cpuinfo|uniq|wc -l 统计服务器几个puc
grep -c 'core id' /proc/cpuinfo 统计服务器几个核心数
系统基础优化
创建用户并设置密码
useradd xxx id 检查用户是否存在
passwd --stdin 免交互设置密码
su - oldboy
whoami
PS1 环境变量 命令提示符组成 如何添加颜色
export PS1='\[\e[32;1m\][\u@\h \W]\$ \[\e[0m\]'
which ---查询一个命令出自哪个软件包
例子:
[root@oldboyedu ~]# which animalsay --- 显示命令对应文件所在路径
/usr/bin/animalsay
执行命令原理:
animalsay -- PATH -- /usr/bin/animalsay
[root@oldboyedu ~]# rpm -qf /usr/bin/animalsay
cowsay-3.04-4.el7.noarch
第二种方式: 并未安装相应软件
yum provides animalsay 通过反查询animalsay 是哪个软件包里面的
1) 防火墙优化 firewalld iptables 关闭
2) 系统安全策略 selinux 关闭
LANG="en_US.UTF-8"
localectl set-locale LANG=XXXX
/etc/locale.conf
locale
作用:避免出现乱码 可以显示中文
timedatectl set-timezone --修改时区
timedatectl list-timezones --查看国际所有时区
开启网络同步时间功能需要安装chrony
yum install -y chrony
systemctl start chrony
开启网络同步时间功能
timedatectl set-ntp 1
手动同步网络时间
yum install -y ntpdate
ntpdate ntp1.aliyun.com
系统bios记录时间
timedatectl set-local-rtc 1
第一个优化操作: 修改/etc/hosts文件
10.0.0.200 oldboyedu.com
第二个优化操作: 修改/etc/ssh/sshd_config
79 GSSAPIAuthentication yes ---> GSSAPIAuthentication no --- 关闭GSSAPI认证功能
115行 #UseDNS yes ---> UseDNS no --- 关闭了DNS反向解析功能