1 vi命令使用技巧补充

1.1 如何快速编辑文本内容

yy ---快速复制文件内容
3yy ---复制三行内容
p ---快速粘贴文本内容
3p ---粘贴三行内容
dd ---快速删除文件内容(实质是剪切)
3dd ---删除三行内容
dG ---删除光标到结尾所有内容
r ---快速替换字符信息
R ---可以连续替换多个字符信息
u ---撤回之前的操作 undo=u
ctrl+r ---取消撤销操作 r=redu

2. vi使用时经常出现的错误

2.1 操作出现失误

vi /oldboy/ 不能直接编辑目录
vi /oldgirl/oldboy.txt 编辑的文件所在目录必须存在

2.2 无法正常保存或退出

wq! 强制保存退出
q! 强制退出
wq 保存退出
q 不保存退出

2.3 无法正常编辑文件,编辑文件总有提示信息

出现原因:
①. 没有正常保存退出编辑状态
②. 多个用户同时编辑一个文件
解决方法:
①. 删除临时文件 rm .oldboy.txt.swp
②. 恢复正常之前临时文件内容(vi -r oldboy.txt),删除临时文件
 

2.4 总结

正常情况:
vi oldboy.txt --i-- 编辑 -- :wq
①echo xxx > oldboy.txt.swp
②mv oldboy.txt.swp oldboy.txt
错误情况:
vi oldboy.txt --i-- 编辑 -- 没有保存
1. echo xxx > oldboy.txt.swp
恢复信息:
vi -r oldboy.txt
①cp oldboy.txt.swp oldboy.txt
 

3 系统重要文件

3.1 /etc目录下重要文件

(1)网卡配置文件
文件路径:/etc/sysconfig/network-scripts/ifcfg-eth0
①文件内容:
TYPE=Ethernet --- 指定网络类型
BOOTPROTO=none --- 获取IP地址的方式 自动获取dhcp/手动配置none(static 静态)
NAME=eth0 --- 网卡名称
DEVICE=eth0
ONBOOT=yes --- 是否激活网卡
IPADDR=10.0.0.201 ---IP地址
PREFIX=24 ---子网掩码
GATEWAY=10.0.0.254 --- 网关
DNS1=223.5.5.5 --- DNS服务器的地址
②加载文件方法:
systemctl start network --- 将服务器中网卡启动
systemctl restart network --- 将服务器中所有网卡重新启动
ifdown eth0 && ifup eth0 --- 只将指定网卡进行重启操作(企业中重启网卡方法)
systemctl stop network --- 将网卡关闭
systemctl enable network --- 实现服务开机自动启动
systemctl disable network --- 实现服务开机禁止启动
③扩展补充:centos7
network 运维主管 参照网卡配置文件 systemctl restart network
NetworkManager 运维经理 参照nmtui配置信息 优选 systemctl restart NetworkManager 关闭
 

3.2 域名解析文件

文件路径:/etc/resolv.conf
文件内容:
nameserver 223.5.5.5 指定DNS服务器地址信息
①文件加载:
文件配置完毕,立即生效
域名无法访问异常问题解决:
修改resolv.conf文件DNS服务器地址信息,会立即生效
修改网卡配置文件,需要重启网卡服务器,网卡配置文件DNS信息会覆盖resolv.conf文件中DNS信息
②建立域名 + IP地址 对应关系/映射关系
本地设置 C:\Windows\System32\drivers\etc\hosts
特殊的服务器中进行设置 8.8.8.8 114.114.114.114 223.5.5.5 --DNS服务器
 

3.3 主机名称文件

文件路径:/etc/hostname
主机名称:城市_机房_机柜号码_服务名称
bj_jxq_03_web
 
centos6
查看主机名: hostname
修改主机名:
临时修改:hostname oldboy-62
永久修改:vi /etc/sysconfig/network
 
centos7
查看主机名: hostname
修改主机名:
临时修改:hostnamectl set-hostname oldboy-62 (即使临时修改也是永久修改)
永久修改:vi /etc/hostname
 

4 环境变量

4.1 什么是变量:变量--书目录 变量的值---书的内容

oldboy(变量名)=123456 --- 设置变量
echo $oldboy -- 123456

4.2 设置变量作用:在脚本中会起作用

4.3 脚本作用:将重复操作简单化

sh text.sh表示 运行test.sh这个脚本 sh: 运行

4.4 什么是环境变量:

系统已经设置好的变量
环境变量名称一般都为大写字母组成

4.5 系统命令执行原理:

(1) ①mv命令
②获取PATH环境变量信息
③到相应目录中寻找mv命令文件
④命令文件可以找到
⑤执行命令完成功能
echo $PATH 得到 /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
(2) ①mv命令
②获取PATH环境变量信息
③到相应目录中寻找mv命令文件
④命令文件未找到
⑤文件或目录不存在
(3)解决:
题目:mv /bin/mv /tmp
①绝对路径运行命令
/tmp/mv /etc/hosts /tmp
②修改环境变量信息
临时修改:
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/tmp
永久修改:
vi /etc/profile
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/tmp
export PATH=$PATH:/tmp
source /etc/profile 或者 . /etc/profile 让修改的配置文件生效
(4)需求:
01. 创建一个oldboy目录
02. 在oldboy目录中创建一个oldboy.txt
03. 在文件中编辑内容 oldboy-62
04. 将文件进行备份 oldboy.txt.bak
05. 将备份文件移动到/tmp目录
①、mkdir /oldboy
touch /oldboy/oldboy.txt
echo oldboy-62 > /oldboy/oldboy.txt
cp /oldboy/oldboy.txt /oldboy/oldboy.txt.bak
mv /oldboy/oldboy.txt.bak /tmp
②、%s#oldboy#dddd#g 替换命令
 

5 别名功能

5.1 作用:将复杂的命令简单化

cat /etc/sysconfig/network-scripts/ifcfg-eth0 == catnet
如何设置别名:
①、临时设置别名
alias 别名名称='合法的命令'
alias catnet='cat /etc/sysconfig/network-scripts/ifcfg-eth0'
②、永久设置别名:
vi /etc/profile
alias 别名名称='合法的命令'
alias catnet='cat /etc/sysconfig/network-scripts/ifcfg-eth0'
unalias 取消别名
 

6 补充

1、export 用于修改设置环境变量
2、source或者. 立即加载文件配置信息
3、alias 查看别名设置和修改别名设置
4、unalias 取消别名功能
5、hostname 显示主机名称和修改主机名称
hostname -I 显示网卡地址信息
6、systemctl 用于启动/停止/重启服务程序
7、hostnamectl 永久和临时修改主机名称
8、ifup/ifdown 控制指定网卡启动或停止
9、* 表示匹配所有内容
10、. 隐藏文件
11、&& 表示前一个命令执行成功,再执行后一个命令
12、$ 调用变量信息
提示登录的用户为普通用户
 

作者:星辰追路人

本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

 

vi,etc目录文件,环境变量,别名功能的更多相关文章

  1. Linux学习之十一、环境变量的功能

    环境变量的功能 可以利用两个命令来查阅,分别是 env 与 export 呢! 范例一:列出目前的 shell 环境下的所有环境变量与其内容. [root@www ~]# env SHELL 告知我们 ...

  2. Linux添加目录到环境变量以及添加Sublime Text到环境变量

    本文主要介绍了Linux添加目录到环境变量以及添加Sublime Text到环境变量,通过具体的解释说明,让我们从中学到Linux添加目录到环境变量以及添加Sublime Text到环境变量的精髓所在 ...

  3. Linux添加目录到环境变量以及添加sublime到环境变量

    博主之前有过这种情况,就是在普通用户下su ls等命令还有效,可登陆进root用户之后这些常用的命令竟然失效了. 像这样 这问题其实很简单,但是对于不清楚环境变量的配置的同学来说也的确棘手,我之前就是 ...

  4. Linux安装库文件(环境变量和makefile)

    CFLAGS 表示用于 C 编译器的选项,CXXFLAGS 表示用于 C++ 编译器的选项.这两个变量实际上涵盖了编译和汇编两个步骤. CFLAGS/CPPFLAGS: 指定头文件(.h文件)的路径, ...

  5. 随意软连接/home/users目录导致环境变量消失后的事故

    1 自己的用户zj下,把/home/zj 删除后用ln -s软连接其他目录,导致了当前用户的.bash_profile失效 2 解决思路 第一,删除软连接 rm -rf /home/zj   记住后面 ...

  6. linux下将指定目录加入环境变量的方法

    每个用户目录下都有一个对应的.bash_profile比如root用户对应/root/.bash_profile,普通用户cqh对应/home/cqh/.bash_profile,以root用户为例v ...

  7. httprunner 2.5.7 下.env 文件环境变量的使用及debugtalk的使用,对test的参数化及执行

    一.httprunner 2.5.7 下.env  文件的使用 1..env 文件配置如下: 2.debugtalk.py 编写如下: 在debugtalk.py中增加开始和结束执行语句: 3.需要做 ...

  8. python - 添加文件环境变量

    #添加  当前文件目录 import sys,os BASE_DIR = os.path.dirname(os.path.dirname(__file__)) sys.path.append(BASE ...

  9. Linux的环境变量.bash_profile .bashrc profile文件

    Shell变量有局部变量.环境变量之分.局部变量就是指在某个Shell中生效的变量,只在此次登录中有效.环境变量通常又称“全局变量”,虽然在Shell中变量默认就是全局的,但是为了让子Shall继承当 ...

随机推荐

  1. 如何提高自己的java开发功底

    1.拥有扎实的基础和深刻理解OO原则 对于Java程序员,深刻理解Object Oriented Programming(面向对象编程)这一概念是必须的.没有OOPS的坚实基础,就领会不了像Java这 ...

  2. 开始使用Material UI

    Material-UI采用 Material Design风格的React UI组件,所以要想学习material ui先要了解react. material ui安装 Material-UI 可以使 ...

  3. C#中的字符串——用Stringbuilder类很重要

    注:这篇文章基本是<C#高级编程>(第七版)第九章的学习笔记. 众所周知,C#中处理字符串通常用的都是string,它其实是.NET基础类System.String类的映射.注意一个是小写 ...

  4. Linux下编译,要下载tar.xz,而不要下载zip,因为换行的编码不一样,对.h.cpp没有影响,但是对脚本有影响 good

    原因是 在win下编辑的时候,换行结尾是\n\r , 而在linux下 是\n,所以才会有 多出来的\r但是这个我是直接下载的官网文件解压的,没有动过啊. 破案了. linux下编译要下 .tar.x ...

  5. kendo ui gird温馨提示(使用本地数据) 一个

    加入js引用 <link href="http://cdn.kendostatic.com/2014.2.716/styles/kendo.common.min.css" r ...

  6. Spring综合Struts2

    1.1.  Spring综合Struts2 1)        该Spring用户手机WEB-INF下一个 2)        把Spring配置文件配置到web.xml中 <!-- 引入Spr ...

  7. POJ1185:火炮(减少国家)

    Description 命令将军打算N*M该网络格他们的炮兵部队部署在地图上.一个N*M该地图由N行M列,每个地图格它可以是山(使用"H" 表示),也可能是平原(用"P& ...

  8. WPF ContextMenu 在MVVM模式中绑定 Command及使用CommandParameter传参

    原文:WPF ContextMenu 在MVVM模式中绑定 Command及使用CommandParameter传参 ContextMenu无论定义在.cs或.xaml文件中,都不继承父级的DataC ...

  9. git 创建一个空分支

    创建一个分支 使用参数 --orphan,这个参数的主要作用有两个,一个是拷贝当前所在分支的所有文件,另一个是没有父结点,可以理解为没有历史记录,是一个完全独立背景干净的分支. 参考git的帮助文档, ...

  10. WPF分辨率适应

    double x = SystemParameters.WorkArea.Width;//得到屏幕工作区域宽度 double y = SystemParameters.WorkArea.Height; ...