2006年4月30日星期日

祝:劳动节快乐

希望各位hackers, geeks和nerds节日快乐。

节日出行注意安全
在家窝着的好好休息
界乎两者之间的记得多回贴

2006年4月28日星期五

Debian考虑有条件采用GNU FDL作为文档协议

Debian的开发人员经过讨论和投票,终于决定有条件的采用GNU Free Documentation License (GFDL)作为他们文档的协议。Debian曾经对GFDL是否真正的自由表示担忧,这篇决议文章说明了Debian为什么一直将GFDL的文档作为“不自由”(non-free)的部分发布。这篇文章从包括DRM等三个角度说明了GFDL对自由的局限性。


什么样的自由才是open source需要的?是在一定限制下的自由,还是完全的自由?(完全自由是什么概念?), GNU在3方面对License作了约束,但是Debian会出台一个完全自由的并且没有个约束的License吗?如果第一天真有一个这么个Licence发布,第二天就修改为 My dog is cute~

2006年4月27日星期四

推荐两篇文章

都很好

第一篇:说了下linux在desktop哪点做得不好
第二篇:说了下关于linux下license的问题,并且还结合oracle收购innodb对mysql造成的影响这个实例进行了双licenses的弊端

Linspire发布两款免费linux

在圣地亚哥举行的第四届Desktop Linux Summit 上,Lispire--以前的Lindows发布了两款免费的linux发行版本--freespire,所不同的是,其中一个发行版本是完全开源的,但是另外一个发行版本却包含了一些专利软件,这使得这个版本成为了独一无二的一个linux发行版本。这些专利软件主要包含一些驱动和应用程序,这些程序可以更好地解决硬件的问题,并且在多媒体方面有着非常好的表现,系统默认就可以播放mp3,dvd, windows media file, quicktime, avi, real等等其它很多第三方的程序。可以访问这里看到详细的关于这个发行版本中专利软件的相关信息。

technorati估计被封

今天死活上不去,以为server down掉,刚才用代理可以轻松访问,估计被封掉了, sign~~

update: 又可以访问了,居然看到有说是 Great Firewall~

ft

LSB简介

LSB简介:
The Linux Standard Base (LSB) is an application binary interface (ABI) for Linux and Linux-compatible platforms. The LSB draws on the source standards of the IEEE POSIX standards and The Open Group's Single UNIX Specification for many of its behavioral interface definitions. Some interfaces are not included in the LSB, since they are outside the remit of a binary runtime environment; typically these are development interfaces or user-level tools. The LSB also extends the source standards in other areas (such as graphics) and includes the necessary details such as the binary execution file formats to support a high volume binary application platform.
If you are an end user looking for Linux distributions that support open standards, please see our list of LSB certified products.
If you are a developer looking to build portable Linux applications that will work on these distributions, please see our Download and Documentation pages.

LSB其它:

LSB Leadership
LSB Roadmap
LSB Wiki
lsb-core mailing list
lsb-desktop mailing list
lsb-futures mailing list
ISV Survey

LSB3.1对linux界的影响

LSB3.1对linux在desktop上的发展奠定了基础,桌面系统就应该尽量降低操作的复杂度,但是现在起零八乱的发行版本搞得用户晕头转向,甚至连程序都不能互相移植,linux自由的过头了些,现在这个标准的提出是很及时的,LSB3.1这6个字符会载入linux发展的史册

这里有一篇关于LSB3.1影响的文章

LSB 3.1放出

第一个规定linux桌面系统的标准终于放出,看起来内容很多,不知道有没有壮士给翻译一下?

LSB 3.1标准可以使得程序员在任何一个遵循该标准的linux系统上所开发的程序可以运行在其他任何同时遵循该标准的linux系统上,目前,遵循该标准的企业有:IBM, HP, Novell, Red Hat, Sun Microsystems and Real Networks.

Upgrades:大概看了一下,一共9章

第一章:主要说了下LSB3.1的作用,还有一些其他繁文缛节的东西。
第二章:主要规定了ELF的文件格式。
第三章:对基本库进行了规定,也就是所谓的系统调用接口
第四章:一些工具类库的规定。
第五章:对命令跟一些工具软件的规定。
第六章:对程序执行环境进行了规定。
第七章:对系统初始化的时候应该做的事情进行了规定。
第八章:对用户和组进行了规定。
第九章:对包的格式和安装进行了规定。

仅仅是大概的看了看,考虑全部翻译成中文,当然要等到正是版本发布的时候。(this supposed to be a beta version)

ArmyOps Linux/Mac Clients Fall

Ryan C Gordon, or also known as Icculus, has just updated his finger with some very jaw-dropping information. It seems as though the Macintosh and Linux client ports for America's Army (the popular free FPS game based upon the Unreal engine and is supported by the US Army) is a drowning matter. Icculus has revealed details that the US Army has stopped paying him to port the America's Army game clients from Microsoft Windows to Linux and Macintosh OS X operating systems. However, there is still some hope left for the Linux ArmyOps server port. America's Army v2.7.0 is expected in the very near future, and to this point there is still no client ArmyOps v2.6 port for either alternative operating system. Icculus has stated he is willing to work pro-bono on these client ports, however, time is the limiting factor in this world. For Linux gaming advocates (such as Phoronix) this is another blow to the gaming belt. To reiterate, here is an excerpt from Icculus' message -- "To be clear, there aren't plans to abandon the Linux server at this point, but at this time, the non-Windows clients are basically gone." We at Phoronix cordially thank Ryan Gordon for the exception work he had done with the America's Army client, and we wish him the best of luck on all of his Linux/Mac ports for the near future and the ones he is presently working on. His message can be found at his finger. It has been almost a year since we last interviewed Icculus, but we hope to strike up another interview period soon. If you happen to have any nail-scratching questions you would like answered by Ryan, feel free to contact us.

2006年4月26日星期三

杂记

  • gmail最近好像有问题,老是无缘无故的不能使用,plz check your connection, 不知道用邮件程序接收邮件是否也有问题,很不爽~~~

  • 兄弟考上了公务员,还是第二名,嗯,赞一个~~

  • 跟这个家伙连了一晚上的暗黑,死活连结不上,先是键盘突然不能使用,搞了半天,发现是usb口有问题后,modem又不正常,好不容易我这边没问题了,他那边又出了问题,老调线,xx的网通~~

  • blogger系统的帮助翻译的很垃圾,不知道是不是是用软件汉化的,看着很别扭,建议google以后招收人的时候加试中文,尤其是阅读理解..

选择一套适合自己的linux系统

desktoplinux上一篇文章(链接见下)列出了根据使用者不同的而推荐的linux系统,里面有很多没有听说过的linux版本,你可以根据自己的需求来试试看~~
  • 我想要一个家庭使用的linux系统(windows 家庭版本的替代品)

作者推荐了Xandros 3 Desktop ,因为这个是跟windows最相似的linux系统,缺点是相应的应用程序非常少,并且如果用户是一个对linux不熟悉的用户,估计会比较痛苦。所以作者推荐了Linspire Five-0 。如果用户还需要安装过程跟windows很相似的话,那么你可以使用Versora's Progression Desktop 和 Win4Lin's Win4Lin Pro的组合套装。

  • 我要在linux上玩windows下的游戏

作者列出了两款宣称可以让你感到happy的软件,TransGaming Technologies Inc.'sWineX technology ,后者可以玩World of Warcraft, 但是作者推荐了一个收费软件two-week free trial of Cedega

  • 我要在linux上进行我的工作

这里作者推荐了大家都熟悉的几个发行版本, Xandros Business Desktop,Red Hat Enterprise Linux WS, or Red Hat Desktop, OpenSUSE 10Novell Linux Desktop 9

  • 我要找一个跟linux相关的工作

Fedora, 不过最好还是考一个RHCE证书,这个是正途。

  • 我想在我10年前的机器上跑linux(怎么跟我的一样旧)

作者推荐了MEPISLite, 作者在自己800M Hz,128M内存的机器上运行的不亦乐乎。(问题是我的机器只有667M主频,64M内存,10G硬盘), 如果你的机器跟我的一样out of time, 做这推荐了Damn Small Linux, Zenwalk (aka Minislack), or Puppy,呵呵。

  • 我想要一个功能强大的GNOME界面的linux

还用说,Ubuntu

  • 我要一个西班牙语的linux

还好我不是少数民族~~

作者推荐了 Mandriva Linux 2006,因为这个版本有对西班牙语长期的支持。

  • 我只是对linux好奇,想玩玩(中国大多数人比较适合)

Xandros 3 Desktop. UbuntuOpenSUSE

希望linux的各个发行版本可以统一起来,有个标准,省得大家这么麻烦了,应该跟微软学学~

2006年4月22日星期六

统一Linux桌面系统

来自纽约的消息,为了跟微软的windows相抗衡,世界几大Linux厂商已经在Linux桌面系统的一些组件的标准问题上达成一致。

这个由Free Standards Group所创建的标准可以使得程序员在一台linux机器上所编写的程序,在任何其他的linux机器上也可以运行。

目前linux在服务器市场上已经扎稳脚跟,但是在桌面系统上总是进展很满。

原因之一就是,linux其实仅仅是一个操作系统的内核,人们如果使用linux系统还必须有很多比如用户界面程序等等来使得易用性提高,不幸的是,不同的linux发行版上安装有不同的类库,这个就不能保证一个程序是否能够在另外一台linux机器上正常的运行。

“而这恰恰是微软windows的长处”

FSG先前已经就服务器端做出了一个标准,在最新的FSG 3.1中将会首次加入对桌面系统的标准。

新标准将会在5月1日发布。

中国制造146美元的电脑


This is an awesome product! It is a 146$ Linux computer (Thinix OS) from China that does all the basic things most people need, like browsing (firefox), emailing (thunderbird), instant messaging (gaim), skype, word processing (Red Office), audio/video playback (mplayer), e-learning, all through a very user-friendly very basic interface and is software upgradable. It has got 40GB, a 400mhz/800mhz Godson 2C processor, 256mb ram, 4 usb2 ports, VGA-output, ps2 input, tv-output and weigths something like 400 grams. Their slogan is “Say no to Wintel”.


所有的重要的芯片均产自中国国内,包括cpu, ram, 以及其它,采用godson-2 64位处理器,256M内存,配备了4个usb2接口,电视输出接口等等,一共不到150美元,预计将会比前些时候的100美元笔记本先行上市,

这里有一段视频(200多M):下载

官方论坛:http://yellowsheepriver.org

本周IT话题:Oracle VS Red Hat

随着RedHat收购了JBoss,这个Oracle已经向往已久的数据库厂商,Oracle和RedHat之间也开始了一场口水战,Oracle声称将会开发自己的Linux系统或者收购Novell,这个仅次于RedHat的全球第二大的Linux厂商。更多详细看下面的链接。

更多话题

Linux Runs on Intel Apple Mac

在一帮linux hacker的努力下,linux现在也可以在装有intel处理器的apple mac上运行起来了,而这个在开始是被认为不可能的事情,因为apple放出的Boot Camp只能用来安装windows,所以linux并不能直接安装在Boot Camp上,这里hack们使用了些技巧:

The Linux open source OS would have to be 'chain loaded' from an installed copy of XP using the LILO bootloader.


技术细节

2006年4月21日星期五

百度百科上线

百度百科今天下午5点钟上线,快去创建自己的词条吧

Nokia8888--任何评论都是多余的




















2006年4月20日星期四

为什么开源杀毒软件这么少?

一位开源爱好者在eweek上的一篇文章阐述了自己的观点。
首先,作者列出了一些人所列出的理由:

1.计算机病毒是不断产生的,这需要有专门的人员对最新的病毒进行分析,然后进行产品的升级。并且现在的病毒越来越复杂,而这个需要很大的人力,物力,而这一点上开源界不可能跟拥有专门的团队的商业软件所抗衡。

2.许多人认为防毒杀毒是一项太重要的任务,把这项任务交给开源软件,人们总是不放心。


作者反驳了这样的观点:

现在越来越多的人开始使用并且信任开源软件,比如防火墙,以及一些漏洞扫描工具等,都做得非常得好,并且在很多商业的解决方案中得到了广泛的应用。


所以开源界完全可以证明自己可以开发出很好的,安全的杀毒软件,但是为什么现在开源的杀毒软件还是少?
作者进行了假设:

1.对于病毒而言,它们的舞台还是主要在windows上,开发人员不会防止windows上的病毒移植到linux系统上,因为在他们看来这根本不是一件事情。

2.还有一种原因是,windows上出现的病毒对于开源界来说倒是一件好事情,因为这样会迫使越来越多的人转向linux阵营。


但是作者又希望自己的猜测是错误的,因为开源界很需要自己的杀毒软件。

个人认为,没有固定的人力物力的投入,真的是阻碍开源杀毒软件最大的障碍物,现在有多少专职的开源程序员?又有哪个公司能养的起一群对病毒进行分析破解的天才?就算有这样的程序员估计多半也不会为开源工作,因为开发商业软件赚的钱要多得多,所以解决办法还是需要有大公司的投入,先消除程序源个人生活上的顾虑,但是这样的大公司又有几个呢?仅仅靠人们对开源的一点点施舍是远远不够的,要不然就不会有这么多著名的开源软件因为找不到资金而维护不下去了。

但是我们要看到free software != software free of charge, 现在的redhat就是很好的例子,一开始redhat决定不再维护免费的redhat系统而开始收费的时候遭到了很多人的批评,几年过去了,实践(时间)证明了一切,现在redhat用户数量并没有明显的减少,收费后可以有非常好的服务,有了赢利,redhat才有心思帮助社区维护免费的fedora系统。不过话又说回来了,你会购买linux下的杀毒软件吗?偶不会~~

开源这条路不好走~~

又可以上网了

用起了六年前的机器,pIII667+64的内存,使用这种古董就是对脾气的考验,硬盘一直在咯吱咯吱转个不停,加载页面也需要非常长的时间,每次还要开启防火墙,用了2000才发现xp sp2是多么的好用,firefox和thunderbird就别指望,都是吃内存的大户,qq想都别想.

计算机软件的极度膨胀估计现在用的很爽的laptop到时候也不能用了,软件的体积在以超过摩尔定律的速度飞速膨胀着,而这个是硬件厂商最希望看到的,倒霉的却是偶们这些可怜巴巴木有银子的音。

希望老婆在学校好好忙自己的事情,猪猪没事的~~~

2006年4月16日星期日

使用开源软件隐藏的利益


很细致的关于专利软件跟开源软件之间利弊的比较,分析了对当地经济的影响,推荐一看

动物世界片尾曲

动物世界片尾曲

2006年4月15日星期六

给初恋男生的几点建议

男人对自己的第一个女人是难以忘怀的,可以说几乎也是男人爱的最纯最真的一次。初恋里的男生总是很兴奋,一片真心,智商不到平时的3分之1,冲动,带着血气,象对宝贝一样呵护着自己心爱的人。可是年轻女人是种很奇怪的动物,她们要的是种感觉,有时候对她们好反而让她们觉的没意思,没有激情,继而厌倦。有人说男人伤心过后就开始成熟了。从这点上说,应该谢谢自己的初恋女友,爱过了就散,不要带着恨,应该明白,有些遗憾是天注定的,你和她都没有错。
1、女人天生就是善变的。别要以为她在你的怀里娇声呢喃就表示她多么离不开你了,别以为紧紧拥抱的她就是你身上的一快肉了。也许没过多久,就是你在它面前痛哭哀求了。不要问为什么会这样,是你幻想太多了,都说女人喜欢听甜言蜜语,其实男人更喜欢听。

  2、女人天生就是自私的。善良的你也许会让她不忍心马上和你说分手,不过肯定无法停止她对另一个男人的投怀入抱。她会两个都不放,女人的本性如此,喜欢好几个她不讨厌的男人围着她转,享受被人捧着的快感,特别是那些长的还不错的女人。

  3、一旦一个女人对你冷淡了,请不要幻想她是身体不舒服或是你做错了什么,接受她变心的事实把。做好心理准备,不管你心里是怎么的无法接受,事实就是这样,女人变了心,上帝都改变不了,你可以试着感动她,不过我以为,感动过来的女人,总有一天还是会离开的,而且很快。

  4、(积极意义的)多注意你们一起生活时的细节,女人在大事上很白痴,可对细节是十分敏感的,比如一些关怀的小动作,温柔的问候,当然包括你的卫生整洁等。有时候,一个小细节会让你们的爱情更加甜蜜美好。

  5、如果你长的不是很高大很帅,甚至是普通都还差点,并且你没什么特别牛比的地方,也不是很有钱,那么请不要爱上那些被众人捧为美女的女人,因为——你和她是不可能的。恋爱也是讲究“门当户对”的。也许很多电视剧电影里,很多美女爱上了其貌不扬的主人公,但那到底是虚的,现实里,女人都是爱帅哥的,何况是被人捧上天的美女门,即使你得到她了,你也要考虑下你有没有能力把她留在身边,她终究还是会经不起诱惑,拿你和人家比……

   6、所有的感情到后面都会褪去激情,变的平淡的,分手是结婚外唯一的一条路,爱的时候,不要不顾一切,真心是需要,可女人都是很现实的,她为自己考虑好一切后,留下一句“我们是不可能的”或“我们结束了”就甩头就走。所以准备给自己的心一个缓冲的机会,因为现实就是这么残酷。

   7、如果你正处在万念俱灰,痛不欲生的失恋中,请不要折磨自己的身体和心灵,别用烟和酒来迷醉痛苦,别在深夜一个人到她宿舍或家边徘徊,那样只会痛得更深,而且在她的眼里,你很让人讨厌,多想想自己的优点,所谓“天涯何处无芳草”,用句豪放点的说法就是“奶奶的,不就是个女人吗!”

  8、不管怎样,男人始终是事业第一,不要沉醉在风花雪月之中,美好的东西总是很脆弱的,不要被感情磨的没有生活的激情,不断充实自己,学习知识,装酷和表面的潇洒都是暂时的,有一天失去感情,你会发现自己真的是一无所有了!

2006年4月14日星期五

2006年4月13日星期四

世界上最大的超级火山



上图是世界上最大的超级火山,使用google earth找到的图片,位于印尼鬼子速们耷拉附近,曾经在75000年前喷发过一次,造成了当时地球上60%的人类死亡,当时一共有6000万人口,喷发出的火山灰高达10多公里,覆盖了当时的大半个地球,并且导致了地球冰河时期的到来,使得全球海水温度在1000年内下降了5摄氏度,而平常要下降这么多的话,需要几百万年的时间,超级火山的喷发对地球造成的危害绝不亚于一个小行星碰撞地球,中间的那个小岛就是当时火山喷发时从火山口掉下来的石块所形成的。现在科学家门正在推算下次这个家伙喷发的时间,等到下次喷发的时候估计会死多少人呢?God knows it~~~

知道为什么中文搜索google不如baidu了吧





google刚刚更名为谷歌,于是在google和baidu里面分别搜索这两个词,看到了完全不同的结果,google根本搜索不到相关的消息,而baidu却搜索的很准确,baidu在中文搜索方面的确比google强很多,这个博客已经建立一个多月了,baidu从老早就开始收录了,但是google还是没有收录,不知道google爬虫每天都在干什么~~~

2006年4月12日星期三

发送wallop,gmail,writely,orkut,weealink邀请


留下你的email,可以跟贴,也可以发在本站右侧的留言板里面,写清楚你想要什么邀请~~

世界各国男性平均身高列表:中国平均169.7cm

ft,也算超过了平均水平

世界各国男性平均身高 (单位:厘米/cm)

据报道,荷兰人不但男人达182.5,女人的身高也达到170,亚洲人到荷兰常因够不着汽车扶手,坐在坐便器脚够不着地而闹笑话。



在亚洲身材最高的是韩国,他们的身高如今都超过了中南美洲,正接近南欧的水平,而他们的同族朝鲜却因经济困难,营养不良而出现了代代矮的现象。矮个子日本年轻一代的身高已略高于我国。 这说明除了遗传因素外,生活条件,营养对身高的影响是巨大的。在我国,北方和南方的差距仍很大,沿海发达地区和内地落后地区,城市和农村的身高差距在迅速扩大。

  1,荷兰 182.5

  2,丹麦 181.5

  3,德国 180.2

  4,挪威 179.7

  5,瑞典 179.6

  6,卢森堡 179.1

  7,奥地利 178.2

  7,芬兰 178.2

  9,英国 178.1

  10,罗马尼亚178

  11,澳大利亚177

  11,匈牙利 177

  11,加拿大 177

  14,希腊 176.5

  15,法国 176.4

  16 意大利 176.1

  16,爱尔兰 176.1

  18,比利斯 175.6

  19,俄罗斯 175

  19,美国 175

  19,新西兰 175

  22,葡萄牙 173.9

  23,西班牙 173.4

  24,韩国 173.3

  25,阿尔及利亚172.2

  26,土耳其 172

  27,巴西 171

  27,墨西哥 171

  29,日本 170.7

  30,波兰 170

  31,马尔他 169.9

  32,中国 169.7

  33,通加 169.4

  34,蒙古 168

  35,印度 167.6

  36,越南 165

  37,朝鲜 158


第1页:世界各国男性平均身高第2页:2005年中国各省(含港台澳地区)男子平均身高

2005年中国各省(含港台澳地区)男子平均身高(20岁-25岁)
(摘自美联社《2005年上半年东亚统计年鉴》)

   1 山东 175.44 cm
   2 北京 175.32 cm
   3 黑龙江 175.24 cm
   4 辽宁 174.88 cm
   5 内蒙 174.58 cm
   6 河北 174.49 cm
   7 宁夏 173.98 cm
   8 上海 173.78 cm
   9 吉林 172.83 cm
   10 天津 172.80 cm
   11 台湾 172.75 cm
   12 山西 172.73 cm
   13 新疆 172.72 cm
   14 陕西 172.72 cm
   15 澳门 171.79 cm
   16 甘肃 171.67 cm
   17 江苏 171.54cm
   18 河南 171.49 cm
   19 青海 170.95 cm
   20 安徽 170.93 cm
   21 浙江 170.90 cm
   22 福建 170.90 cm
   23 香港 170.89 cm
   24 四川 170.86 cm
   25 广东 169.78 cm
   26 重庆 169.71 cm
   27 西藏 169.68 cm
   28 江西 169.63 cm
   29 海南 169.60 cm
   30 湖北 169.54 cm
   31 贵州 169.35 cm
   32 云南 169.24 cm
   33 湖南 168.99 cm
   34 广西 168.96 cm

在自己的blog上安装一个酷酷的留言板


就是cbox了,skin可以自己定制,并且可以自己添加自己喜欢的表情图案,不妨一试~~

2006年4月11日星期二

李彦宏:五年之后Google要消失


来自tech.163.com

零点研究集团董事长袁岳挑起话题:“5年以后Google和百度是什么样的关系?那个时候Google 比百度牛还是百度比Google牛?一个月前,李彦宏亲口告诉我说:‘5年以后,Google和百度之间的关系是百度一枝独秀,从市场份额来说,大家很难看到Google了。’”


阅读全文

无预装正版操作系统PC将停售


来自it.sohu.com
昨天,国家版权局就信产部、国家版权局、商务部、财政部下发《关于计算机预装正版操作系统软件有关问题的通知》等发表讲话。根据通知,今后没有预装正版操作系统的PC产品将无法上市销售。


阅读全文

2006年4月9日星期日

Baidu Wiki


来自solidot.org

baidu打算发布自己的类似于wiki的一个知识百科系统

百度百科,一部开放的百科全书。

每个人都可以参与撰写,期待您的分享和奉献!

即将发布,敬请关注!

痛苦终于结束了


国王的胜利宣告火箭队进入季候赛的希望彻底破灭了,想想在常规赛之前,很多中国人都对火箭夺冠充满信心,可是不断的伤病以及板凳球员的实力,使得火箭队在这赛季的战绩如此的差,但是最主要的还是态度问题。姚明加入火箭队的四年里,两次帮助火箭进入季候赛,两次失败。好快,下个赛季就是姚明在NBA的第5个赛季了,随着O'neal的逐渐"衰老",姚时代会慢慢的到来,希望下个赛季火箭队可以引进一个好的控球后卫,还有就是球员的心态要调整好,好好准备下个赛季~~

2006年4月8日星期六

mac上装windows,apple会给予保险吗?


在apple官方网站上的一个帖子讨论了关于如果在mac上安装windows是否会得到apple保险的问题,各抒己见,并且apple的条款上也没有明确指出应该怎么处理,现在只能小心行事了~~~

治安管理处罚法


收集了几个关于最新的 治安管理处罚法 的帖子

处罚法全文:http://news.sina.com.cn/c/2006-02-20/15109152700.shtml

解读处罚法:http://news.sohu.com/20060221/n241930925.shtml

自动生成Sitemap工具-Autositemap

原文地址:http://www.googleshow.net/?p=106

Autositemap提供免费生成Google Sitemap的工具,AutoSitemap.com

免费服务提供每个sitemap最大10000个URL页面,每个URL长度不超过255个字符。

Writely第一贴


今天有幸收到了网上好友的writely邀请,这个是第一篇帖子。writely相当于一个在线的word,功能非常强大。google在3月份的时候收购了writely,搞得还必须需要邀请才能使用,好麻烦。使用writely最好的就是在这里编辑的帖子可以发到自己的blog上,而google的blogger.com编辑能力很差劲,所以考虑以后使用writely写blog。还在摸索中~~~

2006年4月7日星期五

Red Hat放弃Fedora基金会


Red Hat员工以及Fedora领导人Max Spevack在一封向Fedora社区的公开信中说,Red Hat已经对管理不盈利的Fedora工程的基金会不再感兴趣。Red Hat将会重新组织一个Fedora工程部(Fedora Project Board),该工程部将会包括5名来自RedHat的代表,4为来自Fedora的代表,以及一名由RedHat制定的主席。

阅读全文

Writely第一贴

今天有幸收到了网上好友的writely邀请,这个是第一篇帖子。writely相当于一个在线的word,功能非常强大。google在3月份的时候收购了writely,搞得还必须需要邀请才能使用,好麻烦。使用writely最好的就是在这里编辑的帖子可以发到自己的blog上,而google的blogger.com编辑能力很差劲,所以考虑以后使用writely写blog。还在摸索中~~~

童言说爱


转自:http://spaces.msn.com/wenjingsweetsmile/


爱就是一个女孩子洒了香水,一个男孩子抹了古龙水,约好了一起出去,然后闻来闻去。——Karl(5岁)
  
爱就是,当你告诉一个男孩你喜欢看他穿那件衬衣,随后他天天都穿着它。——Noelle(7岁)
  
我奶奶有关节炎,不能弯腰涂趾甲油,所以爷爷就一直帮着奶奶涂,即使后来他自己的手也得了关节炎,但还是帮着奶奶涂,那就是爱。——Billy(4岁)
  
爱就是即使爸爸满身臭汗,妈妈还是说他比汤姆·克鲁斯还英俊。——Chris(7岁)
  
爱就是一起出去吃饭,分给人家很多薯条,却不要他分给你。——Chrissy(6岁)
  
爱就是当一个老爷爷和一个老奶奶,在一起那么久之后,还是好朋友。——Tommy(6岁)
  
爱就是,就算你一天不理你的小狗,见到你它还是会亲热地舔你的脸。——Mary Ann(4岁)
  
我第一次在台上表演钢琴独奏,心里很紧张。在台下密密麻麻的观众中,我看到了爸爸,就他一个人笑着向我招手,我一点也不紧张了。——Cindy(8岁)
  
我妈妈比谁都爱我,没有人像她那样,每天晚上睡觉前都会来亲亲我。——Clare(8岁)
  
爱就是妈妈总是给爸爸最好吃的那块鸡。——Elaine(5岁)
  
爱就是不停地接吻,即使觉得吻烦了,你们还是想在一起,不停地说话。我的爸爸妈妈就是这样。他们现在亲吻起来总是草草了事。——Emily(8岁)
  
爱就是在你很累的时候也能让你开心的东西。——Terri(4岁)
  
爱就是圣诞节时,当你礼物拆到一半,留意倾听,房间里那充满着的东西。——Niga(6岁)
  
爱就是妈妈煮咖啡给爸爸时,总要先尝一口,味道好喝才给爸爸。——Danny(7岁)
  
爱就是,当妈妈看见爸爸坐在马桶上,她也不觉得恶心。——Mark(7岁)
  
如果你不是真心的,就不要随便说“我爱你”,如果你是真心的,你要经常说,人们的记性不好。——Jessica(8岁)

全球首个mac上的windows蓝屏


有用户在mac上安装win xp的时候出现的蓝屏,Apple推出Windows XP安装软件Boot Camp不到24小时,在Boot Camp安装XP过程中就出现了这个很有历史意义,同时也很讽刺的画面。
据称,在mac上跑win xp要比pc上跑块些,不知道这些比较是怎么做出来的,毕竟硬件条件都不一样,是不是以后也考虑买个mac呢?
曾经在mac上做过开发,对系统使用也比较了解,尽管不是很习惯,但是一些很cool的动画效果着实留下了深刻的印象。看到过一个带有巨大无比主机箱的mac,看上去好漂亮,可能机器比较老的原因,给人的感觉运行程序不是非常的快,但是现在一台mac的价格实在不菲。

2006年4月6日星期四

[视频]超级cool得Gnome桌面

桌面是以3d形式切换得,还包括很多cool得效果,呵呵,看来不仅仅是微软会耍cool
http://people.freedesktop.org/~davidr/xgl-demo1.xvid.avi

你得密码足够强壮吗?

来自solidot.org

lockdown.co.uk公布了采用“暴力字母破解”方式获取密码的“时间列表”。列表中按照密码长度、密码组合数量以及破解攻击模式来进行破解。比如一台双核心PC破解最简单的数字密码-六位瞬间搞定,八位348分钟,十位163天。破译银行密码真的非常容易。

2006年4月5日星期三

Portland工程第一次发布: KDE/Gnome公用接口

来自solidot.org

来自DesktopLinux的消息,OSDL(Open Source Development Labs)freedesktop.org在本月4号,Boston LinuxWorld上共同发布了第一套GNOME和KDE桌面环境公用接口(common interface)的技术预览版本。这项Portland工程的成果包括两套接口:一套命令行工具和一套应用程序接口(DAPI),Linux开发人员可以在不同桌面环境下共用一套接口的同时,用DAPI来提供定制服务。



Linux现在需要得就是统一,这样才不至于把开发人员搞得很累

关于.com的一些事

以下是Dennis从3.5G的.com域名数据(.net同志有650MB,没有参与此次研究)中挖掘出的一些有趣事实。

让我们从最简单的开始。很容易理解的一项事实是,越短的域名越美,就像QQ号一样。单字符的域名是世间绝色,受保护的,不开放注册,所以别指望了,你这一辈子,没戏。26个英文字母一共有676种长度为2的组合,如果包括数字的话,长度为2的组合一共有1296种,她们是互联网上的头牌,已经全部被注册掉了,如果你足够有钱可以去把她们赎回来。长度为3的字母组合一共17576种,这么大一陀同样已经被一网打尽,如果算上数字的话长度为3的排列有46656种,能注册的也已经全部被注册了,还有一些没有注册的由于各种原因(REGISTRAR-LOCKED,REDEMPTIONPERIOD, etc.)实际上是无法注册的,所以长度3的组合也别指望了(在这里没有统计包含"-"的域名,虽然这是合法的)。

阅读全文

海贼王原声歌曲(全)

在网上找到得,应该是目前最全得了,献给OP fans~~
原贴地址:http://www.52comic.com/read.php?tid=638&page=e

生成你自己的版权信息

http://creativecommons.org/license/

Creative Commons helps you publish your work online while letting others know exactly what they can and can't do with your work. When you choose a license, we provide you with tools and tutorials that let you add license information to your own site, or to one of several free hosting services that have incorporated Creative Commons.

2006年4月4日星期二

王者的气质——鹰眼米霍克



孤舟漂游在充满光怪陆离的伟大航道,独来独往,独断独行,试问OP中还有谁有这番胆识,豪气和实力?

  “我只是打发时间。”——在弱肉强食的大海贼时代,弱者的灭顶之灾只不过是强者眼里的游戏;

  “不是只有坚硬的剑才有力量。”——这是第一剑豪在历经无数磨练和沧桑后对剑道的感悟;

  “悲哀的弱者,如果你真是一流的剑士,就算没跟我交手也明白你我实力的差距吧。”——敏锐的洞察力是剑士应有的素质;

  “敢对我刀刃相向,该说你是有勇气还是无知呢。”——绝顶一览众山小,自信在这个时候已升华为霸气;

  “我和为猎兔子使出全力的笨蛋不一样。虽然你是小有名气的剑士,但这里是四海之中最弱的EastBlue,所以我只要用这个就足以对付你了。”——清楚实力的差距,没有必要倾以全力,这是王者的智慧;



  “井底之蛙,让你见识一下世界有多大吧。”——真正经历过大风大浪的人将要留给后辈的教训;

  “真是狂乱的剑法。”——不忘对同行给予评价;

  “你背负着什么使命?你变强是为了什么?”——提出本质问题;

  “你想被直接刺穿心脏是吗,为什么不躲?”——高手的洞察力,对方的一举一动都要追溯缘由;

  “即使死也没关系吗?”——发觉了对手的执著,有惺惺相惜的感觉;

  “好胜心居然这么强,比起败北宁可选择死。”——外在的弱并不为奇,精神上的强才真正令人敬畏;

  “小子,报上名来。”——比起恶龙狭窄的心胸(面对Zoro的伤疤,看着他的眼神,“这是一定得在这里杀掉的男人”,畏惧他今后的成长),米霍克的气量才真正配得上最强;

  “我会记住的,你是难得一见的强者。”——坦然地肯定对手的闪光点;

  “为了表示对剑士的礼遇,我就用这把世界最强的黑刀帮你做个了断。”——尽管用小刀已绰绰有余,但强者是值得给予敬意的,这是王者的风度,也是米霍克的人格魅力;

  “了不起。”——毫无保留地表示赞赏,尊重对手是王者的气度;

  “别急着死,年轻人。”——爱才,难得一见的强者死了实在太可惜;

  “你是那位年轻剑士的伙伴吗,谢谢你在一旁看着。你放心,他还活着。”——曾身经百战,了解Luffy这种充满理解与信任的“袖手旁观”;

  “你现在死还太早了,我是朱洛基尔.米霍克!看清自己,看透世界,变更强,未来不管要等几年,我都会在这最强的位子上等你。超越这把剑吧,超越我吧,罗罗诺亚.卓洛!”——对一个强到了但求一败的境界的人来说,没有什么比一个对手更能令其兴奋的了,虽然WT的本意是想要衬托Zoro的潜质,但这段话也同样体现了米霍克的胸襟;

  “那可是比超越我还更艰辛的路。”——客观地看待事物,并不是一味地自大;

  “真好的搭档,希望还有机会见到你们。”——临别赠言,不忘给予鼓励;

  “已经玩够了,我要回去睡觉了。”——对表面上很强的小角色完全不屑一顾;



  “真行啊,不知死活的家伙。”——若不是剧情需要Luffy跟利克的对决,相信利克是根本听不到话音的结束了;

  “别吵,我不是来找你们的,干部们在哪里?居然在这种岛上露营,他还真优哉啊。”——以鹰眼的气概,也只有红发等级的人物才能与其平辈论交了;

  “我倒是没想过要和失去左手的你比。”——大侠风范,不占一点便宜;

  “我只是发现一个很有趣的海贼,突然想到你以前跟我讲过的话,关于某个小村落里有趣的小子。”——远道而来只是为了报个信,也只有红发才有这么大的面子;

  “我听到了一些无聊的对话啊,难道我来错地方了吗?”——艺高人胆大,完全不把政府放在眼里;

  “海军本部里聚集七武海,在这种对峙的势力下,那张圆桌也没什么意义嘛。”——直截了当地挑明立场和事实,不拐弯抹角玩花样;

  “哼!干嘛!我只是来当个旁观者而已!对这次引发问题的海贼们我多少有点兴趣,就这样而已。”——一如既往地光明正大,直截了当,第一剑豪的气魄。

  身为一个没有果实能力的七武海,米霍克完全靠自身的力量坐到了最强的位置,比起那些凭借得天独厚的优越种族或是果实能力者,他是最值得敬佩的。米霍克在OP中戏份很少,但每一个镜头每一句话都体现了他作为王者应有的气质。

2006年4月3日星期一

霍元甲





终于看到了霍元甲,看完后真的觉得非常好,很多的场景都非常优美,很多画面的细节处理也非常出色,看出来是认真对待的一个片子,唯一觉得遗憾的真的就像李连杰所说的,删减太多了,情节变化没有缓冲,有些给人措手不及的感觉,真希望有一天可以看到李连杰所说的两个半小时的那个,从时间上可能武打的时间要多于文戏,可是整体感觉下来觉得片子有些文了,可能是霍元甲以前的形象太根深蒂固的原因吧,但是这样排也不错啊,影片的主题拍摄的是霍元甲这个人,是他的一生,并不是霍元甲的功夫怎么怎么,把他当作一个普通人来看待,好像每个人的成长都会经过一些起落,关键的是在低谷的时候千万别荒废了自己。
嗯,非常好的片子,很喜欢~~

2006年4月1日星期六

网络相关ping finger nslookup netstat[转帖]

netstat命令 

netstat命令的功能是显示网络连接、路由表和网络接口信息,可以让用户得知目前都有哪些网络连接正在运作。

该命令的一般格式为:

netstat [选项]

命令中各选项的含义如下:

-a 显示所有socket,包括正在监听的。

-c 每隔1秒就重新显示一遍,直到用户中断它。

-i 显示所有网络接口的信息,格式同“ifconfig -e”。

-n 以网络IP地址代替名称,显示出网络连接情形。

-r 显示核心路由表,格式同“route -e”。

-t 显示TCP协议的连接情况。

-u 显示UDP协议的连接情况。

-v 显示正在进行的工作。

[例]在本地机上使用netstat命令。

$ netstat

Active Internet connections (w/o servers)

Proto Recv-Q Send-Q Local Address Foreign Address State

Active UNIX domain sockets (w/o servers)

Proto RefCnt Flags Type State I-Node Path

unix 1 [ ] STREAM CONNECTED 270 @00000008

unix 1 [ ] STREAM CONNECTED 150 @00000002

unix 1 [ ] STREAM CONNECTED 104 @00000001

unix 1 [ ] STREAM CONNECTED 222 @00000004

unix 1 [ ] STREAM CONNECTED 171 @00000003

unix 1 [ ] STREAM CONNECTED 271 /dev/log

unix 1 [ ] STREAM CONNECTED 225 /dev/log

unix 1 [ ] STREAM CONNECTED 223 /dev/log

unix 1 [ ] STREAM CONNECTED 203 /dev/log

unix 1 [ ] STREAM CONNECTED 105 /dev/log

……

nslookup命令

nslookup命令的功能是查询一台机器的IP地址和其对应的域名。它通常需要一台域名服务器来提供域名服务。如果用户已经设置好域名服务器,就可以用这个命令查看不同主机的IP地址对应的域名。

该命令的一般格式为:

nslookup [IP地址/域名]

[例]在本地机上使用nslookup命令。

$ nslookup

Default Server: name.tlc.com.cn

Address: 192.168.1.99

>

在符号“>”后面输入要查询的IP地址或域名并回车即可。如果要退出该命令,输入exit并回车即可。

finger命令

finger命令的功能是查询用户的信息,通常会显示系统中某个用户的用户名、主目录、停滞时间、登录时间、登录shell等信息。如果要查询远程机上的用户信息,需要在用户名后面接“@主机名”,采用[用户名@主机名]的格式,不过要查询的网络主机需要运行finger守护进程。

该命令的一般格式为:

finger [选项] [使用者] [用户@主机]

命令中各选项的含义如下:

-s 显示用户的注册名、实际姓名、终端名称、写状态、停滞时间、登录时间等信息。

-l 除了用-s选项显示的信息外,还显示用户主目录、登录shell、邮件状态等信息,以及用户主目录下的.plan、.project和.forward文件的内容。

-p 除了不显示.plan文件和.project文件以外,与-l选项相同。

 

[例]在本地机上使用finger命令。

$ finger xxq

Login: xxq Name:

Directory: /home/xxq Shell: /bin/bash

Last login Thu Jan 1 21:43 (CST) on tty1

No mail.

No Plan.

 

$ finger

Login Name Tty Idle Login Time Office Office Phone

root root *1 28 Nov 25 09:17

……

ping命令

ping命令用于查看网络上的主机是否在工作,它向该主机发送ICMP ECHO_REQUEST包。有时我们想从网络上的某台主机上下载文件,可是又不知道那台主机是否开着,就需要使用ping命令查看。

该命令的一般格式为:

ping [选项] 主机名/IP地址

命令中各选项的含义如下:

-c 数目 在发送指定数目的包后停止。

-d 设定SO_DEBUG的选项。

-f 大量且快速地送网络封包给一台机器,看它的回应。

-I 秒数 设定间隔几秒送一个网络封包给一台机器,预设值是一秒送一次。

-l 次数 在指定次数内,以最快的方式送封包数据到指定机器(只有超级用户可以使用此选项)。

-q 不显示任何传送封包的信息,只显示最后的结果。

-r 不经由网关而直接送封包到一台机器,通常是查看本机的网络接口是否有问题。

-s 字节数 指定发送的数据字节数,预设值是56,加上8字节的ICMP头,一共是64ICMP数据字节。

Linux下的打印工作命令[转帖]

在Linux下采用假脱机(spooling)打印方法,当用户需要打印一个文件时,该文件并不直接送到打印机,而是送到spool目录下,然后由一个负责打印的后台进程把这些数据送入打印机。

Linux对每台打印机都定义了一个打印缓冲区,打印机守护程序经常扫描打印缓冲区以查看有无要打印的新文件。如果存在,就按先进先出的顺序打印缓冲区中的文件。

Linux系统除了可以在本地打印机上打印外,还可以通过网络打印机远程打印。

用于打印的命令

Linux系统提供了一组有关打印的命令。一般情况下,打印命令使用默认打印机;如果用户定义了PRINTER环境变量,打印命令就使用这个变量定义的打印机;另外,用户还可以在命令行上指定要使用的打印机。

lpr命令

lpr命令是脱机打印命令,该命令将打印作业放到打印缓冲队列中。为Linux系统指定的每台打印机都有自己的打印缓冲目录,每个目录中的minfree文件指定保存打印文件的磁盘块的数量。

lpr同lpd守护进程通讯,lpd扫描/etc/printcap文件,查询打印机对应的缓存目录,然后由lpd控制打印,将需要打印的数据送到实际打印机上。如果没有指定文件,lpr就使用标准输入。

lpr命令的格式为:

lpr [-P printer] [#num] [其他选项] [name…]

命令中各选项的含义如下:

-P 指定打印机。如果不用此选项,则使用缺省打印机或环境变量PRINTER指定的打印机。

-m 打印完毕后发送email。

-#num 打印num份。

lpq命令

lpq是缓冲队列检查命令,它通过lpd在缓冲区中检查打印文件,报告指定作业的状态或指定用户的所有作业。不带任何参数的lpq命令显示现在队列中的任何作业。lpq命令的显示结果中一个重要的信息就是作业标识号(作业ID),它标识一个特定的作业。如果用户想取消一个挂起的作业,就必须在命令中指定这个标识号。

lpq命令的格式为:

lpq [-l] [-P printer] [job #] [user…]

命令中各选项的含义如下:

-P 指定一个打印机,否则使用缺省打印机或环境变量PRINTER指定的打印机。

-l 打印组成作业的所有文件的信息。

对提交的每一个作业,lpq报告用户名、在队列中的级别、组成作业的文件、作业标识以及总的大小等信息。

lprm命令

lprm命令用于从缓冲队列中删除打印作业,用户可以使用该命令从缓冲队列中删除属于自己的一个或多个打印作业。

lprm命令的格式为:

lprm [-P printer] [-] [job #] [user…]

命令中各选项的含义如下:

-P 指定一个打印机,否则使用缺省打印机或环境变量PRINTER指定的打印机。

- 删除用户所有的打印作业。

user 删除队列中属于用户user的作业(只有超级用户可以这样做)。

job # 通过指定作业号#删除某个打印作业,作业号可以通过lpq命令得到,如:

$ lpq ?l

lst:ken [job #013ucbarpa]

(standard input) 100 bytes

$ lprm 13

打印缓冲区目录

对打印而言,有一个非常重要的目录,就是打印缓冲区目录,要打印的数据在被打印之前都集中到这里。通常一台打印机对应一个打印缓冲区目录,这样比较容易管理打印机。例如,系统使用/var/spool/lpd作为主打印缓冲区,每个单独的打印机都在主打印缓冲区下有一个与这台打印机同名的目录。因此,名为ps_nff的打印机把/var/spool/lpd/ps_nff作为它的打印缓冲区目录。

与系统管理有关的命令[转帖]

与系统管理有关的命令

wall命令

这个命令的功能是对全部已登录的用户发送信息,用户可以先把要发送的信息写好存入一个文件中,然后输入:

# wall < 文件名

这样就能对所有的用户发送信息了。

在上面的例子中符号“<”表示输入重定向,有关它的含义和用法请参阅第十章的有关内容。

例如:

# wall ‘Thank you!’

Broadcast message from root (tty1) Fri Nov 26 14:15:07 1999…

Thank you!

#

执行以上命令后,用户的屏幕上显示出“Thank you!”信息后,并不出现系统提示符$(#),再次按回车键后,屏幕出现系统提示符。

write命令

write命令的功能是向系统中某一个用户发送信息。

该命令的一般格式为:

write 用户帐号 [终端名称]

例如:

$ write xxq

hello

此时系统进入发送信息状态,用户可以输入要发送的信息,输入完毕,希望退出发送状态时,按组合键即可。

上述命令执行的结果是,用户xxq的屏幕上会显示:

message from test@test.tlc.com.cn tty1 at 15:51…

hello

EOF

mesg指令

mesg命令设定是否允许其他用户用write命令给自己发送信息。如果允许别人给自己发送信息,输入命令:

# mesg y

否则,输入:

# mesg n

对于超级用户,系统的默认值为 n;而对于一般用户系统的默认值为y。

如果mesg后不带任何参数,则显示当前的状态是y还是n,如:

$ mesg

is y

或:

# mesg

is n

sync命令

sync命令是在关闭Linux系统时使用的。

用户需要注意的是,不能用简单的关闭电源的方法关闭系统,因为Linux象其他Unix系统一样,在内存中缓存了许多数据,在关闭系统时需要进行内存数据与硬盘数据的同步校验,保证硬盘数据在关闭系统时是最新的,只有这样才能确保数据不会丢失。一般正常的关闭系统的过程是自动进行这些工作的,在系统运行过程中也会定时做这些工作,不需要用户干预。

sync命令是强制把内存中的数据写回硬盘,以免数据的丢失。用户可以在需要的时候使用此命令。该命令的一般格式为:

sync

shutdown命令

shutdown 命令可以安全地关闭或重启Linux系统,它在系统关闭之前给系统上的所有登录用户提示一条警告信息。该命令还允许用户指定一个时间参数,可以是一个精确的时间,也可以是从现在开始的一个时间段。精确时间的格式是hh:mm,表示小时和分钟;时间段由“+”和分钟数表示。系统执行该命令后,会自动进行数据同步的工作。该命令的一般格式为:

shutdown [选项] [时间] [警告信息]

命令中各选项的含义为:

- k 并不真正关机,而只是发出警告信息给所有用户。

- r 关机后立即重新启动。

- h 关机后不重新启动。

- f 快速关机,重启动时跳过fsck。

- n 快速关机,不经过init程序。

- c 取消一个已经运行的shutdown。

需要特别说明的是,该命令只能由超级用户使用。

例1:系统在十分钟后关机,并且马上重新启动。

# shutdown ? r +10
 

例2:系统马上关机,并且不重新启动。

# shutdown ? h now


free命令

free命令的功能是查看当前系统内存的使用情况,它显示系统中剩余及已用的物理内存和交换内存,以及共享内存和被核心使用的缓冲区。该命令的一般格式为:

free [-b | -k | -m]

命令中各选项的含义如下:

-b 以字节为单位显示。

-k 以K字节为单位显示。

-m 以兆字节为单位显示。

例:

$ free

total used free shared buffers cached

Mem: 63076 32020 31056 8204 16360 6048

-/+ buffers/cache: 9612 53464

Swap: 64476 2240 62236

uptime命令

uptime命令显示系统已经运行了多长时间,它依次显示下列信息:现在时间、系统已经运行了多长时间、目前有多少登录用户、系统在过去的1分钟、5分钟和15分钟内的平均负载。该命令的一般格式为:

uptime

例:

# uptime

4:43pm up 1 day, 5:51, 2 user, load average: 0.01, 0.01, 0.00

与用户有关的命令

passwd命令

出于系统安全考虑,Linux系统中的每一个用户除了有其用户名外,还有其对应的用户口令。因此使用useradd命令增加时,还需使用passwd命令为每一位新增加的用户设置口令;用户以后还可以随时用passwd命令改变自己的口令。该命令的一般格式为:

passwd [用户名]

其中用户名为需要修改口令的用户名。只有超级用户可以使用“passwd 用户名”修改其他用户的口令,普通用户只能用不带参数的passwd命令修改自己的口令。该命令的使用方法如下:

输入passwd;

在(current) UNIX passwd:下输入当前的口令

在new password:提示下输入新的口令(在屏幕上看不到这个口令):

系统提示再次输入这个新口令。

输入正确后,这个新口令被加密并放入/etc/shdow文件。选取一个不易被破译的口令是很重要的。选取口令应遵守如下规则:

口令应该至少有六位(最好是八位)字符;

口令应该是大小写字母、标点符号和数字混杂的。

超级用户修改其他用户(xxq)的口令的过程如下,

# passwd xxq

New UNIX password:

Retype new UNIX password:

passwd: all authentication tokens updated successfully

#

su命令

这个命令非常重要。它可以让一个普通用户拥有超级用户或其他用户的权限,也可以让超级用户以普通用户的身份做一些事情。普通用户使用这个命令时必须有超级用户或其他用户的口令。如要离开当前用户的身份,可以打exit。

该命令的一般形式为:

su [选项] [? ] [使用者帐号]

说明:若没有指定使用者帐号,则系统预设值为超级用户root。

该命令中各选项的含义分别为:

? c 执行一个命令后就结束。

? 加了这个减号的目的是使环境变量和欲转换的用户相同。

? m 保留环境变量不变。

例1: 变成root用户

$ su ?

password: 【输入超级用户的密码】

例2: 变成xu使用者,并执行一个命令就结束。

$ su -xu ? c “rmdir cat1”

其他命令

echo命令

echo命令的功能是在显示器上显示一段文字,一般起到一个提示的作用。该命令的一般格式为:

echo [ -n ] 字符串

其中选项n表示输出文字后不换行;字符串可以加引号,也可以不加引号。用echo命令输出加引号的字符串时,将字符串原样输出;用echo命令输出不加引号的字符串时,将字符串中的各个单词作为字符串输出,各字符串之间用一个空格分割。

例1:

$ echo ‘Thank you !’

Thank you !

例2:

$ echo Thank you !

Thank you !

>cal命令

cal命令的功能是显示某年某月的日历。该命令的一般格式为:

cal [选项] [月 [年]]

命令中各选项的含义为:

- j 显示出给定月中的每一天是一年中的第几天(从1月1日算起)。

- y 显示出整年的日历。

 

例1 显示1999年11月的日历。

$ cal 11 1999

November 1999

Su Mo Tu We Th Fr Sa

1 2 3 4 5 6

7 8 9 10 11 12 13

14 15 16 17 18 19 20

21 22 23 24 25 26 27

28 29 30

例2 显示1999年11月的每一天是一年中的第几天。

$ cal ? j 11 1999

November 1999

Sun Mon Tue Wed Thu Fri Sat

305 306 307 308 309 310

311 312 313 314 315 316 317

318 319 320 321 322 323 324

325 326 327 328 329 330 331

332 333 334

date命令

date命令的功能是显示和设置系统日期和时间。该命令的一般格式为:

date [选项] 显示时间格式(以+开头,后面接格式)

date 设置时间格式

命令中各选项的含义分别为:

-d datestr, --date datestr 显示由datestr描述的日期

-s datestr, --set datestr 设置datestr 描述的日期

-u, --universal 显示或设置通用时间

时间域

% H 小时(00..23)

% I 小时(01..12)

% k 小时(0..23)

% l 小时(1..12)

% M 分(00..59)

% p 显示出AM或PM

% r 时间(hh:mm:ss AM或PM),12小时

% s 从1970年1月1日00:00:00到目前经历的秒数

% S 秒(00..59)

% T 时间(24小时制)(hh:mm:ss)

% X 显示时间的格式(%H:%M:%S)

% Z 时区

日期域

% a 星期几的简称( Sun..Sat)

% A 星期几的全称( Sunday..Saturday)

% b 月的简称(Jan..Dec)

% B 月的全称(January..December)

% c 日期和时间( Mon Nov 8 14:12:46 CST 1999)

% d 一个月的第几天(01..31)

% D 日期(mm/dd/yy)

% h 和%b选项相同

% j 一年的第几天(001..366)

% m 月(01..12)

% w 一个星期的第几天(0代表星期天)

% W 一年的第几个星期(00..53,星期一为第一天)

% x 显示日期的格式(mm/dd/yy)

% y 年的最后两个数字( 1999则是99)

% Y 年(例如:1970,1996等)

需要特别说明的是,只有超级用户才能用date命令设置时间,一般用户只能用date命令显示时间。

例1:用指定的格式显示时间。

$ date ‘+This date now is =>%x ,time is now =>%X ,thank you !’

This date now is =>11/12/99 ,time is now =>17:53:01 ,thank you !

例2:用预定的格式显示当前的时间。

# date

Fri Nov 26 15:20:18 CST 1999

例3:设置时间为下午14点36分。

# date -s 14:36:00

Fri Nov 26 14:15:00 CST 1999

例4:设置时间为1999年11月28号。

# date -s 991128

Sun Nov 28 00:00:00 CST 1999

clear命令

clear命令的功能是清除屏幕上的信息,它类似于DOS中的 cls命令。清屏后,提示符移动到屏幕左上角。

例如:$ clear

磁盘操作与管理[转帖]

在Linux系统中,如何有效地对存储空间加以使用和管理,是一项非常重要的技术。本章讲述如何查看系统中存储空间的使用情况、如何进行文件的转储、以及如何进行软盘的格式化。

磁盘空间管理

  系统软件和应用软件,都要以文件的形式存储在计算机的磁盘空间中。因此,应该随时监视磁盘空间的使用情况。Linux系统提供了一组有关磁盘空间管理的命令。

  df命令

  功能:检查文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。

  语法:df [选项]

  说明:df命令可显示所有文件系统对i节点和磁盘块的使用情况。

  该命令各个选项的含义如下:

  -a 显示所有文件系统的磁盘使用情况,包括0块(block)的文件系统,如/proc文件系统。

  -k 以k字节为单位显示。

  -i 显示i节点信息,而不是磁盘块。

  -t 显示各指定类型的文件系统的磁盘空间使用情况。

  -x 列出不是某一指定类型文件系统的磁盘空间使用情况(与t选项相反)。

  -T 显示文件系统类型。

  例1:列出各文件系统的磁盘空间使用情况。

  $ df

  Filesystem 1 K-blocks Used Available Use% Mounted on

  /dev/hda2 1361587 1246406 44823 97% /

  df命令的输出清单的第1列是代表文件系统对应的设备文件的路径名(一般是硬盘上的分区);第2列给出分区包含的数据块(1024字节)的数目;第 3,4列分别表示已用的和可用的数据块数目。用户也许会感到奇怪的是,第3,4列块数之和不等于第2列中的块数。这是因为缺省的每个分区都留了少量空间供系统管理员使用。即使遇到普通用户空间已满的情况,管理员仍能登录和留有解决问题所需的工作空间。清单中Use% 列表示普通用户空间使用的百分比,即使这一数字达到100%,分区仍然留有系统管理员使用的空间。最后,Mounted on列表示文件系统的安装点。

  例2:列出各文件系统的i节点使用情况。

  $ df -ia

  Filesystem Inodes IUsed IFree Iused% Mounted on

  /dev/ hda2 352256 75043 277213 21% /

  none 0 0 0 0% /proc

  localhost:(pid221) 0 0 0 0% /net

  例3:列出文件系统的类型。

  $ df -T

  Filesystem Type 1K-blocks Used Available use% Mounted on

  /dev/hda2 ext2 1361587 1246405 44824 97% /

  本例中的文件系统是ext2类型的。

  du命令

  du的英文原义为“disk usage”,含义为显示磁盘空间的使用情况。

  功能:统计目录(或文件)所占磁盘空间的大小。

  语法:du [选项] [Names…]

  说明:该命令逐级进入指定目录的每一个子目录并显示该目录占用文件系统数据块(1024字节)的情况。若没有给出Names,则对当前目录进行统计。

  该命令的各个选项含义如下:

  -s 对每个Names参数只给出占用的数据块总数。

  -a 递归地显示指定目录中各文件及子孙目录中各文件占用的数据块数。若既不指定-s,也不指定-a,则只显示Names中的每一个目录及其中的各子目录所占的磁盘块数。

  -b 以字节为单位列出磁盘空间使用情况(系统缺省以k字节为单位)。

  -k 以1024字节为单位列出磁盘空间使用情况。

  -c 最后再加上一个总计(系统缺省设置)。

  -l 计算所有的文件大小,对硬链接文件,则计算多次。

  -x 跳过在不同文件系统上的目录不予统计。

  下面举例说明du命令的使用:


  例1:查看/mnt目录占用磁盘空间的情况。 $ cd /mnt $ ls -lFR total 10 -rwxrwxrwx 2 root root ll0 Ju1 3l 00:33 aa*

  drwxr-xr-x 2 root root l024 Ju1 20 14:16 dev/

  -rw-r--r-- 1 root root 6229 Aug 2 0l:39 s1ack

  drwxrwxrwx 2 root root 1024 Aug 2 02:09 var/

  1rwxrwxrwx 1 root root l0 Aug 2 0l:51 wei->/home/wei/

  dev:

  tota1 0

  lrwxrwxrwx 1 root root 8 Ju1 20 l4:l6 cdrom->/dev/hdb

  var:

  tata1 37

  -r-xr-xr-x l root root 36064 Aug 2 02:09 rawrite. exe*
 

  例2:列出各目录所占的磁盘空间,但不详细列出每个文件所占的空间。

  $ du

  l ./dev

  38 ./var

  48 .

  输出清单中的第一列是以块为单位计的磁盘空间容量,第二列列出目录中使用这些空间的目录名称。

  注意不带选项的du命令将从当前目录开始沿着目录结构向下工作直到列出所有目录的容量为止。这可能是一个很长的清单,有时只需要一个总数。这时可在du命令中加-s选项来取得总数:

  $ du ?s /mnt

  /mnt

  例3:列出所有文件和目录所占的空间(使用a选项),而且以字节为单位(使用b选项)来计算大小。

  $ du -ab

  8 ./dev/cdrom

  l032 ./dev

  36064 ./var/rawrite. exe

  37088 ./var

  6229 ./s1ack

  1l0 ./aa

  l0 ./wei

  45493 .

  磁 盘 操 作

  dd命令

  功能:把指定的输入文件拷贝到指定的输出文件中,并且在拷贝过程中可以进行格式转换。可以用该命令实现DOS下的diskcopy命令的作用。先用dd命令把软盘上的数据写成硬盘的一个寄存文件,再把这个寄存文件写入第二张软盘上,完成diskcopy的功能。需要注意的是,应该将硬盘上的寄存文件用rm命令删除掉。系统默认使用标准输入文件和标准输出文件。

  语法:dd [选项]

  if =输入文件(或设备名称)。

  of =输出文件(或设备名称)。

  ibs = bytes 一次读取bytes字节,即读入缓冲区的字节数。

  skip = blocks 跳过读入缓冲区开头的ibs*blocks块。

  obs = bytes 一次写入bytes字节,即写入缓冲区的字节数。

  bs = bytes 同时设置读/写缓冲区的字节数(等于设置ibs和obs)。

  cbs = byte 一次转换bytes字节。

  count=blocks 只拷贝输入的blocks块。

  conv = ASCII 把EBCDIC码转换为ASCIl码。

  conv = ebcdic 把ASCIl码转换为EBCDIC码。

  conv = ibm 把ASCIl码转换为alternate EBCDIC码。

  conv = block 把变动位转换成固定字符。

  conv = ublock 把固定位转换成变动位。

  conv = ucase 把字母由小写转换为大写。

  conv = lcase 把字母由大写转换为小写。

  conv = notrunc 不截短输出文件。

  conv = swab 交换每一对输入字节。

  conv = noerror 出错时不停止处理。

  conv = sync 把每个输入记录的大小都调到ibs的大小(用NUL填充)。

  例1:要把一张软盘的内容拷贝到另一张软盘上,利用/tmp作为临时存储区。把源盘插入驱动器中,输入下述命令:

  $ dd if =/dev/fd0 of = /t
mp/tmpfile

  拷贝完成后,将源盘从驱动器中取出,把目标盘插入,输入命令:

  $ dd if = /tmp/tmpfile of =/dev/fd0

  软盘拷贝完成后,应该将临时文件删除:

  $ rm /tmp/tmpfile

  例2:把net.i这个文件写入软盘中,并设定读/写缓冲区的数目。

  (注意:软盘中的内容会被完全覆盖掉)

  $ dd if = net.i of = /dev/fd0 bs = 16384

  例3:将文件sfile拷贝到文件 dfile中。

  $ dd if=sfile of=dfile

  fdformat 命令

  软盘是用户常用的存储介质之一。软盘在使用之前必须先作格式化操作,然后可以用tar、dd、cpio等命令存储数据,也可以在软盘上建立可安装的文件系统。

  功能:低级格式化软盘

  语法:format [-n] device

  说明:该命令的作用是对软盘进行格式化。

  -n 软盘格式化后不作检验。

  device 指定要进行格式化的设备,通常是下述设备之一:

  /dev/fd0d360

  /dev/fd0h1200

  /dev/fd0D360

  /dev/fd0H360

  /dev/fd0D720

  /dev/fd0H720

  /dev/fd0h360

  /dev/fd0h720

  /dev/fd0H1440

进程调度[转帖]

进程调度

  kill命令

  当需要中断一个前台进程的时候,通常是使用组合键;但是对于一个后台进程恐怕就不是一个组合键所能解决的了,这时就必须求助于kill命令。该命令可以终止后台进程。至于终止后台进程的原因很多,或许是该进程占用的CPU时间过多;或许是该进程已经挂死。总之这种情况是经常发生的。

  kill命令是通过向进程发送指定的信号来结束进程的。如果没有指定发送信号,那么默认值为TERM信号。TERM信号将终止所有不能捕获该信号的进程。至于那些可以捕获该信号的进程可能就需要使用kill(9)信号了,该信号是不能被捕捉的。

  kill命令的语法格式很简单,大致有以下两种方式:

  kill [-s 信号 | -p ] [ -a ] 进程号 ...

  kill -l [信号]

  -s 指定需要送出的信号。既可以是信号名也可以对应数字。

  -p 指定kill命令只是显示进程的pid,并不真正送出结束信号。

  -l 显示信号名称列表,这也可以在/usr/include/linux/signal.h文件中找到。

  kill命令的使用

  下面看看该命令的使用。

  [例24] 在执行一条find指令时由于时间过长,决定终止该进程。

  首先应该使用ps命令来查看该进程对应的PID,键入ps,显示如下:

  PID TTY TIME COMMAND

  285 1 00:00:00 -bash

  287 3 00:00:00 -bash

  289 5 00:00:00 /sbin/mingetty tty5

  290 6 00:00:00 /sbin/mingetty tty6

  312 3 00:00:00 telnet bbs3

  341 4 00:00:00 /sbin/mingetty tty4

  345 1 00:00:00 find / -name foxy.jpg

  348 1 00:00:00 ps

  可以看到该进程对应的PID是345,现在使用kill命令来终止该进程。键入:

  # kill 345

  再用ps命令查看,就可以看到,find进程已经被杀掉了。
 
  [例25] 杀掉进程11721

  # ps

  PID TTY TIME COMMAND

  11668 p1 00:00:00 -tcsh

  11721 p1 00:00:00 cat

  11737 p1 00:00:00 ps

  # kill 11721

  [1] Terminated cat

  #

  有时候可能会遇到这样的情况,某个进程已经挂死或闲置,使用kill命令却杀不掉。这时候就必须发送信号9,强行关闭此进程。当然这种“野蛮”的方法很可能会导致打开的文件出现错误或者数据丢失之类的错误。所以不到万不得已不要使用强制结束的办法。如果连信号9都不响应,那恐怕就只有重新启动计算机了。

  控制多个进程命令

  Linux可使用户同时运行多个进程,还允许用户或系统管理员能控制正在运行的进程。

  nohup命令

  理论上,我们一般退出Linux系统时,会把所有的程序全部结束掉,包括那些后台程序。但有时候,例如您正在编辑一个很长的程序,但是您下班或是有事需要先退出系统,这时您又不希望系统把您编辑那么久的程序结束掉,希望退出系统时,程序还能继续执行。这时,我们就可以使用nohup命令使进程在用户退出后仍继续执行。

  一般这些进程我们都是让它在后台执行,结果则会写到用户自己的目录下的nohup.out这个文件里(也可以使用输出重定向,让它输出到一个特定的文件)。[例26]

  $ nohup sort sales.dat &

  这条命令告诉sort命令忽略用户已退出系统,它应该一直运行,直到进程完成。利用这种方法,可以启动一个要运行几天甚至几周的进程,而且在它运行时,用户不需要去登录。

  nohup命令把一条命令的所有输出和错误信息送到nohup.out文件中。若将输出重定向,则只有错误信息放在nohup.out文件中。

  renice命令

  renice命令允许用户修改一个正在运行进程的优先权。

  利用renice命令可以在命令执行时调整其优先权。其格式如下:

  $ renice -number PID

  其中,参数number与nice命令的number意义相同。

  注:

  (1) 用户只能对自己所有的进程使用renice命令。

  (2) root用户可以在任何进程上使用renice命令。

  (3) 只有root用户才能提高进程的优先权。

文件链接命令ln[转帖]

文件链接命令


ln命令

  该命令在文件之间创建链接。这种操作实际上是给系统中已有的某个文件指定另外一个可用于访问它的名称。对于这个新的文件名,我们可以为之指定不同的访问权限,以控制对信息的共享和安全性的问题。

  如果链接指向目录,用户就可以利用该链接直接进入被链接的目录而不用打一大堆的路径名。而且,即使我们删除这个链接,也不会破坏原来的目录。

  语法:ln [选项] 目标 [链接名]

     ln [选项] 目标 目录

  链接有两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link)。建立硬链接时,链接文件和被链接文件必须位于同一个文件系统中,并且不能建立指向目录的硬链接。而对符号链接,则不存在这个问题。默认情况下,ln产生硬链接。

  在硬链接的情况下,参数中的“目标”被链接至[链接名]。如果[链接名]是一个目录名,系统将在该目录之下建立一个或多个与“目标”同名的链接文件,链接文件和被链接文件的内容完全相同。如果[链接名]为一个文件,用户将被告知该文件已存在且不进行链接。如果指定了多个“目标”参数,那么最后一个参数必须为目录。

  如果给ln命令加上- s选项,则建立符号链接。如果[链接名]已经存在但不是目录,将不做链接。[链接名]可以是任何一个文件名(可包含路径),也可以是一个目录,并且允许它与“目标”不在同一个文件系统中。如果[链接名]是一个已经存在的目录,系统将在该目录下建立一个或多个与“目标”同名的文件,此新建的文件实际上是指向原“目标”的符号链接文件。

  例:$ ln - s lunch /home/xu

  用户为当前目录下的文件lunch创建了一个符号链接/home/xu。

改变文件或目录的访问权限命令[转帖]

Linux系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作。
文件或目录的访问权限分为只读,只写和可执行三种。以文件为例,只读权限表示只允许读其内容,而禁止对其做任何的更改操作。可执行权限表示允许将该文件作为一个程序执行。文件被创建时,文件所有者自动拥有对该文件的读、写和可执行权限,以便于对文件的阅读和修改。用户也可根据需要把访问权限设置为需要的任何组合。

有三种不同类型的用户可对文件或目录进行访问:文件所有者,同组用户、其他用户。所有者一般是文件的创建者。所有者可以允许同组用户有权访问文件,还可以将文件的访问权限赋予系统中的其他用户。在这种情况下,系统中每一位用户都能访问该用户拥有的文件或目录。

每一文件或目录的访问权限都有三组,每组用三位表示,分别为文件属主的读、写和执行权限;与属主同组的用户的读、写和执行权限;系统中其他用户的读、写和执行权限。当用ls -l命令显示文件或目录的详细信息时,最左边的一列为文件的访问权限。例如:

$ ls -l sobsrc. tgz

-rw-r--r-- 1 root root 483997 Ju1 l5 17:3l sobsrc. tgz

横线代表空许可。r代表只读,w代表写,x代表可执行。注意这里共有10个位置。第一个字符指定了文件类型。在通常意义上,一个目录也是一个文件。如果第一个字符是横线,表示是一个非目录的文件。如果是d,表示是一个目录。

例如:

- rw- r-- r--

普通文件 文件主 组用户 其他用户

是文件sobsrc.tgz 的访问权限,表示sobsrc.tgz是一个普通文件;sobsrc.tgz的属主有读写权限;与sobsrc.tgz属主同组的用户只有读权限;其他用户也只有读权限。

确定了一个文件的访问权限后,用户可以利用Linux系统提供的chmod命令来重新设定不同的访问权限。也可以利用chown命令来更改某个文件或目录的所有者。利用chgrp命令来更改某个文件或目录的用户组。

下面分别对这些命令加以介绍。

 

chmod 命令

chmod命令是非常重要的,用于改变文件或目录的访问权限。用户用它控制文件或目录的访问权限。

该命令有两种用法。一种是包含字母和操作符表达式的文字设定法;另一种是包含数字的数字设定法。

1. 文字设定法

chmod [who] [+ | - | =] [mode] 文件名?

命令中各选项的含义为:

操作对象who可是下述字母中的任一个或者它们的组合:

u 表示“用户(user)”,即文件或目录的所有者。

g 表示“同组(group)用户”,即与文件属主有相同组ID的所有用户。

o 表示“其他(others)用户”。

a 表示“所有(all)用户”。它是系统默认值。

操作符号可以是:

+ 添加某个权限。

- 取消某个权限。

= 赋予给定权限并取消其他所有权限(如果有的话)。

设置mode所表示的权限可用下述字母的任意组合:

r 可读。

w 可写。

x 可执行。

X 只有目标文件对某些用户是可执行的或该目标文件是目录时才追加x 属性。

s 在文件执行时把进程的属主或组ID置为该文件的文件属主。方式“u+s”设置文件的用户ID位,“g+s”设置组ID位。

t 保存程序的文本到交换设备上。

u 与文件属主拥有一样的权限。

g 与和文件属主同组的用户拥有一样的权限。

o 与其他用户拥有一样的权限。

文件名:以空格分开的要改变权限的文件列表,支持通配符。

在一个命令行中可给出多个权限方式,其间用逗号隔开。例如:chmod g+r,o+r example

使同组和其他用户对文件example 有读权限。

2. 数字设定法

我们必须首先了解用数字表示的属性的含义:0表示没有权限,1表示可执行权限,2表示可写权限,4表示可读权限,然后将其相加。所以数字属性的格式应为3个从0到7的八进制数,其顺序是(u)(g)(o)。

例如,如果想让某个文件的属主有“读/写”二种权限,需要把4(可读)+2(可写)=6(读/写)。

数字设定法的一般形式为:

chmod [mode] 文件名?

例子:

(1)文字设定法:

例1:$ chmod a+x sort

即设定文件sort的属性为:

文件属主(u) 增加执行权限

与文件属主同组用户(g) 增加执行权限

其他用户(o) 增加执行权限
 

例2:$ chmod ug+w,o-x text

即设定文件text的属性为:

文件属主(u) 增加写权限

与文件属主同组用户(g) 增加写权限

其他用户(o) 删除执行权限
 

例3:$ chmod u+s a.out

假设执行chmod后a.out的权限为(可以用ls ? l a.out命令来看):

?rws--x--x 1 inin users 7192 Nov 4 14:22 a.out

并且这个执行文件要用到一个文本文件shiyan1.c,其文件存取权限为“?rw-------”,即该文件只有其属主具有读写权限。

当其他用户执行a.out这个程序时,他的身份因这个程序暂时变成inin(由于chmod命令中使用了s选项),所以他就能够读取shiyan1.c这个文件(虽然这个文件被设定为其他人不具备任何权限),这就是s的功能。

因此,在整个系统中特别是root本身,最好不要过多的设置这种类型的文件(除非必要)这样可以保障系统的安全,避免因为某些程序的bug而使系统遭到入侵。

例4:$ chmod a?x mm.txt

$ chmod ?x mm.txt

$ chmod ugo?x mm.txt

 

以上这三个命令都是将文件mm.txt的执行权限删除,它设定的对象为所有使用者。

(2)数字设定法:

例1: $ chmod 644 mm.txt

$ ls ?l

即设定文件mm.txt的属性为:

-rw-r--r-- 1 inin users 1155 Nov 5 11:22 mm.txt

文件属主(u)inin 拥有读、写权限

与文件属主同组人用户(g) 拥有读权限

其他人(o) 拥有读权限

 

例2: $ chmod 750 wch.txt

$ ls ?l

-rwxr-x--- 1 inin users 44137 Nov 12 9:22 wchtxt

即设定wchtxt这个文件的属性为:

文件主本人(u)inin 可读/可写/可执行权

与文件主同组人(g) 可读/可执行权

其他人(o) 没有任何权限

chgrp命令

功能:改变文件或目录所属的组。

语法:chgrp [选项] group filename?

该命令改变指定指定文件所属的用户组。其中group可以是用户组ID,也可以是/etc/group文件中用户组的组名。文件名是以空格分开的要改变属组的文件列表,支持通配符。如果用户不是该文件的属主或超级用户,则不能改变该文件的组。

该命令的各选项含义为:

- R 递归式地改变指定目录及其下的所有子目录和文件的属组。

例1:$ chgrp - R book /opt/local /book

改变/opt/local /book/及其子目录下的所有文件的属组为book。

chown 命令

功能:更改某个文件或目录的属主和属组。这个命令也很常用。例如root用户把自
己的一个文件拷贝给用户xu,为了让用户xu能够存取这个文件,root用户应该把这个文件的属主设为xu,否则,用户xu无法存取这个文件。

语法:chown [选项] 用户或组 文件

说明:chown将指定文件的拥有者改为指定的用户或组。用户可以是用户名或用户ID。组可以是组名或组ID。文件是以空格分开的要改变权限的文件列表,支持通配符。

该命令的各选项含义如下:

- R 递归式地改变指定目录及其下的所有子目录和文件的拥有者。

- v 显示chown命令所做的工作。

例1:把文件shiyan.c的所有者改为wang。

$ chown wang shiyan.c

例2:把目录/his及其下的所有文件和子目录的属主改成wang,属组改成users。

$ chown - R wang.users /his

文本处理sort命令[转帖]

sort命令

  sort命令的功能是对文件中的各行进行排序。sort命令有许多非常实用的选项,这些选项最初是用来对数据库格式的文件内容进行各种排序操作的。实际上,sort命令可以被认为是一个非常强大的数据管理工具,用来管理内容类似数据库记录的文件。

  Sort命令将逐行对文件中的内容进行排序,如果两行的首字符相同,该命令将继续比较这两行的下一字符,如果还相同,将继续进行比较。

  语法:

  sort [选项] 文件

  说明:sort命令对指定文件中所有的行进行排序,并将结果显示在标准输出上。如不指定输入文件或使用“- ”,则表示排序内容来自标准输入。

  sort排序是根据从输入行抽取的一个或多个关键字进行比较来完成的。排序关键字定义了用来排序的最小的字符序列。缺省情况下以整行为关键字按ASCII字符顺序进行排序。

  改变缺省设置的选项主要有:

  - m 若给定文件已排好序,合并文件。

  - c 检查给定文件是否已排好序,如果它们没有都排好序,则打印一个出错信息,并以状态值1退出。

  - u 对排序后认为相同的行只留其中一行。

  - o 输出文件 将排序输出写到输出文件中而不是标准输出,如果输出文件是输入文件之一,sort先将该文件的内容写入一个临时文件,然后再排序和写输出结果。

  改变缺省排序规则的选项主要有:

  - d 按字典顺序排序,比较时仅字母、数字、空格和制表符有意义。

  - f 将小写字母与大写字母同等对待。

  - I 忽略非打印字符。

  - M 作为月份比较:“JAN”<“FEB”<? <“DEC”。

  - r 按逆序输出排序结果。

  +posl - pos2 指定一个或几个字段作为排序关键字,字段位置从posl开始,到pos2为止(包括posl,不包括pos2)。如不指定pos2,则关键字为从posl到行尾。字段和字符的位置从0开始。

  - b 在每行中寻找排序关键字时忽略前导的空白(空格和制表符)。

  - t separator 指定字符separator作为字段分隔符。

  下面通过几个例子来讲述sort的使用。


  用sort命令对text文件中各行排序后输出其结果。请注意,在原文件的第二、三行上的第一个单词完全相同,该命令将从它们的第二个单词vegetables与fruit的首字符处继续进行比较。

  $ cat text

  vegetable soup

  fresh vegetables

  fresh fruit

  lowfat milk

  $ sort text

  fresh fruit
 
  fresh vegetables

  lowfat milk

  vegetable soup

  用户可以保存排序后的文件内容,或把排序后的文件内容输出至打印机。下例中用户把排序后的文件内容保存到名为result的文件中。

  $ sort text>result


  以第2个字段作为排序关键字对文件example的内容进行排序。

  $ sort +1-2 example


  对于file1和file2文件内容反向排序,结果放在outfile中,利用第2个字段的第一个字符作为排序关键字。

  $ sort -r -o outfile +1.0 -1.1 example


  sort排序常用于在管道中与其他命令连用,组合完成比较复杂的功能,如利用管道将当前工作目录中的文件送给sort进行排序,排序关键字是第6个至第8个字段。

  $ ls - l | sort +5 - 7

  sort命令也可以对标准输入进行操作。例如,如果您想把几个文件文本行合并,并对合并后的文本行进行排序,您可以首先用命令cat把多个文件合并,然后用管道操作把合并后的文本行输入给命令sort,sort命令将输出这些合并及排序后的文本行。在下面的例子中,文件veglist与文件 fruitlist的文本行经过合并与排序后被保存到文件clist中。

  $ cat veglist fruitlist | sort > clist


  uniq命令

  文件经过处理后在它的输出文件中可能会出现重复的行。例如,使用cat命令将两个文件合并后,再使用sort命令进行排序,就可能出现重复行。这时可以使用uniq命令将这些重复行从输出文件中删除,只留下每条记录的唯一样本。

  语法:uniq [选项] 文件

  说明:这个命令读取输入文件,并比较相邻的行。在正常情况下,第二个及以后更多个重复行将被删去,行比较是根据所用字符集的排序序列进行的。该命令加工后的结果写到输出文件中。输入文件和输出文件必须不同。如果输入文件用“- ”表示,则从标准输入读取。

  该命令各选项含义如下:、

  - c 显示输出中,在每行行首加上本行在文件中出现的次数。它可取代- u和- d选项。

  - d 只显示重复行。

  - u 只显示文件中不重复的各行。

  - n 前n个字段与每个字段前的空白一起被忽略。一个字段是一个非空格、非制表符的字符串,彼此由制表符和空格隔开(字段从0开始编号)。

  +n 前n个字符被忽略,之前的字符被跳过(字符从0开始编号)。

  - f n 与- n相同,这里n是字段数。

  - s n 与+n相同,这里n是字符数。

  例如:

  1. 显示文件example中不重复的行。

  uniq - u example

  2. 显示文件example中不重复的行,从第2个字段的第2个字符开始做比较。

  uniq - u - 1 +1 example

目录的创建与删除命令[转帖]

目录的创建与删除命令 

mkdir命令

功能:创建一个目录(类似DOS下的md命令)。

语法:mkdir [选项] dirname

说明:该命令创建由dirname命名的目录。要求创建目录的用户在当前目录中(dirname的父目录中)具有写权限,并且dirname不能是当前目录中已有的目录或文件名称。

命令中各选项的含义为:

- m 对新建目录设置存取权限。也可以用chmod命令设置。

- p 可以是一个路径名称。此时若路径中的某些目录尚不存在, 加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录。

例如:在当前目录中建立inin 和inin下的/mail目录,也就是连续建两个目录。

$ mkdir - p - m 700 ./inin/mail/

该命令的执行结果是在当前目录中创建嵌套的目录层次inin /mail,权限设置为只有文件主有读、写和执行权限。

rmdir 命令

功能:删除空目录。

语法:rmdir [选项] dirname

说明:dirname表示目录名。该命令从一个目录中删除一个或多个子目录项。需要特别注意的是,一个目录被删除之前必须是空的。(注意,rm - r dir命令可代替rmdir,但是有很大危险性。)删除某目录时也必须具有对父目录的写权限。

命令中各选项的含义为:

- p 递归删除目录dirname,当子目录删除后其父目录为空时,也一同被删除。如果整个路径被删除或者由于某种原因保留部分路径,则系统在标准输出上显示相应的信息。

例如:

$ rmdir - p /usr/xu/txt

将/usr/xu/txt目录删除。

改变工作目录、显示目录内容命令

cd 命令

功能:改变工作目录。

语法:cd [directory]

说明:该命令将当前目录改变至directory所指定的目录。若没有指定directory,则回到用户的主目录。为了改变到指定目录,用户必须拥有对指定目录的执行和读权限。

该命令可以使用通配符(通配符含义请参见第十章)。

例如:假设用户当前目录是:/home/xu,现需要更换到/home/xu/pro目录中,

$ cd pro

此时,用户可以执行pwd命令来显示工作目录。

$ pwd

/home/xu/pro

pwd 命令

在Linux层次目录结构中,用户可以在被授权的任意目录下利用mkdir命令创建新目录,也可以利用cd命令从一个目录转换到另一个目录。然而,没有提示符来告知用户目前处于哪一个目录中。要想知道当前所处的目录,可以使用pwd命令,该命令显示整个路径名。

语法:pwd

说明:此命令显示出当前工作目录的绝对路径。

例:$ pwd

/home/xu

显示的路径名为/home/xu,每个目录名都用“/”隔开,根目录以开头的“/”表示。

ls 命令

ls是英文单词list的简写,其功能为列出目录的内容。这是用户最常用的一个命令之一,因为用户需要不时地查看某个目录的内容。该命令类似于DOS下的dir命令。

语法:ls [选项] [目录或是文件]

对于每个目录,该命令将列出其中的所有子目录与文件。对于每个文件,ls将输出其文件名以及所要求的其他信息。默认情况下,输出条目按字母顺序排序。当未给出目录名或是文件名时,就显示当前目录的信息。

命令中各选项的含义如下:

- a 显示指定目录下所有子目录与文件,包括隐藏文件。

- A 显示指定目录下所有子目录与文件,包括隐藏文件。但不列出“.”和“..”。

- b 对文件名中的不可显示字符用八进制逃逸字符显示。

- c 按文件的修改时间排序。

- C 分成多列显示各项。

- d 如果参数是目录,只显示其名称而不显示其下的各文件。往往与l选项一起使用,以得到目录的详细信息。

- f 不排序。该选项将使lts选项失效,并使aU选项有效。

- F 在目录名后面标记“/”,可执行文件后面标记“*”,符号链接后面标记“@”,管道(或FIFO)后面标记“|”,socket文件后面标记“=”。

- i 在输出的第一列显示文件的i节点号。

- l 以长格式来显示文件的详细信息。这个选项最常用。每行列出的信息依次是:

文件类型与权限 链接数 文件属主 文件属组 文件大小 建立或最近修改的时间 名字

对于符号链接文件,显示的文件名之后有“?〉”和引用文件路径名。

对于设备文件,其“文件大小”字段显示主、次设备号,而不是文件大小。目录中的总块数显示在长格式列表的开头,其中包含间接块。

- L 若指定的名称为一个符号链接文件,则显示链接所指向的文件。

- m 输出按字符流格式,文件跨页显示,以逗号分开。

- n 输出格式与l选项相同,只不过在输出中文件属主和属组是用相应的UID号和GID号来表示,而不是实际的名称。

- o 与l选项相同,只是不显示拥有者信息。

- p 在目录后面加一个“/”。

- q 将文件名中的不可显示字符用“?”代替。

- r 按字母逆序或最早优先的顺序显示输出结果。

- R 递归式地显示指定目录的各个子目录中的文件。

- s 给出每个目录项所用的块数,包括间接块。

- t 显示时按修改时间(最近优先)而不是按名字排序。若文件修改时间相同,则按字典顺序。修改时间取决于是否使用了c或u选顶。缺省的时间标记是最后一次修改时间。

- u 显示时按文件上次存取的时间(最近优先)而不是按名字排序。即将-t的时间标记修改为最后一次访问的时间。

- x 按行显示出各排序项的信息。

用ls - l命令显示的信息中,开头是由10个字符构成的字符串,其中第一个字符表示文件类型,它可以是下述类型之一:

- 普通文件

d 目录

l 符号链接

b 块设备文件

c 字符设备文件

后面的9个字符表示文件的访问权限,分为3组,每组3位。第一组表示文件属主的权限,第二组表示同组用户的权限,第三组表示其他用户的权限。每一组的三个字符分别表示对文件的读、写和执行权限。

各权限如下所示:

r 读

w 写

x 执行。对于目录,表示进入权限。

s 当文件被执行时,把该文件的UID或GID赋予执行进程的UID(用户ID)或GID(组ID)。

t 设置标志位(留在内存,不被换出)。如果该文件是目录,在该目录中的文件只能被超级用户、目录拥有者或文件属主删除。如果它是可执行文件,在该文件执行后,指向其正文段的指针仍留在内存。这样再次执行它时,系统就能更快地装入该文件。

- 没有设置权限。

例1:列出当前目录的内容。

$ ls -F

bin/ lib/ var/

etc/ tmp/ index. html

例2:列出某个目录的内容。

$ ls ?F /home/xu

Mai1/ map1e/ mm/ ptr/ telnetd*

fd/ mbox mount sobsrc. tgz tmp/

例3:列出某个目录下所有的文件(包括隐藏文件)。

$ 1s -aF /home/xu

./ . .e1m/ .netscape/ map1e ptr/

../ .fvwin2rc95 .term/ mbox sobsrc. tgz
<
br />.Xauthority .kermrc Mai1/ mm/ te1netd*

.bash-history .ncftp/ fd/ mount tmp/

 

例4:用长格式列出某个目录下所有的文件(包括隐藏文件)。

$ 1s -laF /home/xu

total 584

drwxr-xr-x l2 root root 1024 Nov 02 22:07 ./

drwxr-xr-x 15 bbs bbs 1024 Jul 29 07:08 ../

-rw-r--r-- 1 yu users 4343 Ju1 29 22:20 .bash-history

drwx------ 2 yu users 1024 May 17 06:36 .e1m/

--rw------ 1 root root 4628 Jun 2 1l:34 mbox

lrwxrwxrwx 1 root root l4 Ju1 29 03:08 mount->/mnt

drwxrwxr-x 4 root root 1024 Ju1 23 03:43 ptr/

-rw--r--r- 1 root root 483997 Ju1 l5 17:3l sobsrc. tgz

-rwxr-xr-x l root users 60177 Jun 8 01:29 telnetd*

drwxr-xr-x 2 root root 1024 Mar 6 22:32 tmp/

 

例5:用长格式列出某个目录下所有的文件包括隐藏文件和它们的i节点号。并把文件属主和属组以UID号和GID号的形式显示。

$ 1s -1ainF /home/xu

tota1 584

399672 drwxr-xr-x l2 0 0 l024 Nov 30 22:07 ./

333907 drwxr-xr-x 15 9999 99 l024  Ju1 29 07:08 ../

39980l -rw------- l 0 0 0 Jun 2 2:09 .Xauthority

399679 -rw-r--r-- 1 505 l00 4343 Jul 29 22:20 .bash-hist0ry

30l763 drwxr----- 2 505 100 l024  May 17 06:36 .e1m/

文件的复制、删除和移动命令[转帖]

文件的复制、删除和移动命令

  cp命令

  该命令的功能是将给出的文件或目录拷贝到另一文件或目录中,就如同DOS下的copy命令一样,功能非常强大。

  语法: cp [选项] 源文件或目录 目标文件或目录

  说明:该命令把指定的源文件复制到目标文件或把多个源文件复制到目标目录中。

  该命令的各选项含义如下:

  - a 该选项通常在拷贝目录时使用。它保留链接、文件属性,并递归地拷贝目录,其作用等于dpR选项的组合。

  - d 拷贝时保留链接。

  - f 删除已经存在的目标文件而不提示。

  - i 和f选项相反,在覆盖目标文件之前将给出提示要求用户确认。回答y时目标文件将被覆盖,是交互式拷贝。

  - p 此时cp除复制源文件的内容外,还将把其修改时间和访问权限也复制到新文件中。

  - r 若给出的源文件是一目录文件,此时cp将递归复制该目录下所有的子目录和文件。此时目标文件必须为一个目录名。

  - l 不作拷贝,只是链接文件。

  需要说明的是,为防止用户在不经意的情况下用cp命令破坏另一个文件,如用户指定的目标文件名是一个已存在的文件名,用cp命令拷贝文件后,这个文件就会被新拷贝的源文件覆盖,因此,建议用户在使用cp命令拷贝文件时,最好使用i选项。

  $ cp - i exam1.c /usr/wang/shiyan1.c

  该命令将文件exam1.c拷贝到/usr/wang 这个目录下,并改名为 shiyan1.c。若不希望重新命名,可以使用下面的命令:

  $ cp exam1.c /usr/ wang/

  $ cp - r /usr/xu/ /usr/liu/

  将/usr/xu目录中的所有文件及其子目录拷贝到目录/usr/liu中。


  mv命令

  用户可以使用mv命令来为文件或目录改名或将文件由一个目录移入另一个目录中。该命令如同DOS下的ren和move的组合。

  语法:mv [选项] 源文件或目录 目标文件或目录

  说明:视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。当第二个参数类型是文件时, mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。在跨文件系统移动文件时,mv先拷贝,再将原有文件删除,而链至该文件的链接也将丢失。

  命令中各选项的含义为:

  - I 交互方式操作。如果mv操作将导致对已存在的目标文件的覆盖,此时系统询问是否重写,要求用户回答y或n,这样可以避免误覆盖文件。

  - f 禁止交互操作。在mv操作要覆盖某已有的目标文件时不给任何指示,指定此选项后,i选项将不再起作用。

  如果所给目标文件(不是目录)已存在,此时该文件的内容将被新文件覆盖。为防止用户在不经意的情况下用mv命令破坏另一个文件,建议用户在使用mv命令移动文件时,最好使用i选项。

  需要注意的是,mv与cp的结果不同。mv好象文件“搬家”,文件个数并末增加,而cp对文件进行复制,文件个数增加了。

  例1:将/usr/xu中的所有文件移到当前目录(用“.”表示)中:

  $ mv /usr/xu/ * .

  例2:将文件wch.txt重命名为wjz.doc

  $ mv wch.txt wjz.doc

  rm命令

  在linux中创建文件很容易,系统中随时会有文件变得过时且毫无用处。用户可以用rm命令将其删除。该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除。对于链接文件,只是删除了链接,原有文件均保持不变。

  rm命令的一般形式为:

  rm [选项] 文件…

  如果没有使用- r选项,则rm不会删除目录。

  该命令的各选项含义如下:

  - f 忽略不存在的文件,从不给出提示。

  - r 指示rm将参数中列出的全部目录和子目录均递归地删除。

  - i 进行交互式删除。

  使用rm命令要格外小心。因为一旦一个文件被删除,它是不能被恢复的。例如,用户在输入cp,mv或其他命令时,不小心误输入了rm命令,当用户按了回车键并认识到自己的错误时,已经太晚了,文件已经没有了。为了防止此种情况的发生,可以使用rm命令中的 i选项来确认要删除的每个文件。如果用户输入y,文件将被删除。如果输入任何其他东西,文件将被保留。在下一个例子中,用户要删除文件test和 example。然后会被要求对每个文件进行确认。用户最终决定删除example文件,保留test文件。

  $ rm - ii test example

  Remove test ?n

  Remove example ?y

文件内容查询命令[转帖]

来自一盗版光盘,出处未知 

  grep、fgrep和egrep命令

  这组命令以指定模式搜索文件,并通知用户在什么文件中搜索到与指定的模式匹配的字符串,并打印出所有包含该字符串的文本行,在该文本行的最前面是该行所在的文件名。grep命令一次只能搜索一个指定的模式;egrep命令检索扩展的正则表达式(包括表达式组和可选项);fgrep命令检索固定字符串,它不识别正则表达式,是快速搜索命令。

  这组命令在搜索与定位文件中特定的主题方面非常有用。要搜索的模式可以被认为是一些关键词,您可以用它们来搜索文件中包含的这些关键词。编写程序时,可以用它来寻找某一个函数,或是相关的词组。grep命令的搜索功能比fgrep强大,因为grep命令的搜索模式可以是正则表达式,而 fgrep却不能。有关正则表达式请参见shell一章。

  该组命令中的每一个命令都有一组选项,利用这些选项可以改变其输出方式。例如,可以在搜索到的文本行上加入行号,或者只输出文本行的行号,或者输出所有与搜索模式不匹配的文本行,或只简单地输出已搜索到指定模式的文件名,并且可以指定在查找模式时忽略大小写。

  这组命令在指定的输入文件中查找与模式匹配的行。如果没有指定文件,则从标准输入中读取。正常情况下,每个匹配的行被显示到标准输出。如果要查找的文件是多个,则在每一行输出之前加上文件名。

  语法:

  grep [选项] [查找模式] [文件名1,文件名2,……]

  egrep [选项] [查找模式] [文件名1,文件名2,……]

  fgrep [选项] [查找模式] [文件名1,文件名2,……]

  这组命令各选项的含义为:

  - E 每个模式作为一个扩展的正则表达式对待。

  - F 每个模式作为一组固定字符串对待(以新行分隔),而不作为正则表达式。

  - b在输出的每一行前显示包含匹配字符串的行在文件中的字节偏移量。

  - c 只显示匹配行的数量。

  - i 比较时不区分大小写。

  - h 在查找多个文件时,指示grep不要将文件名加入到输出之前。

  - l 显示首次匹配串所在的文件名并用换行符将其隔开。当在某文件中多次出现匹配串时,不重复显示此文件名。

  - n 在输出前加上匹配串所在行的行号(文件首行行号为1)。

  - v 只显示不包含匹配串的行。

  - x 只显示整行严格匹配的行。

  - e expression 指定检索使用的模式。用于防止以“-”开头的模式被解释为命令选项。

  - f expfile 从expfile文件中获取要搜索的模式,一个模式占一行。

  对该组命令的使用还需注意以下方面:

  在命令后键入搜索的模式,再键入要搜索的文件。其中,文件名列表中也可以使用特殊字符,如“*”等,用来生成文件名列表。如果想在搜索的模式中包含有空格的字符串,可以用单引号把要搜索的模式括起来,用来表明搜索的模式是由包含空格的字符串组成。否则,Shell将把空格认为是命令行参数的定界符,而grep命令将把搜索模式中的单词解释为文件名列表中的一部分。在下面的例子中,grep命令在文件example中搜索模式“text file”。

  $ grep ’text file’ example

   用户可以在命令行上用Shell特殊字符来生成将要搜索的文件名列表。在下面的例子中,特殊字符“*”用来生成一个文件名列表,该列表包含当前目录下所有的文件。该命令将搜索出当前目录下所有文件中与模式匹配的行。

  $ grep data *

   特殊字符在搜索一组指定的文件时非常有用。例如,如果想搜索所有的C程序源文件中特定的模式,您可以用“*.c”来指定文件名列表。假设用户的 C程序中包含一些不必要的转向语句(goto语句),想要找到这些语句,可以用如下的命令来搜索并显示所有包含goto语句的代码行:

  $ grep goto *.c

  用户可以在命令行上键入搜索模式,也可以使用-f选项从指定文件中读取要搜索的模式。在文件中,每个搜索模式占一行。如果经常要搜索一组常见字符串时,这个功能非常有用。在下面的例子中,用户要在文件exam中搜索字符串“editor”和“create”,就把要搜索的模式放置在文件 mypats中,然后,grep命令从文件mypats中读取要搜索的模式。

  $ cat mypats

  editor

  create

  $ grep -f mypats exam

  文件查找命令

  find命令

  功能:在目录结构中搜索文件,并执行指定的操作。此命令提供了相当多的查找条件,功能很强大。

  语法:find 起始目录 寻找条件 操作

  说明:find命令从指定的起始目录开始,递归地搜索其各个子目录,查找满足寻找条件的文件并对之采取相关的操作。

  该命令提供的寻找条件可以是一个用逻辑运算符not、and、or组成的复合条件。逻辑运算符and、or、not的含义为:

  (1)and:逻辑与,在命令中用“-a”表示,是系统缺省的选项,表示只有当所给的条件都满足时,寻找条件才算满足。例如:

  $ find ?name ’tmp’ ?xtype c -user ’inin’

  该命令寻找三个给定条件都满足的所有文件。

  (2)or:逻辑或,在命令中用“-o”表示。该运算符表示只要所给的条件中有一个满足时,寻找条件就算满足。例如:

  $ find ?name ’tmp’ ?o ?name ’mina*’
 
  该命令查询文件名为’tmp’或是匹配’mina*’的所有文件。

  (3)not:逻辑非,在命令中用“!”表示。该运算符表示查找不满足所给条件的文件。例如:

  $ find ! ?name ’tmp’

  该命令查询文件名不是’tmp’的所有文件。

  需要说明的是:当使用很多的逻辑选项时,可以用括号把这些选项括起来。为了避免Shell本身对括号引起误解,在话号前需要加转义字符“”来去除括号的意义。

  例:$ find (?name ’tmp’ ?xtype c -user ’inin’ )

  寻找条件有以下选项:

  首先,下列各个选项中的n值可以有三种输入方式,假设n为20,则:

  +20 表示20以后(21,22,23等)

  -20 表示20以前(19,18,17等)

  20 表示正好是20

  1. 以名称和文件属性查找。

  - name ’字串’ 查找文件名匹配所给字串的所有文件,字串内可用通配符*、?、[ ]。

  - lname ’字串’ 查找文件名匹配所给字串的所有符号链接文件,字串内可用通配符*、?、[ ]。

  -gid n 查找属于ID号为n的用户组的所有文件。

  -uid n 查找属于ID号为n的用户的所有文件。

  -group ’字串’ 查找属于用户组名为所给字串的所有的文件。

  -user ’字串’ 查找属于用户名为所给字串的所有的文件。

  -empty 查找大小为0的目录或文件。

  -path ’字串’ 查找路径名匹配所给
字串的所有文件,字串内可用通配符*、?、[ ]。

  -perm 权限 查找具有指定权限的文件和目录,权限的表示可以如711,644。

  -size n[bckw] 查找指定文件大小的文件,n后面的字符表示单位,缺省为b,代表512字节的块。

  -type x 查找类型为x的文件,x为下列字符之一:

  b 块设备文件

  c 字符设备文件

  d 目录文件

  p 命名管道(FIFO)

  f 普通文件

  l 符号链接文件(symbolic links)

  s socket文件

  -xtype x 与-type基本相同,但只查找符号链接文件。

  2. 以时间为条件查找

  - amin n 查找n分钟以前被访问过的所有文件。

  - atime n 查找n天以前被访问过的所有文件。

  - cmin n 查找n分钟以前文件状态被修改过的所有文件。

  - ctime n 查找n天以前文件状态被修改过的所有文件。

  - mmin n 查找n分钟以前文件内容被修改过的所有文件。

  - mtime n 查找n天以前文件内容被修改过的所有文件。

  3. 可执行的操作

  - exec 命令名称 {} 对符合条件的文件执行所给的Linux 命令,而不询问用户是否需要执行该命令。{}表示命令的参数即为所找到的文件;命令的末尾必须以“ ;”结束。

  - ok 命令名称 { } 对符合条件的文件执行所给的Linux 命令,与exec不同的是,它会询问用户是否需要执行该命令。

  - ls 详细列出所找到的所有文件。

  - fprintf 文件名 将找到的文件名写入指定文件。

  - print 在标准输出设备上显示查找出的文件名。

  - printf 格式 格式的写法请参考有关C语言的书。

  例1:查找当前目录中所有以main开头的文件,并显示这些文件的内容。

  $ find . - name ‘main*’ - exec more {} ;

  例2:删除当前目录下所有一周之内没有被访问过的a .out或*.o文件。

  $ find . (- name a.out - o - name ‘*.o’)

  > - atime +7 - exec rm {} ;

  说明如下:

  命令中的“.”表示当前目录,此时find将从当前目录开始,逐个在其子目录中查找满足后面指定条件的文件。(和)表示括号(),其中的“” 称为转义符。之所以这样写是由于对Shell而言,(和)另有不同的含义,而不是这里的用于组合条件的用途。“- name a.out”是指要查找名为a.out的文件;“- name ‘*.o’”是指要查找所有名字以 .o结尾的文件。这两个- name之间的- o表示逻辑或(or),即查找名字为a.out或名字以 .o结尾的文件,find在当前目录及其子目录下找到这佯的文件之后,再进行判断,看其最后访问时间是否在7天以前(条件-atime +7),若是,则对该文件执行命令rm(- exec rm{ };)。其中{ }代表当前查到的符合条件的文件名,;则是语法所要求的。上述命令中第一行的最后一个是续行符。当命令太长而在一行写不下时,可输入一个,之后系统将显示一个>,指示用户继续输入命令。

  locate命令

  locate命令用于查找文件,它比find命令的搜索速度快,它需要一个数据库,这个数据库由每天的例行工作(crontab)程序来建立。当我们建立好这个数据库后,就可以方便地来搜寻所需文件了。

  该命令的一般形式为:

  locate 相关字

  例如:查找相关字issue

  $ locate issue

  /etc/issue

  /etc/issue.net

  /usr/man/man5/issue.5

  /usr/man/man5/issue.net.5

linux指令大全[2][注]来源于天津Linux热线

称 : at
使用权限 : 所有使用者

使用方式 : at -V [-q queue] [-f file] [-mldbv] TIME

说明 : at 可以让使用者指定在 TIME 这个特定时刻执行某个程式或指令,TIME 的格式是 HH:MM其中的 HH 为小时,MM 为分钟,甚至你也可以指定 am, pm, midnight, noon, teatime(就是下午 4 点锺)等口语词。

如果想要指定超过一天内的时间,则可以用 MMDDYY 或者 MM/DD/YY 的格式,其中 MM 是分钟,DD 是第几日,YY 是指年份。另外,使用者甚至也可以使用像是 now + 时间间隔来弹性指定时间,其中的时间间隔可以是 minutes, hours, days, weeks?

另外,使用者也可指定 today 或 tomorrow 来表示今天或明天。当指定了时间并按下 enter 之后,at 会进入交谈模式并要求输入指令或程式,当你输入完后按下 ctrl+D 即可完成所有动作,至于执行的结果将会寄回你的帐号中。

把计 :

-V : 印出版本编号
-q : 使用指定的伫列(Queue)来储存,at 的资料是存放在所谓的 queue 中,使用者可以同时使用多个 queue,而 queue 的编号为 a, b, c... z 以及 A, B, ... Z 共 52 个
-m : 即使程式/指令执行完成后没有输出结果, 也要寄封信给使用者
-f file : 读入预先写好的命令档。使用者不一定要使用交谈模式来输入,可以先将所有的指定先写入档案后再一次读入
-l : 列出所有的指定 (使用者也可以直接使用 atq 而不用 at -l)
-d : 删除指定 (使用者也可以直接使用 atrm 而不用 at -d)
-v : 列出所有已经完成但尚未删除的指定

例子 :
三天后的下午 5 点锺执行 /bin/ls :
at 5pm + 3 days /bin/ls

三个星期后的下午 5 点锺执行 /bin/ls :
at 5pm + 2 weeks /bin/ls

明天的 17:20 执行 /bin/date :
at 17:20 tomorrow /bin/date

1999 年的最后一天的最后一分钟印出 the end of world !
at 23:59 12/31/1999 echo the end of world !




名称:cal

使用权限:所有使用者

使用方式:cal [-mjy] [month [year]]

说明:

显示日历。若只有一个参数,则代表年份(1-9999),显示该年的年历。年份必须全部写出:``cal 89\ 将不会是显示 1989 年的年历。使用两个参数,则表示月份及年份。若没有参数则显示这个月的月历。
1752 年 9 月第 3 日起改用西洋新历,因这时大部份的国家都采用新历,有 10 天被去除,所以该月份的月历有些不同。在此之前为西洋旧历。

匡兜?

-m : 以星期一为每周的第一天方式显示。
-j : 以凯撒历显示,即以一月一日起的天数显示。
-y : 显示今年年历。

范例:

cal : 显示本月的月历。



[root@mylinux /root]# date
Tue Aug 15 08:00:18 CST 2000
[root@mylinux /root]# cal
August 2000
Su Mo Tu We Th Fr Sa
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31

[root@mylinux /root]#


cal 2001 : 显示公元 2001 年年历。

[root@mylinux /root]# cal 2001
2001

January February March
Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
1 2 3 4 5 6 1 2 3 1 2 3
7 8 9 10 11 12 13 4 5 6 7 8 9 10 4 5 6 7 8 9 10
14 15 16 17 18 19 20 11 12 13 14 15 16 17 11 12 13 14 15 16 17
21 22 23 24 25 26 27 18 19 20 21 22 23 24 18 19 20 21 22 23 24
28 29 30 31 25 26 27 28 25 26 27 28 29 30 31

April May June
Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
1 2 3 4 5 6 7 1 2 3 4 5 1 2
8 9 10 11 12 13 14 6 7 8 9 10 11 12 3 4 5 6 7 8 9
15 16 17 18 19 20 21 13 14 15 16 17 18 19 10 11 12 13 14 15 16
22 23 24 25 26 27 28 20 21 22 23 24 25 26 17 18 19 20 21 22 23
29 30 27 28 29 30 31 24 25 26 27 28 29 30

July August September
Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
1 2 3 4 5 6 7 1 2 3 4 1
8 9 10 11 12 13 14 5 6 7 8 9 10 11 2 3 4 5 6 7 8
15 16 17 18 19 20 21 12 13 14 15 16 17 18 9 10 11 12 13 14 15
22 23 24 25 26 27 28 19 20 21 22 23 24 25 16 17 18 19 20 21 22
29 30 31 26 27 28 29 30 31 23 24 25 26 27 28 29
30
October November December
Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
1 2 3 4 5 6 1 2 3 1
7 8 9 10 11 12 13 4 5 6 7 8 9 10 2 3 4 5 6 7 8
14 15 16 17 18 19 20 11 12 13 14 15 16 17 9 10 11 12 13 14 15
21 22 23 24 25 26 27 18 19 20 21 22 23 24 16 17 18 19 20 21 22
28 29 30 31 25 26 27 28 29 30 23 24 25 26 27 28 29
30 31

[root@mylinux /root]#





cal 5 2001 : 显示公元 2001 年 5 月月历。



[root@mylinux /root]# cal 5 2001
May 2001
Su Mo Tu We Th Fr Sa
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31

[root@mylinux /root]#





cal -m : 以星期一为每周的第一天方式,显示本月的月历。



[root@mylinux /root]# cal -m
August 2000
Mo Tu We Th Fr Sa Su
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31

[root@mylinux /root]#





cal -jy : 以一月一日起的天数显示今年的年历。



[root@mylinux /root]# cal -jy
2000

January February
Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat
1 32 33 34 35 36
2 3 4 5 6 7 8 37 38 39 40 41 42 43
9 10 11 12 13 14 15 44 45 46 47 48 49 50
16 17 18 19 20 21 22 51 52 53 54 55 56 57
23 24 25 26 27 28 29 58 59 60
30 31
March April
Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat
61 62 63 64 92
65 66 67 68 69 70 71 93 94 95 96 97 98 99
72 73 74 75 76 77 78 100 101 102 103 104 105 106
79 80 81 82 83 84 85 107 108 109 110 111 112 113
86 87 88 89 90 91 114 115 116 117 118 119 120
121
May June
Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat
122 123 124 125 126 127 153 154 155
128 129 130 131 132 133 134 156 157 158 159 160 161 162
135 136 137 138 139 140 141 163 164 165 166 167 168 169
142 143 144 145 146 147 148 170 171 172 173 174 175 176
149 150 151 152 177 178 179 180 181 182

July August
Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat
183 214 215 216 217 218
184 185 186 187 188 189 190 219 220 221 222 223 224 225
191 192 193 194 195 196 197 226 227 228 229 230 231 232
198 199 200 201 202 203 204 233 234 235 236 237 238 239
205 206 207 208 209 210 211 240 241 242 243 244
212 213
September October
Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat
245 246 275 276 277 278 279 280 281
247 248 249 250 251 252 253 282 283 284 285 286 287 288
254 255 256 257 258 259 260 289 290 291 292 293 294 295
261 262 263 264 265 266 267 296 297 298 299 300 301 302
268 269 270 271 272 273 274 303 304 305

November December
Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat
306 307 308 309 336 337
310 311 312 313 314 315 316 338 339 340 341 342 343 344
317 318 319 320 321 322 323 345 346 347 348 349 350 351
324 325 326 327 328 329 330 352 353 354 355 356 357 358
331 332 333 334 335 359 360 361 362 363 364 365
366

[root@mylinux /root]#




名称 : crontab
使用权限 : 所有使用者

使用方式 :

crontab [ -u user ] filecrontab [ -u user ] { -l | -r | -e }
说明 :
crontab 是用来让使用者在固定时间或固定间隔执行程式之用,换句话说,也就是类似使用者的时程表。-u user 是指设定指定 us
er 的时程表,这个前提是你必须要有其权限(比如说是 root)才能够指定他人的时程表。如果不使用 -u user 的话,就是表示设定自己的时程表。

餐数 :

-e : 执行文字编辑器来设定时程表,内定的文字编辑器是 VI,如果你想用别的文字编辑器,则请先设定 VISUAL 环境变数来指定使用那个文字编辑器(比如说 setenv VISUAL joe)
-r : 删除目前的时程表
-l : 列出目前的时程表

时程表的格式如下 :
f1 f2 f3 f4 f5 program

其中 f1 是表示分钟,f2 表示小时,f3 表示一个月份中的第几日,f4 表示月份,f5 表示一个星期中的第几天。program 表示要执行的程式。
当 f1 为 * 时表示每分钟都要执行 program,f2 为 * 时表示每小时都要执行程式,其余类推
当 f1 为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要执行,f2 为 a-b 时表示从第 a 到第 b 小时都要执行,其余类推
当 f1 为 */n 时表示每 n 分钟个时间间隔执行一次,f2 为 */n 表示每 n 小时个时间间隔执行一次,其余类推
当 f1 为 a, b, c,... 时表示第 a, b, c,... 分钟要执行,f2 为 a, b, c,... 时表示第 a, b, c...个小时要执行,其余类推

使用者也可以将所有的设定先存放在档案 file 中,用 crontab file 的方式来设定时程表。
例子 :

每月每天每小时的第 0 分钟执行一次 /bin/ls :
0 7 * * * /bin/ls

在 12 月内, 每天的早上 6 点到 12 点中,每隔 20 分钟执行一次 /usr/bin/backup :
0 6-12/3 * 12 * /usr/bin/backup

周一到周五每天下午 5:00 寄一封信给 alex@domain.name :
0 17 * * 1-5 mail -s "hi" alex@domain.name < /tmp/maildata

每月每天的午夜 0 点 20 分, 2 点 20 分, 4 点 20 分....执行 echo "haha"
20 0-23/2 * * * echo "haha"

注意 :

当程式在你所指定的时间执行后,系统会寄一封信给你,显示该程式执行的内容,若是你不希望收到这样的信,请在每一行空一格之后加上 > /dev/null 2>&1 即可。

名称 : date
使用权限 : 所有使用者

使用方式 :

date [-u] [-d datestr] [-s datestr] [--utc] [--universal] [--date=datestr] [--set=datestr] [--help] [--version] [+FORMAT] [MMDDhhmm[[CC]YY][.ss]]

说明 :

date 可以用来显示或设定系统的日期与时间,在显示方面,使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记,其中可用的标记列表如下 :

时间方面 :

% : 印出 %
%n : 下一行
%t : 跳格
%H : 小时(00..23)
%I : 小时(01..12)
%k : 小时(0..23)
%l : 小时(1..12)
%M : 分钟(00..59)
%p : 显示本地 AM 或 PM
%r : 直接显示时间 (12 小时制,格式为 hh:mm:ss [AP]M)
%s : 从 1970 年 1 月 1 日 00:00:00 UTC 到目前为止的秒数
%S : 秒(00..61)
%T : 直接显示时间 (24 小时制)
%X : 相当于 %H:%M:%S
%Z : 显示时区

日期方面 :
%a : 星期几 (Sun..Sat)
%A : 星期几 (Sunday..Saturday)
%b : 月份 (Jan..Dec)
%B : 月份 (January..December)
%c : 直接显示日期与时间
%d : 日 (01..31)
%D : 直接显示日期 (mm/dd/yy)
%h : 同 %b
%j : 一年中的第几天 (001..366)
%m : 月份 (01..12)
%U : 一年中的第几周 (00..53) (以 Sunday 为一周的第一天的情形)
%w : 一周中的第几天 (0..6)
%W : 一年中的第几周 (00..53) (以 Monday 为一周的第一天的情形)
%x : 直接显示日期 (mm/dd/yy)
%y : 年份的最后两位数字 (00.99)
%Y : 完整年份 (0000..9999)

若是不以加号作为开头,则表示要设定时间,而时间格式为 MMDDhhmm[[CC]YY][.ss],其中 MM 为月份,DD 为日,hh 为小时,mm 为分钟,CC 为年份前两位数字,YY 为年份后两位数字,ss 为秒数
把计 :

-d datestr : 显示 datestr 中所设定的时间 (非系统时间)
--help : 显示辅助讯息
-s datestr : 将系统时间设为 datestr 中所设定的时间
-u : 显示目前的格林威治时间
--version : 显示版本编号

例子 :
显示时间后跳行,再显示目前日期 :
date +%T%n%D

显示月份与日数 :
date +%B %d

显示日期与设定时间(12:34:56) :
date --date 12:34:56

注意 :

当你不希望出现无意义的 0 时(比如说 1999/03/07),则可以在标记中插入 - 符号,比如说 date +%-H:%-M:%-S 会把时分秒中无意义的 0 给去掉,像是原本的 08:09:04 会变为 8:9:4。另外,只有取得权限者(比如说 root)才能设定系统时间。

当你以 root 身分更改了系统时间之后,请记得以 clock -w 来将系统时间写入 CMOS 中,这样下次重新开机时系统时间才会持续抱持最新的正确值。


名称 : sleep
使用权限 : 所有使用者

使用方式 : sleep [--help] [--version] number[smhd]

说明 : sleep 可以用来将目前动作延迟一段时间

参数说明 :

--help : 显示辅助讯息
--version : 显示版本编号
number : 时间长度,后面可接 s、m、h 或 d
其中 s 为秒,m 为 分钟,h 为小时,d 为日数

例子 :
显示目前时间后延迟 1 分钟,之后再次显示时间 :
date;sleep 1m;date



名称: time
使用权限: 所有使用者

使用方式: time [options] COMMAND [arguments]

说明: time 指令的用途,在于量测特定指令执行时所需消耗的时间及系统资源等资讯。例如 CPU 时间、记忆体、输入输出等等。需要特别注意的是,部分资讯在 Linux 上显示不出来。这是因为在 Linux 上部分资源的分配函式与 time 指令所预设的方式并不相同,以致于 time 指令无法取得这些资料。

把计?

-o or --output=FILE
设定结果输出档。这个选项会将 time 的输出写入 所指定的档案中。如果档案已经存在,系统将覆写其内容。
-a or --append
配合 -o 使用,会将结果写到档案的末端,而不会覆盖掉原来的内容。
-f FORMAT or --format=FORMAT
以 FORMAT 字串设定显示方式。当这个选项没有被设定的时候,会用系统预设的格式。不过你可以用环境变数 time 来设定这个格式,如此一来就不必每次登入系统都要设定一次。
一般设定上,你可以用
\t
表示跳栏,或者是用
\n
表示换行。每一项资料要用 % 做为前导。如果要在字串中使用百分比符号,就用 。(学过 C 语言的人大概会觉得很熟悉)
time 指令可以显示的资源有四大项,分别是:

Time resources
Memory resources
IO resources
Command info

详细的内容如下:


Time Resources
E 执行指令所花费的时间,格式是:[hour]:minute:second。请注意这个数字并不代表实际的 CPU 时间。
e 执行指令所花费的时间,单位是秒。请注意这个数字并不代表实际的 CPU 时间。
S 指令执行时在核心模式(kernel mode)所花费的时间,单位是秒。
U 指令执行时在使用者模式(user mode)所花费的时间,单位是秒。
P 执行指令时 CPU 的占用比例。其实这个数字就是核心模式加上使用者模式的 CPU 时间除以总时间。


Memory Resources
M 执行时所占用的实体记忆体的最大值。单位是 KB
t 执行时所占用的实体记忆体的平均值,单位是 KB
K 执行程序所占用的记忆体总量(stack+data+text)的平均大小,单位是 KB
D 执行程序的自有资料区(unshared data are
a)的平均大小,单位是 KB
p 执行程序的自有堆叠(unshared stack)的平均大小,单位是 KB
X 执行程序间共享内容(shared text)的平均值,单位是 KB
Z 系统记忆体页的大小,单位是 byte。对同一个系统来说这是个常数


IO Resources
F 此程序的主要记忆体页错误发生次数。所谓的主要记忆体页错误是指某一记忆体页已经置换到置换档(swap file)中,而且已经分配给其他程序。此时该页的内容必须从置换档里再读出来。
R 此程序的次要记忆体页错误发生次数。所谓的次要记忆体页错误是指某一记忆体页虽然已经置换到置换档中,但尚未分配给其他程序。此时该页的内容并未被破坏,不必从置换档里读出来
W 此程序被交换到置换档的次数
c 此程序被强迫中断(像是分配到的 CPU 时间耗尽)的次数
w 此程序自愿中断(像是在等待某一个 I/O 执行完毕,像是磁碟读取等等)的次数
I 此程序所输入的档案数
O 此程序所输出的档案数
r 此程序所收到的 Socket Message
s 此程序所送出的 Socket Message
k 此程序所收到的信号 ( Signal )数量


Command Info
C 执行时的参数以及指令名称
x 指令的结束代码 ( Exit Status )




-p or --portability
这个选项会自动把显示格式设定成为:
real %e
user %U
sys %S
这么做的目的是为了与 POSIX 规格相容。
-v or --verbose
这个选项会把所有程式中用到的资源通通列出来,不但如一般英文语句,还有说明。对不想花时间去熟习格式设定或是刚刚开始接触这个指令的人相当有用。

范例:
利用下面的指令
time -v ps -aux

我们可以获得执行 ps -aux 的结果和所花费的系统资源。如下面所列的资料:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.4 1096 472 ? S Apr19 0:04 init
root 2 0.0 0.0 0 0 ? SW Apr19 0:00 [kflushd]
root 3 0.0 0.0 0 0 ? SW Apr19 0:00 [kpiod]
......
root 24269 0.0 1.0 2692 996 pts/3 R 12:16 0:00 ps -aux

Command being timed: "ps -aux"
User time (seconds): 0.05
System time (seconds): 0.06
Percent of CPU this job got: 68%
Elapsed (wall clock) time (h:mm:ss or m:ss): 0:00.16
Average shared text size (kbytes): 0
Average unshared data size (kbytes): 0
Average stack size (kbytes): 0
Average total size (kbytes): 0
Maximum resident set size (kbytes): 0
Average resident set size (kbytes): 0
Major (requiring I/O) page faults: 238
Minor (reclaiming a frame) page faults: 46
Voluntary context switches: 0
Involuntary context switches: 0
Swaps: 0
File system inputs: 0
File system outputs: 0
Socket messages sent: 0
Socket messages received: 0
Signals delivered: 0
Page size (bytes): 4096
Exit status: 0



名称: uptime
使用权限: 所有使用者
使用方式: uptime [-V]
说明: uptime 提供使用者下面的资讯,不需其他参数:

现在的时间
系统开机运转到现在经过的时间
连线的使用者数量
最近一分钟,五分钟和十五分钟的系统负载
参数: -V 显示版本资讯。
范例: uptime
其结果为:
10:41am up 5 days, 10 min, 1 users, load average: 0.00, 0.00, 1.99

名称:chfn

使用权限:所有使用者

用法:shell>> chfn

说明:提供使用者更改个人资讯,用于 finger and mail username

范例:

shell>> chfn
Changing finger information for user
Password: [del]
Name[]:Johnney Huang ### 提供 finger 时的资料
Office[]:NCCU
Office Phone[]: [del]
Home Phone[]: [del]


名称:chsh

使用权限:所有使用者

用法:shell>> chsh

说明:更改使用者 shell 设定

范例:

shell>> chsh
Changing fihanging shell for user1
Password: [del]
New shell [/bin/tcsh]: ### [是目前使用的 shell]
[del]

shell>> chsh -l ### 展示 /etc/shells 档案内容
/bin/bash
/bin/sh
/bin/ash
/bin/bsh
/bin/tcsh
/bin/csh



” finger [返回]
名称: finger
使用权限: 所有使用者

使用方式: finger [options] user[@address]

说明:finger 可以让使用者查询一些其他使用者的资料。会列出来的资料有:

Login Name
User Name
Home directory
Shell
Login status
mail status
.plan
.project
.forward

其中 .plan ,.project 和 .forward 就是使用者在他的 Home Directory 里的 .plan , .project 和 .forward 等档案里的资料。如果没有就没有。finger 指令并不限定于在同一伺服器上查询,也可以寻找某一个远端伺服器上的使用者。只要给一个像是 E-mail address 一般的地址即可。
把计?

-l
多行显示。

-s
单行显示。这个选项只显示登入名称,真实姓名,终端机名称,闲置时间,登入时间,办公室号码及电话号码。如果所查询的使用者是远端伺服器的使用者,这个选项无效。

范例:下列指令可以查询本机管理员的资料:
finger root

其结果如下:
Login: root Name: root
Directory: /root Shell: /bin/bash
Never logged in.
No mail.
No Plan.




名称:last

使用权限:所有使用者

使用方式:shell>> last [options]

说明:显示系统开机以来获是从每月初登入者的讯息

把计?

-R 省略 hostname 的栏位
-num 展示前 num 个
username 展示 username 的登入讯息
tty 限制登入讯息包含终端机代号

范例:

shell>> last -R -2
johnney pts/1 Mon Aug 14 20:42 still logged in
johnney pts/0 Mon Aug 14 19:59 still logged in

wtmp begins Tue Aug 1 09:01:10 2000 ### /var/log/wtmp


shell>> last -2 minery
minery pts/0 140.119.217.115 Mon Aug 14 18:37 - 18:40 (00:03)
minery pts/0 140.119.217.115 Mon Aug 14 17:22 - 17:24 (00:02)

wtmp begins Tue Aug 1 09:01:10 2000




名称:login

这个命令都不会就不要干算了!呵呵我也不在这里多费笔墨耽误大家美好青春了^_^



名称:passwd

使用权限:所有使用者

使用方式:passwd [-k] [-l] [-u [-f]] [-d] [-S] [username]

说明:用来更改使用者的密码

参数:
-k

-l

-u

-f

-d 关闭使用者的密码认证功能, 使用者在登入时将可以不用输入密码, 只有具备 root 权限的使用者方可使用.

-S 显示指定使用者的密码认证种类, 只有具备 root 权限的使用者方可使用.

[username] 指定帐号名称.



名称 : who
使用权线 : 所有使用者都可使用

使用方式 : who - [husfV] [user]

说明 : 显示系统中有那些使用者正在上面,显示的资料包含了使用者 ID,使用的终端机,从那边连上来的,上线时间,呆滞时间,CPU 使用量,动作等等。

把计 :

-h : 不要显示标题列
-u : 不要显示使用者的动作/工作
-s : 使用简短的格式来显示
-f : 不要显示使用者的上线位置
-V : 显示程式版本

linux指令大全[1][注]来源于天津Linux热线

cat cd
chmod chown
cp cut

名称:cat
使用权限:所有使用者
使用方式:cat [-AbeEnstTuv] [--help] [--version] fileName
说明:把档案串连接后传到基本输出(萤幕或加 > fileName 到另一个档案)
参数:
-n 或 --number 由 1 开始对所有输出的行数编号
-b 或 --number-nonblank 和 -n 相似,只不过对于空白行不编号
-s 或 --squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行
-v 或 --show-nonprinting

范例:
cat -n textfile1 > textfile2 把 textfile1 的档案内容加上行号后输入 textfile2 这个档案里
cat -b textfile1 textfile2 >> textfile3 把 textfile1 和 textfile2 的档案内容加上行号(空白行不加)之后将内容附加到 textfile3

名称 : cd
使用权限 : 所有使用者

使用方式 : cd [dirName]

说明 : 变换工作目录至 dirName。 其中 dirName 表示法可为绝对路径或相对路径。若目录名称省略,则变换至使用者的 home directory (也就是刚 login 时所在的目录)。

另外,"~" 也表示为 home directory 的意思,"." 则是表示目前所在的目录,".." 则表示目前目录位置的上一层目录。

范例 : 跳到 /usr/bin/ :
cd /usr/bin

跳到自己的 home directory :
cd ~

跳到目前目录的上上两层 :
cd ../..



指令名称 : chmod
使用权限 : 所有使用者

使用方式 : chmod [-cfvR] [--help] [--version] mode file...

说明 : Linux/Unix 的档案存取权限分为三级 : 档案拥有者、群组、其他。利用 chmod 可以藉以控制档案如何被他人所存取。

把计 :

mode : 权限设定字串,格式如下 : [ugoa...][[+-=][rwxX]...][,...],其中u 表示该档案的拥有者,g 表示与该档案的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。
+ 表示增加权限、- 表示取消权限、= 表示唯一设定权限。
r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行。
-c : 若该档案权限确实已经更改,才显示其更改动作
-f : 若该档案权限无法被更改也不要显示错误讯息
-v : 显示权限变更的详细资料
-R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)
--help : 显示辅助说明
--version : 显示版本

范例 :将档案 file1.txt 设为所有人皆可读取 :
chmod ugo+r file1.txt

将档案 file1.txt 设为所有人皆可读取 :
chmod a+r file1.txt

将档案 file1.txt 与 file2.txt 设为该档案拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入 :
chmod ug+w,o-w file1.txt file2.txt

将 ex1.py 设定为只有该档案拥有者可以执行 :
chmod u+x ex1.py

将目前目录下的所有档案与子目录皆设为任何人可读取 :
chmod -R a+r *

此外chmod也可以用数字来表示权限如 chmod 777 file
语法为:chmod abc file

其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。

r=4,w=2,x=1
若要rwx属性则4+2+1=7;
若要rw-属性则4+2=6;
若要r-x属性则4+1=5。

范例:
chmod a=rwx file


chmod 777 file

效果相同
chmod ug=rwx,o=x file


chmod 771 file

效果相同





若用chmod 4755 filename可使此程式具有root的权限


指令名称 : chown
使用权限 : root

使用方式 : chmod [-cfhvR] [--help] [--version] user[:group] file...

说明 : Linux/Unix 是多人多工作业系统,所有的档案皆有拥有者。利用 chown 可以将档案的拥有者加以改变。一般来说,这个指令只有是由系统管理者(root)所使用,一般使用者没有权限可以改变别人的档案拥有者,也没有权限可以自己的档案拥有者改设为别人。只有系统管理者(root)才有这样的权限。

把计 :

user : 新的档案拥有者的使用者 IDgroup : 新的档案拥有者的使用者群体(group)-c : 若该档案拥有者确实已经更改,才显示其更改动作-f : 若该档案拥有者无法被更改也不要显示错误讯息-h : 只对于连结(link)进行变更,而非该 link 真正指向的档案-v : 显示拥有者变更的详细资料-R : 对目前目录下的所有档案与子目录进行相同的拥有者变更(即以递回的方式逐个变更)--help : 显示辅助说明--version : 显示版本

范例 :
将档案 file1.txt 的拥有者设为 users 群体的使用者 jessie :
chown jessie:users file1.txt

将目前目录下的所有档案与子目录的拥有者皆设为 users 群体的使用者 lamport :
chmod -R lamport:users *


名称:cp
使用权限:所有使用者

使用方式:

cp [options] source dest
cp [options] source... directory

说明:将一个档案拷贝至另一档案,或将数个档案拷贝至另一目录。

把计?

-a 尽可能将档案状态、权限等资料都照原状予以复制。
-r 若 source 中含有目录名,则将目录下之档案亦皆依序拷贝至目的地。
-f 若目的地已经有相同档名的档案存在,则在复制前先予以删除再行复制。
范例:
将档案 aaa 复制(已存在),并命名为 bbb :
cp aaa bbb

将所有的C语言程式拷贝至 Finished 子目录中 :
cp *.c Finished



名称:cut

使用权限:所有使用者

用法:cut -cnum1-num2 filename

说明:显示每行从开头算起 num1 到 num2 的文字。

范例:

shell>> cat example
test2
this is test1
shell>> cut -c0-6 example ## print 开头算起前 6 个字元
test2
this i


名称 : find
用法 : find
使用说明 :

将档案系统内符合 expression 的档案列出来。你可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。

find 根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部份为 path,之后的是 expression。如果 path 是空字串则使用目前路径,如果 expression 是空字串则使用 -print 为预设 expression?

expression 中可使用的选项有二三十个之多,在此只介绍最常用的部份。

-mount, -xdev : 只检查和指定目录在同一个档案系统下的档案,避免列出其它档案系统中的档案
-amin n : 在过去 n 分钟内被读取过
-anewer file : 比档案 file 更晚被读取过的档案
-atime n : 在过去 n 天过读取过的档案
-cmin n : 在过去 n 分钟内被修改过
-cnewer file :比档案 file 更新的档案
-ctime n : 在过去 n 天过修改过的档案
-empty : 空的档案-gid n or -group name : gid 是 n 或是 group 名称是 name
-ipath p, -path p : 路径名称符合 p 的档案,ipath 会忽略大小写
-name name, -iname name : 档案名称符合 name 的档案。iname 会忽略大小写
-size n : 档案大小 是 n 单位,b 代表 512 位元组的区块,c 表示字元数,k 表示 kilo bytes,w 是二个位元组。-type c : 档案类型是 c 的档案。
d: 目录
c: 字型装置档案
b: 区块装置档案
p: 具名贮列
f: 一般档案
l: 符号连结
s: socket
-pid n : process id 是 n 的档案

你可以使用 ( ) 将运算式
分隔,并使用下列运算。
exp1 -and exp2
! expr
-not expr
exp1 -or exp2
exp1, exp2
范例:
将目前目录及其子目录下所有延伸档名是 c 的档案列出来。
# find . -name "*.c"


将目前目录其其下子目录中所有一般档案列出
# find . -ftype f


将目前目录及其子目录下所有最近 20 分钟内更新过的档案列出
# find . -ctime -20



名称:less

使用权限:所有使用者

使用方式:

less [Option] filename

说明:
less 的作用与 more 十分相似,都可以用来浏览文字档案的内容,不同的是 less 允许使用者往回卷动
以浏览已经看过的部份,同时因为 less 并未在一开始就读入整个档案,因此在遇上大型档案的开启时,会比一般的文书编辑器(如 vi)来的快速。


范例:


指令名称 : ln
使用权限 : 所有使用者

使用方式 : ln [options] source dist,其中 option 的格式为 :

[-bdfinsvF] [-S backup-suffix] [-V {numbered,existing,simple}]
[--help] [--version] [--]
说明 : Linux/Unix 档案系统中,有所谓的连结(link),我们可以将其视为档案的别名,而连结又可分为两种 : 硬连结(hard link)与软连结(symbolic link),硬连结的意思是一个档案可以有多个名称,而软连结的方式则是产生一个特殊的档案,该档案的内容是指向另一个档案的位置。硬连结是存在同一个档案系统中,而软连结却可以跨越不同的档案系统。
ln source dist 是产生一个连结(dist)到 source,至于使用硬连结或软链结则由参数决定。

不论是硬连结或软链结都不会将原本的档案复制一份,只会占用非常少量的磁碟空间。


-f : 链结时先将与 dist 同档名的档案删除-d : 允许系统管理者硬链结自己的目录-i : 在删除与 dist 同档名的档案时先进行询问-n : 在进行软连结时,将 dist 视为一般的档案-s : 进行软链结(symbolic link)-v : 在连结之前显示其档名-b : 将在链结时会被覆写或删除的档案进行备份-S SUFFIX : 将备份的档案都加上 SUFFIX 的字尾-V METHOD : 指定备份的方式--help : 显示辅助说明--version : 显示版本
范例 :
将档案 yy 产生一个 symbolic link : zz
ln -s yy zz

将档案 yy 产生一个 hard link : zz
ln yy xx



名称:locate
使用权限:所有使用者
使用方式: locate [-q] [-d ] [--database=]
locate [-r ] [--regexp=]
locate [-qv] [-o ] [--output=]
locate [-e ] [-f ] <[-l ] [-c]

locate [-Vh] [--version] [--help]
说明:
locate 让使用者可以很快速的搜寻档案系统内是否有指定的档案。其方法是先建立一个包括系统内所有档案名称及路径的资料库,之后当寻找时就只需查询这个资料库,而不必实际深入档案系统之中了。

在一般的 distribution 之中,资料库的建立都被放在 contab 中自动执行。一般使用者在使用时只要用

# locate your_file_name

的型式就可以了。 参数:
-u
-U

建立资料库,-u 会由根目录开始,-U 则可以指定开始的位置。

-e


排除在寻找的范围之外。

-l
如果 是 1.则启动安全模式。在安全模式下,使用者不会看到权限无法看到的档案。这会始速度减慢,因为 locate 必须至实际的档案系统中取得档案的权限资料。

-f
将特定的档案系统排除在外,例如我们没有到理要把 proc 档案系统中的档案放在资料库中。

-q
安静模式,不会显示任何错误讯息。

-n
至多显示 个输出。

-r
使用正规运算式 做寻找的条件。

-o
指定资料库存的名称。

-d

指定资料库的路径

-h
显示辅助讯息

-v
显示更多的讯息

-V
显示程式的版本讯息 范例:

locate chdrv : 寻找所有叫 chdrv 的档案
locate -n 100 a.out : 寻找所有叫 a.out 的档案,但最多只显示 100 个
locate -u : 建立资料库


名称 : ls
使用权限 : 所有使用者

使用方式 : ls [-alrtAFR] [name...]

说明 : 显示指定工作目录下之内容(列出目前工作目录所含之档案及子目录)。


-a 显示所有档案及目录 (ls内定将档案名或目录名称开头为"."的视为隐藏档,不会列出)
-l 除档案名称外,亦将档案型态、权限、拥有者、档案大小等资讯详细列出
-r 将档案以相反次序显示(原定依英文字母次序)
-t 将档案依建立时间之先后次序列出
-A 同 -a ,但不列出 "." (目前目录) 及 ".." (父目录)
-F 在列出的档案名称后加一符号;例如可执行档则加 "*", 目录则加 "/"
-R 若目录下有档案,则以下之档案亦皆依序列出

范例:
列出目前工作目录下所有名称是 s 开头的档案,愈新的排愈后面 :
ls -ltr s*

将 /bin 目录以下所有目录及档案详细资料列出 :
ls -lR /bin

列出目前工作目录下所有档案及目录;目录于名称后加 "/", 可执行档于名称后加 "*" :
ls -AF

名称:more
使用权限:所有使用者
使用方式:more [-dlfpcsu] [-num] [+/pattern] [+linenum] [fileNames..]
说明:类似 cat ,不过会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能(与 vi 相似),使用中的说明文件,请按 h 。
参数:-num 一次显示的行数
-d 提示使用者,在画面下方显示 [Press space to continue, q to quit.] ,如果使用者按错键,则会显示 [Press h for instructions.] 而不是 哔 声
-l 取消遇见特殊字元 ^L(送纸字元)时会暂停的功能
-f 计算行数时,以实际上的行数,而非自动换行过后的行数(有些单行字数太长的会被扩展为两行或两行以上)
-p 不以卷动的方式显示每一页,而是先清除萤幕后再显示内容
-c 跟 -p 相似,不同的是先显示内容再清除其他旧资料
-s 当遇到有连续两行以上的空白行,就代换为一行的空白行
-u 不显示下引号 (根据环境变数 TERM 指定的 terminal 而有所不同)
+/ 在每个档案显示前搜寻该字串(pattern),然后从该字串之后开始显示
+num 从第 num 行开始显示
fileNames 欲显示内容的档案,可为复数个数
范例:
more -s testfile 逐页显示 testfile 之档案内容,如有连续两行以上空白行则以一行空白行显示。
more +20 testfile 从第 20 行开始显示 testfile 之档案内容。


名称:mv
使用权限:所有使用者

使用方式:

mv [options] source dest
mv [options] source... directory
说明:将一个档案移至另一档案,或将数个档案移至另一目录。
参数:-i 若目的地已有同名档案,则先询问是否覆盖旧档。

范例:

将档案 aaa 更名为 bbb :
mv aaa bbb

将所有的C语言程式移至 Finished 子目录中 :
mv -i *.c



名称:rm
使用权限:所有使用者

使用方式:rm [options] name...

说明:删除档案及目录。

把计?

-i 删除前逐一询问确认。
-f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。
-r 将目录及以下之档案
亦逐一删除。
范例:
删除所有C语言程式档;删除前逐一询问确认 :
rm -i *.c

将 Finished 子目录及子目录中所有档案删除 :
rm -r Finished



名称:rmdir
使用权限:于目前目录有适当权限的所有使用者

使用方式: rmdir [-p] dirName

说明: 删除空的目录。

参数: -p 是当子目录被删除后使它也成为空目录的话,则顺便一并删除。

范例:

将工作目录下,名为 AAA 的子目录删除 :
rmdir AAA

在工作目录下的 BBB 目录中,删除名为 Test 的子目录。若 Test 删除后,BBB 目录成为空目录,则 BBB 亦予删除。
rmdir -p BBB/Test



名称:split
使用权限:所有使用者

使用方式:split [OPTION] [INPUT [PREFIX]]

说明:

将一个档案分割成数个。而从 INPUT 分割输出成固定大小的档案,其档名依序为 PREFIXaa, PREFIXab...;PREFIX 预设值为 `x。若没有 INPUT 档或为 `-,则从标准输入读进资料。

匡兜?

-b, --bytes=SIZE

SIZE 值为每一输出档案的大小,单位为 byte。
-C, --line-bytes=SIZE

每一输出档中,单行的最大 byte 数。
-l, --lines=NUMBER

NUMBER 值为每一输出档的列数大小。
-NUMBER

与 -l NUMBER 相同。
--verbose

于每个输出档被开启前,列印出侦错资讯到标准错误输出。
--help

显示辅助资讯然后离开。
--version

列出版本资讯然后离开。
SIZE 可加入单位: b 代表 512, k 代表 1K, m 代表 1 Meg。

范例:

PostgresSQL 大型资料库备份与回存:

因 Postgres 允许表格大过你系统档案的最大容量,所以要将表格 dump 到单一的档案可能会有问题,使用 split进行档案分割。


% pg_dump dbname | split -b 1m - filename.dump.



重新载入


% createdb dbname
% cat filename.dump.* | pgsql dbname



名称:touch
使用权限:所有使用者

使用方式:
touch [-acfm]
[-r reference-file] [--file=reference-file]
[-t MMDDhhmm[[CC]YY][.ss]]
[-d time] [--date=time] [--time={atime,access,use,mtime,modify}]
[--no-create] [--help] [--version]
file1 [file2 ...]


说明:
touch 指令改变档案的时间记录。 ls -l 可以显示档案的时间记录。


参数:
a 改变档案的读取时间记录。
m 改变档案的修改时间记录。
c 假如目的档案不存在,不会建立新的档案。与 --no-create 的效果一样。
f 不使用,是为了与其他 unix 系统的相容性而保留。
r 使用参考档的时间记录,与 --file 的效果一样。
d 设定时间与日期,可以使用各种不同的格式。
t 设定档案的时间记录,格式与 date 指令相同。
--no-create 不会建立新档案。
--help 列出指令格式。
--version 列出版本讯息。


范例:


最简单的使用方式,将档案的时候记录改为现在的时间。若档案不存在,系统会建立一个新的档案。

touch file
touch file1 file2

将 file 的时间记录改为 5 月 6 日 18 点 3 分,公元两千年。时间的格式可以参考 date 指令,至少需输入 MMDDHHmm ,就是月日时与分。

touch -c -t 05061803 file
touch -c -t 050618032000 file

将 file 的时间记录改变成与 referencefile 一样。

touch -r referencefile file

将 file 的时间记录改成 5 月 6 日 18 点 3 分,公元两千年。时间可以使用 am, pm 或是 24 小时的格式,日期可以使用其他格式如 6 May 2000 。

touch -d "6:03pm" file
touch -d "05/06/2000" file
touch -d "6:03pm 05/06/2000" file