第6天【egrep、bash环境配置及脚本、vim编辑器】
bash环境配置及脚本(02)_recv
bash环境配置及脚本(02)_recv
bash环境配置文件:
按生效范围划分,存在两类:
全局配置:
/etc/profile
/etc/bashrc
个人配置:
~/.bash_profile
~/.bashrc
按照功能划分:存在两类
Profile类:为交互式登陆的shell提供配置
全局:/etc/profile或/etc/profile.d/*.sh
案列:vim /ect/profile
Echo “Welcome , your home is $HOME, note:..”
个人:~/.bash_profile
功用:
1:定义环境变量
2:运行命令或脚本
Bashrc类:为非交互式登陆的shell提供配置
全局:/etc/bashrc
个人:~/.bashrc
功用:
1:定义别名;
2:定义本地变量;
Shell登录的类别:
交互式登录:
直接通过终端输入账号密码登录称为交互式登录
使用su – Username 切换的也称为交互式登录
/etc/profile–>/etc/profile.d/*.sh-->~/.bash_profile à~/.bashrc --> /etc/bashrc
非交互式登录:
Su Username
图形界面下打开的终端,
执行脚本也称为非交互式登录;
~/.bashrc-->/etc/bashrc-->/etc/profile.d/*.sh
问题:
1:定义对所有用户都生效的别名?
Vim /etc/bashrc
2:让用户的PATH环境变量的值多出一个路径,例如/usr/local/apache2/bin
Export PATH=/usr/local/apache2/bin
vim编辑器(03)_recv
vim:模式化的编辑
基本模式:
编辑模式,命令模式
输入模式
末行模式
打开文件:
Vim [OPTION]…FILE…
+#:打开文件后,直接让光标处于跳转最后一行的行首
Vim + /etc/passwd
+/pattern:打开文件后,直接让光标处于第一个被pattern匹配到的行首;
模式转换:
编辑模式-->输入模式
i:insert,光标所在处输入;
a:append,在光标处的后边输入;
o:在当前光标所在行的下方打开一个新行;
I:在当前光标所在行的行首
A: 在当前光标所在行的行尾
O:在当前光标所在行的上方打开一个新行;
c:
C:
关闭文件:
:q 退出
:q! 强制退出,丢弃做出的修改
:wq 保存退出
:x 保存退出
:w /path/to/somewhere
ZZ:在命令模式下保存退出
光标跳转:
字符间跳转:
h,j,k,l
h:左
l:右
k:上
j:下
#COMMAND:10l 跳转由#指定个数的字符;
单词之间跳转:
w:下一个单词的词首
e:跳转至下一个单词的词尾
b:当前或前一个单词的词首
行首行尾跳转:
^:跳转至行首的第一个非空白字符
0:跳转至行首
$:跳转至行尾
行间移动:
#G:跳转至有#指定行;#代表数字
G:最后一行
gg或者1g:跳转行首
句间移动;
)
(
段落间移动:
}
{
Vim的编辑命令:
字符编辑:
x:删除光标处的字符
#x:删除光标处起始的#个字符;
xp:交换光标所在处的字符及其后面字符的位置
删除命令:
d:删除命令,可结合光标跳转字符,实现范围删除;
d$:删除光标当后的所有字符;
d^:删除光标当前的所有字符;
dd:删除所在行的整行;
粘贴命令:(p)
P:大写P:缓冲区存在的如果为整行,则粘贴当前光标所在行的上方,否则,则粘贴至当前光标所在处的前面;
p:小写p:缓冲区存在的如果为整行,则粘贴当前光标所在行的下方,否则,则粘贴至当前光标所在处的后面;
DD删除之后p;相当于粘贴
复制命令(y)
y:复制
其他编辑操作:
可视化模式:
V:按行选定;选择整行复制或者删除
v:按字符选定;自定义复制或者删除行
撤销此前的编辑:默认50次
u:撤销此前的操作:
#u:撤销指定次数的操作;
撤销此前的撤销:
Ctrl+r
翻屏操作:
Ctrl+f:向文件尾部翻一屏;
Ctrl+b:向文件首部翻一屏;
Ctrl+d:向文件尾部翻半屏;
Ctrl+u:向文件首部翻半屏;
Vim中的末行模式:
内建的命令行接口:
1:地址定界
:start_pos,end_pos
#:具体第#行,例如2表示第二行
#,#:从左侧#表示起始,到右侧#表示行结尾;
#,+#:从左侧#表示行的起始,加上右侧#表示的行;
.:当前行
$:最后一行
.,$-1
%:表示全文,相当于1,$;
:1,20w /tmp/vim.txt 将范围内的行另存至指定文件中;
:r /etc/fstab 在指定位置插入指定文件中的所有内容
2:查找
/PATTERN :从当前光标所在处向文件尾部查找。
?PATTERN :从当前光标所在处向文件首部查找;
N:与命令反方向
n:与命令同方向
3:查找并替换
s:在末行模式下完成查找替换操作
s#要查找的内容/替换为的内容/修饰符
%s/UUID/uuid
要查找的内容:可以使用模式
替换为的内容:不能使用模式
练习:
1:复制/etc/grub2.cfg至/tmp/目录,用查找替换命令删除/tmp/grub2.cfg文件中的空白字符;
:%s/^[[:space:]]\+//
2:复制/etc/rc.d/init.d/functions文件至目录,用查找替换命令为/tmp/functions的每行开头为空白字符的行首添加一个#号
:%s/^[[:space:]]/#&/
多文件模式:
Vim file1 file2 file3 …
Vim /mnt/{ file1 file2 file3}
:next 下一个
:Prev 前一个
:first 第一个
:last 最后一个
:wall 保存所有
:qall 退出所有
:wqall
窗口分割模式:
Vim –o file1 file2 ….
-o:水平分割
-O:垂直分割
在窗口间切换:crtl+w,
单文件窗口分割:
Vim /mnt/fstab
Ctri+w,s:split,水平分割
Ctrl+w,v:vertical,垂直分割
定制vim的工作特性;
配置文件:永久有效
全局:/etc/vimrc
个人:~/.vimrc /不存在的需要自己创建
如:显示行号 set number
末行:当前vim进程有效
1:行号
显示:set number ,简写set nu
取消显示:set nonumber,简写:set nonu
2:括号匹配
匹配:set showmatch,简写:set set sm
取消:set nosm
3:自动缩进
开启:Set ai
禁用:set noai
4:高亮搜索
启用:set hisearch
禁用:set nohisearch
5:忽略字符大小写
启动:set ic
禁用:set noic
vim编辑器和bash条件测试(04)_recv
使用centos 7测试;
bash条件测试:
文件测试:
存在性测试:
-e FILE :文件存在性测试,存在为真,否则为假
测试:[ -e /etc/grub.conf ]
存在性及类别测试:
-b FILE:是否存在且为快设备文件
测试:[-b /etc/grun2.cfg] echo $?
测试:[ -b /dec/sda ] echo $?
-c FILE:是否存在且为字符设备文件
-d FILE:是否存在且为目录文件;
-f FILE:是否存在且为普通文件;
-h FILE:存在且为符号链接文件;
-p FILE:是否存在且为命名管道文件;
-S FILE:是否存在且为套接字文件;
文件权限测试:
-r FILE:是否存在且可读;
-w FILE:是否存在且可写;
-x FILE:是否存在且可执行;
文件特殊权限测试:
-g FILE:是否存在且为拥有SGID权限;
-u FILE:是否存在且为拥有SUID权限
-k FILE:是否存在且拥有sticky权限;
文件大小测试:
-s FILE:是否存且非空;
组合测试条件:
逻辑运算:
两种方式:
第一种方式:
COMMAND1 && COMMAND2 并且
COMMAND1 || COMMAND2 或者
! COMMAND 非
第6天【egrep、bash环境配置及脚本、vim编辑器】的更多相关文章
- bash 环境配置及脚本
bash是 Bourne Again Shell简称 ,从unix系统的sh发展而来 查看当前shellecho $SHELL查看系统支持的shellcat /etc/shells cd /binls ...
- PHP_环境配置_python脚本_2017
Apache配置 需要安装:VC2015 httpd-2.4.16-win32-VC14.zip VC14就是2015的环境. 又比如:php-5.6.12-Win32-VC11-x86 VC11就是 ...
- 学习bash——环境配置
一.环境配置文件的重要性 Bash在启动时直接读取这些配置文件,以规划好bash的操作环境. 即使注销bash,我们的设置仍然保存. 二.login shell 通过完整的登录流程取得的bash,称为 ...
- source 命令的用法,是在当前bash环境下执行脚本文件
原文: http://www.cnblogs.com/softwaretesting/archive/2012/02/13/2349550.html source命令用法: source FileNa ...
- 新环境配置与使用Vim指南
1.下载源码 git clone git@github.com:vim/vim.git 2.编译 1.安装依赖软件 sudo apt-get install libncurses5-dev libgn ...
- go语言的安装及环境配置
Go语言开发环境搭建(ubuntu) 1.清理.卸载之前的 go 语言环境: 删除go目录:sudo rm -rf /usr/local/go 删除软链接(如果建立了软链接):sudo rm -rf ...
- [PY3]——环境配置(1)——pyenv | pip | ipython | jupyter(含安装pyenv环境shell脚本)
1.关于pyenv (1)pyenv是一个开源的.shell脚本编写的工具:Simple Python version management (2)为什么使用pyenv:当多个项目同时在开发与维护时, ...
- Mac下golang开发环境配置
go语言在开发效率和运行效率中的优势让很多人青睐,所以有倾向打算转向go语言的开发. 下面介绍在Mac OS X中golang的开发环境配置. 1.安装brew brew是一个mac下的由ruby开发 ...
- 转[开发环境配置]在Ubuntu下配置舒服的Python开发环境
在Ubuntu下配置舒服的Python开发环境 Ubuntu 提供了一个良好的 Python 开发环境,但如果想使我们的开发效率最大化,还需要进行很多定制化的安装和配置.下面的是我们团队开发人员推荐的 ...
随机推荐
- SparkML之推荐引擎(一)---电影推荐
本文将使用 SparkML 来构建推荐引擎. 推荐引擎算法大致分为 基于内容的过滤.协同过滤.矩阵分解,本文将使用基于属于矩阵分解的 最小二乘法 算法来构建推荐引擎. 对于推荐引擎模块这里将分为两篇文 ...
- IO流的总结(一)
IO流的介绍: 其实在我们现实生活中有很多流,例如:水流,电流,气流 等等都是是流,但在Java中IO流是指对数据的操作的流. 按照流的分类: 1:字节流和字符流 Reader和InputStrea ...
- css3动态计算元素的高度及宽度
1.px 像素,我们在网页布局中一般都是用px. 2.百分比 百分比一般宽泛的讲是相对于父元素,自适应网页布局越来越多,百分比也经常用到了 3.Viewport 当已知一个div的高度 ...
- HTTPS学习笔记一----HTTPS的基础理论知识
首先推荐一本书,<HTTP权威指南>我就是看这本书入门的,对http协议有了更好的理解,学习https的理论知识我认为需要了解以下几点,需要一步步的深入学习: 1.HTTPS的基本概念? ...
- CentOS 7 源码编译vim8+vimplus
安装依赖包 [root@DaMoWang ~]# yum -y install git \ centos-release-scl \ gcc-c++ \ ncurses-devel \ python- ...
- ReportViewe调用Reporting Services报表时报错Session超时
序列化问题加上[Serializable]即可 /// <summary> /// 报表身份授权重写 /// </summary> [Serializable] public ...
- 《CSS世界》读书笔记(二)
<!-- <CSS世界> 张鑫旭著 --> 块级元素:水平流上只能单独显示一个元素 <li>元素默认的display值是list-item,是块级元素 块级盒子( ...
- 外网访问内网Elasticsearch WEB
外网访问内网Elasticsearch WEB 本地安装了Elasticsearch,只能在局域网内访问其WEB,怎样从外网也能访问本地Elasticsearch? 本文将介绍具体的实现步骤. 1. ...
- linux系统(rpm与deb环境),JAVA JDK的配置
步骤一:(配置 JAVA JDK DEB系列linux系统) 1,下载JAVA JDK 1.1.官网下载java JDK (最好为1.7及以上版本) 下载地址http://www.oracle.co ...
- elasticsearch best_fields most_fields cross_fields从内在实现看区别——本质就是前两者是以field为中心,后者是词条为中心
1.最佳字段(Best fields):: 假设我们有一个让用户搜索博客文章的网站(允许多字段搜索,最佳字段查询),就像这两份文档一样: PUT /my_index/my_type/1 { " ...