热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

每天一点学习命令

head命令作用:查看文件的前若干行,默认是看前10行格式:head[选项]路径文件选项:-n#:指定

head命令

作用:查看文件的前若干行,默认是看前10行

格式:

head [选项]   路径/文件

选项:


  • -n #:指定看前几行

案例:

# 准备测试文件
[root@localhost home]# for i in {1..500}; do echo $i >> /home/qq.txt ;done

# 操作示例
[root@localhost home]# head qq.txt       # 看前10行
[root@localhost home]# head -n20 qq.txt   # 看前20行
[root@localhost home]# head -n3 qq.txt   # 看前3行

13)tail命令

作用:查看文件的最后若干行,默认是看最后10行

格式:

tail [选项]   路径/文件

选项:


  • -n #:指定看后几行

14)more命令

作用:实现分屏查看大文件

格式:

more 路径/文件名

操作:


  • 回车:显示下一行

  • 空格:显示下一屏

  • b:显示上一屏

  • /目标字符:在文件中搜索内容

  • n:继续向后进行搜索

  • q:退出

案例:

# 准备测试文件
[root@localhost home]# cp /etc/init.d/functions /home/

15)less命令

作用:实现分屏查看大文件

格式:

less 路径/文件名

操作:


  • 回车:显示下一行

  • 空格:显示下一屏

  • b:显示上一屏

  • /目标字符:在文件中搜索内容

  • n:继续向后进行搜索

  • q:退出

16)wc命令

作用:用于统计文件中有多少行、多少个单词、多少个字符

格式:

wc [选项] 路径/文件名

选项:


  • -l:统计行数 【line】

  • -w:统计单词数【word】

  • -c:统计字符数【character】

案例:

# 准备测试文件
[root@localhost home]# echo "hello boys" >>h.txt
[root@localhost home]# echo "my name is zxhk" >>h.txt

# 用wc统计文件的内容
[root@localhost home]# wc h.txt 2     6     27   h.txt

# 仅仅显示文件的行数
[root@localhost home]# wc -l h.txt
2 h.txt
[root@localhost home]# wc -w h.txt
6 h.txt
[root@localhost home]# wc -c h.txt
27 h.txt


4、vi编辑器

什么是vi


  • linux中一个最重要的文本编辑软件

  • vi是一种模式化的文本编辑工具

vi的工作模式


  • 模式1:编辑模式

    • 这是打开文件后的默认的模式

    • 编辑模式不可以在文件中写入和删除内容

  • 模式2:输入模式

    • 这种模式才可以在文件中写入、修改、删除内容

  • 模式3:末行模式

    • 这种模式可以执行各种的命令,例如保存退出、显示行号

模式转换


  • 编辑模式 --->输入模式 【i】

  • 输入模式--->编辑模式 【ESC】

  • 编辑模式 --->末行模式 【shift+:】

  • 末行模式--->编辑模式 【ESC】

vi的格式

vi   路径/文件名

  • 如果文件是存在的,则直接打开这个文件

  • 如果文件是不存在的,则直接创建一个新的空白文件

编辑模式下的操作


  • yy:复制光标所在的行

  • dd:剪切光标所在的行【也可用于删除效果】

  • p:粘贴

  • /字符:在文件中搜索指定的内容

  • n:继续向后进行搜索

末行模式下的操作


  • w:保存

  • q:退出

  • !:强制执行

  • wq:保存并退出

  • q! 不保存,并强制退出【如果修改了文件,而且要不保存退出,只能用这个组合】

  • set nu:显示行号

  • set nonu:不显示行号

关于文件异常关闭的问题


  • 奔溃缓存文件,这个用于实现将没来及保存的内容恢复出来

  • 每次打开文件都会出现一个警告信息,解决方法是删除崩溃缓存文件即可


5、配置网络

【仅仅实现物理机和虚拟机通信】

1)将虚拟机链接到vmnet8

右击虚拟机,选择 设置,然后选择网络适配器

2)修改vmnet8地址

IP地址格式:


  • 用点进行分割

  • 由4部分构成

  • 每个部分都是0-255之间的数字

子网掩码:


  • 作用:判断两个IP是否在同一个网段【同一频道】

  • 两个IP在同一个网段,那么他们之间就可以通信

规划:为了实现让虚拟机可以和vmnet8通信,就必须让让两者在同一个网段


  • IP地址:192.168.31.x

  • 掩码:255.255.255.0

配置物理机的vmnet8的网卡地址如下

3)配置Linux网络


  • linux的网卡配置文件:/etc/sysconfig/network-scripts/ifcfg-ensXX

[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# ls此处一般会有有个文件ifcfg-ens33,这个就是网卡的配置文件# 修改前,备份原来的文件
[root@localhost network-scripts]# cp ifcfg-ens33 ifcfg-ens33.bak# 用vi编辑网卡配置文件
[root@localhost network-scripts]# vi ifcfg-ens33
# 建议删除部分内容,剩余的如下
TYPE=Ethernet          # 不用修改,这个是指定网络类型是以太网
BOOTPROTO=static       # 修改成static,这个是指定网卡的ip地址获取方式,static表示IP是手动输入
NAME=ens33             # 不用修改,这个是指定网卡的名称
DEVICE=ens33           # 不用修改,这个是指定网卡的名称        
ONBOOT=yes             # 修改成yes,这个是指定网卡在系统启动的时候,自动激活网卡
#上面的改好以后,需要添加两行
IPADDR=192.168.31.101  
NETMASK=255.255.255.0

重启网络服务


  • 修改了网卡配置文件后,必须重启网络服务,修改才会生效

[root@localhost ~]# systemctl restart network

检查网卡是否配置成功

#1 看看linux是否有IP地址
[root@localhost ~]# ifconfig ens33

#2 测试是否可以和物理机的vmnet8地址通信
[root@localhost ~]# ping 192.168.31.100


6、远程登录linux

远程链接Linux的工具


  • xshell

  • putty

  • securityCRT

1)安装xshell


2)使用xshell



7、网络总结


  • 1)需要给虚拟机配置一个IP

  • 2)给物理机的vmnet8配置一个IP

    • 【以上两个IP必须在同一个网段】

  • 3)将虚拟机链接到vmnet8

常见的错误导致网络不通


  • 物理机开了防火墙

  • 两个IP不在同一个网段


7、作业

1)熟练掌握案例中的命令

2)三篇博客:基础命令、vi、配置网络

3)熟练的配置Linux网络,实现和物理机通信


五、正则表达式


1、简介


  • 正则就是一些具有特殊含义的符号

  • 例如:* . ^ $

正则和通配符的区别


  • 通配符主要是针对文件名来使用的,例如找文件夹名是以 a 为开头 就是 a*

  • 正则主要是针对文件的内容来使用,例如找文件以a为开头的行,需要使用的就是正则,答案 a.*


2、grep命令

作用:从文件中过来满足条件的行

格式:grep [选项] 条件 文件名

案例:

#1 创建测试文件
[root@localhost ~]# vim t1.txt
my name is zxhk
i come from hebei
i love linux and python
haha
#test page
hellow world boys
test age # qq 123
asdf asdf qwer q we #

#2 从测试文件中过滤出包含 # 的行
[root@localhost ~]# grep "#" t1.txt

#3 从测试文件中过滤出包含 zxhk 的行
[root@localhost ~]# grep "zxhk" t1.txt


3、正则符号


符号含义举例
.代表任意一个字符
*代表其前面的字符出现任意次数
.*表示任意个任意字符
^表示的是行首部
$表示的是行尾部

案例1:关于 . 的案例

#准备测试文件
[root@localhost ~]# vi t1.txt
my name is zxhk
i cme from hebei
i come from hebei
i ciome from hebei
i cioiame from hebei
i love linux and python
haha
#test page
hellow world boys
test age # qq 123
asdf asdf qwer q we #

#1 过滤出c和m之间有两个字符的行
[root@localhost ~]# grep "c..m" t1.txt

案例2:关于 * 的案例

# 准备测试文件
[root@localhost ~]# cat t2.txt
a
ab
aab
aaab
aaababa
aaaaaabbbaba
b
bb
bbb

#2 过滤出b前面有任意个a的行【0 1 多】
[root@localhost ~]# grep "a*b" t2.txt

案例3:过滤出包含字母 l 和 p 的行,而且l要在前

#准备测试文件
[root@localhost ~]# vi t1.txt
my name is zxhk
i cme from hebei
i come from hebei
i ciome from hebei
i cioiame from hebei
qq lp abcd
qq l   p abcd
qq laaap abcd
haha
#test page
hellow world boys
test age # qq 123
asdf asdf qwer q we #

# 答案
[root@localhost ~]# grep "l.*p" t3.txt

案例:

#准备测试文件
[root@localhost ~]# vi t1.txt
my name is zxhk
i cme from hebei
root i come from hebei
i ciome from root hebei
i cioiame from hebei root
root
qq lp abcd
qq l   p abcd
qq laaap abcd
haha
#test page
hellow world boys
test age # qq 123
asdf asdf qwer q we #

#1 过滤出包含root的行
# 答案1:
[root@localhost ~]# grep "root" t4.txt
# 答案2:
[root@localhost ~]# grep ".*root.*" t4.txt

#2 过滤出以root为开头的行
[root@localhost ~]# grep "^root" t4.txt

#3 过滤出以root为结尾的行
[root@localhost ~]# grep "root$" t4.txt

#4 过滤出仅仅有root的行
[root@localhost ~]# grep "^root$" t4.txt

练习

#1 过滤出以#为开头的行
grep "^#" 文件名

#2 过滤出以#为结尾的行
grep "#$" 文件名

#3 过滤出以a为开头,以b为结尾,中间包含字母c的行
grep "^a.*c.*b$"

#4 过滤出倒数第二个字符是c的行
grep "c.$"

#5 过滤出第二个字符是c的行
grep "^.c"


推荐阅读
author-avatar
爷们郭子
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有