专栏首页玄魂工作室Hacker基础之Linux篇:基础Linux命令五

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

1. vi

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

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

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

vi命令使用介绍: 命令格式:vi [选项] [参数]

命令功能:编辑模式下可以完成文本的编辑功能,命令模式下可以完成对文件的操作命令

命令的常用参数选项说明:

+ 从指定行号的行开始先是文本内容

-b 以二进制模式打开文件,用于编辑二进制文件和可执行文件

-c 在完成对第一个文件编辑任务后,执行给出的指令

-ddiff模式打开文件,当多个文件编辑时,显示文件差异部分

-l 使用lisp模式,打开lispshowmatch

-m 取消写文件功能,重设“write”选项

-M 关闭修改功能

-n 不实用缓存功能

-o 指定同时打开指定数目的文件

-R 以只读方式打开文件

-s 安静模式,不现实指令的任何错误信息

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

1

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

vi /etc/httpd/conf/httpd.conf

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

:wq

2

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

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

退出是一样的

esc

:q

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

2. head & tail

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

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

head & tail命令使用介绍: 命令格式:

head [参数] [文件]

tail [参数] [文件]

命令功能:用来显示开头或结尾某个数量的文字区块

命令的常用参数选项说明:

-q 隐藏文件名

-v 显示文件名

-c 显示字节数

-n 显示的行数

-f 循环读取(tail专用)

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

1

我们想查看文件的前5行

head -n 5 index.php

或者文件的后5行数据

tail -n 5 index.php

2

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

head -c 10 index.php

或者文件的后10个字符串

tail -c 10 index.php

3

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

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

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

我们如下使用

tail -f test.log

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

3. 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

常用的命令如下

1

显示第三行起的文件

more +3 httpd.conf

2

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

more +/allow httpd.conf

3

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

ls -il | more

中间那个|是管道符,用于将第一个命令的输出结果作为输入给第二个命令

本文完

本文分享自微信公众号 - 玄魂工作室(xuanhun521),作者:初音

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-04-03

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Hacker基础之Linux篇:基础Linux命令三

    我们继续学习Linux 1. find find命令用来在指定目录下查找文件,任何位于参数之前的字符串都将被视为欲查找的目录名。 如果使用该命令时,不设置任何参...

    用户1631416
  • Hacker基础之Linux篇:基础Linux命令九

    在Linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件

    用户1631416
  • Hacker基础之Linux篇:基础Linux命令一

    这一部分主要是讲解Linux常用命令工具,比如文件管理,文本处理等等,主要是为了让读者用最少的实践掌握和熟练应用基本的Linux操作,对于每个命令的举例,尽量做...

    用户1631416
  • 2016企业软件市场五大预测

    又到了每年的岁尾,回顾和展望已经成为媒体的一个惯历,2016年企业软件市场又有哪些变化值得关注呢?特别是当移动互联网的触角遍布我们生活的方方面面的时候,软件也发...

    人称T客
  • 【基础干货】Linux Shell基础教程

    shell,也称为“命令行界面”或“CLI”,是与远程Linux服务器交互的主要方法。shell是一个丰富的界面,用于处理文件,管理系统和编写常见任务脚本。如果...

    小皇帝James
  • 这145家企业将颠覆资本市场!

    从前台到后台,一批新兴的资本市场科技型企业正试图将数字化技术应用于传统金融业务中。 近十年来,科技一直在推动资本市场的转型,但是传统资本市场企业应用新兴技术的...

    点滴科技资讯
  • LintCode 删除数字题目分析代码

    给出一个字符串 A, 表示一个 n 位正整数, 删除其中 k 位数字, 使得剩余的数字仍然按照原来的顺序排列产生一个新的正整数。

    desperate633
  • 如何构建成功的云迁移计划

    采用云计算的好处可能会使组织的所有资源看起来都应立即迁移。无可否认,在某些情况下,公共云平台可以为组织带来巨大的好处。但是在其他情况下,云迁移可能没有意义。

    CloudBest
  • Bison详解连连支付集成

    Bison
  • 从零开始搭建前端数据监控系统(二)-前端性能监控方案调研

    1. 业界案例 目前前端性能监控系统大致为分两类:以GA为代表的代码监控和以webpagetest为代表的工具监控。 代码监控依托于js代码并部署到需监控的页面...

    寒月十八

扫码关注云+社区

领取腾讯云代金券