1. 检索命令
1.1 检索文件内容
1.1.1 cat
作用 : 显示文件全部信息
常用参数 :
cat -n 文件 # 显示行号和内容
[root@ymn ~]# cat -n ymn.txt
1 ymn
2 nihaiyigedahaoren
3 dheugfymnchdg
4 hahah
5 ymn
6 nihai
补充 : nl 文件
实现一样的显示行号和内容
1.1.2 head
作用 : 只显示文件前几行信息,默认前10行
常用参数 :
head -n 文件 # 显示文件前n行内容
[root@ymn ~]# head num.txt
1
2
3
4
5
6
7
8
9
10
[root@ymn ~]# head -3 num.txt
1
2
3
1.1.3 tail
作用 : 只显示文件后几行信息,默认后10行
常用参数 :
tail -n 文件 # 显示文件后n行内容
tail -f 文件 # 阻塞住,一直显示文件新追加的内容,一般用作监听日志
[root@ymn ~]# tail num.txt
1
2
3
4
5
6
7
8
9
10
[root@ymn ~]# tail -3 num.txt
18
19
20
1.1.4 grep
作用 : 根据关键词匹配文件内容,以行的形式显示
常用参数 :
参数 | 作用 |
---|---|
-A n | 检索关键信息包含后n行 |
-B n | 检索关键信息包含前n行 |
-C n | 以检索信息为中心显示上下n行 |
-i | 忽略大小写 |
-E | 识别特殊符号 |
-v | 忽略掉检索到的信息,返回剩下的信息 |
[root@ymn ~]# grep 'mn' ymn.txt
dheugfymnchdg
ymn
[root@ymn ~]# grep -A 2 'mn' ymn.txt # 检索关键信息,包括后两行
dheugfymnchdg
hahah
cnjdehfur
ymn
jvfrehgut
nihai
[root@ymn ~]# grep -B 2 'mn' ymn.txt
jhuwgfuedvfh
nihaiyigedahaoren
dheugfymnchdg
hahah
cnjdehfur
ymn
[root@ymn ~]# grep -C 2 'mn' ymn.txt # 检索关键信息,包括前后两行
jhuwgfuedvfh
nihaiyigedahaoren
dheugfymnchdg
hahah
cnjdehfur
ymn
jvfrehgut
nihai
[root@ymn ~]# grep -i 'Mn' ymn.txt
dheugfymnchdg
ymn
[root@ymn ~]# grep -E '^ymn' ymn.txt
ymn
[root@ymn ~]# grep -Ev '^ymn' ymn.txt
jhuwgfuedvfh
nihaiyigedahaoren
dheugfymnchdg
hahah
cnjdehfur
jvfrehgut
nihai
kcjfruiehf
vjirjei
vrgrt
1.1.5 more和less
作用 : 逐行或者逐页显示文件内容
一般常用于大的文本文件的查看
1.2 检索文件
1.2.1 find
作用 : 通过关键字查找对应的文件
常用参数 :
参数 | 作用 |
---|---|
-name | 按照文件名查找 |
-iname | 忽略文件名的大小写 |
-type | 按照类型查找 |
-size | 按照大小查找 |
-mtime | 按照天数查找 |
-mmin | 按照分钟查找 |
-user | 按照文件属主查找 |
-o | 或者,可以连接参数 ( -size -100k or -size +10M) |
! | 取反 |
# 查找当前路径下以.txt结尾的文件,*是通配符
[root@ymn ~]# find ./ -name "*.txt" #./可以不写
./test.txt
./num.txt
./d1/res.txt
./ymn.txt
# 查找当前路径下所有的文件
[root@ymn ~]# find ./ -type f
./.bash_logout
./.bash_profile
./.bashrc
./.cshrc
./.tcshrc
./anaconda-ks.cfg
./.bash_history
./test.txt
./num.txt
./d1/res.txt
./ymn.txt
./.viminfo
# 查找当前路径下所有的目录
[root@ymn ~]# find ./ -type d
.
./d1
# 查找/etc/下大于5m的文件
[root@ymn ~]# find /etc/ -type f -size +5M #-5M是小于5m,5M是等于5m
/etc/udev/hwdb.bin
[root@ymn ~]# ls -lh /etc/udev/hwdb.bin
-r--r--r--. 1 root root 7.6M Nov 30 10:16 /etc/udev/hwdb.bin
# 查找/etc/下7天以前的文件
[root@ymn ~]# find /etc/ -type f -mtime +7
/etc/selinux/targeted/modules/active/README.migrated
/etc/firewalld/zones/public.xml
/etc/firewalld/zones/public.xml.old
# 查找/etc/下7天以内的文件
[root@ymn ~]# find /etc/ -type f -mtime -7
/etc/selinux/targeted/modules/active/README.migrated
/etc/firewalld/zones/public.xml
/etc/firewalld/zones/public.xml.old
# 查找/etc/下2分钟以内的文件 一般用于检测是否有新文件产生
[root@ymn ~]# find /etc/ -type f -mmin -2
# 查找/etc/下oldboy用户创建的文件
[root@ymn ~]# find /etc/ -type f -user oldbody
1.2.2 xargs
作用 : 将标准输入转换成命令行参数
一般和find连用,用来在精确查找之后在做下一步的操作,比如删除rm
,但是要和|
管道符号连用
[root@ymn find]# ll -h
total 111M
drwxr-xr-x. 3 root root 41 Dec 3 09:43 a
-rw-r--r--. 1 root root 100K Dec 3 10:03 data1.txt
-rw-r--r--. 1 root root 300K Dec 3 10:03 data2.txt
-rw-r--r--. 1 root root 10M Dec 3 10:03 data3.txt
-rw-r--r--. 1 root root 100M Dec 3 10:03 data4.txt
# 查找大于5m的文件,然后并删除
[root@ymn find]# find ./ -type f -size +5M|xargs rm -rf
[root@ymn find]# ll -h
total 400K
drwxr-xr-x. 3 root root 41 Dec 3 09:43 a
-rw-r--r--. 1 root root 100K Dec 3 10:03 data1.txt
-rw-r--r--. 1 root root 300K Dec 3 10:03 data2.txt
2. vim编辑器
linux操作系统下默认是没有vim编辑器的,在有网络的情况下可以通过命令下载 , 安装
yum install vim -y
2.1 什么是vim
vim是linux系统下的一款编辑器,被称之为上古神器,但是学会如何使用有一定的门槛,常常劝退一些自认为
自己很牛逼的点点程序员
2.2 vim可以干什么
vim可以摆脱鼠标,只通过键盘就能编辑文本,学会并熟练使用vim可以十分高效的在linux系统下完成文本的编辑
那如何使用vim呢,我们来从他的三种模式下学习如何使用vim
2.3 vim三种模式
2.3.1 普通模式
vim 文件名(如果文件不存在,会创建一个新文件并打开)
普通模式下只能移动光标是无法编辑文本的
普通模式下光标移动快捷键
快捷键 | 作用 |
---|---|
G | 将光标移动到文本最后一行 |
gg | 将光标移动到文本第一行 |
0 | 将光标移到行头 |
$ | 将光标移到行尾 |
ctrl + ( | 将光标移动到第一个字符位置 |
ctrl + ) | 将光标移动到最后一个字符位置 |
n回车 | 将光标向下移到n行 |
ngg | 将光标移动到第n行 |
h,j,k,l | 左下上右 |
普通模式下的复制,粘贴,删除
快捷键 | 作用 |
---|---|
yy | 复制当前行 |
nyy | 复制n行 |
p | 粘贴 |
dd | 删除当前行 |
ndd | 删除n行 |
u 撤销,类似windows的上一步
ctrl + r 取消撤销操作
. 下一步之类的
2.3.2 编辑模式
快捷键 | 作用 |
---|---|
i | 在当前光标处插入文字 |
esc | 退出编辑模式,回到命令行模式 |
2.3.3 命令行模式
快捷键 | 作用 |
---|---|
:q | 退出,不保存 |
:q! | 强制退出,不保存 |
:wq | 保存并退出 |
:wq! | 强制保存并退出 |
:set nu | 显示行号 |
:set nonu | 取消显示行号 |