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命令改变您默认的浏览器。
分享到:
相关推荐
Linux 文件查找-find 命令详解 Linux 中的 find 命令是一种实时查找工具,通过遍历指定路径完成文件查找工作。该命令具有查找速度略慢、精确查找、实时查找和查找条件丰富等特点。 基本语法: ``` find [OPTION].....
`locate`命令是Linux系统中一种快速、高效的文件查找工具,它通过预先建立的文件系统数据库来查找文件,相比`find`命令,其速度更快。以下是关于`locate`命令的详细知识: **locate命令的作用** `locate`命令主要...
在Linux操作系统中,掌握文件查找命令是至关重要的,特别是find命令。find命令允许用户在文件系统中高效地定位文件,无论文件隐藏得多么深。在本篇内容中,我们将深入探讨find命令的作用、基本格式以及多种实用的...
Linux运维-操作系统 教程 从入门到精通101课-42-42文件系统命令-vi末行模式 查找与替
Linux 基础 38-文件内容命令-03-grep查找文件内容.flv
在Linux系统中,`find`命令是非常强大的文件搜索工具之一,它能够帮助用户根据不同的条件查找文件,包括文件名、大小、类型以及文件最后修改时间等。本篇文章将重点介绍如何利用`find`命令按文件最后修改时间进行...
通过了解和熟练使用这些基本命令,用户可以在Linux环境中更高效地执行各种任务,如文件管理、权限控制以及快速查找文件。随着对Linux命令的深入理解和实践,用户将能够更好地驾驭这个强大的开源操作系统。
Linux 查找文件命令 find Linux 操作系统中查找文件是一件比较麻烦的事情,需要使用专门的“查找”命令来寻找在硬盘上的文件。Find 命令是 Linux 中最常用的查找文件命令,可以帮助用户快速地查找到需要的文件。 ...
这篇“linux系统命令-补充”可能是对已有Linux命令知识的一个扩展,可能涵盖了不常见但实用的命令,或者是对常用命令的深入解析。由于没有直接提供文章内容,我们将基于Linux命令的一般知识来进行详细的解释。 首先...
使用find命令查找Linux中的隐藏文件的方法 find命令是Linux和Unix系统中最强大和灵活的命令之一,能够根据不同的选项和参数来实现各种文件搜索和管理任务。下面将详细介绍如何使用find命令查找Linux中的隐藏文件。 ...
### Linux 文件查找命令 find 在Linux系统中,`find`命令是极其强大的工具,用于在文件系统中搜索和定位特定的文件或目录。通过灵活的选项设置,`find`能够根据文件名、权限、所有者、修改时间等多种条件进行精确...
Linux 查找命令大全及相关参数详解 Linux 查找命令是 Linux 系统中最常用的命令之一,然而很多人不知道 Linux 查找命令的更多超级有用的方法。下面我们将详细介绍 Linux 查找命令的使用方法和参数。 查找目录 ...
Linux命令行操作是Linux系统管理中的一项基本技能,它允许用户通过输入文本命令来操作计算机。Linux命令行是通过Shell程序来实现与计算机的交互的。本篇文档将详细介绍一些常用的Linux命令行操作,帮助用户更高效地...
总结起来,`find`命令提供了丰富的选项来精确查找文件,而`xargs`则帮助用户高效地处理这些找到的文件。熟练掌握这两个命令,可以极大地提高Linux系统中的文件管理效率。无论是日常操作还是自动化脚本,它们都是不可...
Linux 查找文件命令 find Linux 操作系统中查找文件的命令是 find 命令,这个命令可以帮助用户快速地查找硬盘上的文件。在 Linux 系统中,文件表达格式非常复杂,不像 Windows、DOS 下都是统一的 AAAAAAA.BBB 格式...
以上命令展示了 `whereis`、`locate` 和 `find` 命令的强大功能,这些命令可以帮助我们在Linux系统中高效地查找文件和内容。通过灵活运用这些命令的不同选项,我们可以实现更为精确的文件查找需求。
`find`命令能根据各种条件查找文件,如`find / -name "filename"`在根目录下查找名为"filename"的文件。 ### 第七章 文本处理 `grep`用于在文件中搜索特定模式,`sed`和`awk`则常用于文本流处理和模式匹配。 以上...
Linux实用教程旨在帮助用户熟练掌握Linux操作系统的基本使用和高级技巧,是学习Linux系统管理、编程、网络服务等领域的基础。本教程将涵盖以下几个主要知识点: 1. **Linux简介**:Linux是一种自由开源的操作系统,...
总之,Linux基础教程旨在帮助读者掌握Linux操作系统的基本概念、命令操作、系统管理等方面的知识,为进一步深入学习和使用Linux打下坚实基础。通过实践和不断探索,你将发现Linux是一个强大且灵活的平台,能够满足...
【大学生攻克Linux系统教程】 本教程专为对Linux操作系统感兴趣的初学者设计,...通过这个教程,初学者不仅能学会Linux的基本操作,还能建立起扎实的编程基础,为进一步深入学习Linux系统和相关技术打下坚实的基础。