linux下vim 查找命令:
/text --查找text, 按n查找下一个, N查找上一个
?text --查找text(反向查找), 按n查找下一个, N查找上一个
*/# --查找光标当前的单词,相当于/text
:set ignorecase --查找忽略大小写
:set noignorecase --查找不忽略大小写
:nohlsearch --关闭当前的高亮显示,当再次查找时恢复高亮
:set incsearch --逐步搜索模式,对当前键入的字符进行查找,不必等输入完成
:set wrapscan --重新搜索,当搜索到文件头或尾时,返回重新搜索
(1)linux向上查找命令扩展阅读:
1、文件窗口:
:open file --在当前窗口打开新文件
:split file --在新窗口打开文件
:new file --用新窗口打开文件,同 :split file
:bn --切换到下一个文件
:bp --切换到上一个文件
:args --查看当前打开的文件列表(当前正在编辑的文件会用[]括起来)
:e ftp://192.168.10.76/abc.txt
:e qadrive est.txt --打开远程文件
:split --打开一个新窗口,光标停在顶层的窗口上
:new --打开一个新窗口,光标停在顶层的窗口上
:vsplit --横向打开窗口。
Ctrl+ww --移动到下一个窗口
Ctrl+wj --移动到下方的窗口
Ctrl+wk --移动到上方的窗口
2、其他命令:
Esc/Ctrl+[ -- 键入命令
:!command --执行shell命令
:suspend/Ctrl+Z --挂起vim,回到shell,fg 返回vim
:!perl -c script.pl --检查perl脚本语法,不用退出vim
:!perl script.pl --执行perl脚本, 不用退出vim
:help --显示帮助文档
:help i --显示i的帮助文档(:特殊键用<>, -t:启动参数用-)
3、编辑命令:
插入:
i --在当前位置插入
A --在当前行尾插入
I --在当前行首插入
o --在当前行后插入一行
O --在当前行前插入一行
拷贝粘贴剪切:
yy --拷贝当前行
2yy --拷贝当前行开始的2行
p --在当前光标后粘贴
P --在当前行前粘贴
:1,10 co 20 --将1-10行插入到第20行之后。
:1,$ co $ --将整个文件复制一份并添加到文件尾部
v --进入选择模式,相当于在Windows下按住 Shift选择
V --进入选择模式,整行选择
ddp --交换当前行和其下一行
2dd --剪切当前行之后的2行
:1,10d --将1-10行剪切
:1, 10 m 20 --将第1-10行移动到第20行之后
替换:
ra --将当前光标所在字符替换为a
s/old/new/ --用old替换new,替换当前行的第一个匹配
s/old/new/g --用old替换new,替换当前行的所有匹配
%s/old/new/ --用old替换new,替换所有行的第一个匹配
%s/old/new/g --用old替换new,替换所有匹配
:10,20 s/^/text/g --在第10行到第20行每行前面加上text(:3,5 s/^/#/g --注释3-5行, :3,5 s/^#//g
--解除3-5行的注释, :1,$ s/^/#/g --注释整个文档, :%s/^/#/g --注释整个文档)
ddp --交换光标所在行和下一行
移动:
h --左移一个字符(5h --左移5个字符)
l --右移一个字符(5l --右移5个字符)
k --上移一个字符(5k --上移5个字符)
j --下移一个字符(5j --下移5个字符)
w --向后移动一个单词(5w --向后移动5个单词)
b --向前移动一个单词(5b --向前移动5个单词)
e --同 w ,光标停在单词尾部
ge --同 e ,光标停在单词尾部
^ --移动到本行第一个非空白字符
0 --移动到本行第0个字符
--同0
$ --移动到行尾(3$ --移动到下面3行的行尾)
gg --移动到文件头(10gg --移动到第10行首)
[[ --同 gg
G --移动到文件尾(10G --移动到第10行尾)
]] --同 G
fx --移动到本行光标后第一个为x的字符(3fx --移动到本行光标后第3个为x的字符)
Fx --同 fx ,反向查找
:20 --跳到20行行首
Ctrl+e --向下滚动一行
Ctrl+y --向上滚动一行
Ctrl+d --向下滚动半屏
Ctrl+u --向上滚动半屏
Ctrl+f --向下滚动一屏
Ctrl+b --向上滚动一屏
撤销:
u --撤销
U --撤销对整行的操作
Ctrl+r --撤销刚才的撤销
删除:
x --删除当前字符(3x --删除当前光标开始向后三个字符)
X --删除当前字符的前一个字符, 同 dh
dl --删除当前字符, 同 x
dh --删除前一个字符
dd --删除当前行
dj --删除上一行
dk --删除下一行
10d --删除当前行开始的10行。
D --删除当前字符至行尾, 同 d$
kdgg --删除当前行之前所有行(不包括当前行)
:1,10d --删除1-10行
:11,$d --删除11行及以后所有的行
:1,$d --删除所有行
J--删除两行之间的空行, 合并两行
退出
:wq --保存并退出
ZZ --保存并退出
:q! --强制退出并忽略所有更改
:e! --放弃所有修改,并打开原来文件
:close --关闭窗口,最后一个窗口不能使用此命令,可以防止意外退出vim
:q --如果是最后一个被关闭的窗口,那么将退出vim
㈡ linux find命令怎么用
你可以在超级用户状态 # 下,使用 find 命令查找指定的文件,举例如下:
#find / -name "*.c" -print <cr>
其中:/ 代表从根目录开始进行查找;"*.c" 代表要进行查找的文件类型为 C 语言源程序(*.c),-print 选项代表将查找到的结果输出到屏幕上。
该命令是最、最、最实用的文件查找命令,别的就可以举一反三了。例如:你如果想从 /usr 目录开始进行查找,那么就将 / 更改成:/usr 即可。
㈢ linux查看一个文件内容时怎么查找
如果是用Vim编辑器打开的文件,在Vim中查找字符串的命令是:英文斜杠后面跟要查找的字符串或者英文问号跟要查找的字符串,所不同的是英文斜杠表示向下查找,英文问号表示向上查找,当查找到第一个匹配时,可以输入小写字母n表示查找下一个匹配字符串。比如:
/hello或者?hello
如果是用图形界面的编辑器打开的文件,比如gedit,可以用界面上的放大镜图标进行字符串查找。
㈣ Linux中查找文件夹的命令
Linux中查找文件夹的命令是find命令。
Linux-文件搜索命令find的操作使用方法如下:
1、全盘搜索,也可以指定目录搜索。find搜索目录 -name目标名字,find / -name file
㈤ linux查找内容命令
find,用于在文件树中查找文件并作相应的处理
-name:按照文件名查找文件
-perm:按照文件权限查找文件
-user:按照文件属主来查找文件
-size:按照指定的文件大小查找文件【+n:大于,-n:小于,n:等于】
-group:按照文件所属的组来查找文件
-mtime<-n><+n>:按照文件更改时间来查找文件,-n表示n天之内,+n表示n天以前
-newer file1 file2:查找更改时间在file1和file2之间的文件
例如:
find -mtime -2:查找48小时修改过的文件
find -name ".log":查找当前目录以".log"结尾的文件
find /opt/soft/test -perm 777:查找指定目录下权限为777的文件
find -type f -name "*.log":查找当前目录下以".log"结尾的普通文件
find -type d | sort:查找当前所有目标目录并排序
find /home/wansw -size +20M:查找大于20M的文件
locate指令,可以快速定位文件路径,利用事先建立的系统中的所有文件名称和路径的locate数据库,无需遍历整个文件系统,查询速度较快,为了保证查询准确性,需要定期更新。《Linux就该这么学》
updatedb:第一次运行前,创建locate数据库
grep,用于过滤/搜索指定字符串。可以使用正则表达式,能配合多种命令使用。
用法:grep 【选项】 查找内容 源文件
-A:显示符合的行及之后的内容
-B:显示符合的行及之前的内容
-C:显示符合的行及前后的内容
-c:计算符合的行数目
-n:显示匹配行和行号
-i:忽略大小写
规则表达式
:'grep'表示匹配所有以grep开头的行
'表示匹配所有以grep结尾的行
.:'gr.p'表示匹配'gr'后面接任意字符然后是'p'
:'grep'表示匹配一个或多个空格后紧跟grep的行
[]:[Gg]rep表示匹配Grep与grep
[]:[A-FH-Z]rep表示匹配不以A-F、H-Z开头并紧跟rep的行
例如(grep命令大多数时候多要和别的命令一起使用才有意义):
ps -ef | grep -c SVN:查找指定的进程的个数
cat test.txt | grep -f test2.txt:从text2.txt中读取关键字后在test.txt中搜索
cat test.txt | grep nf text2.txt:从text2.txt中读取关键字后在text.txt中搜索并显示行号
grep 'linux' text.txt test2.txt:从多个文件中搜索关键字'linux'
cat test.txt | grep -E 'ed|at':显示包含ed或at的行
㈥ linux 查找文件内容命令
Linux查找文件内容的常用命令方法。
从文件内容查找匹配指定字符串的行:
$ grep "被查找的字符串" 文件名
例子:在当前目录里第一级文件夹中寻找包含指定字符串的.in文件
grep "thermcontact" */*.in
从文件内容查找与正则表达式匹配的行:
$ grep –e “正则表达式” 文件名
查找时不区分大小写:
$ grep –i "被查找的字符串" 文件名
查找匹配的行数:
$ grep -c "被查找的字符串" 文件名
从文件内容查找不匹配指定字符串的行:
$ grep –v "被查找的字符串" 文件名
学习更多linux知识《Linux就该这么学》,从根目录开始查找所有扩展名为.log的文本文件,并找出包含”ERROR”的行
find / -type f -name "*.log" | xargs grep "ERROR"
例子:从当前目录开始查找所有扩展名为.in的文本文件,并找出包含”thermcontact”的行
find . -name "*.in" | xargs grep "thermcontact"
㈦ 在linux中如何用命令查找文件在哪
需要准备的材料分别是:电脑、linux连接工具。
1、首先连接上linux主机,进入等待输入指令的linux命令行状态。
㈧ linux下查找文件的命令
1、最强大的搜索命令:find 查找各种文件的命令
2、在文件资料中查找文件:locate
3、搜索命令所在的目录及别名信息:which
4、搜索命令所在的目录及帮助文档路径:whereis
5、在文件中搜寻字符串匹配的行并输出:grep
6、分页显示一个文件或任何输出结果:more
7、分页显示一个文件并且可以回头:less
8、指定显示前多少行文件内容:head
9、指定显示文件后多少行内容:tail
10、查看一个文件:cat
11、查看文件内容多少字符多少行多少字节:wc
12、排序文件内容:sort
㈨ linux查找文件内容命令
搜索、查找文件当中的内容,一般最常用的是grep命令,另外还有egrep, vi命令也能搜索文件里面内容
1:搜索某个文件里面是否包含字符串,使用grep "search content" filename1, 例如
$ grep ORA alert_gsp.log
$ grep "ORA" alert_gsp.log
例如我们需要搜索、查找utlspadv.sql文件中包含ORA的字符内容
[oracle@DB-Server admin]$ grep "ORA" utlspadv.sql
-- ORA-XXXXX: Monitoring already started. If for example you want
-- ORA-20111:
-- ORA-20112:
-- ORA-20113: 'no active monitoring job found'
-- ORA-20113: 'no active monitoring job found'
-- 0 |<PS> =>DBS2.REGRESS.RDBMS.DEV.US.ORACLE.COM 0 0 2 99.3% 0% 0.7% ""
-- |<PR> DBS1.REGRESS.RDBMS.DEV.US.ORACLE.COM=> 100% 0% 0% "" |<PR> ...
-- =>DBS2.REGRESS.RDBMS.DEV.US.ORACLE.COM 92 7 99.3% 0% 0.7% "" |<PR> ...
-- |<C> CAPTURE_USER1=>DBS2.REGRESS.RDBMS.DEV.US.ORACLE.COM 2 0 0 0.E+00
-- |<C> CAPTURE_USER1=>DBS2.REGRESS.RDBMS.DEV.US.ORACLE.COM
-- ORA-20111:
-- ORA-20112:
-- ORA-20100:
-- ORA-20113: 'no active monitoring job found'
-- ORA-20113: 'no active monitoring job found'
[oracle@DB-Server admin]$
如上所示,这个是一个模糊匹配,其实我是想要查看ORA这类错误,那么我要过滤掉哪一些没有用的,搜索的内容修改一下即可(当然也可以使用特殊参数,后面有讲述),如下所示。
[oracle@DB-Server admin]$ grep "ORA-" utlspadv.sql
-- ORA-XXXXX: Monitoring already started. If for example you want
-- ORA-20111:
-- ORA-20112:
-- ORA-20113: 'no active monitoring job found'
-- ORA-20113: 'no active monitoring job found'
-- ORA-20111:
-- ORA-20112:
-- ORA-20100:
-- ORA-20113: 'no active monitoring job found'
-- ORA-20113: 'no active monitoring job found'
[oracle@DB-Server admin]$
7:有些场景,我们并不知道文件类型、或那些文件包含有我们需要搜索的字符串,那么可以递归搜索某个目录以及子目录下的所有文件
[oracle@DB-Server ~]$ grep -r "v$temp_space_header" /u01/app/oracle/proct/11.1.0/dbhome_1/rdbms/admin/
/u01/app/oracle/proct/11.1.0/dbhome_1/rdbms/admin/catspace.sql:create or replace view v_$temp_space_header as select * from v$temp_space_header;
/u01/app/oracle/proct/11.1.0/dbhome_1/rdbms/admin/catspace.sql:create or replace public synonym v$temp_space_header for v_$temp_space_header;
/u01/app/oracle/proct/11.1.0/dbhome_1/rdbms/admin/catspace.sql:create or replace view gv_$temp_space_header as select * from gv$temp_space_header;
/u01/app/oracle/proct/11.1.0/dbhome_1/rdbms/admin/catspace.sql:create or replace public synonym gv$temp_space_header
/u01/app/oracle/proct/11.1.0/dbhome_1/rdbms/admin/catspace.sql: FROM gv$temp_space_header
/u01/app/oracle/proct/11.1.0/dbhome_1/rdbms/admin/catspacd.sql:drop public synonym v$temp_space_header;
/u01/app/oracle/proct/11.1.0/dbhome_1/rdbms/admin/catspacd.sql:drop public synonym gv$temp_space_header;
[oracle@DB-Server ~]$
8:如果我们只想获取那些文件包含搜索的内容,那么可以使用下命令
[oracle@DB-Server ~]$ grep -H -r "v$temp_space_header" /u01/app/oracle/proct/11.1.0/dbhome_1/rdbms/admin/ | cut -d: -f1
/u01/app/oracle/proct/11.1.0/dbhome_1/rdbms/admin/catspace.sql
/u01/app/oracle/proct/11.1.0/dbhome_1/rdbms/admin/catspace.sql
/u01/app/oracle/proct/11.1.0/dbhome_1/rdbms/admin/catspace.sql
/u01/app/oracle/proct/11.1.0/dbhome_1/rdbms/admin/catspace.sql
/u01/app/oracle/proct/11.1.0/dbhome_1/rdbms/admin/catspace.sql
/u01/app/oracle/proct/11.1.0/dbhome_1/rdbms/admin/catspacd.sql
/u01/app/oracle/proct/11.1.0/dbhome_1/rdbms/admin/catspacd.sql
[oracle@DB-Server ~]$ grep -H -r "v$temp_space_header" /u01/app/oracle/proct/11.1.0/dbhome_1/rdbms/admin/ | cut -d: -f1 | uniq
/u01/app/oracle/proct/11.1.0/dbhome_1/rdbms/admin/catspace.sql
/u01/app/oracle/proct/11.1.0/dbhome_1/rdbms/admin/catspacd.sql
[oracle@DB-Server ~]$
9:如果只想获取和整个搜索字符匹配的内容,那么可以使用参数w
你可以对比一下两者的区别
[oracle@DB-Server admin]$ grep -w "ORA" utlspadv.sql
-- ORA-XXXXX: Monitoring already started. If for example you want
-- ORA-20111:
-- ORA-20112:
-- ORA-20113: 'no active monitoring job found'
-- ORA-20113: 'no active monitoring job found'
-- ORA-20111:
-- ORA-20112:
-- ORA-20100:
-- ORA-20113: 'no active monitoring job found'
-- ORA-20113: 'no active monitoring job found'
[oracle@DB-Server admin]$ grep "ORA" utlspadv.sql
-- ORA-XXXXX: Monitoring already started. If for example you want
-- ORA-20111:
-- ORA-20112:
-- ORA-20113: 'no active monitoring job found'
-- ORA-20113: 'no active monitoring job found'
-- 0 |<PS> =>DBS2.REGRESS.RDBMS.DEV.US.ORACLE.COM 0 0 2 99.3% 0% 0.7% ""
-- |<PR> DBS1.REGRESS.RDBMS.DEV.US.ORACLE.COM=> 100% 0% 0% "" |<PR> ...
-- =>DBS2.REGRESS.RDBMS.DEV.US.ORACLE.COM 92 7 99.3% 0% 0.7% "" |<PR> ...
-- |<C> CAPTURE_USER1=>DBS2.REGRESS.RDBMS.DEV.US.ORACLE.COM 2 0 0 0.E+00
-- |<C> CAPTURE_USER1=>DBS2.REGRESS.RDBMS.DEV.US.ORACLE.COM
-- ORA-20111:
-- ORA-20112:
-- ORA-20100:
-- ORA-20113: 'no active monitoring job found'
-- ORA-20113: 'no active monitoring job found'
[oracle@DB-Server admin]$
10: grep命令结合find命令搜索
[oracle@DB-Server admin]$ find . -name '*.sql' -exec grep -i 'v$temp_space_header' {} ; -print
create or replace view v_$temp_space_header as select * from v$temp_space_header;
create or replace public synonym v$temp_space_header for v_$temp_space_header;
create or replace view gv_$temp_space_header as select * from gv$temp_space_header;
create or replace public synonym gv$temp_space_header
FROM gv$temp_space_header
./catspace.sql
drop public synonym v$temp_space_header;
drop public synonym gv$temp_space_header;
./catspacd.sql
[oracle@DB-Server admin]$
11: egrep -w -R 'word1|word2' ~/klbtmp
12: vi命令其实也能搜索文件里面的内容,只不过没有grep命令功能那么方便、强大。
㈩ 如何用命令查看linux命令的使用方法
可以使用man命令查看Linux其他命令的使用帮助,其实man命令列出的帮助应该叫做使用手册,因为man是manual单词的简写,意为手册页。man命令的用法是:输入man 其他命令名字,显示手册页内容后,有几个按键可用,键盘上的空格键和PageDown键可以向下翻一页,PageUp键可以向上翻一页,Home键可以回到最上面一页,End键可以到最下面一页,英文斜杠加字符串可以进行字符串查找(比如/hello,查找hello),按小写的n向上查找,按大写的N键(shift+n)向下查找,按下键盘上的Q键退出man界面。