﻿<?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>C++博客-mysileng-随笔分类-linux基础</title><link>http://www.cppblog.com/mysileng/category/16814.html</link><description /><language>zh-cn</language><lastBuildDate>Mon, 15 Apr 2013 17:15:42 GMT</lastBuildDate><pubDate>Mon, 15 Apr 2013 17:15:42 GMT</pubDate><ttl>60</ttl><item><title>Linux：使用ulimit设置文件最大打开数</title><link>http://www.cppblog.com/mysileng/archive/2013/04/15/199464.html</link><dc:creator>鑫龙</dc:creator><author>鑫龙</author><pubDate>Mon, 15 Apr 2013 12:34:00 GMT</pubDate><guid>http://www.cppblog.com/mysileng/archive/2013/04/15/199464.html</guid><wfw:comment>http://www.cppblog.com/mysileng/comments/199464.html</wfw:comment><comments>http://www.cppblog.com/mysileng/archive/2013/04/15/199464.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/mysileng/comments/commentRss/199464.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/mysileng/services/trackbacks/199464.html</trackback:ping><description><![CDATA[<strong style="margin: 0px; padding: 0px; color: #333333; font-family: Verdana, Tahoma, 'BitStream vera Sans', Arial, Helvetica, sans-serif; line-height: 20px; background-color: #fcfff6; ">1、&nbsp; 首先我们通过ulimit &#8211;a命令来查看系统的一些资源限制情况，如下</strong><span style="color: #333333; font-family: Verdana, Tahoma, 'BitStream vera Sans', Arial, Helvetica, sans-serif; line-height: 20px; background-color: #fcfff6; ">：</span>&nbsp;<br /><img src="http://www.cppblog.com/images/cppblog_com/mysileng/QQ截图20130415203106.jpg" width="391" height="230" alt="" /><br /><p style="margin: 0px 0px 10px; padding: 0px; color: #333333; font-family: Verdana, Tahoma, 'BitStream vera Sans', Arial, Helvetica, sans-serif; line-height: 20px; background-color: #fcfff6; ">一般情况下是1024，我们也可以通过ulimit &#8211;n命令来查看最大文件打开数，如下：</p><p style="margin: 0px 0px 10px; padding: 0px; color: #333333; font-family: Verdana, Tahoma, 'BitStream vera Sans', Arial, Helvetica, sans-serif; line-height: 20px; background-color: #fcfff6; ">1024</p><p style="margin: 0px 0px 10px; padding: 0px; color: #333333; font-family: Verdana, Tahoma, 'BitStream vera Sans', Arial, Helvetica, sans-serif; line-height: 20px; background-color: #fcfff6; "><strong style="margin: 0px; padding: 0px; ">2、&nbsp; 修改目标</strong></p><p style="margin: 0px 0px 10px; padding: 0px; color: #333333; font-family: Verdana, Tahoma, 'BitStream vera Sans', Arial, Helvetica, sans-serif; line-height: 20px; background-color: #fcfff6; ">我们的目标是：让每一个用户登录系统后系统打开的最大文件数都是我们设定好的。</p><p style="margin: 0px 0px 10px; padding: 0px; color: #333333; font-family: Verdana, Tahoma, 'BitStream vera Sans', Arial, Helvetica, sans-serif; line-height: 20px; background-color: #fcfff6; ">但我这里不得不说的是：非常遗憾，网上很多这方面关于ulimit设置修改资源限制的文章，但没一篇文章管用。</p><p style="margin: 0px 0px 10px; padding: 0px; color: #333333; font-family: Verdana, Tahoma, 'BitStream vera Sans', Arial, Helvetica, sans-serif; line-height: 20px; background-color: #fcfff6; ">把这个目标分解为两个目标：</p><p style="margin: 0px 0px 10px; padding: 0px; color: #333333; font-family: Verdana, Tahoma, 'BitStream vera Sans', Arial, Helvetica, sans-serif; line-height: 20px; background-color: #fcfff6; "><strong style="margin: 0px; padding: 0px; ">2.1、设置对root用户登录系统生效</strong></p><p style="margin: 0px 0px 10px; padding: 0px; color: #333333; font-family: Verdana, Tahoma, 'BitStream vera Sans', Arial, Helvetica, sans-serif; line-height: 20px; background-color: #fcfff6; ">这个目标可以实现起来不难</p><p style="margin: 0px 0px 10px; padding: 0px; color: #333333; font-family: Verdana, Tahoma, 'BitStream vera Sans', Arial, Helvetica, sans-serif; line-height: 20px; background-color: #fcfff6; "><strong style="margin: 0px; padding: 0px; ">2.2、设置对所有用户生效</strong></p><p style="margin: 0px 0px 10px; padding: 0px; color: #333333; font-family: Verdana, Tahoma, 'BitStream vera Sans', Arial, Helvetica, sans-serif; line-height: 20px; background-color: #fcfff6; ">这个就非常麻烦了，弄不好还会把你的系统给整坏，因为要重编译Linux的内核才行！</p><p style="margin: 0px 0px 10px; padding: 0px; color: #333333; font-family: Verdana, Tahoma, 'BitStream vera Sans', Arial, Helvetica, sans-serif; line-height: 20px; background-color: #fcfff6; ">所以权衡之下，我只实现了第一个目标，因为第二个目标的风险太大，我想如果我之前知道这点，那么我在装系统的时候我会先做这个处理，但现在我觉得已经晚了。</p><p style="margin: 0px 0px 10px; padding: 0px; color: #333333; font-family: Verdana, Tahoma, 'BitStream vera Sans', Arial, Helvetica, sans-serif; line-height: 20px; background-color: #fcfff6; "><strong style="margin: 0px; padding: 0px; ">3、&nbsp; 修改的地方</strong></p><p style="margin: 0px 0px 10px; padding: 0px; color: #333333; font-family: Verdana, Tahoma, 'BitStream vera Sans', Arial, Helvetica, sans-serif; line-height: 20px; background-color: #fcfff6; ">3.1、修改/etc/security/limits.conf</p><p style="margin: 0px 0px 10px; padding: 0px; color: #333333; font-family: Verdana, Tahoma, 'BitStream vera Sans', Arial, Helvetica, sans-serif; line-height: 20px; background-color: #fcfff6; ">通过 vi /etc/security/limits.conf修改其内容，在文件最后加入（数值也可以自己定义）：</p><p style="margin: 0px 0px 10px; padding: 0px; color: #333333; font-family: Verdana, Tahoma, 'BitStream vera Sans', Arial, Helvetica, sans-serif; line-height: 20px; background-color: #fcfff6; ">* soft&nbsp; nofile = 32768</p><p style="margin: 0px 0px 10px; padding: 0px; color: #333333; font-family: Verdana, Tahoma, 'BitStream vera Sans', Arial, Helvetica, sans-serif; line-height: 20px; background-color: #fcfff6; ">* hard&nbsp; nofile = 65536</p><p style="margin: 0px 0px 10px; padding: 0px; color: #333333; font-family: Verdana, Tahoma, 'BitStream vera Sans', Arial, Helvetica, sans-serif; line-height: 20px; background-color: #fcfff6; ">3.2、修改/etc/profile</p><p style="margin: 0px 0px 10px; padding: 0px; color: #333333; font-family: Verdana, Tahoma, 'BitStream vera Sans', Arial, Helvetica, sans-serif; line-height: 20px; background-color: #fcfff6; ">通过vi /etc/profile修改，在最后加入以下内容</p><p style="margin: 0px 0px 10px; padding: 0px; color: #333333; font-family: Verdana, Tahoma, 'BitStream vera Sans', Arial, Helvetica, sans-serif; line-height: 20px; background-color: #fcfff6; ">ulimit -n 32768</p><p style="margin: 0px 0px 10px; padding: 0px; color: #333333; font-family: Verdana, Tahoma, 'BitStream vera Sans', Arial, Helvetica, sans-serif; line-height: 20px; background-color: #fcfff6; ">然后重新登录即可生效了。</p><p style="margin: 0px 0px 10px; padding: 0px; color: #333333; font-family: Verdana, Tahoma, 'BitStream vera Sans', Arial, Helvetica, sans-serif; line-height: 20px; background-color: #fcfff6; "><strong style="margin: 0px; padding: 0px; ">说明</strong>：</p><p style="margin: 0px 0px 10px; padding: 0px; color: #333333; font-family: Verdana, Tahoma, 'BitStream vera Sans', Arial, Helvetica, sans-serif; line-height: 20px; background-color: #fcfff6; ">其实只修改/etc/profile就可以生效了，但我还是建议把/etc/security/limits.conf也修改一下。</p><p style="margin: 0px 0px 10px; padding: 0px; color: #333333; font-family: Verdana, Tahoma, 'BitStream vera Sans', Arial, Helvetica, sans-serif; line-height: 20px; background-color: #fcfff6; ">最后强调的是，你如果要使得修改对所有用户都生效，那么现在看来你只能重新编译Linux的内核才行。<br /><br />转自：<a href="http://www.zihou.me/html/2010/06/12/2281.html">http://www.zihou.me/html/2010/06/12/2281.html</a></p><img src ="http://www.cppblog.com/mysileng/aggbug/199464.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/mysileng/" target="_blank">鑫龙</a> 2013-04-15 20:34 <a href="http://www.cppblog.com/mysileng/archive/2013/04/15/199464.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>回环设备挂载</title><link>http://www.cppblog.com/mysileng/archive/2013/04/03/199078.html</link><dc:creator>鑫龙</dc:creator><author>鑫龙</author><pubDate>Wed, 03 Apr 2013 11:47:00 GMT</pubDate><guid>http://www.cppblog.com/mysileng/archive/2013/04/03/199078.html</guid><wfw:comment>http://www.cppblog.com/mysileng/comments/199078.html</wfw:comment><comments>http://www.cppblog.com/mysileng/archive/2013/04/03/199078.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/mysileng/comments/commentRss/199078.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/mysileng/services/trackbacks/199078.html</trackback:ping><description><![CDATA[<span style="font-family: 宋体; font-size: 14px; line-height: 24px;">回环设备（loop-back devices） &#182;</span><br style="font-family: 宋体; font-size: 14px; line-height: 24px;" /><br style="font-family: 宋体; font-size: 14px; line-height: 24px;" /><span style="font-family: 宋体; font-size: 14px; line-height: 24px;">回环设备（ 'loopback device'）允许用户以一个普通磁盘文件虚拟一个块设备。设想一个磁盘设备，对它的所有读写操作都将被重定向到读写一个名为 disk-image 的普通文件而非操作实际磁盘或分区的轨道和扇区。（当然，disk-image 必须存在于一个实际的磁盘上，而这个磁盘必须比虚拟的磁盘容量更大。）回环设备允许你这样使用一个普通文件。</span><br style="font-family: 宋体; font-size: 14px; line-height: 24px;" /><br style="font-family: 宋体; font-size: 14px; line-height: 24px;" /><span style="font-family: 宋体; font-size: 14px; line-height: 24px;">回环设备以 /dev/loop0、/dev/loop1 等命名。每个设备可虚拟一个块设备。注意只有超级用户才有权限设置回环设备。</span><br style="font-family: 宋体; font-size: 14px; line-height: 24px;" /><br style="font-family: 宋体; font-size: 14px; line-height: 24px;" /><span style="font-family: 宋体; font-size: 14px; line-height: 24px;">回环设备的使用与其它任何块设备相同。特别是，你可以在这个设备上创建文件系统并像普通的磁盘一样将它挂载在系统中。这样的一个将全部内容保存在一个普通文件中的文件系统，被称为虚拟文件系统（virtual file system）（译者注：这个用法并不常见。VFS 通常另有所指，如指代 Linux 内核中有关文件系统抽象的代码层次等）。</span><br style="font-family: 宋体; font-size: 14px; line-height: 24px;" /><br style="font-family: 宋体; font-size: 14px; line-height: 24px;" /><span style="font-family: 宋体; font-size: 14px; line-height: 24px;">可以通过下列步骤创建一个虚拟文件系统并通过回环设备挂载：</span><br style="font-family: 宋体; font-size: 14px; line-height: 24px;" /><br style="font-family: 宋体; font-size: 14px; line-height: 24px;" /><span style="font-family: 宋体; font-size: 14px; line-height: 24px;">创建一个用于承载虚拟文件系统的空文件。这个文件的大小将成为挂载后文件系统的大小。</span><br style="font-family: 宋体; font-size: 14px; line-height: 24px;" /><span style="font-family: 宋体; font-size: 14px; line-height: 24px;">创建指定大小文件的简单方法是通过 dd 命令。这个命令以块为单位（通常为 512 字节）从一个文件向另一个文件复制数据。/dev/zero 文件则是一个很好的数据来源。</span><br style="font-family: 宋体; font-size: 14px; line-height: 24px;" /><span style="font-family: 宋体; font-size: 14px; line-height: 24px;">要建立一个 10 MB 大的名为 disk-image 的文件可以通过以下命令：</span><br style="font-family: 宋体; font-size: 14px; line-height: 24px;" /><span style="font-family: 宋体; font-size: 14px; line-height: 24px;">% dd if=/dev/zero of=/tmp/disk-image count=20480</span><br style="font-family: 宋体; font-size: 14px; line-height: 24px;" /><span style="font-family: 宋体; font-size: 14px; line-height: 24px;">20480+0 records in</span><br style="font-family: 宋体; font-size: 14px; line-height: 24px;" /><span style="font-family: 宋体; font-size: 14px; line-height: 24px;">20480+0 records out</span><br style="font-family: 宋体; font-size: 14px; line-height: 24px;" /><span style="font-family: 宋体; font-size: 14px; line-height: 24px;">% ls -l /tmp/disk-image</span><br style="font-family: 宋体; font-size: 14px; line-height: 24px;" /><span style="font-family: 宋体; font-size: 14px; line-height: 24px;">-rw-rw----&nbsp;&nbsp;&nbsp;&nbsp; 1 root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 10485760 Mar&nbsp;&nbsp; 8 01:56 /tmp/disk-image</span><br style="font-family: 宋体; font-size: 14px; line-height: 24px;" /><span style="font-family: 宋体; font-size: 14px; line-height: 24px;">这个新建立的文件被填满了 0 字节。在挂载之前，必须在其上建立一个文件系统。这个过程会建立许多用于组织和存储文件的控制单元并构造根目录结构。</span><br style="font-family: 宋体; font-size: 14px; line-height: 24px;" /><span style="font-family: 宋体; font-size: 14px; line-height: 24px;">在这个磁盘映像之上可以构建任何类型的文件系统。以创建 ext2 文件系统为例（ext2 是 Linux 系统中最常见的文件系统），用 mke2fs 可以完成这个操作。因为这个命令通常是针对块设备进行操作，当对一个普通文件操作时它会要求确认：</span><br style="font-family: 宋体; font-size: 14px; line-height: 24px;" /><span style="font-family: 宋体; font-size: 14px; line-height: 24px;">% mke2fs -q /tmp/disk-image</span><br style="font-family: 宋体; font-size: 14px; line-height: 24px;" /><span style="font-family: 宋体; font-size: 14px; line-height: 24px;">mke2fs 1.18, 11-Nov-1999 for EXT2 FS 0.5b, 95/08/09</span><br style="font-family: 宋体; font-size: 14px; line-height: 24px;" /><span style="font-family: 宋体; font-size: 14px; line-height: 24px;">disk-image is not a block special device.</span><br style="font-family: 宋体; font-size: 14px; line-height: 24px;" /><span style="font-family: 宋体; font-size: 14px; line-height: 24px;">Proceed anyway? (y,n) y</span><br style="font-family: 宋体; font-size: 14px; line-height: 24px;" /><span style="font-family: 宋体; font-size: 14px; line-height: 24px;">这里 -q 参数用于省略输出有关新建立文件系统的概要信息。如果你想看到这些信息，则请省略这个参数。</span><br style="font-family: 宋体; font-size: 14px; line-height: 24px;" /><span style="font-family: 宋体; font-size: 14px; line-height: 24px;">现在 disk-image 文件包含了一个新建立的文件系统，正如一个被刚刚初始化完毕的 10 MB 大小的磁盘。</span><br style="font-family: 宋体; font-size: 14px; line-height: 24px;" /><span style="font-family: 宋体; font-size: 14px; line-height: 24px;">以一个环回设备挂载这个文件系统。方法是使用 mount 命令，指定磁盘文件为被挂载的设备。同时指定 loop=loopback-device 作为 -o 选项的参数，告诉 mount 命令使用哪个回环设备。</span><br style="font-family: 宋体; font-size: 14px; line-height: 24px;" /><span style="font-family: 宋体; font-size: 14px; line-height: 24px;">下面例子中的命令可用于挂载我们的 disk-image 文件系统。要记住的是只有超级用户可以使用环回设备。第一个命令将创建一个目录 /tmp/virtual-fs，这个目录将被用于挂载我们的文件系统。</span><br style="font-family: 宋体; font-size: 14px; line-height: 24px;" /><span style="font-family: 宋体; font-size: 14px; line-height: 24px;">% mkdir /tmp/virtual-fs</span><br style="font-family: 宋体; font-size: 14px; line-height: 24px;" /><span style="font-family: 宋体; font-size: 14px; line-height: 24px;">% mount -o loopback=/dev/loop0 /tmp/disk-image /tmp/virtual-fs</span><br style="font-family: 宋体; font-size: 14px; line-height: 24px;" /><span style="font-family: 宋体; font-size: 14px; line-height: 24px;">这时，这个设备应该已经被挂载，就如同一个普通的 10M 空间的磁盘一样。</span><br style="font-family: 宋体; font-size: 14px; line-height: 24px;" /><span style="font-family: 宋体; font-size: 14px; line-height: 24px;">% df -h /tmp/virtual-fs</span><br style="font-family: 宋体; font-size: 14px; line-height: 24px;" /><span style="font-family: 宋体; font-size: 14px; line-height: 24px;">Filesystem&nbsp;&nbsp; Size Used Avail Use% Mounted on</span><br style="font-family: 宋体; font-size: 14px; line-height: 24px;" /><span style="font-family: 宋体; font-size: 14px; line-height: 24px;">/tmp/disk-image 9.7M 13k 9.2M 0% /tmp/virtual-fs</span><br style="font-family: 宋体; font-size: 14px; line-height: 24px;" /><span style="font-family: 宋体; font-size: 14px; line-height: 24px;">你可以向任何其它磁盘一样使用这个设备：</span><br style="font-family: 宋体; font-size: 14px; line-height: 24px;" /><span style="font-family: 宋体; font-size: 14px; line-height: 24px;">% cd /tmp/virtual-fs</span><br style="font-family: 宋体; font-size: 14px; line-height: 24px;" /><span style="font-family: 宋体; font-size: 14px; line-height: 24px;">% echo 'Hello, world!' &gt; test.txt</span><br style="font-family: 宋体; font-size: 14px; line-height: 24px;" /><span style="font-family: 宋体; font-size: 14px; line-height: 24px;">% ls -l</span><br style="font-family: 宋体; font-size: 14px; line-height: 24px;" /><span style="font-family: 宋体; font-size: 14px; line-height: 24px;">total 19</span><br style="font-family: 宋体; font-size: 14px; line-height: 24px;" /><span style="font-family: 宋体; font-size: 14px; line-height: 24px;">drwxr-xr-x 2&nbsp;&nbsp; root root 12288 Mar 8 02:00 lost+found</span><br style="font-family: 宋体; font-size: 14px; line-height: 24px;" /><span style="font-family: 宋体; font-size: 14px; line-height: 24px;">-rw-rw---- 1&nbsp;&nbsp; root root&nbsp;&nbsp;&nbsp;&nbsp; 14 Mar 8 02:12 test.txt</span><br style="font-family: 宋体; font-size: 14px; line-height: 24px;" /><span style="font-family: 宋体; font-size: 14px; line-height: 24px;">% cat test.txt</span><br style="font-family: 宋体; font-size: 14px; line-height: 24px;" /><span style="font-family: 宋体; font-size: 14px; line-height: 24px;">Hello, world!</span><br style="font-family: 宋体; font-size: 14px; line-height: 24px;" /><span style="font-family: 宋体; font-size: 14px; line-height: 24px;">请注意 lost+found 是一个由 mke2fs 自动建立的文件夹一旦文件系统被破坏，部分数据被回复但没有与任何文件关联起来，将被放置在这个文件夹中。。</span><br style="font-family: 宋体; font-size: 14px; line-height: 24px;" /><span style="font-family: 宋体; font-size: 14px; line-height: 24px;">结束使用后，卸载这个文件系统：</span><br style="font-family: 宋体; font-size: 14px; line-height: 24px;" /><span style="font-family: 宋体; font-size: 14px; line-height: 24px;">% cd /tmp</span><br style="font-family: 宋体; font-size: 14px; line-height: 24px;" /><span style="font-family: 宋体; font-size: 14px; line-height: 24px;">% umount /tmp/virtual-fs</span><br style="font-family: 宋体; font-size: 14px; line-height: 24px;" /><span style="font-family: 宋体; font-size: 14px; line-height: 24px;">你可以删除 disk-image，或者之后再次挂载并使用其中的文件。你甚至可以将这个文件复制到远程主机并在那里挂载、使用&#8212;&#8212;文件系统的内容完全不会受到影响。</span><br style="font-family: 宋体; font-size: 14px; line-height: 24px;" /><span style="font-family: 宋体; font-size: 14px; line-height: 24px;">除了从新创建一个文件系统，还可以从一个现有的文件系统复制而得到一份映像。例如，可以通过普通的复制操作为一个 CD-ROM 创建一份映像。</span><br style="font-family: 宋体; font-size: 14px; line-height: 24px;" /><br style="font-family: 宋体; font-size: 14px; line-height: 24px;" /><span style="font-family: 宋体; font-size: 14px; line-height: 24px;">如果系统中有一个 IDE 接口的 CD-ROM 驱动器，使用前面说过的设备名如 /dev/hda。如果 CD-ROM 是 SCSI 接口的话，设备文件名可能是 /dev/scd0 之类。系统中也可能包含一个符号链接 /dev/cdrom 指向实际的光驱。请参考 /etc/fstab （译者注： 手册）查看系统实际使用的光驱对应的设备。</span><br style="font-family: 宋体; font-size: 14px; line-height: 24px;" /><br style="font-family: 宋体; font-size: 14px; line-height: 24px;" /><span style="font-family: 宋体; font-size: 14px; line-height: 24px;">接下来要做的仅仅是将这个设备复制为一个文件&#8212;&#8212;得到的文件将是被存在硬盘上的、这个 CD-ROM 内容的完整映像。例如：</span><br style="font-family: 宋体; font-size: 14px; line-height: 24px;" /><br style="font-family: 宋体; font-size: 14px; line-height: 24px;" /><span style="font-family: 宋体; font-size: 14px; line-height: 24px;">% cp /dev/cdrom /tmp/cdrom-image</span><br style="font-family: 宋体; font-size: 14px; line-height: 24px;" /><span style="font-family: 宋体; font-size: 14px; line-height: 24px;">取决于设备的速度和 CD-ROM 的容量，这个操作可能需要几分钟的时间。最终的文件将会相当大，它的体积与这个 CD-ROM 的容量相同。</span><br style="font-family: 宋体; font-size: 14px; line-height: 24px;" /><br style="font-family: 宋体; font-size: 14px; line-height: 24px;" /><span style="font-family: 宋体; font-size: 14px; line-height: 24px;">这时，你可以在系统中挂载这个光盘而无须插入原始的 CD-ROM 盘片。要挂载在 /mnt/cdrom 目录下：</span><br style="font-family: 宋体; font-size: 14px; line-height: 24px;" /><br style="font-family: 宋体; font-size: 14px; line-height: 24px;" /><span style="font-family: 宋体; font-size: 14px; line-height: 24px;">mount -o loopback=/dev/loop0 /tmp/cdrom-image /mnt/cdrom</span><br style="font-family: 宋体; font-size: 14px; line-height: 24px;" /><span style="font-family: 宋体; font-size: 14px; line-height: 24px;">因为映像位于磁盘上，这个文件系统的速度将远胜于直接挂载自实际光驱的时候。请注意多数光盘使用的文件系统类型都是&nbsp;&nbsp; iso9660。</span><img src ="http://www.cppblog.com/mysileng/aggbug/199078.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/mysileng/" target="_blank">鑫龙</a> 2013-04-03 19:47 <a href="http://www.cppblog.com/mysileng/archive/2013/04/03/199078.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>lrzsz-0.12.20 简单使用说明 (转)</title><link>http://www.cppblog.com/mysileng/archive/2012/12/30/196867.html</link><dc:creator>鑫龙</dc:creator><author>鑫龙</author><pubDate>Sun, 30 Dec 2012 15:19:00 GMT</pubDate><guid>http://www.cppblog.com/mysileng/archive/2012/12/30/196867.html</guid><wfw:comment>http://www.cppblog.com/mysileng/comments/196867.html</wfw:comment><comments>http://www.cppblog.com/mysileng/archive/2012/12/30/196867.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/mysileng/comments/commentRss/196867.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/mysileng/services/trackbacks/196867.html</trackback:ping><description><![CDATA[<span style="color: #333333; font-family: Arial; font-size: 14px; line-height: 26px; background-color: #ffffff;">rzsz 是一款 Linux 下面的文件传输工具。实现原理是通过 Xmodem / Ymodem / Zmodem 协议传输文件。lrzsz 可以在支持这三种协议的Shell界面的工具下工作，比如XShell。</span><br style="color: #333333; font-family: Arial; font-size: 14px; line-height: 26px; background-color: #ffffff;" /><br style="color: #333333; font-family: Arial; font-size: 14px; line-height: 26px; background-color: #ffffff;" /><span style="color: #333333; font-family: Arial; font-size: 14px; line-height: 26px; background-color: #ffffff;">&nbsp;&nbsp;&nbsp; lrzsz是一个古老的软件，最新版本0.12.20是在1998年更新的。</span><br style="color: #333333; font-family: Arial; font-size: 14px; line-height: 26px; background-color: #ffffff;" /><br style="color: #333333; font-family: Arial; font-size: 14px; line-height: 26px; background-color: #ffffff;" /><span style="color: #333333; font-family: Arial; font-size: 14px; line-height: 26px; background-color: #ffffff;">大部分linux发行版的安装工具都可以直接安装 lrzsz，比如apt-get / pacman，当然我们也可以下载安装包手动安装。这次由于我所在的服务器没有管理员权限，我就使用源码包安装。</span><br style="color: #333333; font-family: Arial; font-size: 14px; line-height: 26px; background-color: #ffffff;" /><br style="color: #333333; font-family: Arial; font-size: 14px; line-height: 26px; background-color: #ffffff;" /><span style="color: #333333; font-family: Arial; font-size: 14px; line-height: 26px; background-color: #ffffff;">$ mkdir /home/alswl/app</span><br style="color: #333333; font-family: Arial; font-size: 14px; line-height: 26px; background-color: #ffffff;" /><span style="color: #333333; font-family: Arial; font-size: 14px; line-height: 26px; background-color: #ffffff;">$ wget http://ohse.de/uwe/releases/lrzsz-0.12.20.tar.gz</span><br style="color: #333333; font-family: Arial; font-size: 14px; line-height: 26px; background-color: #ffffff;" /><span style="color: #333333; font-family: Arial; font-size: 14px; line-height: 26px; background-color: #ffffff;">$ tar xzvf lrzsz-0.12.20.tar.gz</span><br style="color: #333333; font-family: Arial; font-size: 14px; line-height: 26px; background-color: #ffffff;" /><span style="color: #333333; font-family: Arial; font-size: 14px; line-height: 26px; background-color: #ffffff;">$ cd lrzsz-0.12.20</span><br style="color: #333333; font-family: Arial; font-size: 14px; line-height: 26px; background-color: #ffffff;" /><span style="color: #333333; font-family: Arial; font-size: 14px; line-height: 26px; background-color: #ffffff;">$ ./configure --prefix="/home/alswl/app"</span><br style="color: #333333; font-family: Arial; font-size: 14px; line-height: 26px; background-color: #ffffff;" /><span style="color: #333333; font-family: Arial; font-size: 14px; line-height: 26px; background-color: #ffffff;">$ make</span><br style="color: #333333; font-family: Arial; font-size: 14px; line-height: 26px; background-color: #ffffff;" /><span style="color: #333333; font-family: Arial; font-size: 14px; line-height: 26px; background-color: #ffffff;">$ make install</span><br style="color: #333333; font-family: Arial; font-size: 14px; line-height: 26px; background-color: #ffffff;" /><span style="color: #333333; font-family: Arial; font-size: 14px; line-height: 26px; background-color: #ffffff;">$ export PATH="$PATH:/home/alswl/app/bin"</span><br style="color: #333333; font-family: Arial; font-size: 14px; line-height: 26px; background-color: #ffffff;" /><br style="color: #333333; font-family: Arial; font-size: 14px; line-height: 26px; background-color: #ffffff;" /><span style="color: #333333; font-family: Arial; font-size: 14px; line-height: 26px; background-color: #ffffff;">安装上面步骤就可以安装完成了，重点在于 --prefix="/home/alswl/app"，这可以指定安装路径，安装到自己可以读写的地方去。</span><br style="color: #333333; font-family: Arial; font-size: 14px; line-height: 26px; background-color: #ffffff;" /><br style="color: #333333; font-family: Arial; font-size: 14px; line-height: 26px; background-color: #ffffff;" /><span style="color: #333333; font-family: Arial; font-size: 14px; line-height: 26px; background-color: #ffffff;">export作用是添加安装目录到 $PATH 下面，这样可以直接使用 lsz / lrz 操作。</span><br style="color: #333333; font-family: Arial; font-size: 14px; line-height: 26px; background-color: #ffffff;" /><p style="color: #333333; font-family: Arial; font-size: 14px; line-height: 26px; background-color: #ffffff;"><br /></p><p style="color: #333333; font-family: Arial; font-size: 14px; line-height: 26px; background-color: #ffffff;"><br /></p><p style="color: #333333; font-family: Arial; font-size: 14px; line-height: 26px; background-color: #ffffff;">最近学习linux 尝试使用lrzsz 在这里做记录以便今后查阅。<br /></p><p style="color: #333333; font-family: Arial; font-size: 14px; line-height: 26px; background-color: #ffffff;">使用前准备</p><p style="color: #333333; font-family: Arial; font-size: 14px; line-height: 26px; background-color: #ffffff;">1.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;准备 lrzsz-arm-bin编译完成的发送及接收工具 本文例子为 lrz 和lsz</p><p style="color: #333333; font-family: Arial; font-size: 14px; line-height: 26px; background-color: #ffffff;">2.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SecureCRT.exe 工具（通过串口连接到终端）。</p><p style="color: #333333; font-family: Arial; font-size: 14px; line-height: 26px; background-color: #ffffff;">&nbsp;</p><p style="color: #333333; font-family: Arial; font-size: 14px; line-height: 26px; background-color: #ffffff;">开始添加工具</p><p style="color: #333333; font-family: Arial; font-size: 14px; line-height: 26px; background-color: #ffffff;">使用其他工具将lrz 和lsz 拷贝到终端 /usr/bin 目录下( 在系统环境变量路径下即可)</p><p style="color: #333333; font-family: Arial; font-size: 14px; line-height: 26px; background-color: #ffffff;">修改 lrz 和lsz 的属性&nbsp; chmod 755 lrz&nbsp;chmod 755 lsz 。</p><p style="color: #333333; font-family: Arial; font-size: 14px; line-height: 26px; background-color: #ffffff;">&nbsp;<img src="http://hi.csdn.net/attachment/201111/22/0_1321956237881H.gif" alt="" style="border: none;" /></p><p style="color: #333333; font-family: Arial; font-size: 14px; line-height: 26px; background-color: #ffffff;">开始验证</p><p style="color: #333333; font-family: Arial; font-size: 14px; line-height: 26px; background-color: #ffffff;">1．文件接收</p><p style="color: #333333; font-family: Arial; font-size: 14px; line-height: 26px; background-color: #ffffff;">将PC端文件发送到终端某目录本例将PC端文件fport.exe发送到终端/xino目录</p><p style="color: #333333; font-family: Arial; font-size: 14px; line-height: 26px; background-color: #ffffff;">在终端执行命令</p><p style="color: #333333; font-family: Arial; font-size: 14px; line-height: 26px; background-color: #ffffff;">Cd /xino</p><p style="color: #333333; font-family: Arial; font-size: 14px; line-height: 26px; background-color: #ffffff;">Lrz</p><p style="color: #333333; font-family: Arial; font-size: 14px; line-height: 26px; background-color: #ffffff;">SecureCRT.exe弹出如下选择文件窗口选择</p><p style="color: #333333; font-family: Arial; font-size: 14px; line-height: 26px; background-color: #ffffff;"><img src="http://hi.csdn.net/attachment/201111/22/0_13219562714B5s.gif" alt="" style="border: none;" /><br /></p><p style="color: #333333; font-family: Arial; font-size: 14px; line-height: 26px; background-color: #ffffff;">选择 文件并点击 &#8220;添加&#8221;添加到发送列表，点击&#8220;确定&#8221; 进行发送</p><p style="color: #333333; font-family: Arial; font-size: 14px; line-height: 26px; background-color: #ffffff;">&nbsp;<img src="http://hi.csdn.net/attachment/201111/22/0_1321956287Wkdz.gif" alt="" style="border: none;" /><br /></p><p style="color: #333333; font-family: Arial; font-size: 14px; line-height: 26px; background-color: #ffffff;">传输文件</p><p style="color: #333333; font-family: Arial; font-size: 14px; line-height: 26px; background-color: #ffffff;">&nbsp;<img src="http://hi.csdn.net/attachment/201111/22/0_1321956315I04J.gif" alt="" style="border: none;" /></p><p style="color: #333333; font-family: Arial; font-size: 14px; line-height: 26px; background-color: #ffffff;">传输完成&nbsp; 当前目录 出现 Fport.exe 文件。</p><p style="color: #333333; font-family: Arial; font-size: 14px; line-height: 26px; background-color: #ffffff;">&nbsp;<img src="http://hi.csdn.net/attachment/201111/22/0_1321955794iVC9.gif" alt="" style="border: none;" /></p><p style="color: #333333; font-family: Arial; font-size: 14px; line-height: 26px; background-color: #ffffff;">3.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;文件发送</p><p style="color: #333333; font-family: Arial; font-size: 14px; line-height: 26px; background-color: #ffffff;">在SecureCRT.exe 上选择 &#8220;选项&#8220;&#224;&#8220;会话选项&#8221;选择&#8220;终端&#8221;&#224;X/Y/Zmodem</p><p style="color: #333333; font-family: Arial; font-size: 14px; line-height: 26px; background-color: #ffffff;">设置好 目录中的 上传及下载 目录， 本例为F:\my documents</p><p style="color: #333333; font-family: Arial; font-size: 14px; line-height: 26px; background-color: #ffffff;">&nbsp;<img src="http://hi.csdn.net/attachment/201111/22/0_1321956333L4lA.gif" alt="" style="border: none;" /></p><p style="color: #333333; font-family: Arial; font-size: 14px; line-height: 26px; background-color: #ffffff;">完成后 在命令行输入&nbsp; lsz key.sh (把 key.sh 文件发送到PC端也可以是终端程序执行的 *.log)</p><p style="color: #333333; font-family: Arial; font-size: 14px; line-height: 26px; background-color: #ffffff;">&nbsp;<img src="http://hi.csdn.net/attachment/201111/22/0_1321956383OhKG.gif" alt="" style="border: none;" /><br /></p><p style="color: #333333; font-family: Arial; font-size: 14px; line-height: 26px; background-color: #ffffff;">输入命令后回车 上传文件</p><p style="color: #333333; font-family: Arial; font-size: 14px; line-height: 26px; background-color: #ffffff;">上传完成后 去目录F:\my documents</p><p style="color: #333333; font-family: Arial; font-size: 14px; line-height: 26px; background-color: #ffffff;">&nbsp;查看 出现上传的文件</p><p style="color: #333333; font-family: Arial; font-size: 14px; line-height: 26px; background-color: #ffffff;">&nbsp;<img src="http://hi.csdn.net/attachment/201111/22/0_1321956405VqrW.gif" alt="" style="border: none;" /></p><p style="color: #333333; font-family: Arial; font-size: 14px; line-height: 26px; background-color: #ffffff;">&nbsp;备注</p><p align="left" style="color: #333333; font-family: Arial; font-size: 14px; line-height: 26px; background-color: #ffffff;"><strong>常用参数</strong></p><p align="left" style="color: #333333; font-family: Arial; font-size: 14px; line-height: 26px; background-color: #ffffff;">-b 以二进制方式，默认为文本方式。（Binary (tell it likeit is) file transfer override.）</p><p align="left" style="color: #333333; font-family: Arial; font-size: 14px; line-height: 26px; background-color: #ffffff;">-e 对所有控制字符转义。（Force sender to escape allcontrol characters; normally XON, XOFF, DLE, CR-@-CR, and Ctrl-X are escaped.）</p><p align="left" style="color: #333333; font-family: Arial; font-size: 14px; line-height: 26px; background-color: #ffffff;">如果要保证上传的文件内容在服务器端保存之后与原始文件一致，最好同时设置这两个标志，如下所示方式使用：</p><p align="left" style="color: #333333; font-family: Arial; font-size: 14px; line-height: 26px; background-color: #ffffff;">rz -be</p><p align="left" style="color: #333333; font-family: Arial; font-size: 14px; line-height: 26px; background-color: #ffffff;">此命令执行时，会弹出文件选择对话框，选择好需要上传的文件之后，点确定，就可以开始上传的过程了。上传的速度取决于当时网络的状况。</p><p align="left" style="color: #333333; font-family: Arial; font-size: 14px; line-height: 26px; background-color: #ffffff;">如果执行完毕显示&#8220;0错误&#8221;，文件上传就成功了，其他显示则表示文件上传出现问题了。</p><img src ="http://www.cppblog.com/mysileng/aggbug/196867.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/mysileng/" target="_blank">鑫龙</a> 2012-12-30 23:19 <a href="http://www.cppblog.com/mysileng/archive/2012/12/30/196867.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Linux2.6内核比2.4内核的改进说明(转)</title><link>http://www.cppblog.com/mysileng/archive/2012/12/19/196445.html</link><dc:creator>鑫龙</dc:creator><author>鑫龙</author><pubDate>Wed, 19 Dec 2012 08:14:00 GMT</pubDate><guid>http://www.cppblog.com/mysileng/archive/2012/12/19/196445.html</guid><wfw:comment>http://www.cppblog.com/mysileng/comments/196445.html</wfw:comment><comments>http://www.cppblog.com/mysileng/archive/2012/12/19/196445.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/mysileng/comments/commentRss/196445.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/mysileng/services/trackbacks/196445.html</trackback:ping><description><![CDATA[<p style="margin: 0px; padding: 0px; color: #454545; font-family: Tahoma, Helvetica, Arial, STHeiti; background-color: #ffffff; ">1.模块子系统（Module Subsystem）、统一设备模型（Unified Device Model）和 PnP支持模块子系统发生了重大变化。<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />2.稳定性有所提高&nbsp;<br />&nbsp;&nbsp;&nbsp; 为了彻底避免内核加载或者导出正在被使用的内核模块，或者至少为了减少加载或者卸载模块的同时使用该模块的可能性（这有时会导致系统崩溃），内核加载和导出内核模块的过程都得到了改进。<br />&nbsp;&nbsp;&nbsp; 我一直以为Linux不会死机，直到我的基于2.4内核Linux突然死机，造成重大损失。所以，强烈建议所有基于2.4内核的Linux应用系统马上升级内核，一定注意，升级前备份系统，防止升级出错造成重大损失，也要防止硬件不兼容、应用系统不兼容问题，最好先测试一下，再上线运行！<br /><br /></p><p style="margin: 0px; padding: 0px; color: #454545; font-family: Tahoma, Helvetica, Arial, STHeiti; background-color: #ffffff; ">3.统一设备模型&nbsp;<br />&nbsp;&nbsp;&nbsp; 统一设备模型的创建是 2.6 内核最重要的变化之一。它促进了模块接口的标准化，其目的是更好地控制和管理设备，例如：更准确地确定系统设备。 电源管理和设备电源状态。 改进的系统总线结构管理。<br /><br /></p><p style="margin: 0px; padding: 0px; color: #454545; font-family: Tahoma, Helvetica, Arial, STHeiti; background-color: #ffffff; ">4.即插即用（PnP）支持&nbsp;<br />&nbsp;&nbsp;&nbsp; 运行 2.6 内核的 Linux 成为一个真正即插即用的 OS。例如，对 ISA PnP 扩展、遗留 MCA 和 EISA 总线以及热插拔设备的 PnP 支持。<br /><br /></p><p style="margin: 0px; padding: 0px; color: #454545; font-family: Tahoma, Helvetica, Arial, STHeiti; background-color: #ffffff; ">5.内核基础设施的变化&nbsp;<br />&nbsp;&nbsp;&nbsp; 为了区别以 .o 为扩展名的常规对象文件，内核模块现在使用的扩展名是 .ko。 创建了新的 sysfs 文件系统，当内核发现设备树时就会描述它。 内存支持，NUMA 支持 ,支持更大数量的 RAM。2.6 内核支持更大数量的 RAM，在分页模式下最高可达 64GB。<br /><br /></p><p style="margin: 0px; padding: 0px; color: #454545; font-family: Tahoma, Helvetica, Arial, STHeiti; background-color: #ffffff; ">6.NUMA&nbsp;<br />&nbsp;&nbsp;&nbsp; 对非一致内核访问（Non-Uniform Memory Access - NUMA）系统的支持是 2.6 内核中新出现的。<br /><br /></p><p style="margin: 0px; padding: 0px; color: #454545; font-family: Tahoma, Helvetica, Arial, STHeiti; background-color: #ffffff; "><span style="color: red; ">7.线程模型，NPTL&nbsp;</span><br />&nbsp;&nbsp;&nbsp; 相对于 v2.4 的 LinuxThreads，在版本 2.6 中新出现的是 NPTL（Native POSIX Threading Library）。 NPTL 为 Linux 带来了企业级线程支持，提供的性能远远超过了 LinuxThreads。它所基于的用户与内核线程的比率是 1:1。&nbsp;<br />&nbsp;&nbsp;&nbsp; 在 2003 年 10 月，GNU C 程序库 glibc 中融入了 NPTL 支持，Red Hat 率先在 Red Hat Linux 9 和 Red Hat Enterprise Linux 中使用定制的 v2.4 内核实现了 NPTL。<br /><br /></p><p style="margin: 0px; padding: 0px; color: #454545; font-family: Tahoma, Helvetica, Arial, STHeiti; background-color: #ffffff; "><span style="color: red; ">8.性能改进&nbsp;</span><br /><span style="color: red; ">&nbsp;&nbsp;&nbsp; 新的调度器算法</span> ，2.6 Linux 内核引入了新的 O(1) 算法。在高负载情况下它运行得特别好。新的调度器基于每个 CPU 来分布时间片， 这样就消除了全局同步和重新分配循环，从而提高了性能。&nbsp;<br />&nbsp;&nbsp;&nbsp; 内核抢占（Kernel Preemption） ，新的 2.6 内核是抢占式的。这将显著地提高交互式和多媒体应用程序的性能。&nbsp;<br />&nbsp;&nbsp;&nbsp; I/O 性能改进，Linux 的 I/O 子系统也发生了重大的变化，通过修改 I/O 调度器来确保不会有进程驻留在队列中过长时间等待进行输入/输出操作， 这样就使得 I/O 操作的响应更为迅速。<br />&nbsp;&nbsp;&nbsp; 快速用户空间互斥（Fast User-Space Mutexes） ，&#8220;futexes&#8221;（快速用户空间互斥）可以使线程串行化以避免竞态条件，引入它也提高了响应速度。 通过在内核空间中部分实现&#8220;futexes&#8221;以允许基于竞争设置等待任务的优先级而实现改进。<br /><br /></p><p style="margin: 0px; padding: 0px; color: #454545; font-family: Tahoma, Helvetica, Arial, STHeiti; background-color: #ffffff; ">9.扩展性改进&nbsp;<br />&nbsp;&nbsp;&nbsp; 处理器数目更多，Linux 内核 2.6 最多可以支持 64 个 CPU。支持更大的内存，归功于 PAE（物理地址扩展，Physical Address Extensions），在 32-位系统上分页模式下所支持的内存增加到了 64GB。&nbsp;<br />&nbsp;&nbsp;&nbsp; 用户和组，惟一用户和组的数量从 65，000 增至 40 多亿，也就是从 16-位增加到了 32-位。&nbsp;<br />&nbsp;&nbsp;&nbsp; PID 的数量，PID 的最大数量从 32，000 增至 10 亿。&nbsp;<br />&nbsp;&nbsp;&nbsp; 打开文件描述符的数量，打开文件描述符的数量没有增加，但是不再需要事先设置该参数，它将自行调节。<br /><br /></p><p style="margin: 0px; padding: 0px; color: #454545; font-family: Tahoma, Helvetica, Arial, STHeiti; background-color: #ffffff; ">10.支持更多的设备<br />&nbsp;&nbsp;&nbsp; 在 Linux 内核 2.6 之前，内核中有可以约束大型系统的限制，比如每条链 256 个设备。v2.6 内核彻底地打破了这些限制， 不但可以支持更多类型的设备，而且支持更多同类型的设备。在 Linux 2.6 系统中，可以支持 4095 种主要的设备类型， 每一个单独的类型可以有超过一百万个子设备。 文件系统大小， Linux 内核 2.6 所允许的可寻址文件系统大小最大为 16 TB。<br /><br /></p><p style="margin: 0px; padding: 0px; color: #454545; font-family: Tahoma, Helvetica, Arial, STHeiti; background-color: #ffffff; ">11.文件系统&nbsp;<br />&nbsp;&nbsp;&nbsp; ext2、ext3 和 ReiserFS 等传统 Linux 文件系统得到了显著的改进。最值得注意的改进是扩展属性（或文件元数据）的引入。 最重要的是 POSIX ACL 的实现，这是对普通 UNIX 权限的扩展，可以支持更细化的用户访问控制。</p><p style="margin: 0px; padding: 0px; color: #454545; font-family: Tahoma, Helvetica, Arial, STHeiti; background-color: #ffffff; ">12.除了对传统 Linux 文件系统的改进支持以外，新的内核完全支持在 Linux 中相对较新的 XFS 文件系统。 Linux 2.6 内核现在还引入了对 NTFS 文件系统的改进的支持，现在允许以读/写模式安装 NTFS 文件系统。</p><img src ="http://www.cppblog.com/mysileng/aggbug/196445.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/mysileng/" target="_blank">鑫龙</a> 2012-12-19 16:14 <a href="http://www.cppblog.com/mysileng/archive/2012/12/19/196445.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>centos 中文乱码解决(转)</title><link>http://www.cppblog.com/mysileng/archive/2012/09/23/191717.html</link><dc:creator>鑫龙</dc:creator><author>鑫龙</author><pubDate>Sun, 23 Sep 2012 08:11:00 GMT</pubDate><guid>http://www.cppblog.com/mysileng/archive/2012/09/23/191717.html</guid><wfw:comment>http://www.cppblog.com/mysileng/comments/191717.html</wfw:comment><comments>http://www.cppblog.com/mysileng/archive/2012/09/23/191717.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/mysileng/comments/commentRss/191717.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/mysileng/services/trackbacks/191717.html</trackback:ping><description><![CDATA[<p style="padding: 0px 0px 15px; margin: 0px; color: #555555; font-family: 宋体, 'Arial Narrow', arial, serif; line-height: 28px; background-color: #ffffff; text-indent: 2em; ">在<a href="http://act%3Cwbr%3Eion.utops.cc/click.jsp?adsId=428&amp;adsLeagueId=5&amp;adsUserId=1&amp;siteId=657&amp;siteLeagueId=5&amp;siteUserId=564&amp;scId=2&amp;adsType=98&amp;prices=1.51&amp;checkCode=314251abd8f1bd3b1fea5a47aaed0b8d_222.73.161.243&amp;click=1&amp;url=http%3A//www.totole.com.cn&amp;v=0&amp;keyword=%u4F7F%u7528&amp;s=http%3A//www.linuxidc.com/Linux/2010-04/25757.htm&amp;rn=12556---2010-4-30-23:12:50" style="padding: 0px; margin: 0px; color: #015f91; text-decoration: none; ">使用</a>CentOS系统时，安装的时候可能你会碰到英文的CentOS系统，在这中情况下安装CentOS系统时是默认安装（即英文）。安装完毕后，出现的各种中文乱码。那么，我们如何解决这种<a href="http://act%3Cwbr%3Eion.utops.cc/click.jsp?adsId=412&amp;adsLeagueId=5&amp;adsUserId=1&amp;siteId=657&amp;siteLeagueId=5&amp;siteUserId=564&amp;scId=2&amp;adsType=98&amp;prices=1.51&amp;checkCode=5b6c2ef13c07f42ff8fa2c58e3c5714a_222.73.161.243&amp;click=1&amp;url=http%3A//www.foho.cc/totole/index.html&amp;v=0&amp;keyword=%u95EE%u9898&amp;s=http%3A//www.linuxidc.com/Linux/2010-04/25757.htm&amp;rn=992138---2010-4-30-23:12:50" style="padding: 0px; margin: 0px; color: #015f91; text-decoration: none; ">问题</a>呢。</p><p style="padding: 0px 0px 15px; margin: 0px; color: #555555; font-family: 宋体, 'Arial Narrow', arial, serif; line-height: 28px; background-color: #ffffff; text-indent: 2em; ">一、CentOS系统访问 g.cn ，发现中文乱码。</p><p style="padding: 0px 0px 15px; margin: 0px; color: #555555; font-family: 宋体, 'Arial Narrow', arial, serif; line-height: 28px; background-color: #ffffff; text-indent: 2em; ">于是用以前的方式：yum -y install fonts-chinese</p><p style="padding: 0px 0px 15px; margin: 0px; color: #555555; font-family: 宋体, 'Arial Narrow', arial, serif; line-height: 28px; background-color: #ffffff; text-indent: 2em; ">CentOS系统安装后，还是不能显示中文字体。我使用 gedit 编辑源码，其中文注释也为乱码。<br /><br /><p style="padding: 0px 0px 15px; margin: 0px; text-indent: 2em; ">后来，终于找到以下方法可以解决，需要两个中文支持的包：</p><p style="padding: 0px 0px 15px; margin: 0px; text-indent: 2em; ">fonts-chinese-3.02-12.el5.noarch.rpm</p><p style="padding: 0px 0px 15px; margin: 0px; text-indent: 2em; "><a href="ftp://ftp.muug.mb.ca/mirror/centos/5.4/os/x86_64/CentOS/fonts-chinese-3.02-12.el5.noarch.rpm" style="padding: 0px; margin: 0px; color: #015f91; text-decoration: none; ">ftp://ftp.muug.mb.ca/mirror/centos/5.4/os/x86_64/CentOS/fonts-chinese-3.02-12.el5.noarch.rpm</a></p><p style="padding: 0px 0px 15px; margin: 0px; text-indent: 2em; ">fonts-ISO8859-2-75dpi-1.0-17.1.noarch.rpm</p><p style="padding: 0px 0px 15px; margin: 0px; text-indent: 2em; "><a href="ftp://ftp.muug.mb.ca/mirror/centos/5.4/os/x86_64/CentOS/fonts-ISO8859-2-75dpi-1.0-17.1.noarch.rpm" style="padding: 0px; margin: 0px; color: #015f91; text-decoration: none; ">ftp://ftp.muug.mb.ca/mirror/centos/5.4/os/x86_64/CentOS/fonts-ISO8859-2-75dpi-1.0-17.1.noarch.rpm</a></p><p style="padding: 0px 0px 15px; margin: 0px; text-indent: 2em; ">一个是中文字体，一个是字体显示包。</p><p style="padding: 0px 0px 15px; margin: 0px; text-indent: 2em; ">下载后，在命令行安装：</p><p style="padding: 0px 0px 15px; margin: 0px; text-indent: 2em; ">#rpm -ivh XXXX （ XXXX 代表上面那两个包的全名， rpm 不会不知道怎么用吧？）</p><p style="padding: 0px 0px 15px; margin: 0px; text-indent: 2em; ">CentOS系统安装完成后，重新启动即可。</p><p style="padding: 0px 0px 15px; margin: 0px; text-indent: 2em; ">二、终端、 gedit 显示乱码</p><p style="padding: 0px 0px 15px; margin: 0px; text-indent: 2em; ">#vi /etc/sysconfig/i18n</p><p style="padding: 0px 0px 15px; margin: 0px; text-indent: 2em; ">将LANG="en_US.UTF-8"</p><p style="padding: 0px 0px 15px; margin: 0px; text-indent: 2em; ">SYSFONT="latarcyrheb-sun16"</p><p style="padding: 0px 0px 15px; margin: 0px; text-indent: 2em; ">修改原内容为</p><p style="padding: 0px 0px 15px; margin: 0px; text-indent: 2em; ">LANG="zh_CN.GB18030"</p><p style="padding: 0px 0px 15px; margin: 0px; text-indent: 2em; ">LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"</p><p style="padding: 0px 0px 15px; margin: 0px; text-indent: 2em; ">SUPPORTED="zh_CN.UTF-8:zh_CN:zh:en_US.UTF-8:en_US:en"</p><p style="padding: 0px 0px 15px; margin: 0px; text-indent: 2em; ">SYSFONT="lat0-sun16"</p><p style="padding: 0px 0px 15px; margin: 0px; text-indent: 2em; ">用 yum 安装中文字体</p><p style="padding: 0px 0px 15px; margin: 0px; text-indent: 2em; ">#yum install fonts-chinese.noarch</p><p style="padding: 0px 0px 15px; margin: 0px; text-indent: 2em; ">system&nbsp; -&gt;&nbsp; logout&nbsp; 注销</p><p style="padding: 0px 0px 15px; margin: 0px; text-indent: 2em; ">重新登录CentOS系统时，你会发现，所有界面已从英文变成中文。在终端输入 date 命令测试</p><p style="padding: 0px 0px 15px; margin: 0px; text-indent: 2em; ">#date</p><p style="padding: 0px 0px 15px; margin: 0px; text-indent: 2em; ">2009 年 11 月 24 日 星期一 12:07:00 CST</p><p style="padding: 0px 0px 15px; margin: 0px; text-indent: 2em; ">三、在 ssh ， telnet 终端中文显示乱码解决办法（ CentOS 5.3 ）</p><p style="padding: 0px 0px 15px; margin: 0px; text-indent: 2em; ">#vi /etc/sysconfig/i18n</p><p style="padding: 0px 0px 15px; margin: 0px; text-indent: 2em; ">将原内容 LANG="en_US.UTF-8"</p><p style="padding: 0px 0px 15px; margin: 0px; text-indent: 2em; ">SYSFONT="latarcyrheb-sun16"</p><p style="padding: 0px 0px 15px; margin: 0px; text-indent: 2em; ">修改为</p><p style="padding: 0px 0px 15px; margin: 0px; text-indent: 2em; ">LANG="zh_CN.GB18030"</p><p style="padding: 0px 0px 15px; margin: 0px; text-indent: 2em; ">LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"</p><p style="padding: 0px 0px 15px; margin: 0px; text-indent: 2em; ">SUPPORTED="zh_CN.UTF-8:zh_CN:zh:en_US.UTF-8:en_US:en"</p><p style="padding: 0px 0px 15px; margin: 0px; text-indent: 2em; ">SYSFONT="lat0-sun16"</p><p style="padding: 0px 0px 15px; margin: 0px; text-indent: 2em; ">用 yum 安装中文字体</p><p style="padding: 0px 0px 15px; margin: 0px; text-indent: 2em; ">#yum install fonts-chinese.noarch</p><p style="padding: 0px 0px 15px; margin: 0px; text-indent: 2em; ">断开 ssh ，重新连</p><p style="padding: 0px 0px 15px; margin: 0px; text-indent: 2em; ">在终端输入 date 命令测试</p><p style="padding: 0px 0px 15px; margin: 0px; text-indent: 2em; ">#date</p><p style="padding: 0px 0px 15px; margin: 0px; text-indent: 2em; ">2009 年 11 月 24 日 星期一 12:09:00 CST</p><p style="padding: 0px 0px 15px; margin: 0px; text-indent: 2em; ">四、在CentOS系统 5.3 中使用中文输入法</p><p style="padding: 0px 0px 15px; margin: 0px; text-indent: 2em; ">我以前的方法是安装企鹅版 ，见下一页 。 在此，还有一个更简单的，只要使用 yum 安装 SCIM 即可。</p><p style="padding: 0px 0px 15px; margin: 0px; text-indent: 2em; ">命令行输入：</p><p style="padding: 0px 0px 15px; margin: 0px; text-indent: 2em; ">#yum install scim</p><p style="padding: 0px 0px 15px; margin: 0px; text-indent: 2em; ">#yum install scim-pinyin</p><p style="padding: 0px 0px 15px; margin: 0px; text-indent: 2em; ">重启动X（按Ctrl+Alt+Backpace）或注销（logout）。</p><p style="padding: 0px 0px 15px; margin: 0px; text-indent: 2em; ">好了，可以输入中文了。CentOS系统出现中文乱码的问题就这样解决了。</p></p><img src ="http://www.cppblog.com/mysileng/aggbug/191717.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/mysileng/" target="_blank">鑫龙</a> 2012-09-23 16:11 <a href="http://www.cppblog.com/mysileng/archive/2012/09/23/191717.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>VMWare tools 的安装过程及文件共享设置</title><link>http://www.cppblog.com/mysileng/archive/2012/09/15/190802.html</link><dc:creator>鑫龙</dc:creator><author>鑫龙</author><pubDate>Sat, 15 Sep 2012 13:11:00 GMT</pubDate><guid>http://www.cppblog.com/mysileng/archive/2012/09/15/190802.html</guid><wfw:comment>http://www.cppblog.com/mysileng/comments/190802.html</wfw:comment><comments>http://www.cppblog.com/mysileng/archive/2012/09/15/190802.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/mysileng/comments/commentRss/190802.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/mysileng/services/trackbacks/190802.html</trackback:ping><description><![CDATA[<div><span style="line-height: 24px; font-family: Simsun; font-size: medium; "><div><div>为了更好的解决虚拟机与主机的共享问题，VMware公司有一个VMWare－tools，来实现文件共享。这里主要讲的是在Windows下用 Vmware虚拟Linux来与windows来共享。 &nbsp; &nbsp; <br />1、安装客户机系统，linux这里选用CentOS5 &nbsp;<br /> &nbsp; <br />2、启动虚拟机中的Linux后，（注意必须是启动虚拟机后）。选择菜单里的VM选项，里面有一个子项是Install VMware Tools，选定它。开始安装。<br /> &nbsp; &nbsp; <br />3、现在，你到VM菜单里的Removable Devices子项中的CDROM项，点击edit，打开VMWare的安装文件夹，里面是不是有一些*.iso啊，好的，按照前面的步骤，选择linux.iso来作为ISO文件。 &nbsp; &nbsp; <br /><br />4、下面就是mount加载linux.iso文件。 &nbsp; &nbsp; <br />&nbsp;&nbsp; mount /dev/cdrom /mnt/cdrom &nbsp; &nbsp; <br />&nbsp;&nbsp; cd /mnt/cdrom &nbsp; &nbsp; <br /><br />5、到cdrom文件夹里面解压VMware－tools*.tar.gz &nbsp; &nbsp; <br />&nbsp;&nbsp; &nbsp; &nbsp;cp VMware－tools*.tar.gz /tmp &nbsp; &nbsp; <br />&nbsp;&nbsp; &nbsp; &nbsp;cd /tmp &nbsp; &nbsp; <br />&nbsp;&nbsp; &nbsp; &nbsp;tar xzvf VMware－tools*.tar.gz &nbsp; &nbsp; <br />&nbsp;&nbsp; &nbsp; &nbsp;cd vmware－tools-distrib &nbsp; &nbsp; <br />&nbsp;&nbsp; 在文件夹里面是不是看到了一个vmware-install.pl &nbsp; &nbsp; OK！ &nbsp; &nbsp;<br />&nbsp;&nbsp; &nbsp; &nbsp;./vmware-install.pl &nbsp; &nbsp;<br />&nbsp;&nbsp; 一直按回车，直到提示安装成功就可以了。 &nbsp; &nbsp; <br /><br />6、VMware-tools已经安装成功了，是不是很简单啊 &nbsp; &nbsp; <br />&nbsp;&nbsp; &nbsp; &nbsp;cd /mnt &nbsp; &nbsp; <br />&nbsp;&nbsp; 是不是看到了一个hgfs文件夹，这就表明安装成功了，下面就要讲一下怎么来设置共享了，这一部分更简单<br />&nbsp;&nbsp;&nbsp;记得上面在VM菜单里进行操作了吗？对！下面接着要在VM菜单里进行，选择setting子项，再选择Options。在窗体的左半部分是不是看到了Shared Folders这么一项，如果你以前没有设置过，应该是Disabled。 &nbsp; &nbsp; <br />&nbsp;&nbsp; 选择Enabled until next power off or suspend，选择Add，选择要与客户Linux进行共享的文件夹。 &nbsp; &nbsp; <br />&nbsp;&nbsp; 现在已经完成了所有的工作了，在/mnt/hgfs下你会看到添加的文件夹。在windows下向指定的share folders写文件，在Linux客户机里面就能够看到，同样在Linux上写文件在Windows下也能够看到，并且可以修改。最后卸载光驱 &nbsp; &nbsp; <br />&nbsp;&nbsp; umount /mnt/cdrom&nbsp;<br /></div></div></span></div><img src ="http://www.cppblog.com/mysileng/aggbug/190802.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/mysileng/" target="_blank">鑫龙</a> 2012-09-15 21:11 <a href="http://www.cppblog.com/mysileng/archive/2012/09/15/190802.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>xp基础上安装windowsxp与centos双系统(driver no found错误解决)</title><link>http://www.cppblog.com/mysileng/archive/2012/09/13/190559.html</link><dc:creator>鑫龙</dc:creator><author>鑫龙</author><pubDate>Thu, 13 Sep 2012 12:29:00 GMT</pubDate><guid>http://www.cppblog.com/mysileng/archive/2012/09/13/190559.html</guid><wfw:comment>http://www.cppblog.com/mysileng/comments/190559.html</wfw:comment><comments>http://www.cppblog.com/mysileng/archive/2012/09/13/190559.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/mysileng/comments/commentRss/190559.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/mysileng/services/trackbacks/190559.html</trackback:ping><description><![CDATA[<div><span style="color: #151515; font-family: Verdana, Georgia, 'Times New Roman', Times, serif; font-size: 13px; line-height: 17px; "><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 10px; padding-left: 0px; ">一、已安装xp系统。</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 10px; padding-left: 0px; ">安装xp与centos共存的双系统，是否一定要先装xp？我觉得应该不是。不过因为我硬盘已经安装了xp，就干脆基于xp系统（windows系统）来安装centos系统（或redhat系统）与现有系统共存了。</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 10px; padding-left: 0px; ">二、安装grub引导程序。</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 10px; padding-left: 0px; ">先下载grub4dos软件，下载grub4dos后，解压缩后就可以了。核心文件有下面这几个：grldr和grub.exe，及menu.lst&nbsp;&nbsp;&nbsp; 将它们拷贝到c盘下。</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 10px; padding-left: 0px; ">为了设置通过windowsxp系统的启动菜单进入grub引导菜单。须进行如下设置：</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 10px; padding-left: 0px; ">将grldr文件复制到c:\，去掉boot.ini的只读属性，然后修改c:\boot.ini文件，在boot.ini的最后面加一行：<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-size: small; color: #ff00ff; ">c:\grldr=&#8221;Start GRUB4DOS&#8221;</span><br />并将boot.ini中的timeout值设置为大于0的数字，如:timeout=5，然后保存boot.ini，改回只读属性。<br />编辑boot.ini前，可在cmd下输入：<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-size: small; color: #ff00ff; ">attrib -s -r -h c:\boot.ini</span><br />解除boot.ini的只读属性，编辑完后输入：<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-size: small; color: #ff00ff; ">attrib +s +r +h c:\boot.ini</span><br />恢复boot.ini的原有属性。</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 10px; padding-left: 0px; ">编辑完重新启动计算机，在windowsxp启动菜单就会出现&#8220;Start GRUB4DOS&#8221;这一项，选择该项即可进入grub4dos的环境。</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 10px; padding-left: 0px; "><a href="http://www.wokeke.com/wp-content/uploads/2011/12/%E6%88%AA%E5%9B%BE1323784328.jpg" style="color: #7f9a42; text-decoration: none; border-bottom-width: 1px; border-bottom-style: dotted; border-bottom-color: #cccccc; "><img size-full=""  wp-image-356"="" title="截图1323784328" src="http://www.wokeke.com/wp-content/uploads/2011/12/%E6%88%AA%E5%9B%BE1323784328.jpg" alt="" width="427" height="192" style="margin-left: 5px; margin-right: 5px; max-width: 580px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; " /></a><br />三、安装linux引导文件并设置。</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 10px; padding-left: 0px; ">1、从linux镜像文件中找到boot.iso文件，位置：linux镜像文件中的/images/boot.iso.导出该文件。然后解压boot.iso文件，将boot目录下的isolinux目录拷贝到c盘下。</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 10px; padding-left: 0px; ">2、修改上文提到的menu.lst文件。在文件中加入如下内容：</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 10px; padding-left: 0px; ">title CentOS<br />kernel (hd0,0)/isolinux/vmlinuz<br />initrd (hd0,0)/isolinux/initrd.img</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 10px; padding-left: 0px; ">3、修改后启动计算机时进入grub引导菜单后，就可以看到名为&#8221;centos&#8221;的启动选项。可进入linux安装引导。</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 10px; padding-left: 0px; ">四、准备一个分区用来安装centos系统。</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 10px; padding-left: 0px; ">1、一般情况下，可以将磁盘的最后一个分区删除预留给安装linux系统（也可不删除，安装linux系统过程中，可以选择要安装的分区并进行格式化操作）。</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 10px; padding-left: 0px; ">2、将linux镜像文件拷贝到任何一个fat格式的分区。</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 10px; padding-left: 0px; ">五、安装linux centos系统。</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 10px; padding-left: 0px; ">开机启动，进入grub菜单，选择linux引导。根据提示选择centos镜像文件所在位置(在此处我安装的时候郁闷hard disk driver no found的问题，我进入bios设置hard disk的模式把从IDE换成AHCI模式才可以解决该问题，另外如果要想重新进入XP又要将模式改回IDE)，继续根据提示进行安装操作。安装系统后，centos默认作为第一启动菜单。启动centos时会先进入centosgrub启动菜单，倒计时结束前，按上下方向可进入选择菜单，选择other可进入windows启动菜单。</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 10px; padding-left: 0px; ">到此，windows（xp）与linux（centos）双系统就已经安装完毕了。</p></span></div><img src ="http://www.cppblog.com/mysileng/aggbug/190559.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/mysileng/" target="_blank">鑫龙</a> 2012-09-13 20:29 <a href="http://www.cppblog.com/mysileng/archive/2012/09/13/190559.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>linux笔记-----8------(linux文件系统管理)</title><link>http://www.cppblog.com/mysileng/archive/2012/09/04/189434.html</link><dc:creator>鑫龙</dc:creator><author>鑫龙</author><pubDate>Tue, 04 Sep 2012 07:43:00 GMT</pubDate><guid>http://www.cppblog.com/mysileng/archive/2012/09/04/189434.html</guid><wfw:comment>http://www.cppblog.com/mysileng/comments/189434.html</wfw:comment><comments>http://www.cppblog.com/mysileng/archive/2012/09/04/189434.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/mysileng/comments/commentRss/189434.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/mysileng/services/trackbacks/189434.html</trackback:ping><description><![CDATA[<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; linux的文件系统管理是重点也是难点，知识点很多。大概分成4个部分进行讲解：linux文件系统的构成、设备挂载、分区与格式化原理、磁盘配额。<br /><br /><strong><span style="font-size: 18pt">一、文件系统构成</span><br /></strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 文件系统构成首先应该掌握linux有哪些目录，这些目录有些什么用<br /><img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/filecontent.jpg" /><br /><img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/filecontent2.jpg" width="721" height="372" /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在大概了解了一些重要的目录情况之后，接着介绍几个文件系统命令：<br />(1)df 查看分区使用情况<br />df -h 以M单位显示内容<br /><img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/df-h.jpg" width="492" height="120" /><br /><br />(2)du 查看文件目录大小<br />du -h 以M单位显示大小<br />du -sh 查看目录大小要加上s(<span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium Simsun; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="line-height: 18px; font-family: arial; font-size: small" class="Apple-style-span">statistics</span></span>)<br /><img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/dush.jpg" width="280" height="57" /><br /><br />(3)fsck 文件系统检测修复命令file system check<br />fsck -p 自动修复<br />fsck -y 回答yes的修复<br /><br />(4)file 判断文件类型命令<br />file 文件<br /><br /><strong style="font-size: 18pt">二、设备挂载</strong><strong><br /></strong>&nbsp;&nbsp;&nbsp;&nbsp; 首先要知道设备一般分两种，一种是块(block)设备，一种是字符设备(char)。通过下图ls查看的第一个字母可知。<br /><img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/bc.jpg" width="374" height="69" /><br /><br />(1)光驱挂载<br /><img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/cdrommount.jpg" width="442" height="292" /><br />&nbsp;&nbsp;&nbsp;&nbsp; 通常建议在mnt目录下创建目录进行挂载，因为mnt是文件系统的临时挂载点。<span style="color: #000000">光</span><span style="color: #000000">盘卸载使用 umou</span>nt 挂载点 有时候会提示忙，因为你的当前目录可能在挂载点中，所以可以用eject弹出光盘。<br /><br />(2)U盘挂载<br /><img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/usb.jpg" width="299" height="41" /><br /><br /><strong style="font-size: 18pt">三、添加硬盘分区并格式化</strong><br />&nbsp;&nbsp;&nbsp;&nbsp; 首先在设置里给虚拟机添加一块硬盘<br /><img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/virtualaddHd.jpg" width="775" height="557" /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 然后重启或者开机，开机以后通过<span style="color: red">dmesg | grep sdb</span>查看下关于新硬盘的信息就知道成功识别了没有。从提示信息的unkonwn partition table 可知没有分区表。接下来就是进行分区。分区要使用的命令就是fdisk<br />(1)fdisk 硬盘分区<br />fdisk -l /dev/sda 查看第一个硬盘的分区信息及<span style="color: #000000">其他硬盘相信信息</span><br /><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 直接输入fdisk </span>/dev/sdb 即开始对sdb即第二个硬盘进行分区并进入分区程序命令行。输入m可以得到帮助如下:<br /><img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/fdiskm.jpg" width="589" height="471" /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 看到上面的帮助，p为显示分区表。n添加新的分区。那么我们输入n，然后就会提示你新添加的分区是主分区p还是拓展分区e，先输入p表示我们创建的是主分区然后要你输入分区号（1-4），我们输入1。然后接着要你输入该分区起始和终止的柱面，起始用默认1就可以了，但是终止如果只分一个区，那么默认的也可以。但我们不只分一个区，所以我们需要计算该分区终止柱面以便给下一个分区留出空间。<br /><img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/fdiskn.jpg" width="513" height="157" /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 但是填写柱面数，我们很难计算柱面与大小的对应关系。根据提示知道，可以使用+sizmM或+sizeK的方式设置第一个分区大小。那我们给2G，输入+2048M回车即可。然后通过p查看可知第一个分区已经出现。另外主分区和扩展分区有什么区别？<br /><img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/daffcqcfaz.jpg" width="592" height="161" /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 接着把剩下的大小也分一个主分区就可以了。（当然想分几个自己看着办）默认新添加分区的类型根据linu<span>x版本不同而不同，cent</span><span>OS5.5默认是ext3。那如果我们想更改这个文件系统的类型</span><span>应该</span><span>使用t</span><span>。如果对已分区的不满意可以用d删除分区。如</span><span>果已</span><span>经</span><span>满意的，输入w</span>保<span>存退</span><span>出</span>，q是不保存退出。<br /><img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/fdiskw.jpg" width="464" height="259" /><br /><br />(2)mkfs 格式化部署文件系统(mkfs.ext3)<br />mkfs.ext3 /dev/sdb1 就可以直接格式化sdb1这个分区了<br /><br />(3)硬盘挂载<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在创建分区和格式化分区以后，接着就要挂载硬盘并使用了。首先创建两个目录，用来对应这两个分区。我创建/bak和/web,然后通过mount命令进行挂载。<br />mount /dev/sdb1 /web以及mount /dev/sdb2 /bak<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 但是通过mount命令挂载的在重启以后就会失效，那么让它永久有效呢？这就要用到/etc/fstab这个配置文件了。用vi打开配置文件如下：<br /><img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/fstab.jpg" width="563" height="145" /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;格式是---物理分区名(卷标)&nbsp; 挂载点&nbsp;&nbsp; 文件系统类型&nbsp;缺省设置&nbsp; 是否在引导时进行数据检测&nbsp; 检测顺序<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 检测顺序就是设置的数据检测的顺序，一般有3个值分别是0、1、2,0表示不检测，1表示优先检测，2表示正常检测。缺省设置是指定的挂载时候使用的挂载设置，大部分使用的default默认设置。下面我们把自己刚刚添加的硬盘添加进去。<br />/dev/sdb1&nbsp;&nbsp;&nbsp;/web&nbsp;&nbsp;&nbsp;ext3&nbsp;&nbsp;&nbsp;defaults&nbsp;&nbsp;&nbsp;1 2<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;当然除了用物理分区名还可以使用卷标，首先使用e2label /dev/sdb2查看卷标名，如果为空说明没有卷标。那么通过<span style="color: #ff0000">e2label /dev/sdb2 datebak</span> 来设置进卷标。<br />LABEL=datebak&nbsp;&nbsp;&nbsp;&nbsp; /bak&nbsp;&nbsp;&nbsp;ext3&nbsp;&nbsp;&nbsp;defaults 1 2<br /><br />(4)swap分区拓展<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 当你觉得swap分区的不够用时，可以通过拓展swap分区来满足要求。那如何拓展swap分区呢？首先要介绍一条指令叫做dd<br />
<p>1.dd<br />dd是一条拷贝指令，作用是用指定大小的块拷贝一个文件，并在拷贝的同时进行指定的转换。<br /><span style="color: red">dd if=input of=output</span> 格式就是这样，表示从if指定的input把信息拷贝到of指定的output中。 </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 我们在做swap拷贝时，用<span style="color: red">dd if=/dev/zero of=/var/swap/file.swap bs=1024K count=64</span> 从zero设备里面拷内容到file.swap文件中，以1M(1024k)为块单位，一共拷贝64块，及64M。这里需要说的是/dev/zero这个设备，其实这是一个伪设备，作用是不停的往外输出0。与/dev/null这个伪设备相反，/dev/null就是不停的可以把垃圾信息往里面输入，然后就没有了(像黑洞一样)。这样就创建了一个64M大小内容全是0的file.swap文件。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 然后通过<span style="color: red">mkswap /var/swap/file.swap</span> 当然如果你不想永久的让文件成为交换区而是根据需要动态开关，就不要修改配置文件，而是通过把该文件设置成交换区的一部分。然后在/etc/fastab的配置文件中修改配置文件加一行:/var/swap/file.swap swap swap defults 0 0&nbsp; 这样系统开机就会自动加载这个swap文件，就使得该文件成功永久变成了swap分区的一部分。当然如果不想这个文件永久成为swap分区的一部分，而是想动态的根据需求来添加swap分区，可以使用<span style="color: red">swapon /var/swap/file.swap 或swapoff</span>来对文件进行开关。<br /><img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/swapfile.png" width="680" height="469" /></p>
<p><br /><strong style="font-size: 18pt">四、磁盘配额</strong><strong><br /></strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 试想，如果一个用户的宿主目录和系统目录是在一个分区中，那么用户在自己的宿主目录通</p>
<p>过dd /dev/zero zerofile bs=1024k count=102400 的命令创建一个100G的文件，那么很有可</p>
<p>能就会把系统目录分区胀满，这样许多临时文件都没法创建了，导致重新引导失败。得知后果其</p>
<p>实是很严重的，那么其中一个解决这个问题的方法就是给用户的分区进行磁盘配额限制。<br />(1)开启分区磁盘配额功能<br />&nbsp;&nbsp;&nbsp;&nbsp; 开启的方法是在/etc/fstab文件中，在挂载属性上加上标志usrquota(用户配额),当然要记得重启修改的配置才生效！</p>
<p><img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/usrquata.jpg" width="667" height="64" /><br /><br />(2)建立配额数据库<br />&nbsp;&nbsp;&nbsp; 使用quotacheck -cvuga 命令会自动生成aquita.user和aquita.group两个文件(这是用于对该分区进行配额管理的文件)。<br />1.quotacheck<br />-c 创建 ，-v 创建过程显示信息，-u表示创建用户配额文件，-g表示创建组配额文件，-a表示检</p>
<p>测所有的系统分区<br />如果不是检测所有的系统区就把-a去掉加上需要检测的分区 quotacheck -cvu /web<img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/quotacheck.jpg" /><br /><br /><br /></p>
<p>(3)启用配额功能<br />1.quotaon 分区名称&nbsp; 开启<br />2.quotaoff 分区名称&nbsp; 关闭</p>
<p>(4)编辑用户配额信息<br />&nbsp;&nbsp;&nbsp;&nbsp; 使用edquota 用户名 就可以进入来编辑该用户的配额信息。edquota mysileng可以看到因为我们开启了一个分区的配额功能所以配置文件里面有了一行。<br /><img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/edquata.jpg" width="776" height="106" /><br />&nbsp;&nbsp;&nbsp;&nbsp; 这就是mysileng用户的配额分配页，因为我们只开启了一个配额分区功能，那么就只有一行信息。filessystem就是分区，blocks是块单位是1k,soft是软性限制，hard是硬性限制。软性限制是在超出限制后会给出警告，并在7天之内删除超出的部分。硬性限制是在超出时候给予错误的提示。inode与blocks类似，只是限制inode节点数而不是大小。<br /><br /><img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/edquota2.jpg" width="621" height="393" /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 我们把block的hard改成100M即102400即可。保存退出就可以了。然后通过<span style="color: red; ">repquota -a</span>可以查看所有用户的配额信息，<span style="color: red; ">repquota 分区</span>可以查看该分区配额信息。<span style="color: red; ">quota 用户名</span>查看用户配额信息。<span style="color: red; ">edquota -t</span> 设置soft的宽限期。 <span style="color: red; ">edquota -p 模板用户 复制用户1 复制用户2 </span>就可以把模板用户的配额信息复制给复制用户。<br /></p></div><img src ="http://www.cppblog.com/mysileng/aggbug/189434.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/mysileng/" target="_blank">鑫龙</a> 2012-09-04 15:43 <a href="http://www.cppblog.com/mysileng/archive/2012/09/04/189434.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>linux笔记-----7------(linux进程管理) </title><link>http://www.cppblog.com/mysileng/archive/2012/09/03/189284.html</link><dc:creator>鑫龙</dc:creator><author>鑫龙</author><pubDate>Mon, 03 Sep 2012 09:01:00 GMT</pubDate><guid>http://www.cppblog.com/mysileng/archive/2012/09/03/189284.html</guid><wfw:comment>http://www.cppblog.com/mysileng/comments/189284.html</wfw:comment><comments>http://www.cppblog.com/mysileng/archive/2012/09/03/189284.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/mysileng/comments/commentRss/189284.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/mysileng/services/trackbacks/189284.html</trackback:ping><description><![CDATA[<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 关于进程管理的内容，主要是两个部分：进程管理命令和计划任务<br /><br /><strong style="font-size: 18pt">一、进程管理命令</strong><strong><br /></strong>1.w 查看各用户信息<br /><img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/winfo.jpg" width="678" height="80" /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; load average后面三个值分别表示系统在1、5、15分钟时的负载情况<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tty表示用户从什么终端登录，tty1表示本地第一个终端，pts表示远程终端<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; from中如果是：0表示xwindow下启用的timinal<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; idle 表示系统空闲时间&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; jcpu表示该用户启动时所有相关进程执行时消耗的时间<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pcpu：用户正在执行的程序耗费的时间<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; what：用户正在执行的操作<br /><br />2.ps 进程状态查看命令<br /><img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/ps1.jpg" width="790" height="347" /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 直接ps查看隶属于自己的进程信息<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ps -l或ps -u查看隶属于自己进程的详细信息<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ps -le查看所有用户执行进程的详情信息<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ps -uU 用户名 查看指定用户的进程信息(ps -le | grep 用户名)<br /><img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/ps-l.jpg" width="663" height="81" /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; uid:该进程是由哪个用户启动的<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pid：进程ID PPid是父进程号<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tty：进程启动的终端&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; stat:进程当前状态(s休眠，d不可中断休眠,z僵死,t停止,r运行)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NI:优先级<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; time:进程自启动以来启用cpu的总时间<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; command/cmd:进程命令名<br /><br />3.pstree 以树状结构查看进程<br /><br />4.kill 关闭进程<br />&nbsp;&nbsp; 直接kill 进程号 可以直接关闭进程<br />&nbsp;&nbsp; kill -l 查看kill所有的信号(kill -9 pid强行关闭,kill -1 pid重启进程)<br />&nbsp;&nbsp;&nbsp;xkill关闭图形程序<br />&nbsp;&nbsp; killall 进程名(pid)关闭所有相关进程<br /><br />5.<span style="color: red">pgrep 进程名</span>&nbsp;查看进程号<br />&nbsp;&nbsp; /proc目录是一个虚拟的文件目录，它其实并不是在外存上（也就是硬盘上），而是在内存中。每次启动操作系统都动态的生成。里面都是描述进程相关的信息。<br /><br />6.<span style="color: red">pkill 进程名</span>&nbsp;只通过进程名结束进程<br /><br />7.nice与renice 设置进程优先级与改变正在运行进程优先级<br />&nbsp;&nbsp; 优先级的取值范围是(-20,19),优先级的值越小，优先级就越高<br />&nbsp;&nbsp; 格式:nice -num command 与renice -num pid<br /><br />8.nohup <img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/nohup.jpg" width="700" height="304" /><br /><br />9.进程的挂起和恢复<br />进程挂起 ctrl+z<br />进程终止 ctrl+c<br />查看被挂起的进程或者后台进程 jobs<br />挂起进程恢复到前台继续运行 fg num(这个num就是jobs查看时前面那个序号)<br />挂起进程恢复到后台继续运行 bg num<br /><br />10.top 进程状态显示与进程控制(默认5秒动态跟新一次)<br />在top运行时按d:指定刷新的时间间隔<br /><img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/top.jpg" width="634" height="381" /><br /><br /><strong style="font-size: 18pt">二、计划任务</strong><strong><br /></strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 那首先就是为什么要有计划任务？我们知道很多时候某些特定的任务并不是实时去做的，有时候是在特定时段，比如深夜的某些时候来执行某段特定的任务。固计划任务应运而生。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 计划任务一般分为一次性计划任务和周期性计划任务两种。首先来谈第一种的一次性计划任务。一次性计划任务有两个需要掌握的命令at和batch。<br />1.at 安排一个或多个命令在特定时间下运行一次<br />(1)命令时间的指定方法<br />&nbsp;&nbsp;&nbsp;&nbsp;绝对计时法 ----&nbsp;hh:mm MM/DD/YY<br />&nbsp;&nbsp;&nbsp; 相对计时法 ---- now +n minutes(hours days)<br /><img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/attime.jpg" width="780" height="472" /><br /><br />(2)指定一个命令或多个命令的计划任务执行<br />I.执行<span style="color: red">at 时间</span>以后会进入at命令行,输入命令的绝对路径(安全)。输入完一条命令然后按回城接着第二条命令，最后都输入完毕以后按<span style="color: red">ctrl+d</span>就保存了。<br /><img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/at5minutes.jpg" width="348" height="112" /><br /><br />II.当任务比较复杂的时候，通常使用脚本的方式来执行。假设生成一个脚本文件at.scripte。那么通过<span style="color: red">at -f 文件名 时间</span>就可以指定。<br /><br />(3)at -l 查看队列中的任务 <span style="color: red">at -d 序号 </span>删除计划任务<br /><img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/at-l.jpg" width="305" height="75" /><br />&nbsp;&nbsp;&nbsp;&nbsp; 其中a是表示active,第一个数字表示任务的序号<br />&nbsp;&nbsp;&nbsp;&nbsp; 通过<span style="color: red">at -d 序号</span>来删除计划任务。写完的计划任务是存放在<span style="color: red">/var/spool/at</span>目录里的。<br /><br />(4)at的配置文件<br />&nbsp;&nbsp;&nbsp;&nbsp; 并不root才能使用at，这里有两个文件一个是/etc/at.allow，一个是/etc/at.deny。如果只有/etc/at.deny存在，那么该文件中列出的用户不能使用at。如果只有/etc/at.allow存在，那么只有该文件中列出的用户能使用at。如果两个文件都存在且为空，那么所有用户都可以使用at。如果两个文件都不存在那么只有root才可以使用at。<br /><br />2.batch 安排一个或多个命令在系统负载教轻时执行一次<br />用法同at,一般负载在0.8以下为较轻(w可查看负载)<br /><br />3.crontab 周期性计划任务命令,用于生成cron进程所需的crontab文件<br />(1)conttab时间格式<br />&nbsp;&nbsp;&nbsp;&nbsp;分钟 小时 天 月 星期 命令/脚本<br />&nbsp;&nbsp;&nbsp; minute hour dayofmonth monthfoyear dayofweek commands<br />&nbsp;&nbsp;&nbsp;只要把知道的具体时间添上，不知道的用*添上即可。<br />&nbsp;&nbsp; 比如：<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 每天凌晨4点备份 0 4 * * * barkup.scrip<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1到3月每周2周5下午6点备份 0 18 *&nbsp;1-3 2,5 barkup.scrip<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 中午12-14点<span style="color: red">每隔2分钟</span>执行操作 */2&nbsp;12-14 * * * 操作<br /><br />(2)crontab -e 进入文件编辑周期性计划任务<br />&nbsp;&nbsp;&nbsp; 直接crontab 进入命令界面输入任务<br />&nbsp;&nbsp;&nbsp; 周期性计划任务都存放在/var/spool/cron目录下。<br /><br />(3)/etc/crontab配置文件 /etc/cron.allow /etc/cron.deny<br />&nbsp;&nbsp;&nbsp; 该配置文件设置的crontab的一些环境变量以及系统一些默认固定的周期计划任务。/etc/cron.allow与/etc/cron.deny的用法与at命令类似。</div> <img src ="http://www.cppblog.com/mysileng/aggbug/189284.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/mysileng/" target="_blank">鑫龙</a> 2012-09-03 17:01 <a href="http://www.cppblog.com/mysileng/archive/2012/09/03/189284.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>linux笔记-----6------(linux用户管理)</title><link>http://www.cppblog.com/mysileng/archive/2012/08/27/188397.html</link><dc:creator>鑫龙</dc:creator><author>鑫龙</author><pubDate>Mon, 27 Aug 2012 03:08:00 GMT</pubDate><guid>http://www.cppblog.com/mysileng/archive/2012/08/27/188397.html</guid><wfw:comment>http://www.cppblog.com/mysileng/comments/188397.html</wfw:comment><comments>http://www.cppblog.com/mysileng/archive/2012/08/27/188397.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/mysileng/comments/commentRss/188397.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/mysileng/services/trackbacks/188397.html</trackback:ping><description><![CDATA[<p style="margin-right: 0px" dir="ltr">&nbsp;&nbsp;&nbsp; linux用户管理部分主要介绍5个内容，用户管理配置文件，用户管理命令，用户组管理命令，批量添加用户，用户授权。<br /><br /><strong style="font-size: 18pt">一、用户配置文件<br /><img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/userconfing.jpg" /></strong><br />&nbsp;&nbsp;&nbsp;&nbsp; 上图就是我们需要掌握的一些配置文件，下面我们一一来解读：<br /><br />(1)/etc/passwd 用户信息文件<br />在学习这个配置文件的时候，我们可以通过man 5 passwd来查看下这个配置文件的帮助，其中参数5是用来区分命令与配置文件的。从帮助文档中可以看到这个配置文件的每一行的一个统一格式：<br /><img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/passwdformat.jpg" width="443" height="69" /><br />然后我们more 一下这个配置文件，<br /><img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/passwdconfig.jpg" width="292" height="69" /><br />看到这个与man得到的格式是匹配的，这样我们就一个一个弄清每一位的作用。<img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/passwdinfo.jpg" width="788" height="419" /><br />1.用户名与UID<br />&nbsp;&nbsp;&nbsp;&nbsp; linux用户类型分为三种：超级用户(UID=0),伪用户(UID=1-499),普通用户(UID=500-60000)。可以看到通过用户名和用户的UID就可以确认一个用户的类型。root用户正是因为其UID为0，才获得了超级用户的权限，倘若你把你自己添加的用户的用户的UID也改为0，那便同样拥有的超级用户的权限。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;那伪用户什么呢？其实这些用户是并不能实际登陆的。伪用户有如下特征:<br /><img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/jiayonghu.jpg" width="795" height="381" /><br />&nbsp;&nbsp;&nbsp;&nbsp; 总之，伪用户的出现是为了安全，防止坏人在获得某些程序或者服务的控制权以后。进行破坏，所以给了一个特殊的用户。而最后的普通用户，就是你自己添加的用户了。<br /><br />2.密码<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 密码很简单，这里其实并不是真正的密码，只是一个密码位。其实这里本来是密码的，只不过后来被转移到其他的地方去了(转移到/etc/shadow)。当然我们也可以把密码移回来，通过pwunconv与pwconv实现互操作。<br /><img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/pwunconv.jpg" width="482" height="296" /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 可以看到密码其实是被md5算法加密过的密文，并不是明文(md5sum)<br /><br />3.GID 用户组ID<br />用户组是许多用户的集合。添加一个新用户，必须给予这个用户一个用户组，一般linux给新用户分配组有两种策略：要么是给所有新用户默认分配一个统一的组，要么创建一个与用户名想同名字的用户组，让该用户成为改组成员。centOS就是用的后一种。<img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/gid.jpg" width="750" height="207" /><br /><br />4.注释性描述 宿主目录 命令解释器 (略)<br /><br />(2)/etc/shadow 用户密码文件<br />同样man 5&nbsp;shadow获得格式说明:<br /><img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/shadowinfo.jpg" width="777" height="475" /><br /><img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/shadowexmple.jpg" width="410" height="55" /><br />1.用户名和密码&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 这个文件就是保存用户真正密码的文件，如果把这个配置文件的某些用户的密码删掉，(ps:普通用户对这个配置文件是没有w权限的，只有用root用户修改)，那么这些用户无需密码就可以登录系统。<br /><br />2.最后一次修改时间<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;这个是计算修改密码的那天与1970.1.1相差的天数<br /><br />3.最小时间间隔和最大时间间隔、警告时间<br />&nbsp;&nbsp;&nbsp; 最小时间间隔设置的是两次更改密码的最小时间间隔(0是不限定)。最大的时间间隔就是如果在这个时间之内不改密码将无法登陆系统。当然我们不可能去计算还差多少天就要更改密码了，所以通过警告时间来告知用户，距离最大时间间隔还差多少天。<br /><br />4.账号闲置时间、失效时间、标志 (略)<br /><br />(3)/etc/skel 新用户配置文件目录<br />&nbsp;&nbsp;&nbsp;&nbsp; 这个目录中，全是隐藏的文件，大都是用来给用户登录时候使用的配置文件，如果你新添加一个用户，系统会把该目录中的文件拷贝到用户默认的宿主目录中去，以帮助新添加的用户此后登录系统。<br /><br />(4)/etc/login.defs与/etc/useradd&nbsp; 用户默认配置文件<br />&nbsp;&nbsp;&nbsp; 通过查看这两个文件，我们发现，这其中描述的是关于/etc/passwd、/etc/shadow中默认配置的内容设定。也就是说/etc/passwd、/etc/shadow、还有登录的缺省信息是哪里来的呢？就是从这两个文件来的。我们可以通过修改这两个文件里面的内容来修改一些默认的设置。<br /><br />(5)/etc/issue和/etc/motd<br />&nbsp;&nbsp;&nbsp; 这两个文件是用来设置每日消息的，但有什么不同呢？通过一个例子来说明。首先修改两个文件里的内容。<br /><img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/issuemotd.jpg" width="580" height="53" /><br /><img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/issumemotdshow.jpg" width="446" height="116" /><br />&nbsp;&nbsp;&nbsp;&nbsp; 可以看到效果，issue的每日消息，是在用户尚未成功登录系统时候时候就会显示的。而motd中的消息是在成功登录系统以后才会显示。<br /><br />(6)手动添加用户专题<br />&nbsp;&nbsp;&nbsp;&nbsp; 在我们添加用户时候<span>，最常用的方法就是使用</span><span style="color: #ff0000">u</span><span style="color: #ff0000">s</span><span style="color: #ff0000">e</span><span style="color: #ff0000">ra</span><span style="color: #ff0000">dd 用</span><span style="color: #ff0000">户名</span><span style="color: #ff0000">&nbsp;</span>添加一个用户，然后再用passwd 用户名 给该用户设置密码。但是useradd指令的原理是什么，背后到底做了什么事情呢？今天我们就手动来添加以下用户：<br />1.在/etc/passwd配置文件中添加用户<br /><img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/useradd1.jpg" width="415" height="24" /><br />2.在/etc/shadow配置文件中添加用户<br /><img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/useradd2.jpg" width="262" height="23" /><br />3.创建宿主目录(创建的宿主目录，忘记更改所有者了。。！囧！)<br /><img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/uaeradd3.jpg" width="479" height="71" /><br />4.把/etc/skel目录下的文件拷贝到宿主目录中<br /><img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/useradd4.jpg" width="255" height="43" /><br /><br />(7)普通用户如何改密码<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;通过ls -l /etc/passwd /etc/shadow 查看这两个配置文件，我们可以看<br /><img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/updatepasswd1.jpg" width="388" height="64" /><br />到，对于普通用户others是没有修改权限W的。那为什么普通用户能够修改密码呢？<br />&nbsp;&nbsp;&nbsp;&nbsp; 其实原因在于用户改密码的命令passwd,我们查看下passwd<br /><img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/updatepasswd2.jpg" width="406" height="62" /><br />可以看到在这个用户的权限中，有一个s标记，这不同于我们以往认识的，文件只有rwx这三种权限，那s到底是什么意思呢？其实我们把s称作为SetUID。<br /><img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/updatepasswd3.jpg" width="496" height="105" /><br />&nbsp;&nbsp;&nbsp;&nbsp; SetUID只能是针对文件，针对目录无效。换句话说，passwd的拥有者是root，那么以后其他用户在执行passwd这个文件的时候，会突然"穿越时空"临时性的变成root用户，这样就可以修改密码了。那我们怎么给文件设置SetUID的权限呢？要知道除了SetUID还有SetGID,功能类似，只不过针对用户组。那么SetUID的命令是,chmod 4xxx 或者chmod u+s。SetGID是chmod 2xxx或者chmod g+s。下面我来做一个实验：<br /><img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/setUid.jpg" width="370" height="156" /><br />&nbsp;&nbsp;&nbsp;&nbsp; 可以看到我给touch命令了setUID权限，然后再切换用户到mysileng，通过mysileng用户创建了一个文件，但是我们发现，创建文件的owner即拥有者是root而不是mysileng用户，这就证明了setUID的功能。其实SetUID是很危险的，假若有坏人给VI授予了SetU<span style="color: #000000">ID，那不是？。。。。。恐怖。。。~~</span><br /><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp; 为了安全，我们可以定时对所有</span><span style="color: #000000">的文件中拥有SetUID或</span><span style="color: #000000">者SetGI</span><span style="color: #000000">D的文件进</span><span style="color: #000000">行查找，</span><span style="color: #000000">看有什么</span><span style="color: #000000">变化。命</span><span style="color: #000000">令是</span><span style="color: #ff0000">find </span><span style="color: #ff0000">/ -</span><span style="color: #ff0000">perm -4000 -o -2000</span>。0代表的是不限制。<br />&nbsp;&nbsp;&nbsp;&nbsp; 我们通过umask可以查看到缺省最高位是0，这一位除了可以是2，或者4之外，可以设置为1。那是这什么功能呢？一般我们叫着黏着位。黏着位用t来表示，这个功能只能针对目录来设置，并且是针对权限中的ohters用户，而且这个目录权限一定是777(rwx)。本来在没有黏着位的情况下，如果一个目录ohters的权限是是777，那么所有普通用户可以在这个文件夹中任意创建文件然后任意删除文件。<br />&nbsp;&nbsp;&nbsp;&nbsp; 但是在设置了黏着位以后，用户们在该文件夹中，只能删除自己创建的文件了。下面做一个实验：<br /><img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/nianzhuowei.jpg" width="364" height="267" /><br /><br />(8)/etc/group与/etc/gshadow 用户组配置文件与用户组密码文件<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 基本上与passwd和shadow文件的功能类似，以下是具体格式解释：<br /><img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/etcgroup.jpg" width="485" height="253" /><img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/etcgshadow.jpg" width="649" height="174" /><br /><br /><br /><strong style="font-size: 18pt">二、用户与用户组管理命令</strong><strong><br /></strong>(1)用户管理命令<br />1.添加用户<br /><img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/useradd123.jpg" width="343" height="238" /><br />2.修改用户信息<br />&nbsp;&nbsp; usermod -l 新用户名 -d 新的宿主目录 -g 用户组<br />&nbsp;&nbsp; -l是更改用户名，-d是给更改宿主目录，-g是分配用户组<br />&nbsp;&nbsp;&nbsp;<span style="color: #ff0000">usermod -G 用户名 用户组1 用户组2...</span><br />&nbsp;&nbsp; -G把用户添加到多个组作用<br />3.删除用户<br />&nbsp; userdel -r 用户名<br />&nbsp; -r是删除宿主目录<br />&nbsp; 如果想手动删除一个用户：首先删除/etc/passwd、/etc/shadow中的用户信息，然后再/etc/group与/etc/gshadow中也删除用户信息，然后删除宿主目录，再通过find / -user&nbsp;用户名 -ok rm {}\;删除以该用户是onwer的文件。<br />4.其他命令<br /><img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/qita0.jpg" width="447" height="319" /><br />pwch 可以检查文件的格式错误<br />vipw与vi passwd的不同之处在于，可以锁定文件，避免写混乱。<br /><span style="color: red">su 用户名 与 su -用户名的不同之处在于，改变用户是否也跟着改变环境上下文。</span><br /><br /><br />(2)用户组管理命令<br />1.添加用户组<br />&nbsp;&nbsp; groupadd -g gid&nbsp;组名<br />2.删除用户组<br />&nbsp;&nbsp; groupdel 组名<br />3.修改用户组信息<br />&nbsp;&nbsp; groupmod -n namm 组名 //修改组名<br />4.用户组密码修改命令<br />&nbsp;&nbsp; 直接gpasswd 用户组名就可以设置和更改组密码<br /><img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/gpasswd.jpg" width="480" height="240" /><br />5.其他命令<br /><img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/qita1.jpg" width="514" height="286" /><br /><br /><strong style="font-size: 18pt">三、批量添加用户</strong><strong><br /></strong>&nbsp;&nbsp;&nbsp;&nbsp; 介绍两种方法批量添加:手动批量添加，shell脚本批量添加。现在只讲前一种，后一张在shell脚本章节再讲。那手动批量添加的步骤是：<br />1.通过vi撰写所需要添加的用户信息文件，格式与passwd类似(假设为user.info)<br />2.通过newusers导入需要添加的用户信息文件:newusers &lt; user.info<br />3.再通过pwunconv取消shadow文件，并写一个关于用户的密码文件，假设为pass.info。格式为:新添加的用户名:用户密码<br />4.通过chpasswd命令导入新添加用户的密码:chpasswd &lt; pass.info<br />5.最后调用pwconv重新生成shadow文件即可。<br /><br /><strong style="font-size: 18pt">四、用户授权</strong><strong><br /></strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 给用户授权是很重要的。通常我们使用对用户组的巧妙分配可以达到某些授权的目的，比如现在有一个需求：su命令是用来切换用户的，假若普通用户天天没事就切换root用户，那么不是早晚一天能被猜中密码，所以我们让一般人不具有执行的su命令的权限，而只有特定人可以su。那我们怎么做？<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 首先我们创建一个用户组sugroup,然后把su文件给予权限4550,关键是要把ohers的x权限去掉。然后通过chgrp更改su命令的用户组，使sugroup变成su的用户组，这样普通的用户是没有执行的权力的，只有root和进入了sugroup的成员才可以执行su命令。<br /><img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/supermit.jpg" width="450" height="362" /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 当然除了通过用户组来授权之外，常用的授权工具sudo是我们要了解的重点。sudo软件可以让用户使用sudo授权的命令时临时升级成root用户（类似setid）。那么要简单学习sudo只需要学习命令visudo和配置问件/etc/sudoers。visudo是对etc/sudoers进行编辑的编辑命令，与vi不同的是，因为/etc/sudoers是被锁定的配置文件，所以用vi编辑是无效的,就必须使用visudo来编辑。那/etc/sudoers里面每行的格式是什么呢？<br />用户名(或用户组名)&nbsp; 主机地址=命令(命令的绝对路径)<br />这样就表示给了这个用户什么命令的权限，多条命令用，分割。sudo软件最方便的就是可以把权限精确到某条命令的某条参数。比如:<br /><img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/sudoeeee.jpg" width="435" height="65" /><br />&nbsp;&nbsp;&nbsp;&nbsp; 可以当到第二行给予了csdn2这个用户马上关机的权限，那么它就只能执行这条命令并带这些参数，如果换了其他参数是没有权限执行的。<br />&nbsp;&nbsp;&nbsp;&nbsp; 执行sudo授予的命令要通过<span style="color: red">sudo 命</span><span style="color: red">令</span>来调用,而且调用后还要求验证当前用户密码来保证安全。其中命令有时候因为path问题可能要输入绝对路径。例如:<br /><img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/sudopasswdddd.jpg" width="447" height="42" /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;此外可以通过sudo -l查看当前用户被sudo授权了那些命令。</p><img src ="http://www.cppblog.com/mysileng/aggbug/188397.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/mysileng/" target="_blank">鑫龙</a> 2012-08-27 11:08 <a href="http://www.cppblog.com/mysileng/archive/2012/08/27/188397.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>linux笔记-----5------(linux软件包管理)</title><link>http://www.cppblog.com/mysileng/archive/2012/08/23/188051.html</link><dc:creator>鑫龙</dc:creator><author>鑫龙</author><pubDate>Thu, 23 Aug 2012 08:21:00 GMT</pubDate><guid>http://www.cppblog.com/mysileng/archive/2012/08/23/188051.html</guid><wfw:comment>http://www.cppblog.com/mysileng/comments/188051.html</wfw:comment><comments>http://www.cppblog.com/mysileng/archive/2012/08/23/188051.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/mysileng/comments/commentRss/188051.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/mysileng/services/trackbacks/188051.html</trackback:ping><description><![CDATA[<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 今天我们来讲linux软件包管理，因为linux版本的不同，软件包的管理稍有区别。在redhat系列里，我们二进制软件包的管理比较倾向于<span style="color: red">RPM和YUM</span>。而在debian系列中，我们广泛使用<span style="color: red">APT</span>的管理方式。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 软件包的管理一般分为三种：二进制软件包管理、源代码包管理、脚本安装(shell或java)。其中我们的重点是二进制软件包的管理，其他的两种用案例来说明。<br />一、RPM包管理<img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/sudo.jpg" width="774" height="203" /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 由上面RPM例子可知关于软件包的名字。注意，安装的时候需要使用的是软件包的全称，而卸载的时候只需要使用软件的名称。接下来介绍rpm使用命令：<br />(1)rpm卸载<img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/sudoshanchu.jpg" width="554" height="122" /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 从例子可以看出，是使用<span style="color: red">rpm -m 软件名</span> 来卸载一个软件的，但是在卸载samba的时候却被告知，因为samba被另外一个软件依赖而卸载失败。两种办法，一就是把依赖samba的先卸载再来卸载samba，二就是通过--nodeps选择来强行卸载。<br /><br />(2)rpm安装<br />&nbsp;&nbsp;&nbsp;&nbsp; 既然我们之前卸载了sudo软件，那我们现在就来安装sudo.软件包的获取要么是从网站下载的或者是从光盘获得安装。sudo就在系统安装盘里就有。那么要用光盘进行安装之前，我们要对光盘进行<span style="color: red">挂载(光盘</span>挂载)，也就是通过系统文件的方法访问光盘。通常我们系统在/mnt目录中创建文件进行挂载，通过monut指令就可以进行挂载了，记得把光盘放入光驱，不然会提示找不到介质。<img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/mount.jpg" width="515" height="78" /><br />在挂载成功后，我们访问/mnt/cdrom就相当于访问光盘了。进入光盘，再进入CentOS目录，我们可以发现所有的RPM软件安装包都在这个目录里面，通过ls | grep sudo 我们可以发现有我们需要的sudo软件安装包。然后通过<span style="color: red">rpm -ivh 软件包全名</span> 就可以安装软件包。其中-i就是安装的install,-v是查看安装过程信息,-h是显示安装进度。<img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/sudoinstall.jpg" width="570" height="116" /><br /><br />(3)rpm查询<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 通过<span style="color: red">rpm -q 软件名</span> 来查询该软件包是否已经安装，但当你对软件名记不清或者与某些关键词相关的软件感兴趣时，可以通过<span style="color: red">rpm -qa | grep 软件关键字</span> 来查已安装的软件包。-qa是表示查询所有软件包。<img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/rpmfind.jpg" width="338" height="140" /><br /><br />(4)rpm校验<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 使用rpm -V 软件名 可以对这个软件的所有文件进行校验，如果校验没有问题会没有任何提示，如果出现问题，会以字母的方式告知。<img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/rpmjiaoyan.jpg" width="335" height="35" /><img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/rpmjiaoyan1.jpg" width="250" height="230" /><br /><br />(5)<span style="color: red">rpm提取(修复时常用命令)</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 当有些软件的某个文件或者配置文件顺坏或者丢失的时候，我们需要从rpm软件安装包中把所需的文件提取出来来修复软件。我们可以使用rpm2cpio命令来实现。<img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/rpm2cpio.jpg" width="751" height="141" /><br /><br />(6)附加参数<br />--excludedocs 不安装软件包中的文档文件<br />--prefix=Path 将软件包安装到由path指定的路径下(注：大多rpm都不允许改变安装目录),下例中predix等号后面即path。<img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/rpmprefix.jpg" width="791" height="46" /><br />--test 只对安装<span style="color: #000000">进行测试，并</span><span style="color: #000000">不实际安装。</span><br /><span style="color: red">-</span><span style="color: #ff0000">-repla</span><span style="color: #ff0000">ceplgs</span> 进行覆盖安装，当软件包已安装了，可以<span style="color: #000000">使用该命令进</span><span style="color: #000000">行覆盖安装。</span><br /><span style="color: #000000">--</span><span style="color: #ff0000">repalcefiles</span> 如果正在安装的软件包中的某一个文件在其他已安装过的软件包中安装了，那么就会出现文件冲突的错误，通过该参数忽略错误，继续安装。<br />--nodeps 这个参数在卸载时候有用。在安装时候也有用，有时候在安装软件包时候，所依赖的软件包没有，就会安装不了，那么如果仍想安装就只有用nodeps参数。<br />-U 对软件包进行升级。<br /><img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/rpmfinal.jpg" width="596" height="319" /><br /><br />二、YUM包管理<br />&nbsp;&nbsp;&nbsp;&nbsp; 正是因为rpm对于软件包的互相依赖关系的支持差劲，所以yum应运而生。yum的两个好处就是：自动解决软件包间的依赖关系和方便升级。yum应用需要联网才能发挥价值。<br />(1)yun安装与检测升级<br /><img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/yuminstall.jpg" /><br />通过<span style="color: #ff0000">yum install 软件名</span> 来联网进入下载安装，它会为你自动下载所有所需的依<span style="color: #000000">赖软件包。通过</span><span style="color: #ff0000">yum check-update</span> 软件名 来联网检测是否有需要跟新软件。在检测<span style="color: #000000">升级以后，通过</span><span style="color: #ff0000">yum update</span> 软件名 来升级。<br /><br /><span>(2)其他命令</span><br /><span style="color: #ff0000"><font color="#000000"><span style="color: #ff0000">y</span></font>um list </span>查询yum源的所有软件包。通过yum list | grep 软件名 可以查询当前软件是否安装等信息。<br /><span style="color: #ff0000">yum info</span><span style="color: #ff0000"> 软件名</span> 查询yum源中软件包里的信息<img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/sudoinfo.jpg" width="507" height="444" /><br /><span style="color: #ff0000">yum remove 软件名</span> 卸载软件<br /><br />三、源代码包安装<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 源代码安装分几个步骤：首先下载源代码包，通常是.gz或者.bz2结尾的；或者源代码包以<span>后</span>通过tar -xzvfjc 等命令进行解压；解压完成以后进入解压目录会看见一个confing的文件，然后通过./confing命令运行该配置，当然这个配置的过程通常都是收集一些环境信息和生成一些必要的文件，如果一些依赖的软件没有当然需要装好（用yum吧。。各种快）；然后再执行make命令进行编译；编译结束以后执行make install进行安装，这个过程一般是一些拷贝到不同目录和一些配置文件生成。这样一个标准的源代码包就安装完成了。<br /><img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/proftpd.jpg" width="459" height="240" /><br />可以参考这篇博文：<a href="http://criss.blog.51cto.com/1048459/464581">http://criss.blog.51cto.com/1048459/464581</a><br /><br />四、脚本安装<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 当你下载tar包里面没有config这个文件时，很可能就是用脚本的方式安装了。也是先解压，然后查看下README或INSTALL这类说明，然后找到安装脚本运行即可。<br /><img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/shellinstall.jpg" width="478" height="251" /><br /><br />五、APT包管理<img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/apt.jpg" width="785" height="378" /></div><img src ="http://www.cppblog.com/mysileng/aggbug/188051.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/mysileng/" target="_blank">鑫龙</a> 2012-08-23 16:21 <a href="http://www.cppblog.com/mysileng/archive/2012/08/23/188051.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>linux笔记-----4------(grub自举程序与应用) </title><link>http://www.cppblog.com/mysileng/archive/2012/08/22/187985.html</link><dc:creator>鑫龙</dc:creator><author>鑫龙</author><pubDate>Wed, 22 Aug 2012 11:31:00 GMT</pubDate><guid>http://www.cppblog.com/mysileng/archive/2012/08/22/187985.html</guid><wfw:comment>http://www.cppblog.com/mysileng/comments/187985.html</wfw:comment><comments>http://www.cppblog.com/mysileng/archive/2012/08/22/187985.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/mysileng/comments/commentRss/187985.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/mysileng/services/trackbacks/187985.html</trackback:ping><description><![CDATA[<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 首先grub的配置文件是存放在路径/boot/grub/grub.conf中，还有一个软链接是在/etc/grub.conf中。接下来解析一些配置选项：<img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/grubconfig.jpg" width="663" height="175" /><br /></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0">1.default:定义缺省启动的操作系统，在多系统时适用。&nbsp;<span style="font-family: '宋体'; color: rgb(0,0,0); font-size: 14pt; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0">2.timeout：定义缺省等待的时间。<br /><span style="font-family: '宋体'; color: rgb(0,0,0); font-size: 14pt; mso-spacerun: 'yes'"><o:p><img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/waittime.png" /><br /></o:p></span>3.splashimage：定义grub界面图片的路径<br />比如：(hd0,0)/grub/splash.xpm.gz<br />(hd0,0)是什么意思呢？hd是硬盘的意思，一般hda表示第一个硬盘，而hdb表示第2个硬盘。在grub里面hd0就是hda的意思，hd1就是hdb的意思。而逗号后面的0表示第一个分区的意思。所以（hd0,0）表示第一个硬盘的第一个分区。 <br />4.hiddenmenu:隐藏菜单</p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0"><img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/hidemenu.png" /></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0">5.title：定义上述隐藏菜单的菜单项名称<span style="font-family: '宋体'; color: rgb(0,0,0); font-size: 14pt; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0"><span style="color: red">6.root:&nbsp;定义/boot目录的分区位置(设置grub程序的位置)</span><span style="font-family: '宋体'; color: rgb(255,0,0); font-size: 14pt; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0"><span style="color: red">7.kernel&nbsp;:定义了内核所在的位置</span><span style="font-family: '宋体'; color: rgb(255,0,0); font-size: 14pt; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0">8.initrd:加载镜像文件<span style="font-family: '宋体'; color: rgb(0,0,0); font-size: 14pt; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0"><br />&nbsp;接下来介绍一些grub的简单命令与应用。</p>
<blockquote style="margin-right: 0px" dir="ltr">
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0">e：编辑当前的启动菜单项<span style="font-family: '宋体'; color: rgb(0,0,0); font-size: 14pt; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0">c：进入grub的命令行方式<span style="font-family: '宋体'; color: rgb(0,0,0); font-size: 14pt; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0">b：启动当前菜单项<span style="font-family: '宋体'; color: rgb(0,0,0); font-size: 14pt; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0">d：删除当前行<span style="font-family: '宋体'; color: rgb(0,0,0); font-size: 14pt; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0">ESC:返回grub启动菜单界面，取消对当前菜单项的任何修改</p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0"><img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/grubcommand.png" /><!--EndFragment--><!--EndFragment--></p></blockquote>通过上述命令我们可以做些简单应用:<br />
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0">一、root密码忘记如何进入单用户模式<span style="font-family: '宋体'; color: rgb(0,0,0); font-size: 14pt; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;单用户模式只有root可以进入，所以进入单用户模式是不需要输入root密码的，所以忘记密码，可以进入单用户密码来更改root的密码。<span style="font-family: '宋体'; color: rgb(0,0,0); font-size: 14pt; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0">开机进入grub界面时，按e进入编辑行模式，选中kernel行，再按e，在新的界面的最后一行输入l（与前一个字母有一个空格）。回车以后按b即可。<span style="font-family: '宋体'; color: rgb(0,0,0); font-size: 14pt; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0">同样如果遇到inittab的默认运行级别被改成0或者6的话，可以通过上述grub的指定方式直接进入某种运行级别再修改配置文件。<br /><br /></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0">二、设置grub密码<span style="font-family: '宋体'; color: rgb(0,0,0); font-size: 14pt; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 先用下面两种方式得到明文的MD5密文<span style="font-family: '宋体'; color: rgb(0,0,0); font-size: 14pt; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0">1.输入grub-md5-crypt<span style="font-family: '宋体'; color: rgb(0,0,0); font-size: 14pt; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0">2.先输入grub,在输入md5crypt<span style="font-family: '宋体'; color: rgb(0,0,0); font-size: 14pt; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0">然后复制密文，进入grub.conf配置文件中<span style="font-family: '宋体'; color: rgb(0,0,0); font-size: 14pt; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0">在title项前加入一行选项：<span style="font-family: '宋体'; color: rgb(0,0,0); font-size: 14pt; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0">password&nbsp;--md5&nbsp;密文<br /><br />三、grub修复<br />首先按下c键进入grub命令行,通过通过命令行手动启动，而不是通过grub.conf文件。<img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/grubcomline.png" /><br /></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0"><!--EndFragment--><span style="font-family: '宋体'; color: rgb(0,0,0); font-size: 14pt; mso-spacerun: 'yes'"><o:p></o:p></span></p><!--EndFragment--><!--EndFragment--><img src ="http://www.cppblog.com/mysileng/aggbug/187985.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/mysileng/" target="_blank">鑫龙</a> 2012-08-22 19:31 <a href="http://www.cppblog.com/mysileng/archive/2012/08/22/187985.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>linux笔记-----3------(linux引导流程解析) </title><link>http://www.cppblog.com/mysileng/archive/2012/08/22/187978.html</link><dc:creator>鑫龙</dc:creator><author>鑫龙</author><pubDate>Wed, 22 Aug 2012 09:59:00 GMT</pubDate><guid>http://www.cppblog.com/mysileng/archive/2012/08/22/187978.html</guid><wfw:comment>http://www.cppblog.com/mysileng/comments/187978.html</wfw:comment><comments>http://www.cppblog.com/mysileng/archive/2012/08/22/187978.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/mysileng/comments/commentRss/187978.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/mysileng/services/trackbacks/187978.html</trackback:ping><description><![CDATA[<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 引导流程解析共分成三个部分，分别是linux引导流程、linux运行级别、linux启动服务管理。下面一个一个来：<br /></div>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0"><img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/yindaoliucheng.jpg" width="576" height="272" />&nbsp;&nbsp;上<br />&nbsp;&nbsp;&nbsp;&nbsp; 上图就是系统引导流程的流程图，我们一个部分一个部分来分别介绍：</p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 一、固件：电脑按下电源以后，首先都是加载固件，叫做firmwall，PC上面应用最多的就是CMOS/BIOS（CMOS是固化在硬件上的那段程序，BIOS是基于这个程序的图形化管理界面），它既不是硬件也不是软件，它主要的功能是在硬件层面进行加电自检（通常是检查线连上没，硬件可以识别没）。在SUN的系统里不叫cmos而叫prom，也不叫bios而叫openbooter，所以名字虽然不同但是原理是差不多的，要学习这些固件，在购买服务器的时候，会有操作手册，上面会有各种命令的解释。固件设置里面只讲一点就是硬件时钟和软件时钟的设置(hwclock与date)。<br /></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 二、自居程序：在进行完加电自检，电脑会开始读硬盘，首先读的是MBR(master&nbsp;boot&nbsp;recorder)主引导记录，主引导记录在0柱面0磁头1扇区的位置。主引导记录分3个部分：自居程序bootloader,磁盘分区表Partition&nbsp;table,结束标志字magic&nbsp;number。<img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/zijuchengxu.png" /><br />自居程序在所有的操作系统里面都有，在linux自居程序中广泛应用的是grub（windows的自居程序在C盘可以查看到，NTloader）。那自居程序grub有什么用呢？<span style="color: red">它最重要的作用就是载入内核</span>。其实内核在/boot文件夹是可以查看到的，内核其实是一个可执行文件而不是一堆文件。一堆文件的那个是内核的源代码文件而不是可以使用的内核程序。内核的版本号和名字等配置信息可以在/etc/grab.conf配置文件查看，该配置文件具体的内容将在后续中详细剖析。<span style="font-family: '宋体'; font-size: 14pt; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0">&nbsp;</p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 三、载入内核：在载入内核以后，工作就交给了内核。内核在引导期间，其实最主要只做两个事情：1.首先是驱动硬件，所谓驱动就是使系统认识硬件，并调用硬件。一个系统最庞大的部分就是驱动，通常根据需要对驱动进行裁剪，就成了裁决系统。2然后就是启动一个进程，叫做init进程。它应该是系统存在的第一个进程。<br /><br /><span style="font-family: '宋体'; font-size: 14pt; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0"><!--EndFragment--></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 四、启动进程init：该进程的的PID（进程ID）恒为1，一般情况下PID是随即分配的，但是init进程是固定的。PPID称为父进程ID，可以看出init进程的父进程的PID为0，其实PID为0的进程是内核调度器（kernel&nbsp;scheduler）它负责对进程进行调度，即CPU时间片的分配。</p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0"><img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/ppid0.png" width="576" height="92" /><!--EndFragment--></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0"></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0">在父子进程关系中，按道理父进程死了，子进程必须死。但是有时候父进程死了，但是子进程因为某种特殊情况并没有死，这样子进程就成了孤儿进程，linux检查到孤儿进程，会把该孤儿进程的PPID变成1。另外一种情况，就是子进程死了，父进程不知道，导致子进程变成僵尸进程。<br /><br /></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0"></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;五、读取配置文件inittab:在启动进程init以后,就会读取/etc/inittab配置文件。使用more /etc/inittab打开inittab文件，首先看到的是关于系统运行级别的信息。<span style="font-family: '宋体'; font-size: 14pt; font-weight: normal; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0">Linux运行级别(runlevel)一共有7种：<span style="font-family: '宋体'; font-size: 14pt; font-weight: normal; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<blockquote style="margin-right: 0px" dir="ltr">
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0" align="left">0halt（关机）<span style="font-family: '宋体'; font-size: 14pt; font-weight: normal; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0" align="left">1.Singgle&nbsp;user&nbsp;mode(但用户，类似windows的安全模式)<span style="font-family: '宋体'; font-size: 14pt; font-weight: normal; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0" align="left">2.Multiuser(没有NFS网络文件共享服务的多用户模式，命令行)<span style="font-family: '宋体'; font-size: 14pt; font-weight: normal; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0" align="left">3.Full&nbsp;multiuer&nbsp;mode(和3一样，多加了NFS)<span style="font-family: '宋体'; font-size: 14pt; font-weight: normal; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0" align="left">4.Unuerd（还未使用）<span style="font-family: '宋体'; font-size: 14pt; font-weight: normal; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0" align="left">5.X11(默认使用，图形界面)<span style="font-family: '宋体'; font-size: 14pt; font-weight: normal; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0" align="left">6.Reboot（重启）<span style="font-family: '宋体'; font-size: 14pt; font-weight: normal; mso-spacerun: 'yes'"><o:p></o:p></span></p></blockquote>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0">&nbsp;&nbsp;&nbsp;&nbsp; 如上所述默认的一般是5.通过命令runlevel可以查看当前运行级别。通过init&nbsp;num或者telinit&nbsp;num可以动态切换运行界别。(其实通过ls&nbsp;-l&nbsp;'which&nbsp;telinit'可以得知telinit是init的一个软链接)。<span style="font-family: '宋体'; font-size: 14pt; font-weight: normal; mso-spacerun: 'yes'"><br /></span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0"></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0">&nbsp;&nbsp;&nbsp;&nbsp; 接着继续学习inittab配置文件，使用grep&nbsp;-v '^#'&nbsp;/etc/inittab&nbsp;|&nbsp;more 得到没有注释的配置文件。通过man&nbsp;init可以得知，所有init配置文件里面的每行都是通过格式<span style="font-family: '宋体'; color: rgb(0,0,0); font-size: 14pt; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0">id&nbsp;:&nbsp;runlevels&nbsp;:&nbsp;action&nbsp;:&nbsp;process<br /><span style="font-family: '宋体'; color: rgb(0,0,0); font-size: 14pt; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0"></p>
<blockquote style="margin-right: 0px" dir="ltr">
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0">id:标识符，标记条目的唯一性，一般为两位字母或者数字<span style="font-family: '宋体'; color: rgb(0,0,0); font-size: 14pt; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0">runlevels：指定运行级别，如果为空，表示所有运行级别都可以。<span style="font-family: '宋体'; color: rgb(0,0,0); font-size: 14pt; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0">action：指定脚本或者命令的运行状态</p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0">process：指定要运行的脚本或者命令</p></blockquote>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0">&nbsp;&nbsp;&nbsp; 下面对action的取值进行介绍：</p>
<blockquote style="margin-right: 0px" dir="ltr">
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0">1.initdefault:指定系统缺省启动的运行级别<span style="font-family: '宋体'; color: rgb(0,0,0); font-size: 14pt; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0">2.<span style="font-family: '宋体'; color: rgb(0,0,0); font-size: 14pt; mso-spacerun: 'yes'">sysinit</span>：系统启动时，执行process指定的脚本或命令<span style="font-family: '宋体'; color: rgb(0,0,0); font-size: 14pt; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0"><!--EndFragment--><img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/actionInit.png" /><br /><!--EndFragment--></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0">3.<span style="font-family: '宋体'; color: rgb(0,0,0); font-size: 14pt; mso-spacerun: 'yes'">wait:</span>执行process指定的命令或者脚本，并在执行完成以后才运行其他的条目.<img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/actionWait.png" width="544" height="282" /></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0"><span style="font-family: '宋体'; color: rgb(0,0,0); font-size: 14pt; mso-spacerun: 'yes'">4.</span><span style="font-family: '宋体'; color: rgb(0,0,0); font-size: 14pt; mso-spacerun: 'yes'">once<font face="宋体">：执行</font><font face="Times New Roman">process</font><font face="宋体">命令或者脚本，但不等待其结束。</font></span><span style="font-family: '宋体'; color: rgb(0,0,0); font-size: 14pt; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0"><span style="font-family: '宋体'; color: rgb(0,0,0); font-size: 14pt; mso-spacerun: 'yes'">5.</span><span style="font-family: '宋体'; color: rgb(0,0,0); font-size: 14pt; mso-spacerun: 'yes'">Ctrlaltdel<font face="宋体">：按下</font><font face="Times New Roman">ctrl+alt+del</font><font face="宋体">键，执行</font><font face="Times New Roman">process</font></span><span style="font-family: '宋体'; color: rgb(0,0,0); font-size: 14pt; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0"><span style="font-family: '宋体'; color: rgb(0,0,0); font-size: 14pt; mso-spacerun: 'yes'">6.</span><span style="font-family: '宋体'; color: rgb(0,0,0); font-size: 14pt; mso-spacerun: 'yes'">Respawn:<font face="宋体">一旦该</font><font face="Times New Roman">process</font><font face="宋体">终止，则重新运行该</font><font face="Times New Roman">process</font><font face="宋体">指定的命令或。</font></span><span style="font-family: '宋体'; color: rgb(0,0,0); font-size: 14pt; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0"><span style="font-family: '宋体'; color: rgb(0,0,0); font-size: 14pt; mso-spacerun: 'yes'">7.</span><span style="font-family: '宋体'; color: rgb(0,0,0); font-size: 14pt; mso-spacerun: 'yes'">Powerfail:<font face="宋体">电源出错执行</font><font face="Times New Roman">process</font></span><span style="font-family: '宋体'; color: rgb(0,0,0); font-size: 14pt; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0"><span style="font-family: '宋体'; color: rgb(0,0,0); font-size: 14pt; mso-spacerun: 'yes'">8.</span><span style="font-family: '宋体'; color: rgb(0,0,0); font-size: 14pt; mso-spacerun: 'yes'">Powerokwait:<font face="宋体">电源恢复执行的</font><font face="Times New Roman">process</font></span><span style="font-family: '宋体'; color: rgb(0,0,0); font-size: 14pt; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0"><!--EndFragment--><br /></p></blockquote>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 上述第三个action值wait的例子中，其实通过ls&nbsp;-l&nbsp;/etc/rc.d/rc可以得知，rc其实是一个可执行文件（其实也是脚本）。在rc.d这个目录下其实并不只有rc这一个文件，还有许多文件或者目录。<img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/lsrcd.jpg" width="998" height="150" /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 可以看到有从rc0.d到rc6.d共7个目录。他们是相应运行级别需要启动的服务目录文件。系统是通过action：initdefault的运行级别来匹配这里的服务目录的。现在以rc3.d为例：<img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/r3d.png" /><br /><span style="font-family: '宋体'; color: rgb(0,0,0); font-size: 14pt; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0"></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 可以看到rc3.d目录下有很多服务程序，从他们的名称中，我可以可以得知它们的作用，名称都是有3个部分组成：<span style="font-family: '宋体'; color: rgb(0,0,0); font-size: 14pt; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 第一个大写字母+数字+名字<span style="font-family: '宋体'; color: rgb(0,0,0); font-size: 14pt; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 第一个大写字母S（start）表示启动服务，K（kill）表示杀死服务<span style="font-family: '宋体'; color: rgb(0,0,0); font-size: 14pt; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0">数字表示启动顺序，数字越小越先启动，数字相同，按照创建时间启动,名字根据作用而定。</p>
<p style="margin-top: 0pt; margin-bottom: 0pt" dir="ltr" class="p0">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 所以在这里我们可以根据自己应用的需要，把有用的进程开启，无用的关闭，比如如果无用的不想开启，可以把S改成s，就不会启动了。</p>
<blockquote style="margin-right: 0px" dir="ltr">
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0">&nbsp;&nbsp;&nbsp;&nbsp; 此处加一个专题，就是我们如何在系统启动好以后来动态开启和关闭服务呢？<!--EndFragment--><br />&nbsp;&nbsp;&nbsp;&nbsp; 首先我们要知道，系统所有的服务都是在/etc/rc.d/init.d目录下。我们可以通过start、stop、restart、status来启动、终止、重新启动、查看状态来操作服务。例如:用sshd服务为例：<img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/service.png" /></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 现在我们如果要把一个服务变成开机启动有3种方法：<span style="font-family: '宋体'; color: rgb(0,0,0); font-size: 14pt; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0">（1）第一个就是在/etc/rc.d/rcn.d的服务目录中创建一个名为SXXX的软链接，指向一个脚本就可以了。<span style="font-family: '宋体'; color: rgb(0,0,0); font-size: 14pt; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0"><!--EndFragment--><img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/aotoStart.png" width="576" height="383" /><br /><!--EndFragment--></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0">（2）使用chkconfig命令设置进程是否启动<span style="font-family: '宋体'; color: rgb(0,0,0); font-size: 14pt; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0"><img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/chkconfig.png" /></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0">（3）使用ntsysv进入图形化设置进程是否启动&nbsp;<span style="font-family: '宋体'; color: rgb(0,0,0); font-size: 14pt; mso-spacerun: 'yes'"><o:p></o:p></span></p></blockquote>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0"><!--EndFragment--><!--EndFragment--><!--EndFragment--><!--EndFragment--><!--EndFragment--><!--EndFragment--><!--EndFragment--><!--EndFragment--><!--EndFragment--></p><!--EndFragment--> <img src ="http://www.cppblog.com/mysileng/aggbug/187978.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/mysileng/" target="_blank">鑫龙</a> 2012-08-22 17:59 <a href="http://www.cppblog.com/mysileng/archive/2012/08/22/187978.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>linux笔记-----2------(linux常用命令)</title><link>http://www.cppblog.com/mysileng/archive/2011/05/03/145597.html</link><dc:creator>鑫龙</dc:creator><author>鑫龙</author><pubDate>Tue, 03 May 2011 11:42:00 GMT</pubDate><guid>http://www.cppblog.com/mysileng/archive/2011/05/03/145597.html</guid><wfw:comment>http://www.cppblog.com/mysileng/comments/145597.html</wfw:comment><comments>http://www.cppblog.com/mysileng/archive/2011/05/03/145597.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/mysileng/comments/commentRss/145597.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/mysileng/services/trackbacks/145597.html</trackback:ping><description><![CDATA[<p><span style="WIDOWS: 2; TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: medium Simsun; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class=Apple-style-span>&nbsp;&nbsp;好啦，从这里开始我们就开始学习linux的一些常用命令。首先进入centos-》应用程序-》附件-》终端，开始命令行之旅。<br><br>一、文件处理命令&nbsp;<br><span style="WIDOWS: 2; TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: medium Simsun; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class=Apple-style-span>&nbsp;&nbsp;&nbsp;1.网络信息查看命令:<span style="COLOR: red">ifconfig</span><span style="WHITE-SPACE: pre" class=Apple-tab-span> </span>英文原型:intface config（附加的。。。可以无视）<br><span style="WIDOWS: 2; TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: medium Simsun; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class=Apple-style-span><br>&nbsp;&nbsp;&nbsp;2.文件处理命令:<span style="COLOR: red">ls</span><span style="WHITE-SPACE: pre" class=Apple-tab-span>&nbsp;&nbsp;&nbsp;</span>英文原型：list<span style="WHITE-SPACE: pre" class=Apple-tab-span>&nbsp;&nbsp;&nbsp;</span>命令所在路径:/bin/ls<span style="WHITE-SPACE: pre" class=Apple-tab-span>&nbsp;&nbsp;&nbsp;</span>执行权限:所有用户<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;功能表述:显示文件目录<span style="WHITE-SPACE: pre" class=Apple-tab-span> </span>常用可选项：-a -l -i(a表示all即显示所有文件目录,l表示long即显示详细文件属性,i显示文件的inode)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;注：当键入ls -l时候，会输出类似如下图所示信息<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img border=0 alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/21.jpg" width=303 height=19><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;第1个字母表示的文件类型(d表示目录,-表示2进制文件,l表示软链接文件)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;第2-4字母表示的是文件拥有者的权限(r表示read,w表示write,x表示execute)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;第5-7和第8-10字符分别表示文件所属组的权限与其他用户的权限<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;第11个数字表示此文件的硬链接数<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;第12个单词表示文件拥有者是谁？<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;第13个单词表示文件所属组是谁？<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;接下来的数字是文件的大小（字节单位）和文件最后修改的时间<br><br>&nbsp;&nbsp;&nbsp;3.文件处理命令:<span style="COLOR: red">cd</span><span style="WHITE-SPACE: pre" class=Apple-tab-span>&nbsp;&nbsp;&nbsp;</span>英文原型：change directory<span style="WHITE-SPACE: pre" class=Apple-tab-span>&nbsp;&nbsp;&nbsp;</span>命令所在路径:shell内置命令<span style="WHITE-SPACE: pre" class=Apple-tab-span>&nbsp;&nbsp;&nbsp;</span>执行权限:所有用户<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;功能表述:切换目录&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;注:.表示当前目录,..表示上级目录,/表示根目录<br><br>&nbsp;&nbsp;&nbsp;4.文件处理命令:<span style="COLOR: red">pwd</span><span style="WHITE-SPACE: pre" class=Apple-tab-span>&nbsp;&nbsp;&nbsp;</span>英文原型：print working directory<span style="WHITE-SPACE: pre" class=Apple-tab-span>&nbsp;&nbsp;&nbsp;</span>命令所在路径:/bin/pwd<span style="WHITE-SPACE: pre" class=Apple-tab-span>&nbsp;&nbsp;&nbsp;</span>执行权限:所有用户<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;功能表述:显示当前所在的工作目录<br><br>&nbsp;&nbsp;&nbsp;5.文件处理命令:<span style="COLOR: red">mkdir</span><span style="WHITE-SPACE: pre" class=Apple-tab-span>&nbsp;&nbsp;&nbsp;</span>英文原型：make directory<span style="WHITE-SPACE: pre" class=Apple-tab-span>&nbsp;&nbsp;&nbsp;</span>命令所在路径:/bin/mkdir<span style="WHITE-SPACE: pre" class=Apple-tab-span>&nbsp;&nbsp;&nbsp;</span>执行权限:所有用户<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;功能表述:创建目录<br><br>&nbsp;&nbsp;&nbsp;6.文件处理命令:<span style="COLOR: red">touch</span><span style="WHITE-SPACE: pre" class=Apple-tab-span>&nbsp;&nbsp;&nbsp;</span>命令所在路径:/bin/touch<span style="WHITE-SPACE: pre" class=Apple-tab-span> </span>执行权限:所有用户<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;功能表述:创建文件<br><br>&nbsp;&nbsp;&nbsp;7.文件处理命令:<span style="COLOR: red">cp</span><span style="WHITE-SPACE: pre" class=Apple-tab-span>&nbsp;&nbsp;&nbsp;</span>英文原型：copy<span style="WHITE-SPACE: pre" class=Apple-tab-span>&nbsp;&nbsp;&nbsp;</span>命令所在路径:/bin/cp<span style="WHITE-SPACE: pre" class=Apple-tab-span>&nbsp;&nbsp;&nbsp;</span>执行权限:所有用户<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;功能表述:复制文件或目录<span style="WHITE-SPACE: pre" class=Apple-tab-span>&nbsp;&nbsp;&nbsp;</span>常用可选项：-R -p(-R表示复制目录,p表示复制时不改变时间)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;注：cp 源文件 目的文件<br><br>&nbsp;&nbsp;&nbsp;8.文件处理命令:<span style="COLOR: red">mv</span><span style="WHITE-SPACE: pre" class=Apple-tab-span>&nbsp;&nbsp;&nbsp;</span>英文原型：move<span style="WHITE-SPACE: pre" class=Apple-tab-span>&nbsp;&nbsp;&nbsp;</span>命令所在路径:/bin/mv<span style="WHITE-SPACE: pre" class=Apple-tab-span>&nbsp;&nbsp;&nbsp;</span>执行权限:所有用户<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;功能表述:剪切文件或改名<br><br>&nbsp;&nbsp;&nbsp;9.文件处理命令:<span style="COLOR: red">rm</span><span style="WHITE-SPACE: pre" class=Apple-tab-span>&nbsp;&nbsp;&nbsp;</span>英文原型：remove<span style="WHITE-SPACE: pre" class=Apple-tab-span>&nbsp;&nbsp;&nbsp;</span>命令所在路径:/bin/rm<span style="WHITE-SPACE: pre" class=Apple-tab-span>&nbsp;&nbsp;&nbsp;</span>执行权限:所有用户<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;功能表述:删除文件或目录<span style="WHITE-SPACE: pre" class=Apple-tab-span>&nbsp;&nbsp;&nbsp;</span>常用可选项：-r -f(r表示删除目录,f表示force即强制删除无须任何询问)<br><br>&nbsp;&nbsp;&nbsp;10.文件处理命令:<span style="COLOR: red">cat</span><span style="WHITE-SPACE: pre" class=Apple-tab-span>&nbsp;&nbsp;&nbsp;</span>英文原型：concatenate and display file<span style="WHITE-SPACE: pre" class=Apple-tab-span>&nbsp;&nbsp;&nbsp;</span>命令所在路径:/bin/cat<span style="WHITE-SPACE: pre" class=Apple-tab-span>&nbsp;&nbsp;&nbsp;</span>执行权限:所有用户<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 功能表述:显示文件内容(适合较短文件)<br><br>&nbsp;&nbsp;&nbsp;11.文件处理命令:<span style="COLOR: red">more</span><span style="WHITE-SPACE: pre" class=Apple-tab-span>&nbsp;&nbsp;&nbsp;</span>命令所在路径:/bin/more<span style="WHITE-SPACE: pre" class=Apple-tab-span>&nbsp;&nbsp;&nbsp;</span>执行权限:所有用户<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 功能表述:分页显示文件内容<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 注:进入分页显示状态后,空格表示下一页，回车表示下一行，q表示退出分页显示模式<br><br>&nbsp;&nbsp;&nbsp;12.文件处理命令:<span style="COLOR: red">head</span><span style="WHITE-SPACE: pre" class=Apple-tab-span>&nbsp;&nbsp;&nbsp;</span>命令所在路径:/bin/head<span style="WHITE-SPACE: pre" class=Apple-tab-span>&nbsp;&nbsp;&nbsp;</span>执行权限:所有用户<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 功能表述:显示文件头几行<span style="WHITE-SPACE: pre" class=Apple-tab-span>&nbsp;&nbsp;&nbsp;</span>常用可选项：-number(此处数字表示需要显示的文件头几行的数字)<br><br>&nbsp;&nbsp;&nbsp;13.文件处理命令:<span style="COLOR: red">tail</span><span style="WHITE-SPACE: pre" class=Apple-tab-span>&nbsp;&nbsp;&nbsp;</span>命令所在路径:/bin/tail<span style="WHITE-SPACE: pre" class=Apple-tab-span>&nbsp;&nbsp;&nbsp;</span>执行权限:所有用户<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 功能表述:显示文件后几行<span style="WHITE-SPACE: pre" class=Apple-tab-span>&nbsp;&nbsp;&nbsp;</span>常用可选项：-number -f(此处数字表示需要显示的文件后几行的数字,f表示动态显示)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 注:对于一些日志，实时在更新，那么通常使用-f选项来关注日志不断更新的末尾.<br><br>&nbsp;&nbsp;&nbsp;14.文件处理命令:<span style="COLOR: red">ln</span><span style="WHITE-SPACE: pre" class=Apple-tab-span>&nbsp;&nbsp;&nbsp;英文原型：link&nbsp;&nbsp;&nbsp;</span>命令所在路径:/bin/ln<span style="WHITE-SPACE: pre" class=Apple-tab-span>&nbsp;&nbsp;&nbsp;</span>执行权限:所有用户<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 功能表述:创建链接<span style="WHITE-SPACE: pre" class=Apple-tab-span>&nbsp;&nbsp;&nbsp;</span>常用可选项：-s(s表示soft即创建的链接是软链接)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 现在看下图，来演示创建软链接<br>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<img border=0 alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/22.jpg" width=506 height=114>&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;上图中首先用ln -s创建一个软链接host.soft，而这个软件链接指向了/etc/host.conf文件。其实所谓的软链接在windows里面就当于快捷方式而已。可以看见软链接的类型是l类型，而软链接的权限基本上全是满的，后面还用箭头表示了软链接指向那个文件。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;如果没有用-s则创建硬链接，应注意硬链接是windows里面没有的功能，硬链接相当于一个可以可以动态更新的副本。而且当原文件删除后，软连接就无用了，硬链接却还有用。看如下指令:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img border=0 alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/23.jpg" width=501 height=166><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;首先我试图创建一个硬链接由/study/host.hard指向/etc/host.conf,但是失败了。原因是/study和/根分区不是一个物理分区，在我装系统的时候，把根分区和/study分成了sda0和sda1两个物理分区。所以结论是硬链接只能在同一个物理分区上进行。然后我建立了一个test文件，并创建了一个硬链接指向它，可以看见权限和内容是完全一样的。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;那以上是为什么呢？链接的底层到底是怎么实现的呢？<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;由于<span style="WIDOWS: 2; TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: medium Simsun; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class=Apple-style-span><span style="TEXT-ALIGN: left; LINE-HEIGHT: 21px; FONT-FAMILY: verdana, sans-serif; FONT-SIZE: 14px" class=Apple-style-span>linux<font size=4>下的文件</font>是通过索引节点号<span style="LINE-HEIGHT: 21px; FONT-FAMILY: 宋体">（Inode）来唯一标示文件，硬链接可以认为并不是一个新文件而只是一个指针，指向原文件索引节点的指针，系统并不为它重新分配inode。每添加一个一个硬链接，原文件的链接数就加1。而软链接却是一个新的文件，所以有不同的inode，只不过它的文件内容是原文件的路径。<br><br></span></span></span>二、权限管理命令：&nbsp;<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.权限管理命令:<span style="COLOR: red">chmod</span><span style="WHITE-SPACE: pre" class=Apple-tab-span>&nbsp;&nbsp;&nbsp;</span>英文原型：change the permission mode<span style="WHITE-SPACE: pre" class=Apple-tab-span>&nbsp;&nbsp;&nbsp;</span>命令所在路径:/bin/chmod<span style="WHITE-SPACE: pre" class=Apple-tab-span>&nbsp;&nbsp;&nbsp;</span>执行权限:所有用户<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 功能表述:更改文件或目录权限<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 注：chmod有两种格式，第一种是字母格式，chmod u/g/o +/-/= r/w/x&nbsp;文件名/目录名(u代表user即文件所有者,g代表gourp即文件所属组,o代表other即其他用户,+-=分别表示添加、删除、赋予权限的操作，rwx代表权限).第二种格式是数字格式,chmod xyz(xyz分别是三个0-7的数字，每个0-7的数字其实是3个二进制的换算，3个二进制分别表示rwx,也就是说r是4、w是2、x是1。而x代表文件所有者得权限数字,y代表所属组权限数字，z是其他用户的权限数字.比如某文件的权限是rwxr-xr-x 换成数字形式就是 755).接下来看下面一个实验:<br>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<img border=0 alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/25.jpg" width=396 height=128><br>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<img border=0 alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/26.jpg" width=337 height=53><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;上面代码中创建了一个目录，后又在目录创建了一个文件并给予满权限，但当我用一个普通用户去删除这个文件时候却为什么说权限不够呢？可是权限上说other的权限是rwx丫。原因其实在于我们对rwx的理解，其实rwx对于文件和目录是不同的。总结如下：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img border=0 alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/24.jpg" width=543 height=305><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;文件的r(cat、more、head、tail)、w(echo、vi)、x(命令、脚本)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;目录的r(ls)、w(touch、rm、mkdir)、x(cd)<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.权限管理命令:<span style="COLOR: red">chown</span><span style="WHITE-SPACE: pre" class=Apple-tab-span>&nbsp;&nbsp;&nbsp;英文原型:change file ownership&nbsp;&nbsp;&nbsp;</span>命令所在路径:/bin/chown<span style="WHITE-SPACE: pre" class=Apple-tab-span>&nbsp;&nbsp;&nbsp;</span>执行权限:所有用户<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 功能表述:改变文件或目录所有者<span style="WHITE-SPACE: pre" class=Apple-tab-span>&nbsp;&nbsp;&nbsp;<br></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;注:chown 用户 文件<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3.权限管理命令:<span style="COLOR: red">chgrp</span><span style="WHITE-SPACE: pre" class=Apple-tab-span>&nbsp;&nbsp;&nbsp;英文原型:change file&nbsp;group&nbsp;&nbsp;&nbsp;</span>命令所在路径:/bin/chgrp<span style="WHITE-SPACE: pre" class=Apple-tab-span>&nbsp;&nbsp;&nbsp;</span>执行权限:所有用户<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 功能表述:改变文件或目录所属组<span style="WHITE-SPACE: pre" class=Apple-tab-span>&nbsp;&nbsp;&nbsp;<br></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;注:chgrp 所属组 文件<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4.权限管理命令:<span style="COLOR: red">umask&nbsp;&nbsp;&nbsp;</span>命令所在路径:/bin/umask<span style="WHITE-SPACE: pre" class=Apple-tab-span>&nbsp;&nbsp;&nbsp;</span>执行权限:所有用户<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 功能表述:显示和设置文件的缺省权限<span style="WHITE-SPACE: pre" class=Apple-tab-span>&nbsp;&nbsp;&nbsp;常用可选项：-S(S表示以rwx的方式显示缺省权限)<br></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;注:umask有两种使用方式，演示如下:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img border=0 alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/27.jpg" width=278 height=85><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;第一种是rws的方式显示出缺省权限,而第二种方式是显示的0002,这是什么意思呢？第一个数字0是表示一种特殊权限位,而后面的三个数字就是分别表示ugo的缺省权限,可是为什么不是775呢？显然775+002=777,所以我们可以看出002其实是缺省缺陷的掩码。哇哈哈~</span></span></span> <br><br><font size=4>三、文件搜索命令：&nbsp;</font><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font size=4>1.文件搜索命令:<span style="COLOR: red">which&nbsp;&nbsp;&nbsp;</span>命令所在路径:/user/bin/which<span style="WHITE-SPACE: pre" class=Apple-tab-span>&nbsp;&nbsp;&nbsp;</span>执行权限:所有用户<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;功能表述:显示系统命令所在目录<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.文件搜索命令:<span style="COLOR: red">find&nbsp;&nbsp;&nbsp;</span>命令所在路径:/user/bin/which<span style="WHITE-SPACE: pre" class=Apple-tab-span>&nbsp;&nbsp;&nbsp;</span>执行权限:所有用户<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;功能表述:查找文件或目录<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;注：find的命令较为复杂,大致格式为find 目标目录 搜索选项 搜索条件。常用的搜索选项有4种：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(1)-name 以文件或目录的名称来搜索，常用*，？等通配符连用<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(2)-size 以文件或者目录大小来搜索,用+(大于)、-(小于)某一个数字来搜索。单位是512字节(block),100M=204800<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(3)-user 以文件的拥有者来搜索<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(4)以时间的搜索方式,常用-ctime、-atime、-mtime、-cmin、-amin、-mmin,其中time表示天,min表示分钟,c表示change指代文件或目录的属性被修改过,a表示access指代文件或目录被访问过,m表示modify指代文件或目录的内容被修改过。另外用-表示在某段时间之内,+表示某段时间之外。举例如下:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img border=0 alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/31.jpg" width=445 height=297><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;以上程序段在列举了上面4种方式外，还加入了两种连接符。第一种是逻辑连接符,-a表示and即逻辑与,-o表示or即逻辑或.第二种是执行连接符,当你用find查询到一个元素集合时，你可以通过-exec来对集合中的元素进行操作,要特别注意格式:-exec 操作命令 {}\另外可以用ok来代替exec,两者之间功能相似,不同的在于exec是直接执行,而ok会先询问再执行。<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3.文件搜索命令:<span style="COLOR: red">locate&nbsp;&nbsp;&nbsp;</span>命令所在路径:/user/bin/locate<span style="WHITE-SPACE: pre" class=Apple-tab-span>&nbsp;&nbsp;&nbsp;</span>执行权限:所有用户<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;功能表述:寻找文件或者目录<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;注：此命令功能类似于find，但查找方式不同。find是在硬盘中查找，而locate是在文件目录的数据库查找，速度与效率比find快很多。但有一个缺点就是，如果你需要查找的文件在目录数据库中没有记录的话就查找不到，所以常配合更新目录数据库的updatedb使用。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img border=0 alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/32.jpg" width=337 height=141><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;从上面程序段可以看出，我新创建的test.file文件刚开始用locate查找不到，而用find却可以查到。但当我更新过目录文件数据库后，再用locate就可以查询到了。<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4.</font> <font size=4>文件搜索命令:<span style="COLOR: red">grep&nbsp;&nbsp;&nbsp;</span>命令所在路径:/bin/locate<span style="WHITE-SPACE: pre" class=Apple-tab-span>&nbsp;&nbsp;&nbsp;</span>执行权限:所有用户<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;功能表述:在指定文件中搜索指定的字符串行并输出<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;注:举例如下，在services文件中查找含tftp字符串的行，并输出<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img border=0 alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/33.jpg" width=627 height=191><br><br>四、帮助命令：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1.帮助命令:<span style="COLOR: red">man&nbsp;&nbsp;&nbsp;</span>英文原型：manual&nbsp;&nbsp;&nbsp;命令所在路径:/usr/bin/man<span style="WHITE-SPACE: pre" class=Apple-tab-span>&nbsp;&nbsp;&nbsp;</span>执行权限:所有用户<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;功能表述:获取帮组信息<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;注:man后面可以接命令，同时也可以接配置文件。如果命令和配置文件同名，默认是命令帮组(man 1 commad),你可以man 5 配置file<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.帮助命令:<span style="COLOR: red">whatis&nbsp;&nbsp;&nbsp;</span>执行权限:所有用户<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;功能表述:获取简短帮助信息<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;注：whatis也是从某帮助信息的数据库中查询帮助，所以常用makewhatis来更新相关数据库。<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3.帮助命令:<span style="COLOR: red">help&nbsp;&nbsp;&nbsp;</span>执行权限:所有用户<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;功能表述:查看shell内置命令的帮助，man是误差查询shell内置命令的帮助的。当你用man查询的时候如果查不到你所需要的东西。也许用help你会有意外的收获，哇呵呵。</font> <br><br>五、<font size=4>压缩命令</font>：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1.<font size=4>压缩命令:<span style="COLOR: red">gzip&nbsp;&nbsp;&nbsp;</span>命令所在路径:/bin/gzip<span style="WHITE-SPACE: pre" class=Apple-tab-span>&nbsp;&nbsp;&nbsp;</span>执行权限:所有用户<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 功能表述:压缩文件（只能是文件，不能是目录）<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;注:gzip压缩文件会丢失原文件。gzip -d 文件，是解压缩<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.压缩命令:<span style="COLOR: red">gunzip&nbsp;&nbsp;&nbsp;</span>命令所在路径:/bin/gunzip<span style="WHITE-SPACE: pre" class=Apple-tab-span>&nbsp;&nbsp;&nbsp;</span>执行权限:所有用户<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 功能表述:解压gizp文件<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3.压缩命令:<span style="COLOR: red">tar&nbsp;&nbsp;&nbsp;</span>命令所在路径:/bin/tar<span style="WHITE-SPACE: pre" class=Apple-tab-span>&nbsp;&nbsp;&nbsp;</span>执行权限:所有用户<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 功能表述:把文件或目录打包成一个二进制文件&nbsp;&nbsp;&nbsp;常用可选项：-cxvfz（c代表create即创建,x代表execute即解包,v代表view即查看打包或解包过程,f与c连用表示打包后的文件名称,f与x连用表示解包的目标名称,z与c连用表示打包后压缩，z与x连用表示解包后解压）<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;注：f必须放在可选项的最后，源文件在前，目标文件在后。下面演示该命令:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <img border=0 alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/34.jpg" width=337 height=213><br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4.压缩命令:<span style="COLOR: red">zip&nbsp;&nbsp;&nbsp;</span>命令所在路径:/usr/bin/zip<span style="WHITE-SPACE: pre" class=Apple-tab-span>&nbsp;&nbsp;&nbsp;</span>执行权限:所有用户<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 功能表述:以zip的形式压缩文件或目录&nbsp;&nbsp;&nbsp;常用可选项：-r（r表示压缩目录）<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 注：zip格式是与window之间无需转换而可通用的压缩格式，用来压缩一些不大且共享与双系统间的文件很好。<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5.压缩命令:<span style="COLOR: red">unzip&nbsp;&nbsp;&nbsp;</span>命令所在路径:/usr/bin/unzip<span style="WHITE-SPACE: pre" class=Apple-tab-span>&nbsp;&nbsp;&nbsp;</span>执行权限:所有用户<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 功能表述:以zip的形式解压文件或目录<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;6.压缩命令:<span style="COLOR: red">bzip2&nbsp;&nbsp;&nbsp;</span>命令所在路径:/usr/bin/bzip2<span style="WHITE-SPACE: pre" class=Apple-tab-span>&nbsp;&nbsp;&nbsp;</span>执行权限:所有用户<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 功能表述:以bzip2的形式压缩文件（是gzip的升级版）&nbsp;&nbsp;&nbsp;常用可选项：-k（压缩后保留原文件）<br><br>六、网络通信命令：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1.网络通信命令:<span style="COLOR: red">write&nbsp;&nbsp;&nbsp;</span>命令所在路径:/usr/bin/write<span style="WHITE-SPACE: pre" class=Apple-tab-span>&nbsp;&nbsp;&nbsp;</span>执行权限:所有用户<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;功能表述:向另外一个用户实时发送消息，并以CTRL+d结束<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;注:格式是write 用户<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.网络通信命令:<span style="COLOR: red">wall&nbsp;&nbsp;&nbsp;</span>命令所在路径:/usr/bin/wall<span style="WHITE-SPACE: pre" class=Apple-tab-span>&nbsp;&nbsp;&nbsp;</span>执行权限:所有用户<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;功能表述:向所有用户广播消息<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3.网络通信命令:<span style="COLOR: red">ping&nbsp;&nbsp;&nbsp;</span>命令所在路径:/usr/sbin/ping<span style="WHITE-SPACE: pre" class=Apple-tab-span>&nbsp;&nbsp;&nbsp;</span>执行权限:所有用户<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;功能表述:发送icmp报文&nbsp;&nbsp;&nbsp;常用可选项：-cs（c代表count即控制报文数目，s代表报文大小）<br><br>七、系统命令：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1.系统命令:<span style="COLOR: red">shutdown&nbsp;&nbsp;&nbsp;</span>命令所在路径:/usr/sbin/shutdown<span style="WHITE-SPACE: pre" class=Apple-tab-span>&nbsp;&nbsp;&nbsp;</span>执行权限:所有用户<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;功能表述:关机&nbsp;&nbsp;&nbsp;常用可选项：-h（h代表hour即多少小时以后关机）<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.系统命令:<span style="COLOR: red">reboot&nbsp;&nbsp;&nbsp;</span>命令所在路径:/usr/sbin/reboot<span style="WHITE-SPACE: pre" class=Apple-tab-span>&nbsp;&nbsp;&nbsp;</span>执行权限:所有用户<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 功能表述:重启</font> <br><br><font size=4>八、Shell命令：<br></font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;shell是一整命令行解释程序，一个linux操作系统可以有多个shell，我们可以查看：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img border=0 alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/36.jpg" width=422 height=127><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;操作系统默认的一般是bash,我也是用bash。在shell中，你可用tab键自动补全。<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font size=4> 1.Shell命令:<span style="COLOR: red">alias<br></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;功能表述:别名机制,alias 别名="命令 -选项"（若没有选项可不用引号）<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;注：unalias 别名，可以解除别名<br></font><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2.<font size=4>Shell命令:<span style="COLOR: red">alias<br></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;功能表述:别名机制,alias 别名="命令 -选项"（若没有选项可不用引号）<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;注：unalias 别名，可以解除别名<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3.Shell命令:<span style="COLOR: red">&gt;&nbsp;&nbsp;&nbsp; &gt;&gt;&nbsp;&nbsp;&nbsp; &lt;&nbsp;&nbsp;&nbsp;&nbsp;2&gt;<br></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;功能表述:输出、附加输出、输入、错误输出<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;注:进程的文件描述字是 输出为0，输入为1，错误输出为2<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img border=0 alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/37.jpg" width=703 height=359><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4.Shell命令: <font color=#ff0000>| （管道）</font><span style="COLOR: red"><br></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;功能表述:把前一个命令的输出结果作为下一个命令的输入参数。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img border=0 alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/35.jpg" width=486 height=185><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 第一个把ls命令的查询结果用more命令来读取，后面类似。<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5.Shell命令:&nbsp;<font color=#ff0000>;&nbsp;&nbsp;&nbsp;&amp;&amp;&nbsp;&nbsp;&nbsp;||&nbsp;&nbsp;&nbsp;(命令连接符</font></font><font size=4><font color=#ff0000>)<br></font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;功能表述:如下<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img border=0 alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/38.jpg" width=758 height=404></p>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;6.Shell命令:&nbsp;<font color=#ff0000>``(命令替换符号)<br></font><font size=4>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;功能表述:如下<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img border=0 alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/39.jpg" width=646 height=262><br></font></font>
<img src ="http://www.cppblog.com/mysileng/aggbug/145597.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/mysileng/" target="_blank">鑫龙</a> 2011-05-03 19:42 <a href="http://www.cppblog.com/mysileng/archive/2011/05/03/145597.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>linux笔记-----1------(linux配置安装)</title><link>http://www.cppblog.com/mysileng/archive/2011/05/03/145596.html</link><dc:creator>鑫龙</dc:creator><author>鑫龙</author><pubDate>Tue, 03 May 2011 11:38:00 GMT</pubDate><guid>http://www.cppblog.com/mysileng/archive/2011/05/03/145596.html</guid><wfw:comment>http://www.cppblog.com/mysileng/comments/145596.html</wfw:comment><comments>http://www.cppblog.com/mysileng/archive/2011/05/03/145596.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/mysileng/comments/commentRss/145596.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/mysileng/services/trackbacks/145596.html</trackback:ping><description><![CDATA[<p style="FONT-FAMILY: 新宋体">&nbsp;&nbsp;&nbsp;今天从头开始学习linux,表示我本来就不会，呵呵。我的所有笔记都是从lamp兄弟连的视频里整理出来的(不做广告，但那视频确实还可以)，记录下来给自己以后用。首先从linux的安装开始讲解，哇哈哈哈！~~~~~下面按步骤开始:<br><br>&nbsp;&nbsp;<span style="COLOR: red">&nbsp;1.</span>进行前期准备工作，我们需要下载两个东西。ps:我装linux是基于虚拟机，那样比较适合菜鸟。第一个要下载的东西就是虚拟机vmware,你可以到<a href="http://www.vmware.com/">http://www.vmware.com/</a>的官方网站去下载最新的版本，这次我下载的是VMware-workstation-7.1.3版(貌似用workstation比较好，比较强大).第二个要下载的东西就是操作系统了,我选用的是centos,一个红帽系列的linux，你可以到<a href="http://www.centos.org/">http://www.centos.org/</a>去下载，这次我下载的是CentOS-5.5-i386-bin-DVD版本(注意别下成源码了，要下的是镜像文件).<br><br>&nbsp;&nbsp;<span style="COLOR: red">&nbsp;2.</span>准备好以后开始安装vmware了,双击安装程序<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img border=0 alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/1.jpg" width=451 height=351><br>&nbsp;&nbsp;&nbsp;&nbsp; 出现上图，然后一直下一步，记得选典型安装，方便一点。<br><br>&nbsp;&nbsp;<span style="COLOR: red">&nbsp;3.</span>安装好wmware后，开始在wmware里面配置安装centos.先进入wmmare，出现下图界面:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img border=0 alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/2.jpg" width=730 height=479><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;点击中间那个new virtual machine,开始创建一个新的虚拟机，选择典型以后，会出现下图:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img border=0 alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/3.jpg" width=388 height=406><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;这里是要你选择这个虚拟机操作系统的安装程序在哪里，默认是选择的光驱。但我们已经下了镜像文件，所以点击第二个installer disc image file,然后从browse里面选择我们刚才下载的centos镜像文件即可。继续下一步:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img border=0 alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/4.jpg" width=389 height=404><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;第一个fullname是你这个操作系统在虚拟机叫什么名字，下面那个貌似一个用户的注册，暂时不知道神马用。。请大家告诉我。继续点击下一步，出现一个20G的东西，这个事给虚拟机的这个操作系统分配硬盘，不要看20G这么大，这只是一个上限，一般操作系统用不了20G的，哇呵呵。点击下一步：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img border=0 alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/5.jpg" width=386 height=402><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;这里列出来的是操作系统硬件的一些配置（不是真正的硬件，你虚拟机虚拟出来的配置），点击customize hardware可以修改里面的参数，一般无视就好，哇呵呵~~再点击finish，wmware就算配置好了，到此搞一段落，接下来是虚拟机就会重启开始进入centos的安装界面，如果你没有重启的话，你就手动点一下power on的按钮来开机。<br><br>&nbsp;&nbsp;&nbsp;<span style="COLOR: red">4.</span>接下来就是安装centos了，重启以后会进入如下界面:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img border=0 alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/6.jpg" width=584 height=548></p>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 上面已经写的很清楚了，如果你要用图形界面的方式安装的的话，请按回车键，这时候我们应该毫不犹豫的按一下回车键，淡然你如果犹豫一下也没关系，哇哈哈~~~进入安装以后，首先要你选择安装过程中的语言，果断选中文不。。。然后会选择键盘，应该是选美国英语式，然后下一步（这个时候可能会弹出一个窗口，说要格式化分区才能装，你点是就是了。放心，他只会把虚拟机分配给操作系统的那部分硬盘格式化，不会影响你现在的系统）。然后继续下一步：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <img border=0 alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/7.jpg" width=724 height=607><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;这里的话要稍微慢点，这里是选择分区，我反正是选了自定义分区结构，其他的选了有什么后果我表示不知道！。。。这里出现了一个sda的字样，稍微解释一下，sd表示sata类型的硬盘,sda又表示检测到的第一块sd型的硬盘所以就叫sda,如果你有多块的话，就会叫sdb\sdc等。。然后下一步：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img border=0 alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/8.jpg" width=722 height=609><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 这里就是给刚才的20G硬盘分配空间了。这里需要说一下，linux的文件系统和windows的文件系统是完全不同的，linux没有所谓的盘符的概念（即没有C盘、d盘），换之是完全的一个倒树结构，就是一个根目录，然后所有的文件链接在上面，但是并不是想象的这么简单。以后的笔记中，我会慢慢的帮大家深入浅出linux的文件管理，这里就不说了。首先我点新建的按钮，出现下图:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; <img border=0 alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/9.jpg" width=458 height=402><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;挂载点我们就暂时理解为目录吧，整个分配空间的过程中，我们必须分配两个类型的空间。第一个就是根目录，也就是上图中表示的/(左斜杠),空间类型选ext3就可以了，大小稍微要大一点，因为操作系统的所有文件是会默认放在根目录下面的，如果不够大就game over了。然后第二个必须分配的空间是swap空间,你新建一个目录，挂载点不用选直接在文件系统类型哪里选择swap就可以了，大小的话，官方建议是内存的两倍。话说学过操作系统的孩子们都知道，swap目录就是虚拟内存机制在硬盘上开创的假内存而已，哇呵呵呵~~~分这两个必须分配的空间以后，如果还有剩下的，你可以任意分配了。。。分完就点下一步，然后是说用grub引导程序来引导操作系统，不用管默认即可，下一步：<br>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;<img border=0 alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/10.jpg" width=721 height=604><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;这里非常重要，这里是配置上网的相关信息，因为每个人的情况有所不同，我家的话，是通过单位的局域网接入网络的，然后我家又买了一个无线路由器，所以我家又是一个小局域网，so我选择dhcp的自动配置。如果大家用的是固定IP的话，就自己改一下吧。。下一步，要设置一个密码，这个密码是操作系统的root用户的密码，话说这个root在你这个操作系统里面可是最大的噢，还是设计一个比较高级的密码吧，不然被别人破了。就准备哭把~~~下一步：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <img border=0 alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/11.jpg" width=724 height=606><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;这里是来选择安装一些linux自带的软件，其中上面的框框里面前两个是图形化界面，哈哈一次可以安装2个图像化界面，相当犀利吧，windows可是做不到噢。大家按照自己的意愿选吧，没什么必须的。。下一步。。。貌似没有下一步了。。就又重启真的开始装了。这里注意下，重启以后最好先把操作系统关机，把刚刚之前设置的镜像文件路径改掉，不然重启就又会进入镜像文件中去，而不是进入操作系统。<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5.重启进入操作系统之后，首先要配置一些操作系统的东西，比如时间。防火墙之类的。就不说了，然后输入root和你刚刚设置的密码进入下图:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <img border=0 alt="" src="http://www.cppblog.com/images/cppblog_com/mysileng/12.jpg" width=724 height=588><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 能够到达这里，说明你的linux已经完全装好了。。。。哇哈哈~恭喜恭喜，红包拿来~~~~ 
<img src ="http://www.cppblog.com/mysileng/aggbug/145596.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/mysileng/" target="_blank">鑫龙</a> 2011-05-03 19:38 <a href="http://www.cppblog.com/mysileng/archive/2011/05/03/145596.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>