Linux命令学习(三)
一、cat? ?
查看文件内容,只能查看普通文件
格式 cat 文件名(文件名可以是单个也可以是多个)
缺点:内容过多会显示不全
cat? ?-A? 显示隐藏的字符
cat? ?-n显示行号
面试题:如何合并两个文件?
标准输入:你输入的指令
标准输出:电脑反馈给你的信息
错误输出:电脑的一些报错信息
重定向:重新定义输出反向
? ?>一个是覆盖
? ? >>两个是追加
cat a b>c? 竖着合, paste a? b >c 横着合,左右合
?I? ?管道符:将前面命令的结果当作后面命令的参数执行
管道符左边的命令一定要有标准输出
管道符右边的命令一定要可以接受标准输出
二、tac逆向显示文本内容
? ? 使用cat命令可以非常简单的直接显示整个文件的内容,但是当文件的内容较多时,很有可能只能看到最后一部分信息,文件前面的大部分都来不及看到,而more和less命令通过采用全屏的方式分页显示文件,便于我们从头到尾仔细的阅读文件内容。
三、more:全屏方式分页显示文件内容
基本操作
-
空格下一行 到文末后自动退出
-
b上一行
-
enter一行一行滚动
-
自动退出
-
q退出
-
注意:该命令不可以向上翻页,更建议使用less文件
四、Less分页查看
less? ?/关键字? 进行收索,大小写敏感,结束不会退出,查找 n向下? N向上查找
五、head? ?查看文件开头部分内容(默认10行)
用途:查看文件开头的一部分内容(默认为10行)
格式:head ?-n 数字 ?文件名??看文件的前数字行
head? -n? 具体数字? 文件名 看文件的前数字行
seq 10|head -n -3? ?显示1到7
六、?tail 命令
tail? ?查看文件结尾部分内容(默认10行)
用途:查看文件结尾的少部分内容(默认为10行)
格式:tail ?-n 数字 ?文件名 ??看文件的后n行
tail -f? 文件名? ? 实时跟踪最后十行
tailf==tail -f
tail -n +数字,从数字行开始显示
- tail -n? +2? 什么意思?? ?从第二行开始显示
七、wc
wc [选项]... 目标文件..? 统计行数、字符、单词? ? ? ? ? ? ? ?wc统计的不是不是真正的单词
-
-l:统计行数
-
-w:统计单词个数
-
-c:统计字节数
八、正则达式? ?
用于过滤文件中的字符串,与通配符的区别是通配符用于匹配文件名。
? ? ? ? ? ? ? ?.? ?: 任意字符
? ? ? ? ? ? ? ? ^ :表示以...开头 ,一行的开头
? ? ? ? ? ? ? ?$ :表示以...结尾? ,一行的结尾
? ? ? ? ? ? ? ^$ :表示过滤空行,以什么开头和结尾? 中间什么都没有
grep "^root"?passwd? ?以root 开头
grep "root$"?passwd? ? 以root? 结尾
grep "^$"?passwd? 空行
grep? ? -v? ?"^$"?passwd? ? ?非空行
面试题:
在某一文件夹中,快速找到所有含有root字符的文件?或者说如何快速过滤数据,找到含有特殊字符的文件?
grep? -r? ?表达式? ?文件夹
九、grep? ?检索 过滤 想要的文件内容? 或文件名
grep后面跟的是正则表达式? ? ?过滤文件中命中的字符
格式:
? ? ? ? ? grep [选项]… 查找条件? 目标文件
过滤/etc/passwd 文件中含有root关键字的行
? ?-i? ?查找时忽略大小写
? ?-v? ?反向查找,输出与查找条件不相符的行
? ?-o? 只显示匹配项
? ?-f? 对比两个文件的相同行
? ?-c? 匹配的行数
??-n? 显示行号
? ?-r? 递归目录
? ?-R? 递归目录,但处理软连接
面试:找出两个文件中相同的部分,grep -f? ?a 文件? b文件
将a文件作为条件去匹配b文件,得出a.b文件的相同部分
grep? a? b? ?去过滤中b中含有a的行
- 过滤出下图中的第二行?ifconfig ens33|grep?? netmask? ? ?
- 或者? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ifconfig ens33|head? -n 2|tail -n 1
- 过滤出/etc/fstab 文件中所有的空行?? ?grep? “^$”???? /etc/fstab
过滤出/etc/passwd 文件中以root开头的行?? ?grep? “ ^root”?? /etc/passwd
十、split 分割文件
面试题:我有一个10G的文件,怎么分割成小的文件存储?split -b 100M 文件名
十一、tar 归档
tar命令本身没有压缩功能要配合gzip和bzip才能实现压缩功能,有对应选项且压缩完成后源文件存在。
格式:tar 【选项】 压缩后的名字 被压缩的文件名
? ?tar -f 只要使用tar一定要出现 -f?
?加 -? ?f一定要在最后一位,
不加 - 则任意位置
(tar ?fzcv ?压缩包的名字(*.tar.gz) ??需要压缩的文件)
对选项顺序有要求
-
-c:建立归档
-
-x:解开.tar 格式的包文件,解开归档
-
-C:解压时指定释放的目标文件夹
-
-f:表示使用归档文件(只要出现tar,一定要出现-f)
-
-p:打包时保留文件及目录的权限
-
-P:打包时保留文件及目录的绝对径
-
-t:不解开压缩包,查看压缩包中的内容
-
-v:显示压缩解压缩过程
-
-j:调用 bzip2 程序进行压缩或解压
-
-z:调用 gzip 程序进行压缩或解压
-
-p 保留权限
-
-P路径
建立归档 tar fzcv 压缩包的名字(*、tar. gz)需要压缩的文件
十二、vi编辑器
- 使用vi编辑器的快捷方式打开上一次打开的文件?? ?!vim
- 使用vi编辑器打开某一文件直接让光标处在第十行?? ? vim? +10
三种模式
1. 命令模式:才进去的那个模式,默认模式,可以实现移动光标,剪切/粘贴文本
2. 插入(Insert)或编辑模式:用于编辑文本
3. 末行模式:辅助操作,保存,退出等搜索替代
i? ?当前光标插入,当前输入模式
o 下一行插入
1.命令模式
此模式下,可使用方向键(上、下、左、右键)或 k、j、h、i 移动光标的位置,还可以对文件内容进行复制、粘贴、替换、删除等操作。
1.删除:dd删除光标所在行,删除一行
? ? ? ? d删除? ?? dw删除一个单词?
? ? ? ? ?10dd删除10行? ? ? x删除一个字符
2.撤销:u一次操作? ? U全部撤销? ?ctrl+r取消撤销
3.复制:y复制? yy 复制一行? ?10yy复制10行
4.粘贴:p贴在光标下面
? ? ? ? ? p贴在光标上面
5.行间跳转:G末行,最后一行
? ? ? ? ? ? ? ? ? gg? 首行
6.行内跳转:^? ? 和? ? 0? ? 跳转行首(^如果行首有空格只能到最前面字符,0是到行首不管有无空格),
? ? ? ? ? ? ? end键 或者? ?$? ?跳转行尾
? ? ? ? ? ? ? w? ?一个单词一个单词跳
2.输入模式
当编辑文件完成后按 Esc 键即可返回命令模式
3.末行模式
文件中的指定内容执行保存、查找或替换等操作。使 Vim 切换到编辑模式的方法是在命令模式状态下按“:”(英文冒号)键,此时 Vim 窗口的左下方出现一个“:”符号,这是就可以输入相关指令进行操作了。
显示行号:set nu
撤销高亮:搜索完成后会搜索的字符会一直高亮,nohl撤销
查找替换:
先查找文件中的内容 然后换掉他
范围??s /文件中旧的内容/替换的内容/修饰符
?s///? ? ? ? /表示分隔符 ?
范围:不写范围 光标当前行
% 全文
# ??#号行 ?某一行? ? ? ?#代表数字
2,5 ?2-5行
$ ??最后一行
$-1 ?倒数第二行
2,$ ?2到最后一行
修饰符:
g 全局替换 ?默认情况下 每一行只替换第一次出现的
给所有行的开头加上#号
% s/^/#/
将所有行开头的#去掉
% s/^#// ?
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!