文件操作
项目 | Value |
---|---|
cat 文件的时候显示行号 | cat -nfilename 或者 nl filename |
查看文件里有多少行 | wc -l filename |
vi下显示行号_绝对行号 | :set number! |
相对行号 | set rnu |
混合行号 | set nu rnu |
将其保存在 vimrc 中使其永久化
绝对行号:
使用您喜欢的文本编辑器打开“.vimrc”文件 -vim ~/.vimrc
输入“set number”和“:wq”。
混合行号:
在您喜欢的编辑器中打开“.vimrc”文件 -vim ~/.vimrc
在一行上键入set number relativenumber并保存。
Linux操作系统中对文件内容中的指定关键字进行查找(grep命令)
r 是递归查找
-n 是显示行号
-R 查找所有文件包含子目录
-i 忽略大小写
-o 只输出匹配的内容(一般用于获取关键字在文件中出现的次数查找)
-w 按单词位单位过滤
-v 取反(获取不包含关键字的文件内容)
1.某文件已经使用vi或者vim命令的方式在命令行窗口打开
在vi/vim命令行模式下(当启动vi/vim时便进入了命令行模式)直接输入: /关键字(区分大小写)
然后回车,定位到第一个关键字,之后通过n键向下查找
,通过N键向上查找
。
2.某文件是在当前文件夹目录下,且文件没有通过vi/vim命令打开
在当前文件夹目录中打开Linux命令行并输入:
cat 文件名 | grep "关键字"
或者 grep '关键字' 文件名
在某个目录下的多个文件中查找文件内容中包含的关键字 grep -r "关键字" 目录
Linux操作系统中查找指定目录下的指定文件(find命令)
适用于当某目录下文件太多而灵活运用find命令查找符合指定条件的文件
- name 按文件名查找
- type 按文件类型查找
- exec 对搜索结果在处理
- mtime 按修改时间查找
find命令格式:
findpath -option [ -print ] [ -exec -ok command ] {} \
1)path:要查找的目录路径。
~ 表示$HOME目录
. 表示当前目录
/ 表示根目录
2)options :表示对目录路径中文件的查找方式
options常用的有下选项:
-name filename #查找名为filename的文件
-perm #按执行权限来查找
-user username #按文件属主来查找
-group groupname #按组来查找
-mtime -n +n #按文件更改时间来查找文件,-n指n天以内,+n指n天以前
-atime -n +n #按文件访问时间来查找文件,-n指n天以内,+n指n天以前
-ctime -n +n #按文件创建时间来查找文件,-n指n天以内,+n指n天以前
-nogroup #查无有效属组的文件,即文件的属组在/etc/groups中不存在
-nouser #查无有效属主的文件,即文件的属主在/etc/passwd中不存
-type b/d/c/p/l/f #查是块设备、目录、字符设备、管道、符号链接、普通文件
-size n[c] #查长度为n块[或n字节]的文件
-mount #查文件时不跨越文件系统mount点
-follow #如果遇到符号链接文件,就跟踪链接所指的文件
-prune #忽略某个目录
3)print:表示将结果输出到标准输出。
4)exec:对匹配的文件执行该参数所给出的shell命令。形式为command {} ;,注意{}与;之间有空格。
5)ok:与exec作用相同,区别在于,在执行命令之前,都会给出提示,让用户确认是否执行。
VIM操作
- 删除指定行
• :2,10d → 从第 2 行删除到第 10 行
• [n] dd → 当前光标在第二行,按下 8dd,则删除当前行以下 8 行
- 复制指定行
• :2,10y → 从第 2 行复制到第 10 行
• [n] yy → 当前光标在第二行,按下 8yy,则复制当前行以下 8 行
- 将第 2 到第 5 行前添加 //
1). 使用块操作:
• :2 → 跳到第 2 行
• 0 → 跳到行首
• (linux 下是 < c-v>) → 进入块操作模式
• j → 向下移动,连续按下,直到第 5 行
• I → 进行插入模式,输入 //
•
2). 使用替换 :2,5s/.///&/g 对以上命令说明如下:
• 2,5s → 第 2 到第 5 行
• . → 正则表达式,表示匹配所有行
• // → 即 //,\ 表示转义
• & → 正则表达式匹配的内容
• g → 替换模式,表示全部替换
4.跳行操作
(1)跳到第一行的第一个字符:按两次“g”
(2)跳转到当前行的第一个字符:在当前行按“0”
(3)跳到文本的最后一行:shift+g
(4)跳到最后一行的最后一个字符: shift+g shift+4
命令行模式下输入(n为指定的行号)
(1)ngg / nG
(2):n
(3)vim +n filename(注意这里要输入 + 号)
三者的区别在于,ngg/nG输入以后不需要按下回车键,而输入:n之后还要按下回车键才会跳转,vim +n filename只能在打开文件时跳转到相应的行。
比如想跳转到文本的第12行,可以执行如下命令: (1)12gg / 12G (2):12 (3)打开文件时输入vim +12
filename
拓展知识:
文件名通配符
1、* 表示 通配任意的字符
2、?表示 通配任意的单个字符
3、[ ] 表示 通配括号里面的任意一个字符