Linux命令学习(三)

发布时间:2023年12月26日

一、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 +数字,从数字行开始显示

  1. 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的行

  1. 过滤出下图中的第二行?ifconfig ens33|grep?? netmask? ? ?
  2. 或者? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ifconfig ens33|head? -n 2|tail -n 1
  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编辑器

  1. 使用vi编辑器的快捷方式打开上一次打开的文件?? ?!vim
  2. 使用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/^#// ?

文章来源:https://blog.csdn.net/zzzxxx520369/article/details/135127276
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。