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)

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

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏IT技术精选文摘

文件句柄与文件描述符

1.概述 在实际工作中会经常遇到一些bug,有些就需要用到文件句柄,文件描述符等概念,比如报错: too many open files, 如果你对相关知识一无...

5146
来自专栏零基础使用Django2.0.1打造在线教育网站

零基础使用Django2.0.1打造在线教育网站(十四):用户密码找回

努力与运动兼备~~~有任何问题可以加我好友或者关注微信公众号,欢迎交流,我们一起进步!

2921
来自专栏北京马哥教育

注意!Python中的10个常见安全漏洞及修复方法

编写安全的代码很困难,当你学习一门编程语言、一个模块或框架时,你会学习其使用方法。在考虑安全性时,你需要考虑如何避免代码被滥用,Python也不例外,即使在标准...

1170
来自专栏从零开始学自动化测试

python测试开发django-1.开始hello world!

当你想走上测试开发之路,用python开发出一个web页面的时候,需要找一个支持python语言的web框架。django框架有丰富的文档和学习资料,也是非常成...

1613
来自专栏容器云生态

企业网站架构之Nginx+tomcat+memcached集群

nginx+tomcat+memcached应用 系统环境:RHEL6.4  x64   iptables -F   and selinux is disab...

3078
来自专栏Java帮帮-微信公众号-技术文章全总结

集群间如何实现session共享【面试+工作】

3K8
来自专栏机器学习算法与Python学习

Python:爬虫系列笔记(3) -- urllib库的高级用法

1.设置Headers 有些网站不会同意程序直接用上面的方式进行访问,如果识别有问题,那么站点根本不会响应,所以为了完全模拟浏览器的工作,我们需要设置一些Hea...

3877
来自专栏SpringBoot 核心技术

SpringBoot核心技术:探究Actuator的默认开放节点 & 详细健康状态

系统的监控在分布式的设计中显得尤为重要,因为分开部署的缘故,并不能及时的了解到程序运行的实时状况,之所以重要所以SpringBoot也给我提供了一套自动监控的A...

2473
来自专栏Rovo89

Unix/Linux常用的命令

1905
来自专栏王二麻子IT技术交流园地

二、VueJs 填坑日记之基础项目构建

在上一篇文章中,大致介绍了一下本系列博文以及学习vuejs我们需要了解的一些概念,希望大家认真阅读,所谓知己知彼,百战百胜,学习也一样,工欲善其事,必先利其器,...

2117

扫码关注云+社区

领取腾讯云代金券