带有图形化界面(GUI)的工具可能比较容易学习。所有的命令和选项一般都会在菜单和对话框中显示出来,使我们很容易就能了解这个工具能干些什么。如果“简便”和“直观”是你选择应用程序的第一要素,那么图形化工具总会是你的不二选择。 但是图形化界面带来简便的同时也带来功能贫乏,不够灵活的缺点。假定你是一个程序员,你需要清理你的Linux文件系统。要求在整个系统中找出所有超过6个月未被访问的目标文件,并在这些目录中运行make clean命令。一个图形化的文件系统浏览器能一次就完成这个任务吗?估计是不可以的。但是,联合多个非图形化的Linux命令行工具,再加之强大的Linux Shell,你可以快捷而轻松的完成这个任务。 来看看在命令行上我们到底能做哪些很强的事情。你也许并不想直接去做那些事情,但你可以了解如何来关联使用这些工具。Shell 和它的命令行程序的“关联”特性(就是允许你根据需要来组合使用各工具完成任务的能力)就是这些“强大工具”之所以强大的精要所在。 网络书签
如果你正气急败坏的在屏幕上双击打开一个又一个的文件夹疯狂寻找你两年前保存的关于“如何烹制独一无二的番茄炒蛋”的文章;如果你正盯着电脑上混乱如麻的文件夹,想把分散在各处的叫“菜谱XXX”的文件归并到一处,却无所适从时;如果你... “嗨,这位使用Linux的大厨兄,别忙了,是时候学习一下Linux众多优秀文件管理工具中非常实用,趁手的一个了。find命令可以让您非常从容,优雅的按照您的吩咐来匹配相关的文件或目录(文件夹),并对其实施指定的操作。 find命令语法 find . -name foo -print 这个命令的意思是从当前目录开始搜索带有“foo“的文件并显示出来。 注:在多数的Linux版本中-print可以省略。 find的常用语法: find 起始目录 搜寻条件 如果命令中没有设置起始目录,find会默认使用当前目录作为起始目录。你可以定义多个起始目录,比如: find /usr /home /tmp -name "*.jar" 该命令会在/usr, /home, /tmp三个目录及其子目录下搜索带有“.jar“的文件。如果您对某些要搜索的起始目录及其子目录没有访问权限,在搜索过程中会生成错误消息,比如: find: /root/protected: Permission denied 这样的出错信息会与搜索结果的输出混在一起。我们可以象如下这样过滤掉这些错误信息,以获得“干净”的搜索结果。 注:2>/dev/null 用来将出错信息重定向到空文件,从而不在屏幕上显示 find /usr /home /tmp -name "*.jar" 2>/dev/null 注:在上面的例子中通配符都需要括在引号中或用转义符(\)转义,比如上例也可以表示为: find /usr /home /tmp -name \*.jar find搜寻条件的逻辑及顺序 搜寻条件可以是多个条件组成的复合条件,可以由逻辑运算符and, or , not来连接: and: 逻辑与,在命令中用"-a"表示,是系统的缺省选项,表示只有当所给的条件都满足时,搜寻条件才满足。例如: find /prj/reports -type [...]













