<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>生命在于折腾</title>
	<atom:link href="http://www.xa01.cc/feed" rel="self" type="application/rss+xml" />
	<link>http://www.xa01.cc</link>
	<description>折腾不息...</description>
	<lastBuildDate>Fri, 27 Apr 2012 02:28:52 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>转：每位IT人士都必须掌握的十大业务技能</title>
		<link>http://www.xa01.cc/159.html</link>
		<comments>http://www.xa01.cc/159.html#comments</comments>
		<pubDate>Fri, 27 Apr 2012 02:28:24 +0000</pubDate>
		<dc:creator>afoolfox</dc:creator>
				<category><![CDATA[感悟]]></category>
		<category><![CDATA[所有分类]]></category>

		<guid isPermaLink="false">http://www.xa01.cc/?p=159</guid>
		<description><![CDATA[<strong>每位IT人士都必须掌握的十大业务技能</strong>

这样的陈词滥调大家想必都不陌生：IT专家要想获得事业成功，必须“掌握业务技能”。不过这种话了等于没说，到底需要有针对性地掌握哪些业务技能才能提升自我？

显然，对于IT人士而言并不是每一种业务技能都那么重要；换句话说，如果我们真能精通每一门业务，那不如直接去当商务人士好了，还搞什么IT呢。正所谓“吾生也有涯，而知也无涯”，有限的精力不可能应付得了无限的学习内容。因此想把财会、方案、销售、招聘以及采购等种种工作都学个八九不离十完全就是在痴人说梦。

忘记这些例子吧，这里我们将共同分享十种能够切实帮助我们“大大”改善IT职业发展道路的业务技能。

<strong>IT业务技能第一位: 学会倾听</strong>

如果我们只有一次机会来获得或者提升某项技能，那么倾听无疑是最佳选择。与其它单独类型的技能相比，倾听的能力不仅仅是指我们能听到他人的声音，更重要的是强调拥有理解他人真实意图的能力——这与表述者的解释方式或者双方观点是否抵触并无关系——相信我，对这种能力而言，多么重视都不为过。

好的倾听者拥有超过常人的优势：他们能够不断从周围的每个人身上学习知识，这使得他们在无形之中以沉默击败了那些生怕同事不知道自己能耐的炫耀者们。

<strong>IT业务技能第二位：学会协作</strong>

即使当下敏捷性成为已经众人瞩目的焦点，协作能力——也就是与其他同仁合作以达成自己根本无法实现的目标——仍然在重要性上更胜一筹。敏捷性的作用只是让开发人员与业务用户之间的协作变得更为顺畅，这一中心要旨绝对不容误读。

协作能力能帮我们看清那些与自己站在同一阵营的朋友如何工作。与他们分享问题并合理交流不仅能够找到解决方案，更能在机遇面前达成双赢乃至多赢的最佳结果。至于如何判断对方是否与自己站在一边，则又是另一回事。

<strong>IT业务技能第三位：学会谈判</strong>

协作能够帮助我们学会如何与他人一同工作，谈判能力的作用则是将与我方立场不同的家伙争取到自己阵营中来。常言道没有永恒的朋友，只有永恒的利益。只要找到双方都能接受的平衡点，即使看法略有分歧也并不妨碍彼此之间结成伙伴关系。

不了解如何以建设性方式进行谈判的人，往往会发现自己在发展的过程中面临无路可走的窘境。而且这种人本身对于团队而言就是种潜在问题——最可怕的是他们自己可能还没意识到。

<strong>IT业务技能第四位：基本企业财务</strong>

IT专家们往往对什么资产负债表啊、现金流量表或者大多数财务比率之类的东西没啥概念。没关系，这些艰深的内容不学也罢。不过最基本利润及亏损报表还是应该学着看一下的，拥有解读这类图表的能力可以帮助我们理解企业的盈亏表现并把握所在部门驾驭财政预算的具体情况。

IT专家们同样应该熟练掌握ROI（即投资回报率）——也就是理解为什么今天的一美元在价值上小于昨天的一美元、贬值机制如何生效以及固定资产与运营收入之间的差别。总结起来，能够看懂ROI，我们才可以真正了解自己手头的工作到底有没有继续下去的意义。

<strong>IT业务技术第五位：理解企业的经营模式</strong>

“经营模式”其实是“业务如何运作”的流行说法。这一概念的意义，在于帮助我们了解企业如何根据用户需求开展业务，实现预期售价并最终获得相应利润的过程。

IT专家之所以应该尝试理解经营模式，是因为这能加深我们对企业运行机制的认识，进而以自己的方式提高工作效率——这对于正在部署IT项目的技术人员来说尤为重要。一旦缺乏这种理解能力，IT人士将被局限在非常表面化的意识层面上；他们无法参与深层次的业务话题，也根本想不出任何能够帮助企业取得进一步成功的建设性意见。

<strong>IT业务技能第六位：理解企业的运行模式</strong>

经营模式反应的是企业如何在市场中竞争求存，而运行模式则阐述了企业如何完成自己的实际业务——例如如何将零散的原材料及半成品通过标准流程转化为产品。

与经营模式一样，对运行模式的深入理解同样能给我们带来诸多益处：掌握了现有资源及生产流程，大家可以很轻松地分清理想与实际提升之间的差距，并做出有针对性的调整。

<strong>IT业务技能第七位：合理使用代词，拉近彼此距离</strong>

当与他人对话时，注意把握以下细节：（1）在为对方举反面例子时，一定要用“我”来进行假设。（2）在举正面例子或进行赞扬性表达时，一定要以“你”为主语，例如“说起合理使用代词，你比我要强得多。”（3）尽量多用“我们”这样的表达方式来拉近彼此距离。例如“虽然任务艰巨，但我们还是顺利搞定了。”（4）只要谈起错误的意见、态度、观点及工作方式，一定冠以“他们”的名头。先将交谈对象设定为失误之外的第三者，才能保证对话高效有序地进行下去。

这四条规则可以说是交流艺术方面的重中之重，能够最大程度提高对方对我们意见的接受程度，同时减少沟通过程中的阻力。千万不要像那些毫无优雅习惯可言的粗人一样出口伤人，那样只会使自己愈发孤立。

<strong>IT业务技能第八位：了解企业权利归属</strong>

尽管职业生涯整体由我们自己说了算，但具体到企业中的职位肯定是得听领导的。他们点了头，我们才有晋升和发展的机会。

因此，我们必须得弄清楚企业里的实权派是哪些人——谁说话最有份量，哪些同事站在他们一边，又有哪些是他们最亲近的心腹。掌握了这些信息，我们才能正确选择自己的立场和人际交往圈。更重要的是，我们从中能够获得许多关键性信息，进而规避可能出现的职业前景危机。

<strong>IT业务技能第九位：与管理层交流</strong>

也许有人会说，“跟领导交流这种说法已经是老生常谈了。”没错，这种论调并不新鲜，但却绝对称得上真知灼见。要拥有理想的职业发展道路，我们也必须重视这项基本技能。

如果缺乏与管理人员交流的途径及手段，我们很可能被迫负责那些辛苦非常又注定不会有好结果的蠢事。但拥有这项能力，我们就能坚持自己的立场，通过合适的方式说服领导者哪些主意不错、而哪些愚蠢透顶。更重要的是，长此以往领导者将开始重视我们的意见，拥有左右决策的能力无疑是种极大的竞争优势。

<strong>IT业务技能第十位：做好本职工作</strong>

无论如何，技术才是我们的老本行，将它当成业务技能之一的原因非常简单：如果我们连自己的本职工作都搞不定，就压根不用指望别人在其它方面重视我们的意见。这已经与意见本身是否中肯或者明智无关，当我们留给他人浮夸的印象之后，职业生涯基本也将走向尽头。

值得一提的是，前面所提到的九大基本业务技能也能够在我们的本职工作中发挥重要的辅助作用。既然已经对企业整体有如此深刻的感知，又能够将信息融入日常工作，我想大家实现职业理想的日子一定就在不远的未来。]]></description>
		<wfw:commentRss>http://www.xa01.cc/159.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ubuntu 10.10 安装配置LAMP</title>
		<link>http://www.xa01.cc/155.html</link>
		<comments>http://www.xa01.cc/155.html#comments</comments>
		<pubDate>Sat, 07 Apr 2012 16:45:16 +0000</pubDate>
		<dc:creator>adminjs</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.xa01.cc/?p=155</guid>
		<description><![CDATA[在ubuntu11.10下安装lamp环境是很简单的，比起源码编译简单的多。

今天，我们就在ubuntu11.10下安装Apache MySQL, PHP ，GD库和 phpmyadmin ；

<strong>第一步:</strong> 安装mysql

终端运行：

sudo apt-get install mysql-client mysql-server

安装的时候会提示设置root的密码，输入你想要的mysql密码，记住，安装的时候可能几次都需要。

<strong>第二部:</strong>安装apache2

终端运行：

sudo apt-get install apache2

&#160;

<strong>第三步:</strong>安装php5

同样，终端运行：

sudo apt-get install php5 libapache2-mod-php5

验证完文件，php5就已经安装好了，并且绑定了apahce2，运行下面的命令重启apache2.

sudo /etc/init.d/apache2 restart

运行下面的命令建立一个测试的的各项配置。

sudo gedit /var/www/info.php

这里会打开一个新文本，在文本中输入下面的内容。

&#60;?php phpinfo(); ?&#62;

&#160;

<strong>第四步:</strong> 安装mysql,gd,等一些配置，运行下面的命令。

sudo apt-get install php5-mysql php5-curl php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl php5-common

现在重启apache2

sudo /etc/init.d/apache2 restart

刷新http://localhost/info.php 就能看到gd,mysql等一些功能已经配置好了。

&#160;

到现在为止 ，lamp的环境就搭建好了，能满足基本的需求。

<strong>第五步:</strong> 安装phpmyadmin，方便的管理mysql

sudo apt-get install phpmyadmin

安装的过程会弹出窗口，这里面选择apache2，空格选中，tab移动，回车确定

&#160;

一直到最后，phpmyadmin就安装好了

在浏览器地址输入http://localhost/phpmyadmin/

就会看到phpmyadmin的管理界面。

这样就完成了在ubuntu11.10中安装lamp的配置了]]></description>
		<wfw:commentRss>http://www.xa01.cc/155.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JAVA文件操作类</title>
		<link>http://www.xa01.cc/143.html</link>
		<comments>http://www.xa01.cc/143.html#comments</comments>
		<pubDate>Thu, 15 Mar 2012 06:52:23 +0000</pubDate>
		<dc:creator>adminjs</dc:creator>
				<category><![CDATA[JAVA]]></category>

		<guid isPermaLink="false">http://www.xa01.cc/?p=143</guid>
		<description><![CDATA[<pre>/**
 * all rights reserved by ming, 2005
 */
package com.koubei.util;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.util.StringTokenizer;

public class FileOperate {

	static String message;

	public FileOperate() {
	}

	/**
	 * 读取文本文件内容
	 * 
	 * @param filePathAndName
	 *            带有完整绝对路径的文件名
	 * @param encoding
	 *            文本文件打开的编码方式
	 * @return 返回文本文件的内容
	 */
	public static String readTxt(String filePathAndName, String encoding)
			throws IOException {
		encoding = encoding.trim();
		StringBuffer str = new StringBuffer("");
		String st = "";
		try {
			FileInputStream fs = new FileInputStream(filePathAndName);
			InputStreamReader isr;
			if (encoding.equals("")) {
				isr = new InputStreamReader(fs);
			} else {
				isr = new InputStreamReader(fs, encoding);
			}
			BufferedReader br = new BufferedReader(isr);
			try {
				String data = "";
				while ((data = br.readLine()) != null) {
					str.append(data + " ");
				}
			} catch (Exception e) {
				str.append(e.toString());
			}
			st = str.toString();
		} catch (IOException es) {
			st = "";
		}
		return st;
	}

	/**
	 * 新建目录
	 * 
	 * @param folderPath
	 *            目录
	 * @return 返回目录创建后的路径
	 */
	public static String createFolder(String folderPath) {
		String txt = folderPath;
		try {
			java.io.File myFilePath = new java.io.File(txt);
			txt = folderPath;
			if (!myFilePath.exists()) {
				myFilePath.mkdirs();
			}
		} catch (Exception e) {
			e.printStackTrace();
			message = "创建目录操作出错";
		}
		return txt;
	}

	/**
	 * 多级目录创建
	 * 
	 * @param folderPath
	 *            准备要在本级目录下创建新目录的目录路径 例如 c:myf
	 * @param paths
	 *            无限级目录参数，各级目录以单数线区分 例如 a&#124;b&#124;c
	 * @return 返回创建文件后的路径 例如 c:myfac
	 */
	public static String createFolders(String folderPath, String paths) {
		String txts = folderPath;
		try {
			String txt;
			txts = folderPath;
			StringTokenizer st = new StringTokenizer(paths, "&#124;");
			for (int i = 0; st.hasMoreTokens(); i++) {
				txt = st.nextToken().trim();
				if (txts.lastIndexOf("/") != -1) {
					txts = createFolder(txts + txt);
				} else {
					txts = createFolder(txts + txt + "/");
				}
			}
		} catch (Exception e) {
			message = "创建目录操作出错！";
		}
		return txts;
	}

	/**
	 * 新建文件
	 * 
	 * @param filePathAndName
	 *            文本文件完整绝对路径及文件名
	 * @param fileContent
	 *            文本文件内容
	 * @return
	 */
	public static void createFile(String filePathAndName, String fileContent) {

		try {
			String filePath = filePathAndName;
			filePath = filePath.toString();
			File myFilePath = new File(filePath);
			if (!myFilePath.exists()) {
				myFilePath.createNewFile();
			}
			FileWriter resultFile = new FileWriter(myFilePath);
			PrintWriter myFile = new PrintWriter(resultFile);
			String strContent = fileContent;
			myFile.println(strContent);
			myFile.close();
			resultFile.close();
		} catch (Exception e) {
			message = "创建文件操作出错";
		}
	}

	/**
	 * 有编码方式的文件创建
	 * 
	 * @param filePathAndName
	 *            文本文件完整绝对路径及文件名
	 * @param fileContent
	 *            文本文件内容
	 * @param encoding
	 *            编码方式 例如 GBK 或者 UTF-8
	 * @return
	 */
	public static void createFile(String filePathAndName, String fileContent,
			String encoding) {

		try {
			String filePath = filePathAndName;
			filePath = filePath.toString();
			File myFilePath = new File(filePath);
			if (!myFilePath.exists()) {
				myFilePath.createNewFile();
			}
			PrintWriter myFile = new PrintWriter(myFilePath, encoding);
			String strContent = fileContent;
			myFile.println(strContent);
			myFile.close();
		} catch (Exception e) {
			message = "创建文件操作出错";
		}
	}

	/**
	 * 删除文件
	 * 
	 * @param filePathAndName
	 *            文本文件完整绝对路径及文件名
	 * @return Boolean 成功删除返回true遭遇异常返回false
	 */
	public static boolean delFile(String filePathAndName) {
		boolean bea = false;
		try {
			String filePath = filePathAndName;
			File myDelFile = new File(filePath);
			if (myDelFile.exists()) {
				myDelFile.delete();
				bea = true;
			} else {
				bea = false;
				message = (filePathAndName + "删除文件操作出错");
			}
		} catch (Exception e) {
			message = e.toString();
		}
		return bea;
	}

	/**
	 * 删除文件夹
	 * 
	 * @param folderPath
	 *            文件夹完整绝对路径
	 * @return
	 */
	public static void delFolder(String folderPath) {
		try {
			delAllFile(folderPath); // 删除完里面所有内容
			String filePath = folderPath;
			filePath = filePath.toString();
			java.io.File myFilePath = new java.io.File(filePath);
			myFilePath.delete(); // 删除空文件夹
		} catch (Exception e) {
			message = ("删除文件夹操作出错");
		}
	}

	/**
	 * 删除指定文件夹下所有文件
	 * 
	 * @param path
	 *            文件夹完整绝对路径
	 * @return
	 * @return
	 */
	public static boolean delAllFile(String path) {
		boolean bea = false;
		File file = new File(path);
		if (!file.exists()) {
			return bea;
		}
		if (!file.isDirectory()) {
			return bea;
		}
		String[] tempList = file.list();
		File temp = null;
		for (int i = 0; i &#60; tempList.length; i++) {
			if (path.endsWith(File.separator)) {
				temp = new File(path + tempList[i]);
			} else {
				temp = new File(path + File.separator + tempList[i]);
			}
			if (temp.isFile()) {
				temp.delete();
			}
			if (temp.isDirectory()) {
				delAllFile(path + "/" + tempList[i]);// 先删除文件夹里面的文件
				delFolder(path + "/" + tempList[i]);// 再删除空文件夹
				bea = true;
			}
		}
		return bea;
	}

	/**
	 * 复制单个文件
	 * 
	 * @param oldPathFile
	 *            准备复制的文件源
	 * @param newPathFile
	 *            拷贝到新绝对路径带文件名
	 * @return
	 */
	public static void copyFile(String oldPathFile, String newPathFile) {
		try {
			int bytesum = 0;
			int byteread = 0;
			File oldfile = new File(oldPathFile);
			if (oldfile.exists()) { // 文件存在时
				InputStream inStream = new FileInputStream(oldPathFile); // 读入原文件
				FileOutputStream fs = new FileOutputStream(newPathFile);
				byte[] buffer = new byte[1444];
				while ((byteread = inStream.read(buffer)) != -1) {
					bytesum += byteread; // 字节数 文件大小
					fs.write(buffer, 0, byteread);
				}
				inStream.close();
			}
		} catch (Exception e) {
			e.printStackTrace();
			message = ("复制单个文件操作出错");
		}
	}
	/******
	 * 
	 * @param oldPathFile
	 * @param newPathFile
	 * @param filename
	 */
	public static void copyFile(String oldPathFile, String newPathFile,String filename) {
		try {
			int bytesum = 0;
			int byteread = 0;
			File oldfile = new File(oldPathFile);
			newPathFile+=filename;
			if (oldfile.exists()) { // 文件存在时
				InputStream inStream = new FileInputStream(oldPathFile); // 读入原文件
				FileOutputStream fs = new FileOutputStream(newPathFile);
				byte[] buffer = new byte[1444];
				while ((byteread = inStream.read(buffer)) != -1) {
					bytesum += byteread; // 字节数 文件大小
					fs.write(buffer, 0, byteread);
				}
				inStream.close();
			}
		} catch (Exception e) {
			e.printStackTrace();
			message = ("复制单个文件操作出错");
		}
	}
	/**
	 * 复制整个文件夹的内容
	 * 
	 * @param oldPath
	 *            准备拷贝的目录
	 * @param newPath
	 *            指定绝对路径的新目录
	 * @return
	 */
	public static void copyFolder(String oldPath, String newPath) {
		try {
			new File(newPath).mkdirs(); // 如果文件夹不存在 则建立新文件夹
			File a = new File(oldPath);
			String[] file = a.list();
			File temp = null;
			for (int i = 0; i &#60; file.length; i++) {
				if (oldPath.endsWith(File.separator)) {
					temp = new File(oldPath + file[i]);
				} else {
					temp = new File(oldPath + File.separator + file[i]);
				}
				if (temp.isFile()) {
					FileInputStream input = new FileInputStream(temp);
					FileOutputStream output = new FileOutputStream(newPath
							+ "/" + (temp.getName()).toString());
					byte[] b = new byte[1024 * 5];
					int len;
					while ((len = input.read(b)) != -1) {
						output.write(b, 0, len);
					}
					output.flush();
					output.close();
					input.close();
				}
				if (temp.isDirectory()) {// 如果是子文件夹
					copyFolder(oldPath + "/" + file[i], newPath + "/" + file[i]);
				}
			}
		} catch (Exception e) {
			e.printStackTrace();
			message = "复制整个文件夹内容操作出错";
		}
	}

	/**
	 * 移动文件
	 * 
	 * @param oldPath
	 * @param newPath
	 * @return
	 */
	public static void moveFile(String oldPath, String newPath) {
		copyFile(oldPath, newPath);
		delFile(oldPath);
	}

	/**
	 * 移动目录
	 * 
	 * @param oldPath
	 * @param newPath
	 * @return
	 */
	public static void moveFolder(String oldPath, String newPath) {
		copyFolder(oldPath, newPath);
		delFolder(oldPath);
	}

	public static String getMessage() {
		return message;
	}

	/**
	 * 根据id来确定图片放置路径
	 * 
	 * @param infoId - 数字编号
	 * @return 分隔目录
	 */
	public static String getPathById(int infoId) {
		return getPathById(infoId+"");
	}

	/**
	 * 根据id来确定图片放置路径
	 * 
	 * @param infoId - 字符编号
	 * @return 分隔目录
	 */
	public static String getPathById(String infoId) {
		StringBuffer path = new StringBuffer();
		while (infoId.length() &#62; 1) {
			path.append(infoId.substring(0, 2)).append("/");
			infoId = infoId.substring(2);
		}
		if (infoId.length() &#62; 0)
			path.append(infoId).append("/");
		return path.toString();
	}

}</pre>]]></description>
		<wfw:commentRss>http://www.xa01.cc/143.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux下各种压缩包的压缩、解压命令</title>
		<link>http://www.xa01.cc/130.html</link>
		<comments>http://www.xa01.cc/130.html#comments</comments>
		<pubDate>Fri, 09 Mar 2012 01:42:15 +0000</pubDate>
		<dc:creator>adminjs</dc:creator>
				<category><![CDATA[Shell]]></category>

		<guid isPermaLink="false">http://www.xa01.cc/?p=130</guid>
		<description><![CDATA[<pre>.tar
解包：tar xvf FileName.tar
打包：tar cvf FileName.tar DirName
（注：tar是打包，不是压缩！）
---------------------------------------------
.gz
解压1：gunzip FileName.gz
解压2：gzip -d FileName.gz
压缩：gzip FileName 
.tar.gz
解压：tar zxvf FileName.tar.gz
压缩：tar zcvf FileName.tar.gz DirName
--------------------------------------------- 
.bz2
解压1：bzip2 -d FileName.bz2
解压2：bunzip2 FileName.bz2
压缩： bzip2 -z FileName
.tar.bz2
解压：tar jxvf FileName.tar.bz2 
压缩：tar jcvf FileName.tar.bz2 DirName
---------------------------------------------
.bz
解压1：bzip2 -d FileName.bz 
解压2：bunzip2 FileName.bz
压缩：未知
.tar.bz
解压：tar jxvf FileName.tar.bz
压缩：未知
---------------------------------------------
.Z
解压：uncompress FileName.Z
压缩：compress FileName
.tar.Z
解压：tar Zxvf FileName.tar.Z
压缩：tar Zcvf FileName.tar.Z DirName
---------------------------------------------
.tgz
解压：tar zxvf FileName.tgz
压缩：未知
.tar.tgz
解压：tar zxvf FileName.tar.tgz
压缩：tar zcvf FileName.tar.tgz FileName
---------------------------------------------
.zip
解压：unzip FileName.zip
压缩：zip FileName.zip DirName
---------------------------------------------
.rar
解压：rar a FileName.rar
压缩：rar e FileName.rar</pre>]]></description>
		<wfw:commentRss>http://www.xa01.cc/130.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux常用系统信息查看命令</title>
		<link>http://www.xa01.cc/128.html</link>
		<comments>http://www.xa01.cc/128.html#comments</comments>
		<pubDate>Thu, 08 Mar 2012 09:06:10 +0000</pubDate>
		<dc:creator>lv</dc:creator>
				<category><![CDATA[所有分类]]></category>

		<guid isPermaLink="false">http://www.xa01.cc/?p=128</guid>
		<description><![CDATA[在Linux系统下，特别是在Linux生产环境的服务器上，经常会用到下面常用的信息查看命令：
系统
# uname -a # 查看内核/操作系统/CPU信息
# head -n 1 /etc/issue # 查看操作系统版本
# cat /proc/cpuinfo # 查看CPU信息
# hostname # 查看计算机名
# lspci -tv # 列出所有PCI设备
# lsusb -tv # 列出所有USB设备
# lsmod # 列出加载的内核模块
# env # 查看环境变量
资源
# free -m # 查看内存使用量和交换区使用量
# df -h # 查看各分区使用情况
# du -sh # 查看指定目录的大小
# grep MemTotal /proc/meminfo # 查看内存总量
# grep MemFree /proc/meminfo # 查看空闲内存量
# uptime # 查看系统运行时间、用户数、负载
# cat /proc/loadavg # 查看系统负载
磁盘和分区
# mount &#124; column -t # 查看挂接的分区状态
# fdisk -l # 查看所有分区
# swapon -s # 查看所有交换分区
# hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备)
# dmesg &#124; grep IDE # 查看启动时IDE设备检测状况
网络
# ifconfig # 查看所有网络接口的属性
# iptables -L # 查看防火墙设置
# route -n # 查看路由表
# netstat -lntp # 查看所有监听端口
# netstat -antp # 查看所有已经建立的连接
# netstat -s # 查看网络统计信息
进程
# ps -ef # 查看所有进程
# top # 实时显示进程状态
用户
# w # 查看活动用户
# id # 查看指定用户信息
# last # 查看用户登录日志
# cut -d: -f1 /etc/passwd # 查看系统所有用户
# cut -d: -f1 /etc/group # 查看系统所有组
# crontab -l # 查看当前用户的计划任务
服务
# chkconfig --list # 列出所有系统服务
# chkconfig --list &#124; grep on # 列出所有启动的系统服务
程序
# rpm -qa # 查看所有安装的软件包
# rpm -qa&#124;grep vim # 查看安装的某个软件包
永久链接 : http://www.ha97.com/981.html]]></description>
		<wfw:commentRss>http://www.xa01.cc/128.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

