linux基础学习-第八天

2016-08-08

授课内容:

处理文本的工具sed

vim编辑器

Shell脚本编程基础介绍

sed:sed是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),

接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。默认不编辑原文件,仅对模式空间的文件副本进行处理

sed [option] ‘addresscommand‘ file....

-n:静默模式(不输出模式空间内容的自动打印)

-r:支持扩展正则表达式

-i:原文编辑

-e:多点编辑

‘addresscommand‘:

address:

#:第几行

n,m:第n到第m行

n,$:第n行到最后一行

/pattern/:被此处模式所能够匹配到的每一行(正则表达式)

command:

d:删除

p:打印显示

a \text:在行后面追加文本;支持使用\n实现多行追加

i \text:在行前面追加文本,同样支持使用\n实现多行追加

s///:查找替换,支持使用其它分隔符,[email protected]@@,s###

替换标记:

g: 行内全局替换

p: 显示替换成功的行

w /PATH/TO/SOMEFILE:将替换成功的行保存至文件中

vim编辑器:

visual edit improved

vim [OPTION]... FILE...

+:打开文件时定位在最尾一行

+#:打开文件时定位在第#行内

+/PATTERN:打开文件后,直接让光标处于第一个被PATTERN匹配到的行的行首

–d file1 file2… 比较多个文件

vim编辑多个文件

vim FILE1 FILE2 FILE3

:next 切换至下一个文件

:prev 切换至前一个文件

:last 切换至最后一个文件

:first 切换至第一个文件

vim的模式:

命令模式(command mode):打开文件时的默认模式

编辑模式(edit mode):输入i,I,a,A,o,O时进入的文本编辑模式

扩展命令模式(extended command mode):输入:时的模式

命令模式-->编辑模式:

I:在当前光标所在的行首输入

i:在当前光标所在处输入

A:在光标所在行的行尾处

a:在光标后面处输入

O:在光标的上一行开始处

o: 在光标的下一行开始处

插入模式----> 命令模式

ESC

命令模式----> 扩展模式

:

扩展模式----> 命令模式

ESC

关闭文件:

扩展命令模式下

:q  没有更改文件时退出

:wq 保存退出

:q! 强制不保存退出

:wq! 强制保存退出

命令模式:

ZZ:保存退出

ZQ:不保存退出

命令模式下的光标跳转:

字符间跳转:

h: 左l: 右j: 下k: 上

#COMMAND:跳转由#指定的个数的字符;

单词间跳转:

w:下一个单词的词首

e:当前或下一单词的词尾

b:当前或前一个单词的词首

#COMMAND:由#指定一次跳转的单词数

当前页跳转:

H:页首M:页中间行L:页底

行首行尾跳转:

^: 跳转至行首的第一个非空白字符;

0: 跳转至行首

$: 跳转至行尾

行间移动:

#G、扩展模式:# :跳转至由#指定行

G:最后一行

1G, gg: 第一行

句间移动:

):下一句(:上一句

段落间移动:

}:下一段{:上一段

命令模式操作

字符编辑:

x: 删除光标处的字符;

#x: 删除光标处起始的#个字符

xp: 交换光标所在处的字符及其后面字符的位置

~:转换大小写

删除命令:

d: 删除命令,可结合光标跳转字符,实现范围删除;

dd:删除整行

#dd:shanchu#行

d$: 删除到行尾

d^:删除到非空行首

d0:删除到行首

复制命令(y, yank):

y: 复制,行为相似于d命令

yy:复制整行

y$

y0

y^

粘贴命令(p, paste):

p:缓冲区存的如果为整行,则粘贴当前光标所在行的下方;否则,则粘贴至当前光标所在处的后面

P:缓冲区存的如果为整行,则粘贴当前光标所在行的上方;否则,则粘贴至当前光标所在处的前面

扩展模式:查找

/PATTERN:从当前光标所在处向文件尾部查找

?PATTERN:从当前光标所在处向文件首部查找

n:与命令同方向

N:与命令反方向

s: 在扩展模式下完成查找替换操作

格式:s/要查找的内容/替换为的内容/修饰符

地址定界:

#: 具体第#行,例如2表示第2行;

#,#: 从左侧#表示行起始,到右侧#表示行结尾

#,+#: 从左侧#表示的行起始,加上右侧#表示的行数

:2,+3 表示2到5行

.: 当前行

$: 最后一行

.,$-1 当前行到倒数第二行

%:全文, 相当于1,$

命令模式:撤消更改

u撤销最近的更改

. 重复前一个操作

使用多个窗口浏览

多文件:

vim -o|-O FILE1 FILE2 ...

-o: 水平分割

-O: 垂直分割

在窗口间切换:Ctrl+w, Arrow

单文件:

Ctrl+w,s: split, 水平分割

Ctrl+w,v: vertical, 垂直分割

ctrl+w,q:取消相邻窗口

ctrl+w,o:取消全部窗口

:wqall退出

shell脚本基础:

shell脚本是包含一些命令或声明,并符合一定格式的文本文件

格式要求:首行shebang机制

#!/bin/bash

创建shell脚本的规范:

shell脚本的开头最好写上作者、日期、描述等基本信息,一方面可以方便别人阅读,另一方面也方便自己回顾

#!/bin/bash
#author: 
#Version: 1.0
#Description:This script displays some information about your environment

创建脚本步骤:

第一步:使用文本编辑器来创建文本文件

第一行必须包括shell声明序列:#!

#!/bin/bash

添加注释

注释以#开头

第二步:运行脚本

给予执行权限,在命令行上指定脚本的绝对或相对路径

直接运行解释器,将脚本作为解释器程序的参数运行

#!/bin/bash
#created by:
#date:2016-08-09
#ver:1.0
#DES:test script
echo `date`
echo `cal 08 2016`
[[email protected] ~]# sh first.sh 
Tue Aug 9 09:03:38 CST 2016
August 2016 Su Mo Tu We Th Fr Sa 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
时间: 2024-11-08 23:54:49

linux基础学习-第八天的相关文章

linux基础学习笔记——操作大全

作者:liaoyi 更新时间:2014-6-2 ****************基本操作***************** 关机 shutdown -h now    root用户               init 0              root用户halt      root+一般用户poweroff 重启shutdown -r now    root用户init6     root用户reboot            root+一般用户 注意:1.shutdown 比较灵活,可

c/c++unix/linux基础学习笔记-常用命令和vi的使用

linux 基本命令的使用-命令在ubuntu下面执行,有些命令通用其他linux,有些不通用. 多条命令间用;号隔开,回车后可以一起执行. clear-前屏,pwd显示当前目录,cd跳转目录. sudo [命令]  -ubuntu 下以管理员身份运行命令. 一般情况下,运行当前目录下的程序,要用 ./文件名 执行. 查看当前shell名称:ps 进入另外一个shell,直接输入shell名称:ksh/tcsh/sh/bash,退出一个shell用:exit. 切换shell命令,如:exec

Linux基础学习-crond系统计划任务

系统计划任务 大部分系统管理工作都是通过定期自动执行某个脚本来完成的,那么如何定期执行某个脚本,从而实现运维的自动化,这就要借助Linux的cron功能了. 计划任务分为一次性计划任务和周期性计划任务. 一次性计划任务 每晚11店30分开启网站服务. 周期性计划任务 每周一的凌晨3点30分把/var/www/html目录打包备份为backup.tar.gz 顾名思义,一次性计划任务只执行一次,一般用于满足临时的工作需求,可以使用at命令实现. 如果你的Linux没有此命令可以使用yum inst

linux基础学习【4】

系统进程 一.什么是进程 进程 : 一个正在运行中的程序 程序被触发后,执行者的权限与属性,程序的程序码与所需数据等都会被载入内存中,操作系统会给予这个内存内的单元一个识别码 (PID). 二.查看进程 1.图形方式查看 命令:`gnome-system-monitor` 2.进程查看命令 命令:`ps` ps -A/-e 显示所有(包括不同终端不同用户)进程(PID,TTY,TIME,CMD) ps -a 当前环境中运行的进程,不包含环境信息(PID,TTY,TIME,CMD) ps -u (

linux基础学习【5】

sshd服务,服务管理及文件传输 一.控制服务 1.什么是服务 2.用什么控制服务 系统初始化进程可以进行相应的控制 3.当前系统初始化进程是什么 systemd 系统初始化进程 pstree 显示系统中的进程树 进程树 4.系统控制命令 ssh(client)客户端---->sshd(server)服务器 命令:`systemctl` systemctl status sshd 查看sshd服务的状态inactive(不可用)/active(可用) systemctl start sshd 开

linux基础学习随笔【根本没有排序哈】

直接整:init 3 5 6 0;init 3代表切换到字符界面,5代表切换到图形界面:6表示重启,等同于reboot:0表示关机=poweroff:改主机名:hostnamectl set-hostname centos7.localdomain;[记不住,TAB键补全]查看操作系统linux版本:cat /etc/centos-release;或者通过安装lsb_release -a ;查看内核版本: uname -rlscpu 查看CPU使用情况:lsblk查看硬盘:free - h查看内

linux基础学习四

本次继续学习linux基础命令,包括stat.touch.cp.mv.rm.tree.mkdir.rmdir stat 命令格式 stat [OPTION]... FILE... 命令功能 显示文件的时间戳,即访问时间.修改时间和改变时间 stat [OPTION]... FILE...      [[email protected] ~]# stat newfile       File: `newfile'      Size: 0          Blocks: 0          I

系统管理员-Linux基础学习-第一部分内容。

6月30日前完成Linux的基础部分学习. 包括内容: 马哥的Linux基础教程 鸟哥的Linux私房菜-基础学习篇 第一部分 认识linux及linux主机规划与安装. 课程内容包括: (1)计算机体系架构与linux背景常识 (2)Linux主机规划与安装及vmware.xmanager的使用. (3)启动帮助与开关linux系统及基本操作知识. 具体内容笔记: 第一节:计算机体系架构与linux背景常识 1)计算机组成主要分为五个部分:控制单元.运算单元.存储单元.输入\输出单元. 1.

Linux基础学习路线指导

基础学习路线指南 Centos镜像下载地址 http://mirrors.163.com/centos/6/isos/x86_64/CentOS-6.6-x86_64-bin-DVD1.iso 开源镜像站下载  http://tshare365.com/archives/471.html VMware 安装Centos6  http://tshare365.com/archives/1122.html  (推荐大家使用Centos6) VMware安装Centos7  http://tshare