




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
即用即查Linux命令行实例参考手册代码第4章 文件比较及文件查找命令比较文件cmpcmp命令语法:cmp 参数 文件1 文件2 skip1 skip2实例1:比较两个文件是否相同,并在屏幕上打印结果。假设在当前目录和/var一个同名的文件aaa,通过ll命令可以查看其大小、访问权限、最后修改时间等属性简单判断其是否为同一文件。也可以利用cmp查看其内容是否完全相同。在命令提示符下输入:rootlocalhost #cmp aaa /var/aaa实例2:比较两个文件是否相同,并显示不同点的详细信息。假设当前目录下有两个文件aaa和bbb,为了便于查看比较结果,两个文件的内容都非常简单。在命令提示符下输入:rootlocalhost #cmp -l aaa bbb实例3:分别从aaa的第15个字节和bbb的第16个字节开始比较两个文件。在命令提示符下输入:rootlocalhost #cmp -l aaa bbb 15 16(15,16为10进制)比较文件commcomm命令语法:comm 参数 文件1 文件2 |文件名实例1:假设当前目录下有两个文件aaa、bbb,判断两个文件是否相同。若两个文件相同,则只输出第3列的内容,第1,2列的内容为空。否则,表示两个文件不同,若第3列的内容为空则表示两个文件没有任何相同之处。在命令提示符下输入:rootlocalhost #comm aaa bbb实例2:比较两个文件的内容,只显示在两个文件中共同存在的行。假设当前目录下有一file1.aa文件如下:#includeint main(int argc,char*argv)int a=3,b=4;printf(“a+b=”,a+b);return 0;文件file2.aa的内容如下:#includeint main(int argc,char*argv)int a=6,b=10;printf(“a+b=”,a+b);return 0;为了便于查看结果是否正确,通常在比较大的文件的时候,comm提供了方便快捷的方法。在命令提示符下输入:rootlocalhost #comm -12 file1.aa file2.aa查找文件findfind命令语法:find 搜索目录 参数 表达式 动作选项 或find -path 参数 表达式 动作选项实例1:根据文件名字查找文件。假设要在服务器上配置ftp服务器,但是不确定关于ftp服务器配置文件的具体位置,另外,由于知道在Linux下关于服务器的配置文件都在/etc目录下,因此,可以借助find命令查看ftp服务器配置信息的具体位置。因此,在命令提示符下输入以下命令:rootlocalhost #find /etc -name ftp *(其中/为查找目录)实例2:根据文件的大小查找文件。若用户不清楚文件的名字,可以利用-size指定文件的大小:rootlocalhost #find ./ -size 1000c其中c表示要查找的文件的大小是以字节为单位。rootlocalhost #find ./ -size +1000c查找大于1 000字节的文件。rootlocalhost #find ./ -size -1000c查找小于1 000字节的文件。rootlocalhost #find ./ -size +1000c -and -2000c查找介于1 000字节和2 000字节之间的文件。对于比较大的文件,为了便于用户在命令行输入,文件大小的度量单位可以采用k或b甚至M或G。实例3:根据文件的属性查找文件。下面一组命令,主要是根据文件的时间属性和属主/字节组来查找文件,很容易理解,读者可以自行在本机上操练。rootlocalhost #find ./ -amin -10 查找当前目录下最后10分钟访问的文件。rootlocalhost #find./ -atime -2查找当前目录下最后48小时访问的文件。rootlocalhost #find ./ -empty查找当前目录下为空的文件或者文件夹。rootlocalhost #find ./ -group user1查找当前目录下属组为user1的文件。rootlocalhost #find / -mmin -5查找当前目录下最后5分钟里修改过的文件。rootlocalhost #find ./ -mtime -1查找当前目录下最后24小时里修改过的文件。rootlocalhost #find ./ -nouser查找当前目录下属于作废用户的文件。rootlocalhost #find ./ -user user1查找当前目录下属于user1这个用户的文件。rootlocalhost #find ./ -perm 664查找当前目录下允许属主/属组可读写的,其他用户只可读的文件)实例4:利用综合属性查找文件。上述的命令只是根据一个具体的属性(文件名或大小等)来查找文件,查找结果大部分都不是用户需求的文件。若用户对要查找的文件提供更多的信息,则find的输出结果就越符合用户的需求。这需要借助逻辑操作选项,find支持的逻辑的操作分别有:逻辑与(-a或-and)、逻辑或(-o或-or)、非(-!);操作规则和C语言中的相对应的操作一致。-a查找同时符合多个条件的文件,-o查找符合任何一个条件的文件,-!表示不符号条件的文件。当使用很多的逻辑选项时,可以用括号把这些选项括起来。为了避免Shell本身对括号引起误解,在话号前需要加转义字符“”转义字符来去除括号的意义。在命令提示符下输入:rootlocalhost #find ./ -size +1000c -and -mtime +3 -and -name abc*查找到同时符合3个条件的文件。rootlocalhost #find ./ -size +1000c -or -mtime +3查找到符合任何一个条件的文件。rootlocalhost #find ./ -!(-size +1000c -or -mtime +3)查找非大于1 000字和最近48小时修改的文件。实例5:查看当前目录下所有文件的类型。在命令提示符下输入:rootlocalhost #find ./ -exec file ;利用find命令的-exec选项可以对查找的文件执行相应的操作,一般用于文件的批处理。注意-exec在命令行书写中的“;”做为一个独立的部分,因此必须和前面的“”用空格或Tab键间隔。查找文件whereiswhereis命令语法:whereis 参数 文件实例1:查看系统是否有ls、cp命令。在命令提示符下输入:rootlocalhost #whereis -b ls cp或rootlocalhost #whereis -B /bin /sbin -f ls cp实例2:查看/usr/bin目录下没有在/usr/share/ma/man1说明的文件;有对应的源程序在/usr/src目录下的所有文件。根据各选项的含义,在命令提示符下输入:rootlocalhost #cd /usr/binrootlocalhost #whereis -u -M /usr/man/man1 -S /usr/src -f * |tail实例3:在当前目录下,查找没有文档说明的所有文件。在命令提示符下输入:rootlocalhost #whereis -m -u *查找文件locatelocate命令语法:locate 参数 字符串或模式实例1:查找用户创建的文件hhwork。在命令提示符下输入:rootlocalhost #locate hhwork实例2:查看ftp服务器的配置文件。在命令提示符下输入:rootlocalhost #locate ftp | grep etc | grep conf查找文件whichwhich命令语法:which 文件名实例:查看系统中是否安装c/c+编译器。经常在编写程序后,利用gcc来编译文件的时候,总是提示命令找不到的提示信息,可以利用which命令查看是否安装c/c+编译器。在命令提示符下输入以下命令。rootlocalhost #which gcc g+搜索文件中的字符串grepgrep命令语法:grep 参数 字符串或正则表达式文件名实例1:grep命令过滤ls l的显示内容。长格式显示文件是以多个字段显示,第一个字段显示该文件的类型和访问权限。如果只显示当前目录下的目录文件,则需要将显示结果进行过滤,只显示以d开头的行;反之,则显示非d字母开头的行。grep一般用于将指定的目标文件过滤显示,现在需要将ls l的显示结果过滤,因此需要借助管道命令(|)来显示,在命令提示符下输入:rootlocalhost #ls -l | grep d只显示当前目录下的目录文件。rootlocalhost #ls -l | grep d 显示当前目录下的除目录文件以为的文件。rootlocalhost #ls l |grep -i april只显示当前目录下四月份创建的文件。实例2:显示指定进程的信息。ps -ef显示所有进程的简单信息。对于庞大的输出结果,用户可以借助more命令分屏显示。如果用户只关心其中的某个进程或某些进程,则可借助grep对输出结果进行过滤,显示用户关心的行。假设只显示sshd进程的情况,在shell提示符下输入:rootlocalhost #ps ef | grep sshd显然只显示含有sshd的行,由于正在执行的grep命令含有“sshd”,因此也显示grep 进程,在shell提示符下再次输入:rootlocalhost #ps ef | grep sshd | grep -v grep实例3:显示除根用户外其他登陆本机的用户。本例子可以利用grep命令将who的输出结果进行过滤,只需要在命令提示符下输入:rootlocalhost #who | grep v root实例4:查询用户ddf和组ddf的信息。由于要查询用户/组“ddf”的信息,根据帐户文件(/etc/passwd)和组文件(/etc/group)的组织结构,则搜索etc/passwd和/etc/group中包含“ddf”的行。因此在命令提示符下输入:rootlocalhost #grep -n ddf /etc/passwd /etc/group实例5:查询目标文件中特定的字符串。假设当前目录下有一文件aaa,搜索该文件中包含“hello”的行,由于要匹配的字符串包含空格,因此在命令行中必须将其用引号括起来,避免shell把其当作独立的参数来处理而产生错误,需要在命令提示符下输入以下命令:rootlocalhost #grep -n “hello” aaa实例6:grep搜索文本最常用的例子就是查询结构化的文件,比如一个通讯簿(address),假设存在于当前目录,包含名字字段、联系方式、地址。搜索联通用户的详细信息。在命令提示符下输入:rootlocalhost #grep “ 130-2” address查找的字符串以一个空格开始。需要注意的是由于要求查询联通用户的信息,不仅仅是单纯的查询包含“130-2”的行,必须是以130-2开始的单个字段,即130-2前是一个空格。实例7:仍然对通讯录address执行操作,查询所有以s开头用户的联系方式。在命令提示符下输入:rootlocalhost #grep -in s address搜索文件中的字符串egrepegrep命令语法:egrep 参数 字符串或正则表达式 文件名实例:egrep命令实现多个字符串匹配,搜索address中simon和wxp
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 雷达装配工三级安全教育(公司级)考核试卷及答案
- 押题宝典演出经纪人之《演出经纪实务》模考模拟试题附参考答案详解【预热题】
- 游戏设计学院创新创业项目商业计划书
- 电商直播辅助工具创新创业项目商业计划书
- 智能养老健康监测创新创业项目商业计划书
- 农场动物智能盘点系统创新创业项目商业计划书
- 换罐清渣工技能操作考核试卷及答案
- 贵金属首饰检验员工艺考核试卷及答案
- 电子电气产品检验员新员工考核试卷及答案
- 考点解析公务员考试《常识》专题攻克试卷(含答案详解版)
- 房地产市场报告 -九江房地产市场月报2022年11月
- 代运营协议合同范本
- 《人格障碍》课件
- 座位表模板(空白)
- 部编版高一语文必修上册教学计划
- 青岛版六三制四年级上册数学1万以上数的认识和读法教学课件
- GB∕T 27011-2019 合格评定 认可机构要求
- 私企接待应酬管理制度(3篇)
- YX51-380-760型金属屋面板专项施工方案(32页)
- 国际商务(International Business)英文全套完整课件
- 编制说明—《殡仪服务规范》
评论
0/150
提交评论