linux 对文件内容的查看、归档 及 vim基本操作

简介: linux 对文件内容的查看、归档 及 vim基本操作

一,常见的文件类型

(一)7大文件类型

第一个字符 文件类型
- 普通文件,包括纯文本文件、二进制文件、各种压缩文件等。
d 目录,类似 Windows 系统中的文件夹。
b 块设备文件,就是保存大块数据的设备,比如最常见的硬盘。
c 字符设备文件,例如键盘、鼠标等。
s 套接字文件,通常用在网络数据连接,可以启动一个程序开监听用户的要求,用户可以通过套接字进行数据通信。
p 管道文件,其主要作用是解决多个程序同时存取一个文件所造成的错误。
l 链接文件,类似 Windows 系统中的快捷方式。

(二)如何查看文件类型

file  文件

可以看文件类型(文件格式

二,显示命令

(一)cat

1,cat 通式

cat  [选项]   文件名 ....

2,cat 缺点:

能看文本文档 不能看普通文件 二进制

内容过多时,会显示不全

3,cat 常用选项

① cat  -A  显示隐藏字符

$ 表示换行符 ^i 表示tab 标黑这边是空格

② cat  -n   显示行号

显示行号包括空行

③ cat  -b     跳过空白编号
④ cat  -s     压缩成一个空行

将所有的连续的多个空行替换成一个空行

4,标准输入和标准输出

标准输入:键盘输入到屏幕的东西

标准输出:电脑反馈给你的信息

错误输出:电脑的报错信息

默认输出在当前屏幕上显示的,不想在屏幕上显示,显示在别的地方,就需要重定向,即重新定义标准输出方向。

5,基于标准输入和标准输出,深入理解管道符

①管道符定义:

管道符 丨 将前面 命令的结果 当做后面命令的参数执行

②管道符格式

命令1丨命令2丨命令3丨命令4丨命令5

左边得命令 一定要有标准输出

右边的命令 一定要可以接受标准输入

③常见管道符用法

cat   echo   丨  grep

④管道符特殊情况

当有些命令不能接受标准输入,这时我们需要xargs (二传手)

格式为:  命令1   丨  xargs  命令2

6,     > 使用方法

用>     可以改变到文件,也可以是终端

①合并文件

例题:

如何将a   b   两个文件合并

②覆盖和追加文件

一个> 是覆盖        A B >C       C 是新建的文件,里面有A  B 文件的内容

两个>> 是 追加

(二)paste   横向合并

多用于将账户 和密码横向合并   便于查看的工作环境

(三)tac  反方向查看

(四)rev   将同一行的内容逆向显示

  (五)  hexdump   查看硬件设备内容

-c 十六进制 -    n512前512字节    sda 磁盘(s接口)

(六) more  能全部看到

more不能搜索    more看完自动退出


(七)less   能全部看到

1,使用方法

/关键字 进行搜写 注意区分大小写    搜索的时候n向下 N向上)

看完不自动退出    

2,日常使用:

命令太多,无法翻页的情况

3,less 经典命令

命令  丨 less          进行分页查看

(八)head  可以显示文件或标准输入的前面行

1,格式

head   -n  数字  文件名

看文件的前多少行

如head -n2 头两行         不加-n2 默认10行

2,head 使用方法

①  head -c 取字符

② head  -n  -数字    

去掉最后数字行

如:  seq 10  丨 head  -n   -3

表示显示1到7行 (不加数字默认10行,10-3=7   所以就是显示1到7行)

③  head  -n  +数字

从数字行开始显示

(九)tail  查看文件或标准输入的倒数行

1,格式

tail   -n  数字  文件名

2,日常使用:

踪显示文件新追加的内容,常用日志监控

tail      -f       具体数字  文件名        实时跟踪最后十行

tail  -n +k         文件名      从k行开始显示  

(十)wc   统计

1,通式

wc [选项]... 目标文件..

      分别指:  2行 2个单词 12个字符数

2,常用命令

  • -l:统计行数
  • -w:统计单词个数
  • -c:统计字节数

注意:wc 统计的单词不是真正的单词

(十二)正则表达式与通配符

1,含义

正则表达式:匹配文件中的字符串(grep  awk  sed)

通配符:匹配文件的名字(ls  find)

2,具体内容

通配符:*代表所有    ?任意一个

正则表达式:

. 任意字符

^ 一行的开头

$ 一行的结尾

3,使用场景

通配符使用场景:

ls  通配符

find  -name

(十三)  grep 过滤文件中命中的字符

1,通式

grep    [选项]..      正则表达式     文件

示例1,过滤 /etc/passwd  文件中含有r..t  关键字的行

示例2,过滤 /etc/passwd  文件中含有root 关键字的行

示例3,显示ens33的网络参数  并过滤子网掩码行

2,常用命令

①grep -o 只显示匹配内容

②grep-v      反选
③grep-n      显示行号
④grep -i      忽略大小写
⑤grep -f     对比两个文件的相同行

例题:如何找出两个文件中相同的部分?

答: grep   -f   a文件   b 文件

即将a文件作为条件去匹配b文件,得到二者相同部分

⑥grepn -c 命中的行数

⑦    grep  -r  递归目录,但不处理软链接

3,grep 与正则表达式 熟练使用

正则表达式

. 任意字符

^ 一行的开头

$ 一行的结尾

①,

②,正则表达式总结

grep  "^root"  passwd    以root开头

grep  "root$"  passwd     以root结尾

grep   "^$"  passwd          空行

grep   -v  "^$"  passwd    非空行

③  例题

问 在某一文件夹中,快速找到所有含有root字符的文件

问 如何快速过滤数据,找到含有特定字符的文件

答 grep -r root /etc

三,分割命令split

(一)通式

split [-b ][-C ][-][-l ]   [要切割的文件]   [输出文件名前缀]  [-a ]

(二)常用选项

1,-b   指定按多少字节进行拆分,也可以指定 K、M、G、T 等单位。

2,-    或-l       指定每多少行要拆分成一个文件

3,输出文件名前缀:    设置拆分后的文件的名称前缀,split 会自动在前缀后加上编号,默认从 aa 开始。

4,-a<后缀长度>   默认的后缀长度是 2,也就是按 aa、ab、ac 这样的格式依次编号。

(三)例题

问:我有一个10G文件,怎么分成小的文件比如100M存储

答:split  -b  100M   文件名

四,压缩命令

1,制作压缩文件

gzip  [-9]  文件名

bzip2  [-9]  文件名

2,解压缩

gzip  -d    .gz格式的压缩文件

bzip2   -d    .bz2格式的压缩文件

3,常用选项

-9  指压缩比例

-d  指解压缩

-k  指保留原文件

五,归档命令tar

注意:tar  本身无归档功能

1,格式

tar   [选项] ...   归档文件名   源文件或源目录

tar   [选项]...    归档文件名   [-C目标目录]

2,选项

-f 代表要用tar这个命令 必带

-c 建立归档

-x 解开归档

-j 代表使用bzip2 压缩

-z 代表使用gzip 压缩

-C 指定解压的目录

-t 不解开压缩包 查看压缩包中的内容

-v 显示过程

-P保留权限

-p 保留路径

注意:tar 对选项顺序有要求(加-  为了方便记忆,我们这边不加了)

3,语法

建立归档

tar fzcv 压缩包的名字(*.tar.gz) 需要压缩的文件

解压 tar xf

六,查找替换(末行模式下)

(一)通式

范围   s/文件中的旧内容/替换的内容/修饰符

1,范围

不写范围 默认光标当前行

% 全文

2,5 2到5行

2 第二行

$ 最后一行

$-1 倒数第二行

2,$ 2到最后一行

2,固定格式

固定格式 s///

3,修饰符

不加,只改第一个(不一定是开头的)

加g 全改

4,特殊情况

查找替换

里面有/                 所以换一个分割符

这几个都可以

5,注释

注意:配置文件 只有开头的#才是注释

给所有行的开头加上#

将所有行开头的#去掉

七,文本编辑器

set list 看隐藏字符

set nu  看行号

/ 搜索  高亮

nohl  取消高亮

(一)文本编辑器作用

创建或修改文本文件

维护linux系统中的各种配置文件

(二)最常用文本编辑器

1,vi  默认文本编辑器

2,vim   (有颜色 坐标)是 vi的升级版本

(三)常用选项

vim       [OPTION]...         ...

命令          选项              文件

1,

vim  文件名不存在  是新建

vim  文件名存在   就是修改

2,

如果系统最小化安装vim并没有提前安装,可以使用

yum install vim -y

最小桌面

3,

+#                     打开文件后,让光标处于第#行的行首,+默认行尾

!                         打开上一次的文件

esc : w       q        !         退出    

        保存 退出 强制

(四)三种模式

命令或普通(Normal)模式:默认模式,可以实现移动光标,剪切/粘贴文本

插入(Insert)或编辑模式:用于修改文本

扩展命令(extended command )或末行模式:保存,退出等搜索替代

1,命令模式

此模式下,可使用方向键(上、下、左、右键)或 k、j、h、i 移动光标的位置,还可以对文件内容进行复制、粘贴、替换、删除等操作。

操作键 功能
ctrl+f或者Pagedown 向下翻页
ctrl+b或者Pageup 向上翻页
Home;^;0 跳到本行的行首
按 End 键或$ 跳转到本行的行尾
1G 或 gg 跳转到文件的第一行包括空行
G 跳转文件的末尾
#G #代表行号数字,直接跳转到#行
M 跳转到当前显示页面的中间行
x或delete 删除当前光标的字符
dd 删除一整行
#dd 删除当前光标开始到第#行(包括当前行)
d^ 删除当前光标之前到行首 往前不包括当前光标处的字符 86 往后删除包括当前光标处的字符
d$ 删除当前光标到行尾
dw 删除当前光标处的单词
R 或shift+r 替换当前光标处文字,会进入替换模式
yy 复制当前光标处整行
#yy 复制当前光标处向下的#行
p 粘贴到光标处下一行
P 粘贴到光标处上一行
u 只消除上一次可多次使用
U U 取消所有操作
/字符 向下查找
?字符 向上查找
n 向同一方向重复上次的查找指令
N 向相反方向重复上次的查找指定末行模式

补充:

删单词 dw

替换 r

~ 大小写转换

/ 关键字高亮

取消撤销 ctrl+r

把光标放到花括号上 按 d i {} 就会准确删除{}里面的内容 (其他符号也可以 类似() “”)

                                      y i 就会准确复

2,输入模式

①从命令模式切换到输入模式

两种方法:

i 当前光标处插入

o 光标下一行插入,

从 输入模式退回到命令模式 esc

3,末行模式(在最后一行操作)

注意:

输入模式和末行模式 永远不会相互转换,要先经过命令模式

从命令模式到末行模式 英文冒号

回退 esc

快捷键 功能效果
:q 退出不保存
:q! 强制退出不保存
:w 保存
:w 新文件名 另存为新文件:
:wq :zz :x 保存并退出
:e 其他文件名(如果已修改需要加e!) 打开新文件进行编辑
:r 其他文件名 在当前文件中读入其他文件内容
!命令 执行命令
:r!命令 读入命令
: [替换范围] s /旧的内容/新的内容[/g]
:s /old/new 替换当前行中的第一个old改为new
:s /old/new/g 替换当前行中的所有old改为new
:#,# s /old/new/g #到#行所有old改为new
:%s /old/new/g %代表全文 全文替换所有old改为new
# d 删除 第#行
#,# d 删除#到#行
#,# y 复制三到6 行
:set nu 或:set nonu 加行号 不显示行号
:set cul (:set nocul ) 光标所在行有下划线(取消)
no hl 取消高亮
:set ai 对齐 回车后和上一行对齐
:set all 可以看所有的一些帮助 可以看所有的一些帮助
set key=password (大X) 加密码
set key=空白 取消密码
set tabstop=4 (set ts=4) tab 一次为四个空格
.!命令 (who,date ) 将date命令插入当前行注意会覆盖当前

较为常用:

wq                              保存退出

r!                                 读入

set nu                         显示行号

set ai                           回车换行后自动对齐

nohl                            取消高亮

set key=123123           设密码123123

set key=空白               取消密码

set ic                           忽略字符大小写

4,可视模式

v 一个字符选

V 一行

CTRL v 任意选

5,vim 个性化

Vim 启动时,会根据配置文件(.vimrc)来设置 Vim,因此我们可以通过此文件来定制适合自己的 Vim。

/etc/.vimrc #          全局

~/.vimrc #              个人

vim 配置文件分为系统配置文件和用户配置文件:

  • 系统配置文件位于 Vim 的安装目录(默认路径为 /etc/.vimrc);
  • 用户配置文件位于主目录 ~/.vimrc,即通过执行 vim ~/.vimrc 命令即可对此配置文件进行合理修改。通常情况下,Vim 用户配置文件需要自己手动创建。
设置参数 功能描述
set nu 显示行号
set cul 突出显示当前行。
set ai 设置自动缩进,即每行的缩进同上一节相同。
set ts=4 设置 Tab 键宽度为 4 个空格。


相关文章
|
3天前
|
Linux 数据处理 数据安全/隐私保护
探索Linux命令lchfn:更改文件或目录的硬链接数
在Linux中,`ln`命令用于创建硬链接,而非`lchfn`。硬链接指向文件的inode,多条目共享相同数据。了解硬链接有助于理解文件系统行为。使用`ln 源文件 目标链接名`创建硬链接,`ls -li`查看硬链接数。直接修改硬链接数风险高,应谨慎操作,区别硬链接和软链接,确保数据安全,并常查阅`man ln`。
|
4天前
|
存储 Linux 数据库
【Linux】Linux基础文件与目录管理:成为Linux大师的入门必修课
【Linux】Linux基础文件与目录管理:成为Linux大师的入门必修课
18 3
|
4天前
|
Ubuntu 搜索推荐 Linux
Linux的Vim编辑器详解
Linux的Vim编辑器详解
|
7天前
|
Linux 开发工具
【Linux文本编辑艺术】:从入门到熟练,Vim大师之路揭秘
【Linux文本编辑艺术】:从入门到熟练,Vim大师之路揭秘
|
1天前
|
Unix Linux 程序员
linux入门系列4--vi/vim编辑器
linux入门系列4--vi/vim编辑器
|
7天前
|
人工智能 Linux 开发工具
Linux基础——Linux开发工具(上)_vim
Linux基础——Linux开发工具(上)_vim
9 0
|
9天前
|
Linux 开发工具 C++
Linux文本编辑器vim的使用
vi/vim,vi是一款很老的编辑器,它们都是多模式文本编辑器,没有代码的编译功能,也没有调试功能。 vim是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。
29 0
|
1月前
|
Linux 编译器 开发工具
Linux:详解(yum的使用、vim编辑器命令集合以及gcc/g++编译器的使用)
Linux:详解(yum的使用、vim编辑器命令集合以及gcc/g++编译器的使用)
141 1
|
1月前
|
Linux 开发工具
【Linux】vim正常模式命令集
【Linux】vim正常模式命令集
【Linux】vim正常模式命令集
|
6月前
|
Unix Linux Shell
Linux下vi与vim命令使用与区别
Linux下vi与vim命令使用与区别
110 0