Hacker基础之Linux篇:基础Linux命令五

本文介绍Vi/Vim编辑器的基本使用方法及其与Vi的区别,并讲解了head、tail、more等文本处理命令的功能与应用实例。

vi

vi命令是UNIX操作系统和类UNIX操作系统中最通用的全屏幕纯文本编辑器。

Linux中一般默认安装的的编辑器叫vi,而vimvi的增强版(vi Improved),很多发行版需要用户自己安装,但是vimvi编辑器完全兼容,但是vim实现了更多的增强功能。

这里如果详细的讲解vi的话,估计可以出一本书了,所以我们这里只给vi命令开个入门的教程

vi命令使用介绍:
命令格式:vi [选项] [参数]
命令功能:编辑模式下可以完成文本的编辑功能,命令模式下可以完成对文件的操作命令
命令的常用参数选项说明:
+   从指定行号的行开始先是文本内容
-b   以二进制模式打开文件,用于编辑二进制文件和可执行文件
-c    在完成对第一个文件编辑任务后,执行给出的指令
-d    以diff模式打开文件,当多个文件编辑时,显示文件差异部分
-l     使用lisp模式,打开lisp和showmatch
-m   取消写文件功能,重设“write”选项
-M   关闭修改功能
-n    不实用缓存功能
-o    指定同时打开指定数目的文件
-R    以只读方式打开文件
-s    安静模式,不现实指令的任何错误信息

一般的用途基本就是在编辑文本上

a.比如我们要编辑一个httpd.conf文件

vi /etc/httpd/conf/httpd.conf

执行完这个之后,你就会全屏进入一个界面,我们按i来进入输入模式开始输入内容,然后按esc返回命令模式,最后在命令模式下用如下命令保存修改并退出

:wq

b.或者当你只想查看这个文件,并不想改变它,当然,最后的建议是用catmore指令,但是我们已经可以用vi做到这一点

vi -R /etc/httpd/conf/httpd.conf

退出是一样的

esc
:q

这个命令大概就只讲到这里了,深入的讲解看哪天有时间,因为vi本身就是一个相当大的操作指南

head&tail

headtail就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块,head用来显示档案的开头至标准输出中,而tail想当然尔就是看档案的结尾。

这里我们把两个命令合在一起介绍了,因为都差不多

head & tail命令使用介绍:
命令格式:
head [参数] [文件]
tail    [参数] [文件]
命令功能:用来显示开头或结尾某个数量的文字区块
命令的常用参数选项说明:
-q  隐藏文件名
-v  显示文件名
-c  显示字节数
-n  显示的行数
-f   循环读取(tail专用)

一般用途就是你不想在你的屏幕上都输满了所有的内容,只想查看那么几行内容的时候

a.我们想查看文件的前5行

head -n 5 index.php
或者文件的后5行数据
tail -n 5 index.php

b.或者你只想查看前10个字符的内容

head -c 10 index.php

或者文件的后10个字符串

tail -c 10 index.php

c.其中,tail还有个有趣的用法,就是-f选项

比如我们正在运行调试着某个程序,而这个程序是将log文件输出到某个文件,假设为test.log中,我们如果用vi或者cat之类的命令的话,如果有新的log写入文件中的时候,我们就没法实时获得最新的log信息,除非你关闭这个文件然后再次打开

这时候我们就可以用这个-f选项了

我们如下使用

tail -f test.log

tail命令就会一直循环输出这个文件的内容,即使有新的内容进来,也可以马上就显示在屏幕上

more

more命令,功能类似cat

cat命令是整个文件的内容从上到下显示在屏幕上。

more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空格键(space)就往下一页显示,按b键就会往回(back)一页显示,而且还有搜寻字串的功能。

需要注意的是,more命令从前向后读取文件,因此在启动时就加载整个文件。

如果你的文件很大,很有可能造成系统的死机。


more命令使用介绍:
命令格式:more [-dlfpcsu ] [-num ] [+/ pattern] [+ linenum] [file ... ]
命令功能:可以按页来查看文件的内容
命令的常用参数选项说明:
+n   从笫n行开始显示
-n    定义屏幕大小为n行
+/pattern 在每个档案显示前搜寻该字串(pattern),然后从该字串前两行之后开始显示  
-c     从顶部清屏,然后显示
-d     禁用响铃功能
-l      忽略Ctrl+l(换页)字符
-p     通过清除窗口而不是滚屏来对文件进行换页,与-c选项相似
-s      把连续的多个空行显示为一行
-u     把文件内容中的下画线去掉

more常用的操作:
enter    向下n行,需要定义,默认为1行
ctrl+f   向下滚动一屏
space   向下滚动一屏
ctrl+b  返回上一屏
=          输出当前行的行号
:f        输出文件名和当前行的行号
v          调用vi编辑器
!command     调用shell,并执行命令 
q           退出more

常用的命令如下

a.显示第三行起的文件

more +3 httpd.conf

b.在文件中查找出现allow并且显示在前两行

more +/allow httpd.conf

c.有时候我们执行ls时候,一个目录下面的文件太多,瞬间就刷新了好多次屏幕,但是我们想看目录中的第一个文件是什么,我们可以这样

ls -il | more
中间那个|是管道符,用于将第一个命令的输出结果作为输入给第二个命令
本课题设计了一种利用Matlab平台开发的植物叶片健康状态识别方案,重点融合了色彩与纹理双重特征以实现对叶片病害的自动化判别。该系统构建了直观的图形操作界面,便于用户提交叶片影像并快速获得分析结论。Matlab作为具备高效数值计算与数据处理能力的工具,在图像分析与模式分类领域应用广泛,本项目正是借助其功能解决农业病害监测的实际问题。 在色彩特征分析方面,叶片影像的颜色分布常与其生理状态密切相关。通常,健康的叶片呈现绿色,而出现黄化、褐变等异常色彩往往指示病害或虫害的发生。Matlab提供了一系列图像处理函数,例如可通过色彩空间转换与直方图统计来量化颜色属性。通过计算各颜色通道的统计参数(如均值、标准差及主成分等),能够提取具有判别力的色彩特征,从而为不同病害类别的区分提供依据。 纹理特征则用于描述叶片表面的微观结构与形态变化,如病斑、皱缩或裂纹等。Matlab中的灰度共生矩阵计算函数可用于提取对比度、均匀性、相关性等纹理指标。此外,局部二值模式与Gabor滤波等方法也能从多尺度刻画纹理细节,进一步增强病害识别的鲁棒性。 系统的人机交互界面基于Matlab的图形用户界面开发环境实现。用户可通过该界面上传待检图像,系统将自动执行图像预处理、特征抽取与分类判断。采用的分类模型包括支持向量机、决策树等机器学习方法,通过对已标注样本的训练,模型能够依据新图像的特征向量预测其所属的病害类别。 此类课题设计有助于深化对Matlab编程、图像处理技术与模式识别原理的理解。通过完整实现从特征提取到分类决策的流程,学生能够将理论知识与实际应用相结合,提升解决复杂工程问题的能力。总体而言,该叶片病害检测系统涵盖了图像分析、特征融合、分类算法及界面开发等多个技术环节,为学习与掌握基于Matlab的智能检测技术提供了综合性实践案例。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值