目录
一.cat
1.作用
查看文件
2.优缺点
优点:
只能看普通的文本文件
缺点:
如果内容过多会显示不全
3.格式
cat 选项 文件名
4.选项
-A 显示隐藏的字符
-n 显示行号
拓展
-b 跳过空白行
-s 压缩空行
file
可以看是普通文件还是特殊的二进制文件
tac
倒序看文本文件
rev
倒序一行
hexdump
查看硬件设备的内容(磁盘)
二.标准输入和标注输出
- 标准输入:你输入的指令
- 标准输出:电脑反馈的信息
- 错误输出:电脑的一些报错信息
默认在屏幕上显示
重定向,重新定义标准输出方向
- ">"把原有的内容给覆盖了
- ">>"追加
面试题
如何合并两个文件
cat A B > C (上下)
paste A B > C (左右)
三.管道符
1.作用
将第一个命令的标准输出,当作后一个命令的标准输入
管道符左边的命令一定要有标准输出
管道符右边的命令一定要可以接收标准输入
2.格式
命令1 | 命令2 | 命令3 |命令4
xargs
可以让不能用管道符的命令加上xargs命令会能使用
命令1 |xargs 命令2
四.more和less
1.more
①作用
分页查看
②格式
more [选项 ] 文件
③基本操作
回车一行一行翻
空格一页一页翻
q退出
④缺点
more的缺点,看完自动退出
2.less
①作用
分页查看
②格式
less [选项] 文件名
命令 |less 进行分页查看
③基本操作
/关键字 进行搜索,大小写敏感
n向下
N向上
④优点
less优点:不会自动退出
五.head和tail
1.head
①作用
查看文件开头内容
②格式
head -n 数字 文件名
看文件的前(数字)行
head -n 3 test 看test文件的前三行
head -n -3 test 看test文件除了末尾的三行之外的其他行
head -c 数字 取数字个字符
中文一个字算3个字符
2.tail
①作用
查看文件结尾内容
②格式
tail -n 数字 文件名
看文件的后(数字)行
tail -n 3 test 看test文件的后三行
tail -f 文件名
tailf 文件名
实时追踪查看文件后十行
tail -n +数字
从数字行开始显示
六.wc
1.作用
统计文件的行 单词 字符
2.格式
wc [选项] 文件
3.选项
-l只统计行
-w只统计 单词(只要用空格隔开,就算两个单词)
-c 只统计 字符
七.正则表达式
正则表达式:匹配文件中的字符串(grep awk sed)
通配符:匹配文件的名字(ls find)
.任意字符
^一行的开头
$一行的结尾
八.grep
1.作用
过滤 文件中命令的字符
2.格式
grep [选项] 查找条件 目标文件
pattern表达式(正则表达式)
过滤 /etc/passwd 文件中含有 root关键字的行(并高亮显示出)
3.选项
-i 忽略大小写
-v 反转查找 除了选中的关键字行,都显示
-o 只显示匹配项
-f 将a文件作为条件 去匹配b文件,得出a文件和b文件相同的部分
-c 显示匹配的行数
-n 显示行号
-r 递归 不找软连接
面试题
找出两个文件中相同的部分
grep -f a文件 b文件
grep a b 去过滤b中含有a字符的行
rep “^root” passwd 过滤以root开头
grep “root$” passwd 过滤以root结尾
grep “^$” passwd 过滤空行
grep -v “^$” passwd 过滤非空行
面试题:
在某一文件夹中,快速找到所有含有 root字符的文件?
如何快速过滤数据,找到含有特定字符的文件?
grep -r 表达式 文件夹
grep -r root /etc (处理软连接)
grep -R root /etc (不处理软连接)
八.paste
1.作用
上下放显示文件
2.通式:
paste 文件A 文件B
九.split
1.作用
分割文件
2.格式
面试题:
我有一个10g的文件,怎么分割小的文件存储?
split -b 100M 文件名
十.tar
1.作用
归档
2.通式
tar [选项] ... 归档文件名 源文件或目录
tar [选项] ... 归档文件名 [-C 目标目录]
tar的语法
建立归档
tar -zcvf 加-必须要在最后加f
tar fzcv 压缩包的名字(*.tar.gz) 需要压缩的文件
3.选项
-f 代表使用tar归档 , 只要出现tar一定要出现f
-c 建立归档文件
-x 解开归档
tar -cf建归档
tar-xf解归档
-j 代表使用bzip2 压缩
-z 代表使用gzip2 压缩
-C 指定解压目录
-t 不解开压缩包 查看压缩包中的内容
-v 显示解压缩过程
-p保留权限
-P保留绝对路径
注意:
- tar 一定要加 f 选项
- 加了 - f 选项,要放在在最后 ,不加没有顺序要求
- 解压的时可以不考虑 gz 还是 bzip2
十一.vi/vim编辑器
1.vi编辑器
Linux 系统中“一切皆文件”,因此当我们在命令行下更改文件内容时,不可避免地要用到文本编辑器。
推荐使用 Vi 文本编辑器的原因有很多,比如说:
- 几乎所有的Linux 发行版都内嵌有 Vim 文本编辑器,而其他的编辑器则不一定存在;
- Vim具有编辑程序的能力,会主动利用不同的字体颜色辨别语法的正确性,方便程序设计接口
vi与vim之间的区别
vim是vi的升级版
基本格式
vim [OPTION] ... ...
命令 选项 文件vim 文件名不存在 是新建
vim 文件名存在 就是修改
如果系统最小化安装vim并没有提前安装,可以使用
yum install vim -y
最小桌面//后面会介绍这个命令
常用选项
+# | 打开文件后,让光标处于第#行的行首,+默认行尾 |
! | 打开上一次的文件 |
+/PATTERN | 让光标处于第一个被PATTERN匹配到的行行首用不多 |
三种常见模式
三种常见模式:
命令或普通(Normal)模式:默认模式,可以实现移动光标,剪切/粘贴文本。
插入(Insert)或编辑模式:用于修改文本。
扩展命令(extended command )或末行模式:保存,退出等搜索替代。
**命令模式 --> 插入模式**
按键 | 功能 |
i | insert, 在光标所在处输入 |
I | 在当前光标所在行的行首输入 |
a | append, 在光标所在处后面输入 |
A | 在当前光标所在行的行尾输入 |
o | 在当前光标所在行的下方打开一个新行 |
O | 在当前光标所在行的上方打开一个新行 |
命令模式
命令模式:此模式下,可使用方向键(上、下、左、右键)或 k、j、h、i 移动光标的位置,还可以对文件内容进行复制、粘贴、替换、删除等操作。
退出VIM
ZZ保存退出
ZQ不保存退出
光标跳转
①基础操作
按键 功能 h 左 l 右 k 上 j 下 ②单词间跳转
按键 功能 w 下一个单词的词首 e 当前或下一单词的词尾 b 当前或前一个单词的词首 ③当前页跳转:
按键 功能 H 页首 M 页中间行 L 页底 zt 将光标所在当前行移到屏幕顶端 zz 将光标所在当前行移到屏幕中间 zb 将光标所在当前行移到屏幕底端 ④行首行尾跳转:
按键 功能 ^ 跳转至行首的第一个非空白字符 0 跳转至行首 $ 跳转至行尾
⑤行间移动:
按键 功能 G 最后一行 10G 第十行 1G/gg 第一行 ⑥命令模式翻屏操作:
按键 功能 Ctrl+f 向文件尾部翻一屏,相当于Pagedown Ctrl+b 向文件首部翻一屏,相当于Pageup Ctrl+d 向文件尾部翻半屏 Ctrl+u 向文件首部翻半屏
复制命令
按键 | 功能 |
y | 复制命令 |
Y | 复制整行 |
yy | 复制一行 |
10yy | 复制10行 |
删除命令
按键 | 功能 |
d | 删除命令,可结合光标跳转字符,实现范围删除 |
d$ | 删除到行尾 |
d^ | 删除到非空行首 |
d0 | 删除到行首 |
dw | 下一个单词的词首 |
dd | 剪切光标所在的行 |
x | 剪切光标处的字符 |
J(大写) | 删除当前行后的换行符 |
字符大小写
按键 | 功能 |
~ | 转换大小写 |
交换字符位置
按键 | 功能 |
xp | 交换光标所在处的字符及其后面字符的位置 |
粘贴命令
按键 | 功能 |
p | 粘贴到下一行 |
输入模式
输入模式: 使 Vim 进行输入模式的方式是在命令模式状态下输入 i、I、a、A、o、O 等插入命令,当编辑文件完成后按 Esc 键即可返回命令模式。
切入输入模式
按键 | 功能 |
i | 在当前光标所在位置插入随后输入的文本,光标后的文本相应向右移动 |
I | 行首插入命令 |
o | 在光标所在行的下面插入新的一行。光标停在空行首,等待输入文本 |
O | 在光标所在行的上面插入新的一行。光标停在空行的行首,等待输入文本 |
a | 在当前光标所在位置之后插入随后输入的文本 |
A | 行尾插入命令 |
末行模式
末行模式:文件中的指定内容执行保存、查找或替换等操作。使 Vim 切换到编辑模式的方法是在命令模式状态下按“:”(英文冒号)键,此时 Vim 窗口的左下方出现一个“:”符号,这是就可以输入相关指令进行操作了。
保存与退出
按键 | 功能 |
w | 保存 |
q | 退出 |
wq | 保存并退出 |
! | 强制 |
wq! | 强制保存退出 |
查找并替换
格式:
范围 s/要查找的内容/替换的内容/修饰符
- 范围:
. 当前行 1,10 1-10行 $ 最后一行 % 全文 $-1 倒数第二行 - s:search查找
^ 开头 $ 结尾 ^$ 空行 替换的内容:要明确
修饰符
g 整行修改 i 忽略大小写 c 询问是否要修改