﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-oneJavaer-文章分类-OS-Linux学习</title><link>http://www.blogjava.net/onejavaer/category/16142.html</link><description>让我在热血沸腾中度此一生 让我在醇酒般的幻梦里醉沉！莫使我眼见这泥塑的肉身，终以空虚的躯壳毁于泥尘</description><language>zh-cn</language><lastBuildDate>Wed, 28 Feb 2007 03:44:28 GMT</lastBuildDate><pubDate>Wed, 28 Feb 2007 03:44:28 GMT</pubDate><ttl>60</ttl><item><title>Linux中文件查找技术大全</title><link>http://www.blogjava.net/onejavaer/articles/75809.html</link><dc:creator>暗夜精灵</dc:creator><author>暗夜精灵</author><pubDate>Wed, 18 Oct 2006 01:38:00 GMT</pubDate><guid>http://www.blogjava.net/onejavaer/articles/75809.html</guid><wfw:comment>http://www.blogjava.net/onejavaer/comments/75809.html</wfw:comment><comments>http://www.blogjava.net/onejavaer/articles/75809.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/onejavaer/comments/commentRss/75809.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/onejavaer/services/trackbacks/75809.html</trackback:ping><description><![CDATA[    每一种操作系统都是由成千上万个不同种类的文件所组成的。其中有系统本身自带的文件，用户自己的文件，还有共享文件等等。我们有时候经常忘记某份文件放在硬盘中的哪个地方。在微软的WINDOWS操作系统中要查找一份文件是相当简单的事情，只要在桌面上点击“开始”－“搜索”中就能按照各种方式在本地硬盘上，局域网络，甚至在INTERNET上查找各种文件，文档。 <br /><br />   可是使用Linux的用户就没有那么幸运了，在Linux上查找某个文件确实是一件比较麻烦的事情。毕竟在Linux中需要我们使用专用的“查找”命令来寻找在硬盘上的文件。Linux下的文件表达格式非常复杂，不象WINDOWS,DOS下都是统一的AAAAAAA.BBB格式那么方便查找，在WINDOWS中，只要知道要查找的文件的文件名或者后缀就非常容易查找到。Linux中查找文件的命令通常为“find”命令，“find”命令能帮助我们在使用,管理Linux的日常事务中方便的查找出我们需要的文件。对于Linux新手来说，“find”命令也是了解和学习Linux文件特点的方法。因为Linux发行版本繁多，版本升级很快，在Linux书籍上往往写明某个配置文件的所在位置，往往Linux新手按图索骥还是不能找到。比如说REDHAT Linux 7.O和REDHAT Linux 7.1中有些重要的配置文件所在的硬盘位置和文件目录就有了很大的改变，如果不学会使用“find”命令，那么在成千上万的Linux文件中要找到其中的一个配置文件是相当困难的，笔者在没有精通“find”命令之前就吃过这样的苦头。好，下面就详细为大家介绍强大的“find”命令的全部使用方法和用途。 <br /><br />    <strong>通过文件名查找法： <br /><br /></strong>    这个方法说起来就和在WINDOWS下查找文件一样容易理解了。如果你把这个文件放在单个的文件夹里面，只要使用常见的“ls"命令就能方便的查找出来，那么使用“find”命令来查找它就不能给你留下深刻的印象，毕竟“find”命令的强大功能不止这个。如果知道了某个文件的文件名，而不知道这个文件放到哪个文件夹，甚至是层层套嵌的文件夹里。举例说明，假设你忘记了httpd.conf这个文件在系统的哪个目录下，甚至在系统的某个地方也不知道，则这是可以使用如下命令： <br />find / -name httpd.conf <br /><br />   这个命令语法看起来很容易就明白了，就是直接在find后面写上 -name，表明要求系统按照文件名查找，最后写上httpd.conf这个目标文件名即可。稍等一会系统会在计算机屏幕上显示出查找结果列表： <br />etc/httpd/conf/httpd.conf <br /><br />   这就是httpd.conf这个文件在Linux系统中的完整路径。查找成功。 <br />如果输入以上查找命令后系统并没有显示出结果，那么不要以为系统没有执行find/ -name httpd.conf命令，而可能是你的系统中没有安装Apache服务器，这时只要你安装了Apache Web服务器，然后再使用find / -name httpd.conf就能找到这个配置文件了。 <br /><br />    <strong>无错误查找技巧： <br /></strong><br />    在Linux系统中“find”命令是大多数系统用户都可以使用的命令，并不是ROOT系统管理员的专利。但是普通用户使用“find”命令时也有可能遇到这样的问题，那就是Linux系统中系统管理员ROOT可以把某些文件目录设置成禁止访问模式。这样普通用户就没有权限用“find”命令来查询这些目录或者文件。当普通用户使用“find”命令来查询这些文件目录是，往往会出现"Permissiondenied."（禁止访问）字样。系统将无法查询到你想要的文件。为了避免这样的错误，我们可是使用转移错误提示的方法尝试着查找文件，输入 <br />find / -name access_log 2&gt;/dev/null <br /><br />   这个方法是把查找错误提示转移到特定的目录中去。系统执行这个命令后，遇到错误的信息就直接输送到stderrstream 2 中，access_log 2就是表明系统将把错误信息输送到stderrstream 2中，/dev/null是一个特殊的文件，表明空的或者错误的信息，这样查询到的错误信息将被转移了，不会再显示了。 <br /><br />   在Linux系统查找文件也会遇到这样一个实际问题。如果我们在整个硬盘，这个系统中查找某个文件就要花费相当长的一段时间，特别是大型Linux系统和容量较大的硬盘，文件放在套嵌很深的目录中的时候。如果我们知道了这个文件存放在某个大的目录中，那么只要在这个目录中往下找就能节省很多时间了。使用find /etc -name httpd.conf 就可以解决这个问题。上面的命令就是表示在etc目录中查询httpd.conf这个文件。这里再说明一下“/ ”这个函数符号的含义，如果输入 “find/ ”就是表示要求Linux系统在整个ROOT目录下查找文件，也就是在整个硬盘上查找文件，而“find/etc”就是只在 etc目录下查找文件。因为“find/etc”表示只在etc目录下查找文件，所以查找的速度就相应要快很多了。 <br /><br />    <strong>根据部分文件名查找方法： <br /></strong><br />    这个方法和在WINDOWS中查找已知的文件名方法是一样的。不过在Linux中根据部分文件名查找文件的方法要比在WINDOWS中的同类查找方法要强大得多。例如我们知道某个文件包含有srm这3个字母，那么要找到系统中所有包含有这3个字母的文件是可以实现的，输入： <br />find /etc -name '*srm*' <br /><br />   这个命令表明了Linux系统将在/etc整个目录中查找所有的包含有srm这3个字母的文件，比如 absrmyz， tibc.srm等等符合条件的文件都能显示出来。如果你还知道这个文件是由srm 这3个字母打头的，那么我们还可以省略最前面的星号，命令如下： <br />find/etc -name 'srm*' <br /><br />   这是只有像srmyz 这样的文件才被查找出来，象absrmyz或者 absrm这样的文件都不符合要求，不被显示，这样查找文件的效率和可靠性就大大增强了。 <br /><br />    <strong>根据文件的特征查询方法： <br /></strong><br />    如果只知道某个文件的大小，修改日期等特征也可以使用“find”命令查找出来，这和WINDOWS系统中的"搜索"功能是基本相同的。在微软的"搜索"中WINDOWS中的"搜索助理"使得搜索文件和文件夹、打印机、用户以及网络中的其他计算机更加容易。它甚至使在Internet 上搜索更加容易。"搜索助理"还包括一个索引服务，该服务维护了计算机中所有文件的索引，使得搜索速度更快。使用"搜索助理"时，用户可以指定多个搜索标准。例如，用户可以按名称、类型及大小搜索文件和文件夹。用户甚至可以搜索包含特定文本的文件。如果用户正使用 Active Directory，这时还可以搜索带有特定名称或位置的打印机。 <br /><br />   例如我们知道一个Linux文件大小为1,500 bytes，那么我们可是使用如下命令来查询find / -size 1500c，字符 c 表明这个要查找的文件的大小是以bytes为单位。如果我们连这个文件的具体大小都不知道，那么在Linux中还可以进行模糊查找方式来解决。例如我们输入find/ -size +10000000c 这个命令，则标明我们指定系统在根目录中查找出大于10000000字节的文件并显示出来。命令中的“＋”是表示要求系统只列出大于指定大小的文件，而使用“-”则表示要求系统列出小于指定大小的文件。下面的列表就是在Linux使用不同“ find"命令后系统所要作出的查找动作，从中我们很容易看出在Linux中使用“find"命令的方式是很多的，“ find"命令查找文件只要灵活应用，丝毫不必在WINDOWS中查找能力差。<br />   find / -amin -10 # 查找在系统中最后10分钟访问的文件 <br />    find / -atime -2 # 查找在系统中最后48小时访问的文件 <br />    find / -empty # 查找在系统中为空的文件或者文件夹 <br />    find / -group cat # 查找在系统中属于 groupcat的文件 <br />    find / -mmin -5 # 查找在系统中最后5分钟里修改过的文件 <br />    find / -mtime -1 #查找在系统中最后24小时里修改过的文件 <br />    find / -nouser #查找在系统中属于作废用户的文件 <br />    find / -user fred #查找在系统中属于FRED这个用户的文件 <br /><br />   <br />    下面的列表就是对find命令所可以指定文件的特征进行查找的部分条件。在这里并没有列举所有的查找条件，参考有关Linux有关书籍可以知道所有find命令的查找函数。 <br /><br />    -amin n <br />    查找系统中最后N分钟访问的文件 <br /><br />    -atime n <br />    查找系统中最后n*24小时访问的文件 <br /><br />    -cmin n <br />    查找系统中最后N分钟被改变状态的文件 <br /><br />    -ctime n <br />    查找系统中最后n*24小时被改变状态的文件 <br /><br />    -empty <br />    查找系统中空白的文件，或空白的文件目录，或目录中没有子目录的文件夹 <br /><br />    -false <br />    查找系统中总是错误的文件 <br /><br />    -fstype type <br />    查找系统中存在于指定文件系统的文件，例如：ext2 . <br /><br />    -gid n <br />    查找系统中文件数字组 ID 为 n的文件 <br /><br />    -group gname <br />    查找系统中文件属于gnam文件组，并且指定组和ID的文件 <br /><br />   <br />    Find命令的控制选项说明： <br />    Find命令也提供给用户一些特有的选项来控制查找操作。下表就是我们总结出的最基本，最常用的find命令的控制选项及其用法。 <br />    选项 <br />    用途描述 <br />    -daystart <br />    .测试系统从今天开始24小时以内的文件，用法类似-amin <br />    -depth <br />    使用深度级别的查找过程方式,在某层指定目录中优先查找文件内容 <br />    -follow <br />    遵循通配符链接方式查找; 另外，也可忽略通配符链接方式查询 <br />    -help <br />    显示命令摘要 <br />    -maxdepth levels <br />    在某个层次的目录中按照递减方法查找 <br />    -mount <br />    不在文件系统目录中查找， 用法类似 -xdev<br />       -noleaf <br />    禁止在非UNUX文件系统，MS-DOS系统，CD-ROM文件系统中进行最优化查找 <br />    -version <br />    打印版本数字 <br /><br />   <br />    使用-follow选项后，find命令则遵循通配符链接方式进行查找，除非你指定这个选项，否则一般情况下find命令将忽略通配符链接方式进行文件查找。 <br /><br />   -maxdepth选项的作用就是限制find命令在目录中按照递减方式查找文件的时候搜索文件超过某个级别或者搜索过多的目录，这样导致查找速度变慢，查找花费的时间过多。例如，我们要在当前(.)目录技巧子目录中查找一个名叫fred的文件，我们可以使用如下命令 <br />find . -maxdepth 2 -name fred <br /><br />   假如这个fred文件在./sub1/fred目录中，那么这个命令就会直接定位这个文件，查找很容易成功。假如，这个文件在./sub1/sub2/fred目录中，那么这个命令就无法查找到。因为前面已经给find命令在目录中最大的查询目录级别为2，只能查找2层目录下的文件。这样做的目的就是为了让find命令更加精确的定位文件，如果你已经知道了某个文件大概所在的文件目录级数，那么加入-maxdepth n 就很快的能在指定目录中查找成功。 <br /><br />  <strong> 使用混合查找方式查找文件 <br /></strong><br />    find命令可以使用混合查找的方法，例如我们想在/tmp目录中查找大于100000000字节并且在48小时内修改的某个文件，我们可以使用-and 来把两个查找选项链接起来组合成一个混合的查找方式。 <br />find /tmp -size +10000000c -and -mtime +2 <br /><br />   学习过计算机语言的朋友都知道，在计算机语言里，使用and ,or 分别表示“与”和“或”的关系。在Linux系统的查找命令中一样通用。 <br />    还有这样的例子， <br />    find / -user fred -or -user george <br /><br />   我们可以解释为在/tmp目录中查找属于fred或者george这两个用户的文件。 <br />在find命令中还可以使用“非”的关系来查找文件，如果我们要在/tmp目录中查找所有不属于panda的文件，使用一个简单的 <br />    find /tmp ! -user panda <br />    命令就可以解决了。很简单。 <br /><br />    <strong>查找并显示文件的方法 <br /></strong><br />    查找到某个文件是我们的目的，我们更想知道查找到的文件的详细信息和属性，如果我们采取现查找文件，在使用LS命令来查看文件信息是相当繁琐的，现在我们也可以把这两个命令结合起来使用。 <br />find / -name "httpd.conf" -ls <br /><br />   系统查找到httpd.conf文件后立即在屏幕上显示httpd.conf文件信息。 <br />12063 34 -rw-r--r-- 1 root root 33545 Dec 30 15:36 /etc/httpd/conf/httpd.conf <br /><br />   下面的表格就是一些常用的查找文件并显示文件信息的参数和使用方法 <br />    选项 <br />    用途描述 <br />    -exec command; <br />    查找并执行命令 <br />    -fprint file <br />    打印文件完整文件名 <br />    -fprint0 file <br />    打印文件完整文件名包括空的文件 <br />    -fprintf file format <br />    打印文件格式 <br />    -ok command; <br />    给用户命令执行操作，根据用户的Y 确认输入执行 <br />    -printf format <br />    打印文件格式 <br />    -ls <br />    打印同种文件格式的文件. <br /><br />   <br />    总结：到这里为止我们已经学习了这名多关于find命令的使用方法，也列出了很多常用的find命令的选项，如果我们能熟练掌握在Linux中find命令的使用方法，那么在Linux中查找文件也不是一件困难的事情。<img src ="http://www.blogjava.net/onejavaer/aggbug/75809.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/onejavaer/" target="_blank">暗夜精灵</a> 2006-10-18 09:38 <a href="http://www.blogjava.net/onejavaer/articles/75809.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Linux文件与目录</title><link>http://www.blogjava.net/onejavaer/articles/75801.html</link><dc:creator>暗夜精灵</dc:creator><author>暗夜精灵</author><pubDate>Wed, 18 Oct 2006 01:21:00 GMT</pubDate><guid>http://www.blogjava.net/onejavaer/articles/75801.html</guid><wfw:comment>http://www.blogjava.net/onejavaer/comments/75801.html</wfw:comment><comments>http://www.blogjava.net/onejavaer/articles/75801.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/onejavaer/comments/commentRss/75801.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/onejavaer/services/trackbacks/75801.html</trackback:ping><description><![CDATA[
		<table cellspacing="2" cellpadding="2" width="100%" align="center" border="0">
				<tbody>
						<tr>
								<td valign="center" align="middle" height="45">
										<div align="center">
												<span class="newsbt">Linux文件与目录</span>
										</div>
								</td>
						</tr>
				</tbody>
		</table>
		<table bordercolor="#cccccc" cellspacing="1" cellpadding="2" width="560" align="center" border="1">
				<tbody>
						<tr bordercolor="#ffffff" bgcolor="#ffffff">
								<td height="29">
										<div class="bt" align="center">来源：www.linux521.com 　　　　日期：2006-5-9 21:43:59　　点击次数：
<script src="http://www.linux8.net/Click.asp?NewsID=065921451413533"></script>
 2138</div>
								</td>
						</tr>
				</tbody>
		</table>
		<table height="275" cellspacing="2" cellpadding="4" width="100%" align="center" border="0">
				<tbody>
						<tr>
								<td class="text" valign="top" height="271">
										<p>
												<strong>一 文件<font class="a">基本概念</font></strong>
												<font class="a">
														<br />
														<br />1.文件与文件名 <br />　　在多数操作系统中都有文件的概念。文件在Linux中是用来存储信息的基本结构，它是被命名（称为文件名）的存储在某种介质（如磁盘、光盘和磁带等）上的一组信息的集合。Linux文件均为无结构的字符流形式。文件名是文件的标识，它由字母、数字、下划线和圆点组成的字符串来构成。用户应该选择有意义的文件名。Linux要求文件名的长度限制在255个字符以内。 </font>
										</p>
										<p align="left">
												<font class="a">　　为了便于管理和识别，用户可以把扩展名作为文件名的一部分。圆点用于区分文件名和扩展名。扩展名对于将文件分类是十分有用的。用户可能对某些大众已接纳的标准扩展名比较熟悉，例如，C语言编写的源代码文件总是具有C的扩展名。用户可以根据自己的需要，随意加入自己的文件扩展名。<br />　　　 以下例子都是有效的Linux文件名。 <br />　　　 case <br />　　　 case1.txt <br />　　　 case.pl <br />　　　 case.bat </font>
										</p>
										<p align="left">
												<font class="a">2.文件的类型 <br />　 Linux系统中有三种基本的文件类型：普通文件、目录文件和设备文件。<br />　a. 普通文件:是用户最经常面对的文件。它又分为文本文件和二进制文件。 <br />　　　 1)文本文件：这类文件以文本的ASCII码形式存储在计算机中。它是以"行"为基本结构的一种信息组织和存储方式。 <br />　　　 2)二进制文件：这类文件以文本的二进制形式存储在计算机中，用户一般不能直接读懂它们，只有通过相应的软件才能将其显示出来。二进制文件一般是可执行程序、图形、图像、声音等等。 <br />　b. 目录文件:主要目的是用于管理和组织系统中的大量文件。它存储一组相关文件的位置、大小等与文件有关的信息。目录文件往往简称为目录。<br />　c. 设备文件:是Linux系统很重要的一个特色。Linux系统把每一个I/O设备都看成一个文件，与普通文件一样处理，这样可以使文件与设备的操作尽可能统一。从用户的角度来看，对I/O设备的使用和一般文件的使用一样，不必了解I/O设备的细节。设备文件可以细分为块设备文件和字符设备文件。前者的存取是以一个个字符块为单位的，后者则是以单个字符为单位的。<br /></font>
										</p>
										<p align="left">
												<b>二 <font class="a">目录</font></b>
										</p>
										<p align="left">
												<font class="a">1.树型目录结构 <br />　　在计算机系统中存有大量的文件，如何有效的组织与管理它们，并为用户提供一个使用方便的接口是文件系统的一大任务。Linux系统以文件目录的方式来组织和管理系统中的所有文件。所谓文件目录就是将所有文件的说明信息采用树型结构组织起来--即我们常说的目录。也就是说，整个文件系统有一个"根"（root），然后在根上分"杈"（directory），任何一个分杈上都可以再分杈，杈上也可以长出"叶子"。"根"和"杈"在Linux中被称为是"目录"或"文件夹"。而"叶子"则是一个个的文件。实践证明，此种结构的文件系统效率比较高。<br />　　如前所述，目录也是一种类型的文件。Linux系统通过目录将系统中所有的文件分级、分层组织在一起，形成了Linux文件系统的树型层次结构。以根目录为起点，所有其他的目录都由根目录派生而来用户可以浏览整个系统，可以进入任何一个已授权进入的目录，访问那里的文件。<br />　　实际上，各个目录结点"之下"都会有一些文件和子目录。并且，系统在建立每一个目录时，都会自动为它设定两个目录文件，一个是"."，代表该目录自己，另一个是".."，代表该目录的父目录，对于根目录，"."和".."都代表其自己。<br />　　Linux目录提供了管理文件的一个方便途径。每个目录里面都包含文件。用户可以为自己的文件创建自己的目录，也可以把一个目录下的文件移动或复制到另一目录下，而且能移动整个目录，并且和系统中的其他用户共享目录和文件。也就是说。我们能够方便地从一个目录切换到另一个目录，而且可以设置目录和文件的管理权限，以便允许或拒绝其他人对其进行访问。同时文件目录结构的相互关联性使分享数据变得十分容易，几个用户可以访问同一个文件。因此允许用户设置文件的共享程度。</font>
										</p>
								</td>
						</tr>
				</tbody>
		</table>　 需要说明的是，根目录(系统目录)是Linux系统中的特殊目录。Linux是一个多用户系统，操作系统本身的驻留程序存放在以根目录开始的专用目录中。 <p align="left"><font class="a">2.工作目录、用户主目录与路径<br />　　如前所述，目录是Linux系统组织文件的一种特殊文件。为使用户更好地使用目录，我们介绍有关目录的一些基本概念。 <br />　　a. 工作目录与用户主目录 <br />　　　 从逻辑上讲，用户在登录到Linux系统中之后，每时每刻都"处在"某个目录之中，此目录被称作工作目录或当前目录（Working Directory）。工作目录是可以随时改变的。用户初始登录到系统中时，其主目录（Home Directory）就成为其工作目录。工作目录用"."表示，其父目录用".."表示。 <br />　　　 用户主目录是系统管理员增加用户时建立起来的（以后也可以改变），每个用户都有自己的主目录，不同用户的主目录一般互不相同。 <br />　　　 用户刚登录到系统中时，其工作目录便是该用户主目录，通常与用户的登录名相同。 <br />　　　 用户可以通过一个"~"字符来引用自己的主目录。<br />　　　 例如命令: 　　　 /home/afu$ cat ~/class/software_1 <br />　　　 和下面的命令:　 /home/afu$ cat /home/afu/class/software_1 <br />意义相同。shell将用用户主目录名来替换"~"字符。 目录层次建立好之后，用户就可以把有关的文件放到相应的目录中，从而实现对文件的组织。<br />　　　 对文件进行访问时，需要用到 "路径"（Path）的概念。<br />　　b. 路径 <br />　　　 顾名思义，路径是指从树型目录中的某个目录层次到某个文件的一条道路。此路径的主要构成是目录名称，中间用"/"分开。任一文件在文件系统中的位置都是由相应的路径决定的。<br />　　　 用户在对文件进行访问时，要给出文件所在的路径。 路径又分相对路径和绝对路径。 绝对路径是指从"根"开始的路径，也称为完全路径；相对路径是从用户工作目录开始的路径。<br />　　　 应该注意到，在树型目录结构中到某一确定文件的绝对路径和相对路径均只有一条。绝对路径是确定不变的，而相对路径则随着用户工作目录的变化而不断变化。这一点对于我们以后使用某些命令如cp和tar等大有好处。<br />　　　 用户要访问一个文件时，可以通过路径名来引用。并且可以根据要访问的文件与用户工作目录的相对位置来引用它，而不需要列出这个文件的完整的路径名。例如，用户afu有一个名为class的目录，该目录中有两个文件：software_1和hardware_1。若用户afu想显示出其class目录中的名为software_1的文件，可以使用下列命令： 　　　　 /home/afu$ cat /home/afu/class/software_1<br />　　　 用户也可以根据文件software_1与当前工作目录的相对位置来引用该文件。这时命令为： 　　　 /home/afu$ cat class/software_1</font></p><img src ="http://www.blogjava.net/onejavaer/aggbug/75801.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/onejavaer/" target="_blank">暗夜精灵</a> 2006-10-18 09:21 <a href="http://www.blogjava.net/onejavaer/articles/75801.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Linux的目录结构</title><link>http://www.blogjava.net/onejavaer/articles/75796.html</link><dc:creator>暗夜精灵</dc:creator><author>暗夜精灵</author><pubDate>Wed, 18 Oct 2006 01:13:00 GMT</pubDate><guid>http://www.blogjava.net/onejavaer/articles/75796.html</guid><wfw:comment>http://www.blogjava.net/onejavaer/comments/75796.html</wfw:comment><comments>http://www.blogjava.net/onejavaer/articles/75796.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/onejavaer/comments/commentRss/75796.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/onejavaer/services/trackbacks/75796.html</trackback:ping><description><![CDATA[
		<table cellspacing="2" cellpadding="2" width="100%" align="center" border="0">
				<tbody>
						<tr>
								<td valign="center" align="middle" height="45">
										<div align="center">
												<span class="newsbt">解析Linux操作系统文件目录</span>
										</div>
								</td>
						</tr>
				</tbody>
		</table>
		<table bordercolor="#cccccc" cellspacing="1" cellpadding="2" width="560" align="center" border="1">
				<tbody>
						<tr bordercolor="#ffffff" bgcolor="#ffffff">
								<td height="29">
										<div class="bt" align="center">来源：chinaitlab 　　　　日期：2006-8-14 22:04:10　　点击次数：
<script src="http://www.linux8.net/Click.asp?NewsID=0681422062313521"></script>
 143</div>
								</td>
						</tr>
				</tbody>
		</table>
		<table height="275" cellspacing="2" cellpadding="4" width="100%" align="center" border="0">
				<tbody>
						<tr>
								<td class="text" valign="top" height="271">
										<p>　　随着Linux的不断发展，越来越多的人开始使用Linux，对于那些刚刚接触的人来说，恐怕最先感到困惑的就是那些“不明不白”的目录了。如果想熟练使用Linux，让Linux听命于自己，就必须掌握这些目录，下面就以Xteam公司的最新产品——XteamLinux 4.0为例，介绍一下在该系统下的目录。 <br />　　　　/bin bin是Binary的缩写。这个目录存放着最经常使用的命令。 <br />　　　　/boot这里存放的是启动Linux时使用的一些核心文件，包括一些链接文件以及镜像文件。 <br />　　　　/dev dev是Device(设备)的缩写。该目录下存放的是Linux的外部设备，在Linux中访问设备的方式和访问文件的方式是相同的。 <br />　　　　/etc这个目录用来存放所有的系统管理所需要的配置文件和子目录。 <br />　　　　/home用户的主目录，在Linux中，每个用户都有一个自己的目录，一般该目录名是以用户的账号命名的。 <br />　　　　/lib这个目录里存放着系统最基本的动态链接共享库，其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。 <br />　　　　/lost+found这个目录一般情况下是空的，当系统非法关机后，这里就存放了一些文件。 <br />　　　　/mnt在这里面中有四个目录，系统提供这些目录是为了让用户临时挂载别的文件系统的，我们可以将光驱挂载在/mnt/cdrom上，然后进入该目录就可以查看光驱里的内容了。 <br />　　　　/proc这个目录是一个虚拟的目录，它是系统内存的映射，我们可以通过直接访问这个目录来获取系统信息。这个目录的内容不在硬盘上而是在内存里，我们也可以直接修改里面的某些文件，比如可以通过下面的命令来屏蔽主机的ping命令，使别人无法ping你的机器： <br />　　　　echo 1 &gt; /proc/sys/net/ipv4/icmp_echo_ <br />　　　　ignore_all。 <br />　　　　/root该目录为系统管理员，也称作超级权限者的用户主目录。 <br />　　　　/sbin s就是Super User的意思，这里存放的是系统管理员使用的系统管理程序。 <br />　　　　/tmp这个目录是用来存放一些临时文件的。 <br />　　　　我们要用到的很多应用程序和文件几乎都存放在usr目录下。具体来说： <br />　　　　/usr/X11R6存放X-Windows的目录； <br />　　　　/usr/games存放着XteamLinux自带的小游戏； <br />　　　　/usr/bin存放着许多应用程序； <br />　　　　/usr/sbin存放root超级用户使用的管理程序； <br />　　　　/usr/doc Linux技术文档； <br />　　　　/usr/include用来存放Linux下开发和编译应用程序所需要的头文件； <br />　　　　/usr/lib存放一些常用的动态链接共享库和静态档案库； <br />　　　　/usr/local这是提供给一般用户的/usr目录，在这里安装一般的应用软件； <br />　　　　/usr/man帮助文档所在的目录； <br />　　　　/usr/src Linux开放的源代码，就存在这个目录，爱好者们别放过哦； <br />　　　　/var这个目录中存放着在不断扩充着的东西，我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。如果你想做一个网站，你也会用到/var/www这个目录。 <br />　　　　本文简单讲解了一下目录的大致内容，如果想成为Linux高手，则还要进一步学习L inux下的这些目录。</p>
								</td>
						</tr>
				</tbody>
		</table>
<img src ="http://www.blogjava.net/onejavaer/aggbug/75796.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/onejavaer/" target="_blank">暗夜精灵</a> 2006-10-18 09:13 <a href="http://www.blogjava.net/onejavaer/articles/75796.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Linux关机命令</title><link>http://www.blogjava.net/onejavaer/articles/74401.html</link><dc:creator>暗夜精灵</dc:creator><author>暗夜精灵</author><pubDate>Tue, 10 Oct 2006 17:04:00 GMT</pubDate><guid>http://www.blogjava.net/onejavaer/articles/74401.html</guid><wfw:comment>http://www.blogjava.net/onejavaer/comments/74401.html</wfw:comment><comments>http://www.blogjava.net/onejavaer/articles/74401.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/onejavaer/comments/commentRss/74401.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/onejavaer/services/trackbacks/74401.html</trackback:ping><description><![CDATA[
		<div class="comText">
				<font color="#808080">1.shutdown<br />　　<br />　　　　shutdown命令安全地将系统关机。 有些用户会使用直接断掉电源的方式来关闭linux，这是十分危险的。因为linux与windows不同，其后台运行着许多进程，所以强制关机可能会导致进程的数据丢失﹐使系统处于不稳定的状态﹐甚至在有的系统中会损坏硬件设备。<br />　　<br />　　　　而在系统关机前使用shutdown命令﹐系统管理员会通知所有登录的用户系统将要关闭。并且login指令会被冻结﹐即新的用户不能再登录。直接关机或者延迟一定的时间才关机都是可能的﹐还可能重启。这是由所有进程〔process〕都会收到系统所送达的信号〔signal〕决定的。这让像vi之类的程序有时间储存目前正在编辑的文档﹐而像处理邮件〔mail〕和新闻〔news〕的程序则可以正常地离开等等。<br />　　<br />　　　　shutdown执行它的工作是送信号〔signal〕给init程序﹐要求它改变runlevel。Runlevel 0被用来停机〔halt〕﹐runlevel 6是用来重新激活〔reboot〕系统﹐而runlevel 1则是被用来让系统进入管理工作可以进行的状态﹔这是预设的﹐假定没有-h也没有-r参数给shutdown。要想了解在停机〔halt〕或者重新开机〔reboot〕过程中做了哪些动作﹐你可以在这个文件/etc/inittab里看到这些runlevels相关的资料。<br />　　<br />　　　　shutdown 参数说明:<br />　　<br />　　　　[-t] 在改变到其它runlevel之前﹐告诉init多久以后关机。<br />　　<br />　　　　[-r] 重启计算器。<br />　　<br />　　　　[-k] 并不真正关机﹐只是送警告信号给每位登录者〔login〕。<br />　　<br />　　　　[-h] 关机后关闭电源〔halt〕。<br />　　<br />　　　　[-n] 不用init﹐而是自己来关机。不鼓励使用这个选项﹐而且该选项所产生的后果往往不总是你所预期得到的。<br />　　<br />　　　　[-c] cancel current process取消目前正在执行的关机程序。所以这个选项当然没有时间参数﹐但是可以输入一个用来解释的讯息﹐而这信息将会送到每位使用者。<br />　　<br />　　　　[-f] 在重启计算器〔reboot〕时忽略fsck。 <br />　　<br />　　　　[-F] 在重启计算器〔reboot〕时强迫fsck。<br />　　<br />　　　　[-time] 设定关机〔shutdown〕前的时间。<br />　　<br />　　　　2.halt----最简单的关机命令<br />　　<br />　　　　其实halt就是调用shutdown -h。halt执行时﹐杀死应用进程﹐执行sync系统调用﹐文件系统写操作完成后就会停止内核。<br />　　<br />　　　　参数说明:<br />　　<br />　　　　[-n] 防止sync系统调用﹐它用在用fsck修补根分区之后﹐以阻止内核用老版本的超级块〔superblock〕覆盖修补过的超级块。<br />　　<br />　　　　[-w] 并不是真正的重启或关机﹐只是写wtmp〔/var/log/wtmp〕纪录。<br />　　<br />　　　　[-d] 不写wtmp纪录〔已包含在选项[-n]中〕。<br />　　<br />　　　　[-f] 没有调用shutdown而强制关机或重启。<br />　　<br />　　　　[-i] 关机〔或重启〕前﹐关掉所有的网络接口。<br />　　<br />　　　　[-p] 该选项为缺省选项。就是关机时调用poweroff。<br />　　<br />　　　　3.reboot<br />　　<br />　　　　reboot的工作过程差不多跟halt一样﹐不过它是引发主机重启﹐而halt是关机。它的参数与halt相差不多。<br />　　<br />　　　　4.init<br />　　<br />　　　　init是所有进程的祖先﹐它的进程号始终为1﹐所以发送TERM信号给init会终止所有的用户进程﹑守护进程等。shutdown 就是使用这种机制。init定义了8个运行级别(runlevel)，init 0为关机﹐init 1为重启。关于init可以长篇大论﹐这里就不再叙述。另外还有telinit命令可以改变init的运行级别﹐比如﹐telinit -iS可使系统进入单用户模式﹐并且得不到使用shutdown时的信息和等待时间。</font>
		</div>
<img src ="http://www.blogjava.net/onejavaer/aggbug/74401.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/onejavaer/" target="_blank">暗夜精灵</a> 2006-10-11 01:04 <a href="http://www.blogjava.net/onejavaer/articles/74401.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>