`
sbpya
  • 浏览: 615742 次
  • 性别: Icon_minigender_1
  • 来自: 杭州,长沙
社区版块
存档分类
最新评论

Linux系统教程---Linux查找文件的相关命令

阅读更多

Linux查找文件的相关命令如表2-7所示。

  表2-7 Linux查找文件的相关命令说明

简要中文说明

程序所在目录

more

分页显示一个文件或任何输出结果

/bin

less

分页显示一个文件并且可以回头

/usr/bin

whereis

寻找文件工具

/usr/bin

find

寻找文件工具

/usr/bin

locate

寻找文件工具

/usr/bin

grep

寻找某字串内容工具

/bin

env

查看环境设置

/usr/bin

  more [文件名]

  分页显示一个文件或任何输出结果

  其实more不是用来寻找文件的,但是一般人却十有八九是在找文件时把它派上用场。

  因为 more 主要的作用是把输出结果显示在屏幕上,一页停止一次,所以例如当我们用 ls 命令去找一个 x字母开头的文件,而下达了 ls x* 却仍然列出太多文件,一个屏幕看不完时,就可以配合管道符号和 more 命令:

  ls x* | more

  它会一屏停止一下,等待您按空白键才继续往上卷。于是 more 俨然犹如 DOS 的 DIR 命令 /P 选项的地位了。而 more 当主角的时候,是用做一页一次显示文章,例如我们想要看 /etc 里面的 XF86Config 文件,可以下如下命令:

  more /etc/XF86Config

  这样,我们就可以不断按空白键把这个文件慢慢看完。但是,因为more 先天的设计,如果您看完了这页,想要回头看上一页,很抱歉,是不行的,您必须从头再来!于是大家在使用中就干脆摒弃这个命令,而代之以 vi 或者pico, joe等文书编辑器来看文字文件了!

  pico /etc/XF86Config

  到最后,很少人再用more了。所以more经常配合 ls在找文件的场合出现,每天都可以上场十几次。

  所以,相信把失去主要舞台的 more归类为找寻文件的相关命令虽不合法,但合情合理也合于现状。

  练习:

  请您用 more 去看一个文字文件,与用 pico 去看一个文字文件相比较,哪一个比较方便?

 

less [文件名]

  分页显示一个文件并且可以回头

  less命令很好笑,取名时就故意与more 命令打对台,你叫“更多”,我就叫“更少”,就好像你叫黑人牙膏我就叫白人牙膏一样。事实上与什么“更多”、“更少”都没有关系。它最主要只是为了改进一点:more 不能回头看的问题!

  less 的优点就是可以随时回头,最简单的用【PgUp】键就可以向上翻。

  可是依我们的孤陋之见,还是用文书编辑器去阅读文件就好了嘛,更何况 less 本身还有高达 42 个选项,何必那么麻烦!

  所以,为了您好,选项我们也不介绍了。这个命令目前只在 Linux 系统可以使用,其他 UNIX 家族尚无。

  练习:

  (1)请您用 less 去看一个文字文件,与用 pico 去看一个文字文件相比,哪一个比较方便?

  (2)less命令能像more命令一样配合管道符号,让ls的列示文件能够回头翻看吗?

  whereis 文件名

  寻找文件工具

  whereis 是一个小巧好用的文件寻找工具,它专门用来寻找可执行的程序、原始程序和使用手册。

  例如执行命令:

  whereis bzip2

  它就会告诉您,bzip2 放在 /usr/bin 。通常,如果您确定某个东西是程序,而用 whereis 找不到的话,那就表示本系统没有安装该程序了,例如:

  whereis cjoe

  表示这套系统中没有装 cjoe,否则应该会找到才对。

  练习:

  (1)找找您的系统上有没有xpaint这个程序?因为这个程序在 KDE 和 GNOME 的默认主菜单上都没有列出来,但并不表示一定没有。

  (2)能用 whereis 命令去找到XF86Config设置文件在哪里吗?为什么?

 

find [寻找的目录] [表示式]

  寻找文件工具

  find 是高级的寻找文件工具,可不像 whereis 那么“阳春白雪”。但也因为它太高级了,复杂到很多人用不熟练。我们尽量只举简单的例子。

  最简单的格式如下:

  find / -name my* -print

  这个意思是请它从最底层的主目录开始找,找出文件名是 my 开头的文件,把它显示出来。-print 选项是显示,您可把它当做固定要加上的项目。

  但它还可以用时间来找,例如:

  find /usr -atime 3 –print

  会从 /usr 目录开始往下找,找最近3天之内存取过的文件。

  find /usr -ctime 5 –print

  会从 /usr 目录开始往下找,找最近5天之内修改过的文件。

  find /doc -user jacky -name 'j*' –print

  会从 /doc 目录开始往下找,找jacky 的、文件名开头是 j的文件。

  find /doc \( -name 'ja*' -o- -name 'ma*' \) –print

  会从 /doc 目录开始往下找,找寻文件名是 ja 开头或者 ma开头的文件。

  find /doc -name '*bak' -exec rm {} \;

  会从 /doc 目录开始往下找,找到凡是文件名结尾为 bak的文件,把它删除掉。-exec 选项是执行的意思,rm 是删除命令,{ } 表示文件名,“\;”是规定的命令结尾。

  练习:

  用 find 命令能否找出XF86Config这个文件在哪里?

 

locate 文件名

  寻找文件工具

  locate 也是一个寻找文件的工具,但是它不像 whereis 只能找程序文件等几种文件,也不像find那么复杂,可以算是“中庸之道”!

  中庸之道,往往就是大部分人最佳的选择,如图2-32所示。


图2-32 3种寻找文件命令的对比

  whereis找不到的文件,find要一大串命令,还花了很久的时间才找到的XF86Config设置文件,而用locate一下子就简单找到了!

  练习:

  (1)用 locate 找找有没有一个inittab文件?

  (2)用 locate 找找有哪些 .pcf 字形文件。如果找不到的话,找找看已经压缩过的字形文件 .pcf.Z 或者 .pcf.gz。

  grep [-选项] [字串] [文件名]

  寻找某字串内容工具

  有些时候,我们存储文件时随手乱取了一个文件名,事后自己都忘了那个文件名叫什么,连开头第一个字母都想不起来。那么,如果您还记得该文件一点特殊的词语,应该可以用 grep 命令找到。

  例如,我们想在一个目录的200个文件里面,找出哪一个文件提到“排版”这个词语:

  grep 排版 *.txt

  找到了两个文件有此字样。然后您再自行调出看看到底哪一篇才是您所要的即可。寻找时注意尽量寻找特殊词语,如果您输入“然后”、“这样”、“不是”、“电脑”……这类太普遍的词语,可能几百篇文章中都有,那就失去了用 grep 找文件的意义了。

  因为例子中第二篇文章出现了两次,所以列出了3行,其实只有两个文件符合。如果您想要让它凡是符合条件的只出现一次的话,加上 -l 选项就可以了,如图2-33所示。


图2-33 增加-l选项后的grep命令

  其他常用的选项还有:

  -n 同时列出该词语出现在文章的第几行。

  -c 计算一下该字串出现的次数。

  -i 比对的时候,不计较大小写的不同。

  练习:

  当我们要为系统增加一个用户时,往往担心添加一个已经存在的用户名字。如果用 grep 命令,可不可以避免这个问题?如何避免?

 

env

  查看环境设置

  env 命令可以设置很多环境变量,例如终端机的类型、使用的浏览器、用户主目录(Home Directory)的所在等等。

  但是我们现在把焦点集中在其中一项:PATH环境变量。

  因为 PATH 这个环境变量掌管了您下达命令的时候,它会到下面几个目录去找您命令的程序:

  /usr/bin

  /sbin

  /usr/sbin

  /usr/X11R6/bin

  /root/bin

  那么您用 env 命令,让它把所有的环境变量列出来的时候,就可以看到有一行PATH 设置,把上述几个目录用分号分开,然后串成一串。这就是它所谓寻找命令的“路径”。DOS 系统也有一个同名而且意义非常相似的路径设置。如图2-34所示。


图2-34 执行env命令

  如果您想在它查找命令的路径上增加一个 /usr/bin/he,而把 /root/bin 去掉,那么您可以重新下达:

  env PATH=/usr/bin;/sbin;/usr/sbin;/usr/X11R6/bin;/usr/bin/he

  当然env 其他的变量也可以这样改变。但是因为涉及面太广,我们就只把焦点集中在改变查找路径上,其他暂时不谈。

  练习:

  用env命令改变您默认的浏览器。

分享到:
评论
1 楼 zhuzhuaijq 2011-09-10  
现在正在学习linux命令 学习了!

相关推荐

    Linux教程-linux文件查找-find.docx

    Linux 文件查找-find 命令详解 Linux 中的 find 命令是一种实时查找工具,通过遍历指定路径完成文件查找工作。该命令具有查找速度略慢、精确查找、实时查找和查找条件丰富等特点。 基本语法: ``` find [OPTION].....

    Linux基础课件-Linux系统文件查找-locate命令.pptx

    `locate`命令是Linux系统中一种快速、高效的文件查找工具,它通过预先建立的文件系统数据库来查找文件,相比`find`命令,其速度更快。以下是关于`locate`命令的详细知识: **locate命令的作用** `locate`命令主要...

    Linux基础课件-Linux系统文件查找-find命令.pptx

    在Linux操作系统中,掌握文件查找命令是至关重要的,特别是find命令。find命令允许用户在文件系统中高效地定位文件,无论文件隐藏得多么深。在本篇内容中,我们将深入探讨find命令的作用、基本格式以及多种实用的...

    Linux运维-操作系统 教程 从入门到精通101课-42-42文件系统命令-vi末行模式 查找与替换.mp4

    Linux运维-操作系统 教程 从入门到精通101课-42-42文件系统命令-vi末行模式 查找与替

    Linux 基础 38-文件内容命令-03-grep查找文件内容.flv

    Linux 基础 38-文件内容命令-03-grep查找文件内容.flv

    Linux find 按文件修改时间查找文件

    在Linux系统中,`find`命令是非常强大的文件搜索工具之一,它能够帮助用户根据不同的条件查找文件,包括文件名、大小、类型以及文件最后修改时间等。本篇文章将重点介绍如何利用`find`命令按文件最后修改时间进行...

    Linux 学习手册--linux命令大全

    通过了解和熟练使用这些基本命令,用户可以在Linux环境中更高效地执行各种任务,如文件管理、权限控制以及快速查找文件。随着对Linux命令的深入理解和实践,用户将能够更好地驾驭这个强大的开源操作系统。

    linux查找文件命令find.docx

    Linux 查找文件命令 find Linux 操作系统中查找文件是一件比较麻烦的事情,需要使用专门的“查找”命令来寻找在硬盘上的文件。Find 命令是 Linux 中最常用的查找文件命令,可以帮助用户快速地查找到需要的文件。 ...

    linux系统命令-补充

    这篇“linux系统命令-补充”可能是对已有Linux命令知识的一个扩展,可能涵盖了不常见但实用的命令,或者是对常用命令的深入解析。由于没有直接提供文章内容,我们将基于Linux命令的一般知识来进行详细的解释。 首先...

    使用find命令查找Linux中的隐藏文件的方法.docx

    使用find命令查找Linux中的隐藏文件的方法 find命令是Linux和Unix系统中最强大和灵活的命令之一,能够根据不同的选项和参数来实现各种文件搜索和管理任务。下面将详细介绍如何使用find命令查找Linux中的隐藏文件。 ...

    Linux文件查找命令find

    ### Linux 文件查找命令 find 在Linux系统中,`find`命令是极其强大的工具,用于在文件系统中搜索和定位特定的文件或目录。通过灵活的选项设置,`find`能够根据文件名、权限、所有者、修改时间等多种条件进行精确...

    linux 查找命令大全及相关参数详解

    Linux 查找命令大全及相关参数详解 Linux 查找命令是 Linux 系统中最常用的命令之一,然而很多人不知道 Linux 查找命令的更多超级有用的方法。下面我们将详细介绍 Linux 查找命令的使用方法和参数。 查找目录 ...

    linux命令--RUN.pdf

    Linux命令行操作是Linux系统管理中的一项基本技能,它允许用户通过输入文本命令来操作计算机。Linux命令行是通过Shell程序来实现与计算机的交互的。本篇文档将详细介绍一些常用的Linux命令行操作,帮助用户更高效地...

    Linux文件查找命令find,xargs详述

    总结起来,`find`命令提供了丰富的选项来精确查找文件,而`xargs`则帮助用户高效地处理这些找到的文件。熟练掌握这两个命令,可以极大地提高Linux系统中的文件管理效率。无论是日常操作还是自动化脚本,它们都是不可...

    linux查找文件命令find

    Linux 查找文件命令 find Linux 操作系统中查找文件的命令是 find 命令,这个命令可以帮助用户快速地查找硬盘上的文件。在 Linux 系统中,文件表达格式非常复杂,不像 Windows、DOS 下都是统一的 AAAAAAA.BBB 格式...

    linux 下查找文件或者内容常有命令

    以上命令展示了 `whereis`、`locate` 和 `find` 命令的强大功能,这些命令可以帮助我们在Linux系统中高效地查找文件和内容。通过灵活运用这些命令的不同选项,我们可以实现更为精确的文件查找需求。

    linux系统命令-个人总结

    `find`命令能根据各种条件查找文件,如`find / -name "filename"`在根目录下查找名为"filename"的文件。 ### 第七章 文本处理 `grep`用于在文件中搜索特定模式,`sed`和`awk`则常用于文本流处理和模式匹配。 以上...

    Linux实用教程--------

    Linux实用教程旨在帮助用户熟练掌握Linux操作系统的基本使用和高级技巧,是学习Linux系统管理、编程、网络服务等领域的基础。本教程将涵盖以下几个主要知识点: 1. **Linux简介**:Linux是一种自由开源的操作系统,...

    Linux基础教程-操作系统基础

    总之,Linux基础教程旨在帮助读者掌握Linux操作系统的基本概念、命令操作、系统管理等方面的知识,为进一步深入学习和使用Linux打下坚实基础。通过实践和不断探索,你将发现Linux是一个强大且灵活的平台,能够满足...

    大学生攻克Linux系统教程

    【大学生攻克Linux系统教程】 本教程专为对Linux操作系统感兴趣的初学者设计,...通过这个教程,初学者不仅能学会Linux的基本操作,还能建立起扎实的编程基础,为进一步深入学习Linux系统和相关技术打下坚实的基础。

Global site tag (gtag.js) - Google Analytics