Chinaunix首页 | 论坛 | 博客
  • 博客访问: 32601
  • 博文数量: 17
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 186
  • 用 户 组: 普通用户
  • 注册时间: 2023-06-22 08:56
文章分类

全部博文(17)

文章存档

2023年(17)

我的朋友

分类: LINUX

2023-06-22 10:32:24

17.Linux文本编辑及计划任务讲解
1.Linux文本编辑器的介绍
2.Linux如何使用VI进行文本编辑
3.Linux计划任务的介绍
4.Linux计划任务crontab的使用






笔记:


1.Linux文本编辑器的介绍
Linux操作系统中,不像win可以手鼠标打开文件进行编辑,而是用命令进行操作,而Linux系统上主要用vi/vim进行文本的编辑。


所有的Linux/UNIX都会默认安装vi,现在主流的Linux都会给默认安装vim。


vim/vi是一个功能强大的全屏幕文本编辑器,是Linux/UNIX上{BANNED}最佳常用的文本编辑器,它的作用是建立、编辑、显示文本文件,vi几乎支持所有的语言。


vim/vi没有菜单,只有命令。
三种模式:
A.命令模式(光标移动,字符删除等操作)
B.输入模式(insert下写文件内容等操作)
C.末行模式(保存退出,查找字符等操作)






2.Linux如何使用VI进行文本编辑
编辑文本的操作: vi 1.txt


以下是常用的命令:
A.命令 dd/ndd 整行删除。如:5dd 表示删除5行
B.命令 yy/nyy 整行复制。如:4yy 表示从当前行起复制4行
C.命令 p(小写)/P(大写)粘贴。p在光标所在行后,P在前粘贴。
D.命令 /查找字符命令。如:/free 表示在文件中找free字符。
E.命令 .表示重复上一条命令
F.命令 u表示撤销
G.命令 :q退出不保存; :wq退出保存; !q强制退出不保存。
L.命令 diff 文件1 文件2 表示比较连个文件的区别
M.pagedown /pageup 翻页显示文件中内容
N.ctrl+d 向前翻半屏
ctrl+u 向后翻半屏
ctrl+f 向前翻一屏
ctrl+b 向后翻一屏


H.命令:g/旧字符/s//新字符/g 表示文件中所有字符替换。
如::g/root/s//abc/g 表示把文件中root用abc替换


I.命令:g/要删除的字符/s///g 表示删除文件中字符
如: :g/abc/s//abc/g  表示把文件中abc字符全部删除


J.命令:s/旧字符/新字符/g  表示文件中当前行字符替换。
如: :s/abc/bcd/g 表示把文件中光标所在行的abc用bcd替换


K.命令 vi -o 文件1 文件2  表示同时显示两个文件
如:vi -o a.txt b.txt (用ctrl+w 切换两个文件窗口)




编辑文本的操作:vi 1.txt
以下是所有的命令:  插入命令:
命令 作用
a 在光标后附加文本
A 在本行行尾附加文本
i 在光标前插入
I 在本行行首插入文本
o 在光标下面插入新的一行
O 在光标上面插入新的一行




定位命令:
命令 作用
h 左移一个字符
j 下移一行
j 上移一行
l 右移一个字符
$ 移动到行尾
0 移动到行首


H 移动到屏幕上端
M 移动到屏幕中央
L 移动到屏幕下端


快速定位:
命令 作用
:set nu     显示行号
:set nonu   取消行号


gg 移动到{BANNED}中国第一行
G 移动到{BANNED}最佳后一行
nG 到第n行
:n 到第n行




删除命令:
x 删除光标所在字符
nx 删除n个字符
dG 删除所在光标所在行,ndd删除n行
D 删除光标所在处到行尾的内容
:n1,n2d 删除n1~n2行


复制命令:
yy,Y 复制当前行
nyy,nY 复制n行
dd 剪切当前行,ndd剪切当前行及一下的n行
p 粘贴在当前行下
P(大写) 粘贴在当前行上


替换或取消命令:
r 取代光标所在处字符
R 从光标所在处开始替换字符,直到Esc结束
u 取消上一步操作,首先你没有保存过,文档还是在内存中,还没有同步到硬盘


替换或搜索命令:
/string 向后搜索指定字符串,搜索时忽略大小写:set ic ,取消:set noic
n 从前往后翻
N 从后往前翻




:%s/old/new/g 全文替换指定字符串,old为需要替换的关键词 
:n1,n2s/old/new/g 在一定范围内替换指定字符串
:%s/old/new/c 全文替换指定字符串,但是会询问



保存与退出:
ZZ :wq的快捷键
:w new_filename 另存为指定文件
:wq! 强行保存修改并退出[root/文件所有者]
:q! 不保存退出


set nocompatible "不使用vi默认键盘布局
set number "显示行号
set autoindent "自动对齐
set smartindent "智能对齐
set showmatch "括号匹配模式
set ruler "显示状态行
set incsearch "查询时非常方便,如要查找book单词,当输入到/b时,会自动找到{BANNED}中国第一个b开头的单词,当输入到/bo时,会自动找到{BANNED}中国第一个b开头的单词,依此类推,进行查找时,使用此设置会快速找到答案,当你找要匹配的单词时,别忘记回车。


set tabstop=4 "tab键为4个空格
set shiftwidth=4 "换行时行间交错使用4个空格
set softtabstop=4 "设置(软)制表符宽度为4
set cindent "C语言格式对齐
set nobackup "不要备份文件
set clipboard+=unnamed "与Windows共享剪贴板














3.Linux计划任务的介绍
Linux下面很多任务如果人工去执行,是一件比较费时费力的事,这就有了计划任务,就是把人工做的事情自动化,让系统来调度,自动完成我们要做的事。


Linux计划任务,分为一次性任务at、周期性任务crontab两种。平时用的{BANNED}最佳多就是crontab了。


一次性计划任务(平时用的少,这里简单说下)
at命令 #功能:安排一个/几个命令在指定时间(时刻)运行一次
at使用范例:
I.交互方式: 
at 9:00


II.使用脚本文件方式
1、生成at.script文件
2、使用at命令
at -f at.script 9:00 1/11/11 或者  at < at.script 9:00

周期性计划任务(平时主用)
crontab命令,作用:用于生成cron进程所需要的crontab文件,提供
周期性自动任务。


1、语法格式:crontab {-l|-r|-e}
-l 显示当前的crontab内容
-r 删除当前的crontab[全部清楚,并不建议用]
-e 使用编辑器编辑当前的crontab文件。
2、crontab文件格式
[minute hour day-of-month month-of-year day-of-week commands  ]
[ 分     时     日          月             星期     命令/脚本 ]
Minute 一小时中的哪一分钟[0~59]
hour 一天中的哪个小时[0~23] 【24小时制】
day-of-month 一月中的哪一天[1~31]
month-of-year 一年中的哪一月[1~12]
day-of-week 一周中的哪一天[0~6]
commands 执行的命令
【分钟:*/2    :每隔两分钟】
【小时:*/1:每隔一个小时 12-14  :12点到14点】


3、crontab文件案例
【把知道的具体的都时间值添上,把不知道的时间值都填*】
{BANNED}中国第一种: 0 22 * * * su -oracle -c /oracle/backup.sh
第二种: */2 12-14 * 3-6,9-12 1-5 /bin/bash /root/cron.script >
/dev/null 2> /root/cron.err


4、书写注意事项:
01.时间值选都不能为空,必须填入
02.不知道/不需要制定的项目的值使用通配符*表示任何时间
03.每个时间字段都可以指定多个值,不连续的值用","间隔连续的值用"-"间隔。 
04.命令应该给出绝对路径
05.用户必须具有运行所对应的命令或程序的权限
06.计划任务还应保存一些额外的信息,如出错信息等


5、crontab的配置文件
crontab的配置文件:/etc/crontab


cron配置文件:限制哪些用户可以使用crontab命令,作用与at相同
/etc/cron.allow、/etc/cron.deny


crontab文件建立好后,可以在/var/spool/cron/目录中找到,可以查看文件的内容:
more /var/spool/cron/root,得到的信息也可以用:crontab -l


如果crod没有启动,需手动启动:/etc/rc.d/init.d/crond start
atd、crond计划任务,每隔一分钟,从睡眠中醒来并检查是否有需要执行的任务








阅读(622) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~