一、查看文件命令
1)浏览文件less
默认查看文件的前 10 行。
less /etc/services
##功能说明:
#1.默认打开首屏内容
#2.按【回车】按行访问
#3.按【空格】按屏访问
#4.【从上向下】搜索用/111,搜索包含111的内容,此时按n继续向下搜,按N反向上搜。
#5.【从下向上】搜索用?111,搜索包含111的内容,此时按n继续向上搜,按N反向下搜。
#6.按【q】字母退出文件
2 ) 查看文件头部内容head
#1.默认查看文件的前10行。
[root@oldboyedu ~]# head /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
#2.查看前两行
[root@oldboyedu ~]# head -n 2 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
##简单写法
[root@oldboyedu ~]# head -2 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
3) 查看文件尾部内容tail
默认查看文件的后10行。
#1.默认查看文件的后10行。
[root@oldboyedu ~]# tail /etc/passwd
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:998:User for polkitd:/:/sbin/nologin
tss:x:59:59:Account used by the trousers package to sandbox the tcsd
daemon:/dev/null:/sbin/nologin
abrt:x:173:173::/etc/abrt:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
chrony:x:998:996::/var/lib/chrony:/sbin/nologin
oldboy:x:1000:1000::/home/oldboy:/bin/bash
#2.查看后两行
[root@oldboyedu ~]# tail -n 2 /etc/passwd
chrony:x:998:996::/var/lib/chrony:/sbin/nologin
oldboy:x:1000:1000::/home/oldboy:/bin/bash
##简单写法
[root@oldboyedu ~]# tail -2 /etc/passwd
chrony:x:998:996::/var/lib/chrony:/sbin/nologin
oldboy:x:1000:1000::/home/oldboy:/bin/bash=
4) 过滤文件内容grep(三剑客老三)
#1.过滤出包含root的行(按行过滤)
[root@oldboyedu ~]# grep root /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
##带双引号是标准的写法
[root@oldboyedu ~]# grep "root" /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
#2.过滤出不包含root的行(-v)
#a)先生成3行内容到oldboy.txt,用作练习
[root@oldboyedu ~]# head -3 /etc/passwd >oldboy.txt
[root@oldboyedu ~]# cat oldboy.txt
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
#b)过滤包含root的行
[root@oldboyedu ~]# grep root oldboy.txt
root:x:0:0:root:/root:/bin/bash
#c)过滤不包含root的行
[root@oldboyedu ~]# grep -v root oldboy.txt
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin#3.对过滤出的内容显示[在源文件中]的行号(-n)
[root@oldboyedu ~]# grep -v -n root oldboy.txt
2:bin:x:1:1:bin:/bin:/sbin/nologin
3:daemon:x:2:2:daemon:/sbin:/sbin/nologin
#选项组合写法
[root@oldboyedu ~]# grep -vn root oldboy.txt
2:bin:x:1:1:bin:/bin:/sbin/nologin
3:daemon:x:2:2:daemon:/sbin:/sbin/nologin
#4.不区分大小写过滤(-i)
#a.数据准备
[root@oldboyedu ~]# cat oldboy.txt
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
#b.追加大写ROOT到文件里
[root@oldboyedu ~]# echo "ROOT" >>oldboy.txt
[root@oldboyedu ~]# cat oldboy.txt
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
ROOT
#c.正常过滤包含root的行
[root@oldboyedu ~]# grep root oldboy.txt
root:x:0:0:root:/root:/bin/bash
#d.不区分大小写过滤包含root的行
[root@oldboyedu ~]# grep -i root oldboy.txt
root:x:0:0:root:/root:/bin/bash
ROOT
grep 筛选总结
1. 直接过滤,就是过滤出想要的内容。
2.-v 反选,过滤当前内容以外的内容。
3.-n 对过滤的内容显示在源文件中的行号。
4.-i 不区分大小写过滤。
二、修改文件内容命令
1、echo写入文件
(配合>或>>实现的修改文件内容)
#1.接什么内容就输出什么内容
[root@oldboyedu ~]# echo 123
123
[root@oldboyedu ~]# echo "oldboy" ##标准用法
oldboy
#2.将oldboy字符串输入到oldboy.txt里
##把oldboy.txt内容清空,加入oldboy。如果oldboy.txt不存在就创建。
[root@oldboyedu ~]# echo oldboy >oldboy.txt ## >标准输出重定向(清空文件已有内容,存入
输出内容)
[root@oldboyedu ~]# cat oldboy.txt
oldboy#3.将oldboy字符串输入到oldboy.txt里,但是不影响oldboy.txt里面的已有内容
[root@oldboyedu ~]# echo oldboy >>oldboy.txt ## >>标准输出追加重定向(不删除任何内容,
只在文件结尾加入新的内容)
[root@oldboyedu ~]# echo oldboy >>oldboy.txt
[root@oldboyedu ~]# cat oldboy.txt
oldboy
oldboy
oldboy
#4.清空oldboy.txt
[root@oldboyedu ~]# >oldboy.txt ##清空oldboy.txt
[root@oldboyedu ~]# cat oldboy.txt
#5.用一条命令输入多行内容到指定文件里
echo 'oldboy
oldgirl
littleboy
liittgirl'>f.txt
##查看结果
[root@oldboyedu ~]# cat f.txt
oldboy
oldgirl
littleboy
liittgirl
#6.将/etc/passwd的前三行放入到其他文件里
[root@oldboyedu ~]# head -3 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
[root@oldboyedu ~]# head -3 /etc/passwd >a.txt
[root@oldboyedu ~]# cat a.txt
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
[root@oldboy ~]# grep root /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
[root@oldboy ~]# grep root /etc/passwd >a.txt
[root@oldboy ~]# cat a.txt
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
b.cat写入内容到文件结尾
方法1:通过cat交互式输入内容到文件方法2:一条命令输入多行内容到文件
2、vi/vim编辑器
1)vi/vim介绍
vi,相当于 windows 下【记事本】,默认是有的,非常简单,用来改文件内容 ,改配置和写代码不太友 好 。
vim,相当于 windows 下【 notepad++ 】类工具,但是 Linux 默认没有,需要单独安装。
推荐: linux 下 vim 工具,不但可以编辑文本,同时可以用来开发 python,c 语言 ,shell 。
2)安装vim工具
a.查看是否安装
[root@oldboy ~]# rpm -qa vim-enhanced
vim-enhanced-7.4.629-8.el7_9.x86_64
b.安装vim编辑器
如果没有执行下面命令安装
yum install vim-enhanced -y
.VIM三种模式转换图
1、执行vim oldboy.txt进入普通模式,准备编辑文件。
2、进入编辑模式,不同的命令作用:
i 在当前光标所在处插入文字,推荐只用这一个。
I 在当前所在行的行首第一个非空格符处开始插入文字,和A相反
a 当前光标下一个字符处于编辑模式
A 在当前所在行的行尾最后一个字符处开始插入文字,和I相反
O 在当前所在行的上一行开头处插入新的一行
o 在当前所在行的下一行开头处插入新的一行
真正的编辑模式下和普通记事本操作一样。
特殊写法:vim oldboy.txt +5 #进入后光标直接定位到第五行。
3、按esc键,返回普通模式。
4、普通模式下,输入冒号,进入命令模式。
5、在命令模式下不同字符含义
4)动手练习
vim oldgirl.txt, 增加如下内容,保存后查看 .
I am 28.
I am a beautiful girl.
I like Linux.
w 保存 write
q 退出 quit
! 强制
常用组合操作;
:wq! #<==强制保存退出
:wq #<==保存退出
:q! #<==强制退出不保存
:q #<==退出不保存
vim编辑器快捷键
思路:不需要记忆,只需要会使用。
head /etc/passwd >oldboy.txt
vim oldboy.txt
##行号显示:
显示行号:set nu
取消行号:set nonu
##光标移动:
光标移动到行尾 $
光标移动到行首 0
光标移动到文件尾行开头 G
光标移动到文件开头行行首 gg
当前光标移动到第5行 5gg
光标移动到从当前行开始移动几行 数字[回车]
##编辑内容:
复制当前行 yy
复制当前行及下面n行 nyy #n是数字
粘贴 p #可以切换光标到指定的行按p
回滚 u
删除当前行 dd
删除多行 ndd n是数字
## 搜索内容 : 和 less 命令搜索一样