文件编辑命令vi/vim
我们需要在Linux上编写代码,那么自然离不了vi/vim,普通文件,目录文件里面是文件,所以对文件的操作就是对目录文件的操作。vi 和vim是一样的,底层都是vim。
vim 文件名//存在打开,不存在创建。、
但是我们初次打开它肯定没有向visual那样的有格式,所以我们要做的第一件事就是配置文件。
- 配置文件:
方便我们进行写代码,我们将我们每次打开的文件进行配置,让其可以自动缩进,显示行号等。
- 在当前用户的家目录下创建并编辑(.vimrc或者.virc)看你更喜欢那个来打开文件。到达家目录办法:cd /home/username;cd ~都可以
- vim .vimrc的内容:
你也可以加更多,之后每次使用vim打开文件时它就会先读取这个文件,设置相应的格式。
- 三种模式介绍与切换
命令行模式:执行vi命令刚进入默认是它
插入模式:写代码
末行模式:对文本的操作
3.命令模式下的操作:
光标移动操作 | 解释 |
---|---|
shift+6 | 当前行的首列 |
shift+4 | 移动到当前行的最后一列 |
gg | 移动到第一行 |
shift+g | 移动到最后一行 |
num shift +g | 移动到num指定的行 |
批处理操作 | 解释 |
---|---|
dd | 删除光标所在行 |
u | 撤销上一次操作 |
ctrl+r | 恢复撤销操作。 |
yy | 复制光标所在行 |
p | 粘贴复制的或者删除的内容 |
num dd | 删除从光标所在行开始的列 |
num yy | 复制从光标所在行开始的列 |
d num shift+g | 删除光标所在行到num行的内容 |
y num shift+g | 复制光标所在行到num行的内容 |
d shift+g | 删除光标到最后一行 |
d gg | 删除光标到第一行 |
shift+r | 进入替换模式。 |
- 末行模式下的操作:
:w | 保存文本 |
---|---|
:w newfile | 另存为newfile |
:q | 突出编辑 |
:wq | 保存退出 |
:q! | 强制退出 |
:set nu | 显示行号 |
:set noun | 取消行号显示 |
/string | 向下搜索string字符,按n向下走 |
?strng | 向上搜素string字符,按n往上走 |
:set nohlsearch | 搜索出来的字符不加高亮显示 |
:set hlsearch | 搜索出来的字符加高亮显示 |
:1,10 s/olds/news | 把olds替换news从第一行到第10行,默认替换每一行的第一个,第二个不管 |
:1,$ s/olds/news/g | 全文替换,($表示到文章末尾) |
示例:
1.如把main.c全文中的d替换为a:
可以看到第一行中只替换了一个。
2. 实现全文替换:
文件查看命令
- more file:每次显示一个屏幕,回车下一行,q退出,在终端显示。
- less file:和more相比在终端不显示,其余一样。
就好像进入了main.c一样,q退出回到终端。
- head -num file:显示文件前num行数据
- tail -num file: 显示文件后num行数据
- cat file:
(1)显示内容显示文件一个屏幕的内容,如果文件内容很多,那么它只会显示最后占满一个屏幕的内容,前面要往前翻。
(2) 合并文件:cat a.c b.c > c.c 把a.c,b.c的内容合并到c.c(c.c为新文件)
(3) 重定向:把终端上的内容写到文件中,cat >e.c 在终端写内容,回车,那么这个内容会被写到e.c里。
文件搜索,统计命令
- 文件搜索:find 在目录树中搜索指定的文件,也可以指定开始搜索的位置。
- 统计命令
wc:
(1) wc -l main.c 统计行数
(2) wc -w main.c 统计单词数
(3) wc -c main.c 统计字节。
压缩文件命令
压缩文件类型:
tar选项:
参数 | 含义 |
---|---|
c | 创建文件 |
f | 指定目标为文件而不是设备 |
v | 显示过程 |
x | 释放包文件 |
t | 显示包文件中的内容而不真正释放。 |
z | 使得tar命令同时具有压缩和解压的功能。GNU版本 |
我们对Xxxxx.tgz,xxxxxtar.gz为压缩包。进行详细的压缩,解压说明:
- xxxxxtar.gz压缩包
- 压缩
(1) 打包: tar cvf xxxx.tar 所有需要添加到包中的文件名。*.代表全部。
(2) 压缩:gzip xxxx.tar
- 解压
(1) 解压:gzip -d xxxxx.tar.gz
(2) 解包 tar xfv xxx.tar
2. xxx.tgz压缩包
压缩:
tar zcf mytar.tgz *.c test//一步到位
解压:
Tar zxf mytar.tgz //一步解压
管道命令 |
- 命令 | 命令 将前一个命令的输出传递给后一个命令,作为后一个命令的输入
- 过滤命令:grep 条件;表示只输出符合条件的
- 举例:
ls | grep .c //只输出.c文件
ls | grep m //输出文件名包含m的文件
cat main.c | grep include //查看main.c中包含的头文件
拜拜,加油哦!🍵。