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. UVa 12657 Boxes in a Line(应用双链表)

    Boxes in a Line You have n boxes in a line on the table numbered 1 . . . n from left to right. Your ...

  2. QWidget之Alien与Native小记(果然是DirectUI的方式,QWidget居然提供了nativeParentWidget函数,而且可以动态设置native父窗口)good

    在QWidget 之paint部分杂记提到了从Qt4.4开始,Alien Widget被引入.那么...这是什么东西呢,我们在使用中又可能会感受到什么东西? 用例子来说话似乎比用源码来说话来得容易,所 ...

  3. 追本溯源 —— 句型、表达、模式,pattern,著名的话

    ** 时候,做了 ** 事,是我 **,做得最对的一件事: "Winning that ticket was the best thing that ever happened to me& ...

  4. Leetcode 171 Excel Sheet Column Number 字符串处理

    本质是把26进制转化为10进制 A -> 1 B -> 2 C -> 3 ... Z -> 26 AA -> 27 AB -> 28 class Solution ...

  5. WPF中StringFormat的用法--显示特定位数的数字

    原文:WPF中StringFormat的用法--显示特定位数的数字 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/huangli321456/art ...

  6. C++异常机制的实现方式和开销分析 (大图,编译器会为每个函数增加EHDL结构,组成一个单向链表,非常著名的“内存访问违例”出错对话框就是该机制的一种体现)

    白杨 http://baiy.cn 在我几年前开始写<C++编码规范与指导>一文时,就已经规划着要加入这样一篇讨论 C++ 异常机制的文章了.没想到时隔几年以后才有机会把这个尾巴补完 :- ...

  7. Eucalyptus企业云计算(建立能够和Amazon EC2兼容的云)

    Eucalyptus是与一个在加利福尼亚大学的研究性项目,创建了一个使企业能够使用它们内部IT资源(包括服务器.存储系统.网络设备)的开源界面,来建立能够和Amazon EC2兼容的云. “Eucal ...

  8. WPF无边框实现拖动效果

    这是在做弹幕的时候遇到的一个需求 透明背景,拖动弹幕=.= private void Window_MouseLeftButtonDown(object sender, MouseButtonEven ...

  9. sql in(inner join)

    查看执行任务可知,使用in关键字,会进行inner join,找出匹配项  

  10. Code First 连接已有数据库

    连接数据库                 生成结果并没有一个可视化界面(Model First有)     其他 连接数据库之后,可以采用migration管理第一次add-migration XX ...