>Hello
>World
>PWD=$(pwd)
>EOF
ls-llog.txt
catlog.txt
Hello
World
PWD=/opt/soft/test
(4)反向列示
taclog.txt
PWD=/opt/soft/test
World
Hello
10、more命令
功能类似于cat,more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按b键就会往回(back)一页显示
->>命令参数:
+n 从笫n行开始显示
-n 定义屏幕大小为n行
+/pattern在每个档案显示前搜寻该字串(pattern),然后从该字串前两行之后开始显示
-c 从顶部清屏,然后显示
-d 提示“Pressspacetocontinue,’q’toquit(按空格键继续,按q键退出)”,禁用响铃功能
-l 忽略Ctrl+l(换页)字符
-p 通过清除窗口而不是滚屏来对文件进行换页,与-c选项相似
-s 把连续的多个空行显示为一行
-u 把文件内容中的下画线去掉
->>常用操作命令:
Enter 向下n行,需要定义。
默认为1行
Ctrl+F 向下滚动一屏
空格键 向下滚动一屏
Ctrl+B 返回上一屏
= 输出当前行的行号
:
f 输出文件名和当前行的行号
V 调用vi编辑器
!
命令 调用Shell,并执行命令
q 退出more
实例:
(1)显示文件中从第3行起的内容
more+3text.txt
(2)在所列出文件目录详细信息,借助管道使每次显示5行
ls-l|more-5
按空格显示下5行
11、less命令
less与more类似,但使用less可以随意浏览文件,而more仅能向前移动,却不能向后移动,而且less在查看之前不会加载整个文件。
常用命令参数
-i 忽略搜索时的大小写
-N 显示每行的行号
-o <文件名>将less输出的内容在指定文件中保存起来
-s 显示连续空行为一行
/字符串:
向下搜索“字符串”的功能
?
字符串:
向上搜索“字符串”的功能
n:
重复前一个搜索(与/或?
有关)
N:
反向重复前一个搜索(与/或?
有关)
-x<数字>将“tab”键显示为规定的数字空格
b 向后翻一页
d 向后翻半页
h 显示帮助界面
Q 退出less命令
u 向前滚动半页
y 向前滚动一行
空格键滚动一行
回车键滚动一页
[pagedown]:
向下翻动一页
[pageup]:
向上翻动一页
实例:
(1)ps查看进程信息并通过less分页显示
ps-aux|less-N
(2)查看多个文件
less1.log2.log
可以使用n查看下一个,使用p查看前一个
12、head命令
head用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行。
常用参数:
-n<行数>显示的行数(行数为复数表示从最后向前数)
实例:
(1)显示1.log文件中前20行
head1.log-n20
(2)显示1.log文件前20字节
head-c20log2014.log
(3)显示t.log最后10行
head-n-10t.log
13、tail命令
用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。
常用查看日志文件。
常用参数:
-f循环读取(常用于查看递增的日志文件)
-n<行数>显示行数(从后向前)
(1)循环读取逐渐增加的文件内容
ping127.0.0.1>ping.log&(后台运行:
可使用jobs-l查看,也可使用fg将其移到前台运行)
tail-fping.log(查看日志)
14、which命令
在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索:
which 查看可执行文件的位置。
whereis查看文件的位置。
locate 配合数据库查看文件位置。
find 实际搜寻硬盘查询文件名称。
which是在PATH就是指定的路径中,搜索某个系统命令的位置,并返回第一个搜索结果。
使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。
常用参数:
-n 指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名。
实例:
(1)查看ls命令是否存在,执行哪个
whichls
(2)查看which
whichwhich
(3)查看cd
whichcd(显示不存在,因为cd是内建命令,而which查找显示是PATH中的命令)
查看当前PATH配置:
echo$PATH;或使用env查看所有环境变量及对应值
15、whereis命令
whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。
如果省略参数,则返回所有信息。
whereis及locate都是基于系统内建的数据库进行搜索,因此效率很高,而find则是遍历硬盘查找文件。
常用参数:
-b 定位可执行文件。
-m 定位帮助文件。
-s 定位源代码文件。
-u 搜索默认路径下除可执行文件、源代码文件、帮助文件以外的其它文件。
实例:
(1)查找locate程序相关文件
whereislocate
(2)查找locate的源码文件
whereis-slocate
(3)查找lcoate的帮助文件
whereis-mlocate
16、locate命令
locate通过搜寻系统内建文档数据库达到快速找到档案,数据库由updatedb程序来更新,updatedb是由crondaemon周期性调用的。
默认情况下locate命令在搜寻数据库时比由整个由硬盘资料来搜寻资料来得快,但较差劲的是locate所找到的档案若是最近才建立或刚更名的,可能会找不到,在内定值中,updatedb每天会跑一次,可以由修改crontab来更新设定值。
(etc/crontab)。
locate与find命令相似,可以使用如*、?
等进行正则匹配查找
常用参数:
-lnum(要显示的行数)
-f 将特定的档案系统排除在外,如将proc排除在外
-r 使用正则运算式做为寻找条件
实例:
(1)查找和pwd相关的所有文件(文件名中包含pwd)
locatepwd
(2)搜索etc目录下所有以sh开头的文件
locate/etc/sh
(3)查找/var目录下,以reason结尾的文件
locate-r'^/var.*reason$'(其中.表示一个字符,*表示任务多个;.*表示任意多个字符)
17、find命令
用于在文件树中查找文件,并作出相应的处理
命令格式:
findpathname-options[-print-exec-ok...]
命令参数:
pathname:
find命令所查找的目录路径。
例如用.来表示当前目录,用/来表示系统根目录。
-print:
find命令将匹配的文件输出到标准输出。
-exec:
find命令对匹配的文件执行该参数所给出的shell命令。
相应命令的形式为'command'{ }\;,注意{ }和\;之间的空格。
-ok:
和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。
命令选项:
-name按照文件名查找文件
-perm按文件权限查找文件
-user按文件属主查找文件
-group 按照文件所属的组来查找文件。
-type 查找某一类型的文件,诸如:
b-块设备文件
d-目录
c-字符设备文件
l-符号链接文件
p-管道文件
f-普通文件
-sizen:
[c]查找文件长度为n块文件,带有c时表文件字节大小
-aminn 查找系统中最后N分钟访问的文件
-atimen 查找系统中最后n*24小时访问的文件
-cminn 查找系统中最后N分钟被改变文件状态的文件
-ctimen 查找系统中最后n*24小时被改变文件状态的文件
-mminn 查找系统中最后N分钟被改变文件数据的文件
-mtimen 查找系统中最后n*24小时被改变文件数据的文件
(用减号-来限定更改时间在距今n日以内的文件,而用加号+来限定更改时间在距今n日以前的文件。
)
-maxdepthn最大查找目录深度
-prune选项来指出需要忽略的目录。
在使用-prune选项时要当心,因为如果你同时使用了-depth选项,那么-prune选项就会被find命令忽略
-newer如果希望查找更改时间比某个文件新但比另一个文件旧的所有文件,可以使用-newer选项
实例:
(1)查找48小时内修改过的文件
find-atime-2
(2)在当前目录查找以.log结尾的文件。
"."代表当前目录
find./-name'*.log'
(3)查找/opt目录下权限为777的文件
find/opt-perm777
(4)查找大于1K的文件
find-size+1000c
find-size1000c查找等于1000字符的文件
-exec 参数后面跟的是command命令,它的终止是以;为结束标志的,所以这句命令后面的分号是不可缺少的,考虑到各个系统中分号会有不同的意义,所以前面加反斜杠。
{} 花括号代表前面find查找出来的文件名。
实例:
(5)在当前目录中查找更改时间在10日以前的文件并删除它们(无提醒)
find.-typef-mtime+10-execrm-f{}\;
(6)当前目录中查找所有文件名以.log结尾、更改时间在5日以上的文件,并删除它们,只不过在删除之前先给出提示。
按y键删除文件,按n键不删除
find.-name'*.log'mtime+5-ok-execrm{}\;
(7)当前目录下查找文件名以passwd开头,内容包含"pkg"字符的文件
find.-f-name'passwd*'-execgrep"pkg"{}\;
(8)用exec选项执行cp命令
find.-name'*.log'-execcp{}test3\;
-xargsfind命令把匹配到的文件传递给xargs命令,而xargs命令每次只获取一部分文件而不是全部,不像-exec选项那样。
这样它可以先处理最先获取的一部分文件,然后是下一批,并如此继续下去。
实例:
(9)查找当前目录下每个普通文件,然后使用xargs来判断文件类型
find.-typef-print|xargsfile
(10)查找当前目录下所有以js结尾的并且其中包含'editor'字符的普通文件
find.-typef-name"*.js"-execgrep-lF'ueditor'{}\;
find-typef-name'*.js'|xargsgrep-lF'editor'
(11)利用xargs执行mv命令
find.-name"*.log"|xargs-imv{}test4
(12)用grep命令在当前目录下的所有普通文件中搜索hostnames这个词,并标出所在行