??xml version="1.0" encoding="utf-8" standalone="yes"?>日本精品一区二区三区在线观看视频,亚洲视屏在线播放,国产女人在线观看http://www.aygfsteel.com/liaojiyong/category/19327.htmlzh-cnTue, 20 Nov 2007 18:35:51 GMTTue, 20 Nov 2007 18:35:51 GMT60linux配置sendmail的问?http://www.aygfsteel.com/liaojiyong/archive/2007/11/20/161924.htmlliaojiyongliaojiyongTue, 20 Nov 2007 11:41:00 GMThttp://www.aygfsteel.com/liaojiyong/archive/2007/11/20/161924.htmlhttp://www.aygfsteel.com/liaojiyong/comments/161924.htmlhttp://www.aygfsteel.com/liaojiyong/archive/2007/11/20/161924.html#Feedback0http://www.aygfsteel.com/liaojiyong/comments/commentRss/161924.htmlhttp://www.aygfsteel.com/liaojiyong/services/trackbacks/161924.html
ChinaUnix.net
 >> ChinaUnix.net > Linux

请问关于linux配置sendmail的问?

作者:(x)最的风景     发表旉Q?002/09/24 09:02am

linux里面没有inetd.confq个文g
配置sendmail应该如何?br /> 谢谢

此文章相兌?
该文章有20个相兌论如下:(x)(点这儿可以发表评?/font>)
wind521 发表于:(x) 2002/09/24 10:11am
有自q一个进E?/etc/init.d/sendmail

配置文g?/etc/sendmail.cf

 
aaron2002 发表于:(x) 2002/09/24 10:54am
原来/etc/inetd.conf里的东西都在/etc/xinetd.d/目录下面
 
yano 发表于:(x) 2002/09/24 10:58am
sendmail的安装,(zhn)首先要保证域名提供商ؓ(f)你的L做了MX记录的域名解析。我做的MX记录如下?

名 Uͼ(x)abc.com
cR型:(x)mx(10)
L名:(x)mx1.abc.com

同时l主机做了mx1.abc.com的A记录?

试MX记录是否生效Q?zhn)可以用nslookup
#nslookup
> set q=mx
> abc.com
q时(zhn)就?x)从pȝ昄出的信息中看到?zhn)的MX记录是否生效?

REDHAT7.0安装完毕后,pȝ默认已经安装了sendmail-cf-8.11.0-8.i386.rpm软g包,h?etc/下是否有sendmail.cf文gQ如果没有,请安装sendmail-cf-8.11.0-8.i386.rpm的Y件包Q在linux的光盘中有?br />   
配置Q?br /> /etc/sendmail.cf

Cwlocalhost abc mx1.abc.com

/etc/mail/access

dQ?br /> 1.2.3.4RELAYQ?.2.3.4是我的IPQ?

/etc/mail/local-host-names
  
abc.comQ添加一别名Qؓ(f)了收取user@abc.com格式的信Ӟ

Z用户可以使用foxmailQoutlook{Y件进行收信。?zhn)需要安装imap。打开pȝ的pop3端口?br /> h?usr/sbin/下是否含有ipop2d、ipop3d文gQ如没有Q请安装imap-4.7c2-12.i386.rpm软g包?

配置Q?

/etc/xinetd.d/ipop2

默认Qdisable=yes 改ؓ(f)Qdisable=no

/etc/xinetd.d/ipop3

默认Qdisable=yes 改ؓ(f)Qdisable=no

/etc/xinetd.d/ipop3

默认Qdisable=yes 改ؓ(f)Qdisable=no

/etc/xinetd.d/pops

默认Qdisable=yes 改ؓ(f)Qdisable=no


最后:(x)

/etc/rc.d/init.d/xinetd restart

邮gpȝ用户的添加与删除Q?

dQ?br /> # /user/sbin/useradd username mail
#passwd username
#chsh username
/bin/true(更新用户的shells)

删除Q?

#/ /usr/sbin/userdel username

q时Q如果?zhn)的MX记录解析成功Q工作正常,上述操作无误Q?zhn)可以在windows客户端通过foxmailQoutlookq行收发邮g了,讄Q邮地址Qusername@abc.comQ̎P(x)usernameQ口令:(x)|络理员会(x)告诉你,pop3Qmx1.abc.com smtpQmx1.abc.com

 
最的风景 发表于:(x) 2002/09/24 11:00am
非常感谢各位
q些我已l配好了
我配popper的时?打不开110端口,不能用pop3
请问怎么打开?
在xinetd.conf里面?
 
yano 发表于:(x) 2002/09/24 11:06am
看上面我回复的帖子,上面?/td>
 
aaron2002 发表于:(x) 2002/09/24 12:37pm
你要自己?etc/xinetd.d/目录下创Z个pop3文g,至于q个文g的内Ҏ(gu)么?你可以参照这个目录下其它文g的内?
 
林晓?/a> 发表于:(x) 2002/11/01 04:05pm
请问
我在 redhat linux 7.1 上配|的 sendmail 邮箱在outlook里ؓ(f)什么不能发邮g? 攉件正?br /> 默认情况?smtp 端口不是打开的么?
我发邮g?出错如下:        

无法q接到服务器?帐户: '172.1.0.3', 服务? '172.1.0.3', 协议: SMTP, 端口: 25, 安全(SSL): ? 套接字错? 10061, 错误? 0x800CCC0E

我该怎么办呢?

 

 
aaron2002 发表于:(x) 2002/11/01 04:18pm
"无法q接到服务器"???
L(fng)认你的服务器是否正常q行,SMTP端口是否打开.
telnet x.x.x.x 25
 
林晓?/a> 发表于:(x) 2002/11/01 04:27pm
我在  win98  ?outlook 里能正常收信?

在发信时报那U错

redhat linux 7.1?smtp 不是默认打开的吗?

# netstat -a | grep "smtp"
tcp   0   0    localhost:smtp    *:*    listen

c:>telnet linuxhost smtp
 无法打开C机的q接 ?smtp 端口:q接p|

 

 
林晓?/a> 发表于:(x) 2002/11/01 04:52pm
 aaron2002   ,救救我啊
 
林晓?/a> 发表于:(x) 2002/11/04 05:28pm
救救我啊
 
deep-way 发表于:(x) 2002/11/07 10:11am
我装了Red Hat linux 7.2Qsendmail也是自带的,版本是V9
DNS都已l检查过Q完全正常?br /> POP协议是装?etc/xinetd.d下pop文gQ自己徏的)Qnetstat 已经看到0.0.0.0:110
sendmail用ps -ef监测也是工作正常
sendmail.cf和access文g也已l设|过
问题是,我在outlook express里设|了账号Q收邮g时报?br /> 报错信息为:(x)
POP3服务器已l?0U内没有响应。是否l等?0U以便服务器响应
账户Qxxx.test.com
服务器:(x)xxx.test.com

不知是何原因Q请各位大侠指教

 
brucectl 发表于:(x) 2002/11/13 06:25pm
你的DNS服务器有问题Q?br />
 
李勇 发表于:(x) 2002/11/14 08:18pm
Red Hat linux 7.1Q?br /> sendmail,pop3都v来了
用foxmail可以发信成功Q没有错误信息)Q可是foxmail收不到?br /> 在linux下用mail发信Qfoxmail却可以收到?br /> 不知是何原因Q请各位大侠指教

 

 
wildcamel 发表于:(x) 2002/11/15 09:36am
[q个贴子最后由wildcamel?2002/11/15 09:45am ~辑]

"我在  win98  ?outlook 里能正常收信?
在发信时报那U错

redhat linux 7.1?smtp 不是默认打开的吗?

# netstat -a | grep "smtp"
tcp   0   0    localhost:smtp    *:*    listen

c:>telnet linuxhost smtp
无法打开C机的q接 ?smtp 端口:q接p| """"

sendmail.cf
# SMTP daemon options

O DaemonPortOptions=Port=smtp,Addr=127.0.0.1, Name=MTA Ҏ(gu)

O DaemonPortOptions=Port=smtp,Addr=你的Lip, Name=MTA

 
林晓?/a> 发表于:(x) 2002/11/15 09:50am
李勇,
你的问题跟我的一样啊

可就是没人回{?

?... 世态炎凉啊

 
李勇 发表于:(x) 2002/11/15 09:51am
sendmail.cf q个我已改了
另外在这个文件中 Cwlocalhost=Lip
是不是应该这栗?br /> 我在两台机器7.1,7.2上都试过了,都是同样的毛病?Q?Q?br /> 大家救命?br />
 
lzyking 发表于:(x) 2002/11/19 06:32am
Cwlocalhost 后面不要?IP ,应该是这?  Cwlocalhost mail.domain.com domain.com
7.1的版本还应该
扑ֈ O DaemonPortOptions=Port=smtp,Addr=127.0.0.1, Name=MTA Ҏ(gu)
O DaemonPortOptions=Port=smtp,Addr=你的Lip, Name=MTA
7.2往后的版本要在上面的这行前面加一?# ,使他不v作用.
注意重新启动 sendmail,命o(h)?/etc/rc.d/init.d/sendmail restart

之后,打开telnet, telnet ip 25 看能否上?上去后可能什么都不显C?打help看看),要是可以的话,说明 sendmail没有问题  

你是否安了imap?默认pȝ没有安装 pop3 服务,请安装第2张盘里的 imap),
在telnet ip 110, 如果出现 OK 好?q要注意 DNS 中设MX记录

good luck

 
logitec 发表于:(x) 2003/01/03 05:21pm
[quote][b]下面引用由[u]李勇[/u]?[i]2002/11/14 08:18pm[/i] 发表的内容:(x)[/b]
Red Hat linux 7.1Q?br /> sendmail,pop3都v来了
用foxmail可以发信成功Q没有错误信息)Q可是foxmail收不到?br /> 在linux下用mail发信Qfoxmail却可以收到?br /> ...
[/quote]
哈哈Q原来ؓ(f)此问题郁L(fng)不是我一个hѝ?br /> OE也可以,W(xu)EBMAIL也可以,是FOXMAIL不可以。我已经lFOXMAIL报告了,{等看有没有解决Ҏ(gu)?/td>
 
chenjbok 发表于:(x) 2003/01/03 09:13pm
所有设|完成,我应如何d邮g新用P


liaojiyong 2007-11-20 19:41 发表评论
]]>
VIM的几个简单常用的命o(h)http://www.aygfsteel.com/liaojiyong/archive/2007/11/16/161009.htmlliaojiyongliaojiyongFri, 16 Nov 2007 06:17:00 GMThttp://www.aygfsteel.com/liaojiyong/archive/2007/11/16/161009.htmlhttp://www.aygfsteel.com/liaojiyong/comments/161009.htmlhttp://www.aygfsteel.com/liaojiyong/archive/2007/11/16/161009.html#Feedback0http://www.aygfsteel.com/liaojiyong/comments/commentRss/161009.htmlhttp://www.aygfsteel.com/liaojiyong/services/trackbacks/161009.html
  • 按Esc保没在~辑状?
  • 输入:q 退?
  • 输入:w保存
  • 输入:wq是先保存再退?
  • 拯是yyQ拷贝多行是 数字+yy Q比?5yyQ?先输?:4 转到W?行,然后?7yy复制七行
  • 删除是ddQ删除多行是 数字+dd
  • _脓(chung)是p
  • 在当前行后面新加一行,?o
    查找某个独立的单词(比如说函数名Q,把光标移到字W串上(随便哪个字上Q,?* ?br /> ?x)自动查?/\<aaa\> q样子的
    取消是 :noh
    ?n 查找下一个, Shift+n是上一?/li>

    liaojiyong 2007-11-16 14:17 发表评论
    ]]>Linux 指o(h)大全http://www.aygfsteel.com/liaojiyong/archive/2007/10/11/152103.htmlliaojiyongliaojiyongThu, 11 Oct 2007 09:08:00 GMThttp://www.aygfsteel.com/liaojiyong/archive/2007/10/11/152103.htmlhttp://www.aygfsteel.com/liaojiyong/comments/152103.htmlhttp://www.aygfsteel.com/liaojiyong/archive/2007/10/11/152103.html#Feedback0http://www.aygfsteel.com/liaojiyong/comments/commentRss/152103.htmlhttp://www.aygfsteel.com/liaojiyong/services/trackbacks/152103.html阅读全文

    liaojiyong 2007-10-11 17:08 发表评论
    ]]>
    Linux 常用命o(h)http://www.aygfsteel.com/liaojiyong/archive/2007/10/07/150916.htmlliaojiyongliaojiyongSun, 07 Oct 2007 13:29:00 GMThttp://www.aygfsteel.com/liaojiyong/archive/2007/10/07/150916.htmlhttp://www.aygfsteel.com/liaojiyong/comments/150916.htmlhttp://www.aygfsteel.com/liaojiyong/archive/2007/10/07/150916.html#Feedback0http://www.aygfsteel.com/liaojiyong/comments/commentRss/150916.htmlhttp://www.aygfsteel.com/liaojiyong/services/trackbacks/150916.html     键盘和现实器合称为终端,也称控制収ͼ一台计机的IO讑֤是一个物理控制台Q在一台机器上用Y件方法实现多个乡互不q扰、独立工作的控制台界面,是实现了多个虚拟控制台。Linux虚拟控制台有六个Q如果直接方式选择X WINDOWQ那么x window在第7个虚拟终端上。在 Linux pȝ中的字符操作控制台界面,通过l合?Alt + (F1 - F6) 可以切换到另外的控制台。在囑փ用户界面下通过l合?Ctrl+Alt + (F1 - F6)可以切换到字W控制台Q?每一个控制台是系l中一个完全独立的?x)话Q不同的用户可以同时使用。虚拟控制台使Linux成ؓ(f)一个多用户操作pȝ。这一多控制台的特点与 Windows 中的多桌面不同。在 Linux 中,每一个控制台可以分别由完全不同的用户来控制。例如,(zhn)可能在控制?1 中以 rootw䆾dQ而在控制?2 中以 yifan w䆾d。两个控制台在各自的用户I间中运行不同的E序。如果?zhn)是在囑Ş模式下,那么?zhn)可以打开一?l端 (terminal)以进入控制台H口。通常在桌面的d条上?x)有l端的按钮。?zhn)也可以从上下文菜单(在桌面上单击右键Q打开l端 ?br /> 什么是shell
       shell是系l用L(fng)面,它提供用户与内核交互的接口。用户就能通过键盘输入指o(h)来操作计机了,它再执行结果显C给用户。shell用户界面Q也是我们常说的字W操作界面。shell是一个命令解释器Q拥有自己内建的 shell 命o(h)集。此外,shell也能被系l中其他有效的Linux 实用E序和应用程序(utilities and application programsQ所调用?shell 是如何执行命令解释的Qshell 首先查命令是否是内部命o(h)Q不是的话再查是否是一个应用程序,q里的应用程序可以是Linux本n的实用程序,比如ls ?rmQ也可以是购买的商业E序Q比?xvQ或者是公用软gQpublic domain softwareQ,p ghostview。然后shell试着在搜索\径里Lq些应用E序。搜索\径是一个能扑ֈ可执行程序的目录列表。如果你键入的命令不是一个内部命令ƈ且在路径里没有找到这个可执行文gQ(学过DOS的朋友,一定对内部Q外部命令的含义很了解)会(x)昄一条错误信息。而如果命令被成功的找到的话,shell的内部命令或应用E序被分解为系l调用ƈ传给Linux内核?
    shell的种c?br /> 目前行的Shell?bash、ksh、csh
      bash是Linuxpȝ默认使用的ShellQ它由Brian Fox和Chet Ramey共同完成Q是Bourne Again Shell的羃写,内部命o(h)一共有40个。Linux使用它作为默认的Shell是因为它有以下的特色Q?br />   Q?Q可以用类似DOS下面的doskey的功能,用上下方向键查阅和快速输入ƈ修改命o(h)?br />   Q?Q自动通过查找匚w的方式,l出以某字串开头的命o(h)?br />   Q?Q包含了自n的帮助功能,你只要在提示W下面键入help可以得到相关的帮助?br />   ksh是Korn Shell的羃写,由Eric Gisin~写Q共?2条内部命令。该Shell最大的优点是几乎和商业发行版的ksh完全相容Q这样就可以在不用花p买商业版本的情况下尝试商业版本的性能了?br />   csh是Linux比较大的内核Q它׃William JoyZ表的p47位作者编成,共有52个内部命令。该Shell其实是指?bin/tcshq样的一个ShellQ也是_(d)csh其实是tcsh?
    一凡在此介lLinux 常用命o(h)Q主要是介绍bash的命?br /> bash 主要有支持三U通配W:(x)
    * 匚wM字符和Q何数目的字符
    ? 匚wM单字W?
    [...] 匚wM包含在括号里的单字符
    有的q支?Q它表示字符范围Q如[a-h]表示从a到h的Q意一个字W?br /> bash命o(h)的一般格式如下:(x)命o(h)名【选项】【参?】【参??..【选项】是对命令的特别定义Q以减号(-)开始,多个选项可以用一个减?-)qv来,如ls -l -a 与ls -la 相同。【参数】提供命令运行的信息Q或者是命o(h)执行q程中所使用的文件名。用分?;)可以两个命令隔开Q这样可以实C行中输入多个命o(h)。命令的执行序和输入的序相同。有的参C?-开头。命令、选项和参数可以用I格或TAB隔开?br /> bash命o(h)补全
    在送入命o(h)的Q何时刻,可以?lt;Tab>键,当这样做Ӟpȝ试图补全此时已输入的命令。如果已l输入的字符串不以唯一地确定它应该使用的命令,pȝ发告声。再ơ按<Tab>键,pȝ则会(x)l出可用来用来补全的字符串清单。用命令补全功能,可以提高使用长命令或操作较长名字的文件或文g夹的都是非常有意义的?br /> 历史命o(h)
    pȝ?x)把q去输入q的命o(h)记忆下来Q只要按方向键中的上下箭_(d)可以选择以前输入q的命o(h)了?br /> 联机帮助
    可以通过man命o(h)来查看Q何命令的联机帮助信息。它?yu)命令名作?f)参数Q该命o(h)的语法格式ؓ(f)Q?man 【命令名?在Q何命令之后给--help参数Q也可以昄该命令的帮助信息?

    Linux的文件与文gcdQ和DOSQW(xu)IN有点怼Q在此不做介l。注意LINUX文g名区分大写?/p>

    目录和文件的基本操作
    1、文件查看和q接命o(h)
    文件连接到一P?#8220;>”操作几个文件组合成一个新的文Ӟ或者是?#8220;>>”把文件追加到已存文g的后面?
    语法Q?
    cat  [参数]filelist
    -n?-number:?开始对所有输出的行数q行~号
    -b?-number-nonblankQ和n怼Q但对空行不~号
    -sQ遇C行空白,替换Z行空?
    -vQ显CZ可打印的字符
    filelistQ用于结合文件的可选列表?
    2、分屏显C命?br /> cM于catQ但它是每次昄一,按空格显CZ一,?lt;q>键退出,?lt;h〉键l出帮助信息。该命o(h)q有搜烦字符的功能?br /> 语法
    more  [选项] <file>...
    -num:指定每屏昄的行?br /> -dQ在屏幕下面提示信息
    -lQmore默认遇到送纸W^L?x)暂停,使用该选项可以取消该功?br /> -fQ计实际行?br /> -pQ不是以卷动的方式显C每,而是先清屏再昄
    -sQ遇C行空白,替换Z行空?
    -uQ不昄下划U?br /> +/<string>:在文件中搜烦字符串stringQƈ昄字符串所在页的内?br /> +/<num>:从第num行开始显C?br /> file用于昄的文?/p>

    3、按|C文件。类gmoreQ但允许在文件中前后Ud?
    语法Q?
    less [参数]文g?
    -iQ查询时忽略大小写?br /> -num:指定每页昄的行?br /> -p<string>:在文件中搜烦字符串stringQƈ从第一个符合条件的地方开始显C?br /> -SQ当某列的内容超q显C画面的宽度Ӟ直接超出的部分截断舍弃Q默认情况下?x)把出的部分折回来昄?br /> 复制、删除和Ud命o(h)
    1、拷贝文件?
     语法Q?
     cp[选项]<source><dest>
     cp[选项]<source>....<directory>
     -r  递归拯目录
     -f  删除已存在的目标文g再复?br />  -a  在备份中可能的保留源文件的l构和属性?br /> 2、删?br />    rm [选项] <name>....
       该命令用于逐个删除指定的文件或目录。默认清苦下Q?lt;name>为文件名Qrm命o(h)不删除目录,只有指定-d选项时候,才能删除目录
    语法Q?
    -f  强制删除Q包括只LӞq且不给用户M提示
    -i  在删除每个文件时提示用户
    -r  递归删除目录下的内容
     
    Ud或更名文件和目录
    语法Q?
    mv  [参数]源文件目标文?
    -f  强制复盖已有文g?
    -i  在复盖已有文件前提示用户?
    -u  在目标文件的旉比原文g新时不复盖目标文件?
    -v  在移动文件时输出相关信息?
    创徏和删除目录命?br /> 1、创建目录命?br /> mkdir  [参数]目录?
    -p  如果父目录不存在Q创建所有的父目录?br /> 2、删除空目录?
    语法Q?
    rmdir  [参数]目录列表
    -p 表示删除指定目录后,如果该目录的父目录ؓ(f)I,则将一q删?br /> 切换工作目录和显C目录命?br /> 1、改变当前工作目录?
    语法Q?
    cd 目录?
    如果后面不加目录名,则返回用L(fng)根目录,此外用户必须拥有q入该目录的权限。另外cd ~ 指切换到自己的主目录Qcd ../.. 可以切换到单前目录的上上目录
    2、显C正在工作或当前的目录名?
    pwd [参数]
    3、列出目录中的内宏V?
    语法Q?
    ls [参数][目录]
    -A  昄所有文Ӟ包括隐藏文gQ以“.”开头的文gQ但不列出当前目?#8220;.”和上U目?#8220;..”
    -a  昄所有文Ӟ包括“.”?#8220;..”目录?nbsp;
    -d  只列出目录名Q不列出它的内容?
    -l  l出文g的长列表。包括权限、所有权、大、文件名、最后修Ҏ(gu)间等{?br /> -t   按时间顺序显C?br /> -F   在列出的文g名后以符可C文件类型,一般文件不加符P可执行文?#8220;*”Q目录加“/”
    -R   若目录下有文Ӟ则递归地列出目录下的文?br /> 查找与定位命?br /> 1、查找文件或目录命o(h)
    格式
    find [path....] [expression]
    该命令在目录?wi)层ơ中从path开始向下查找文Ӟ符合expression要求的文件列出来。输入命令中W一个以
    -??、,、!开始的参数作ؓ(f)expression的部分,在这些符号之前的参数都被认ؓ(f)是要搜烦的\径,在这
    些符号之后的才被认ؓ(f)是expression的部分,如果不给出pathQ则使用当前工作的目录,如果不给出expressi
    on,则?print作ؓ(f)预设expression
    expression的参数有二三十个之多Q这里只提几个常用的
    -amin<n> 在过去n分钟内被讉Kq的文g
    -anewer<file> 比文件file更晚被访问过的文?br /> -atime<n> 在过去n天被讉Kq的文g
    -cmin<n>  在过去n分钟内修改过的文?br /> -cnewer<file> 比文件file更新的文?br /> -ctime<n> 在过去n天内修改q的文g
    -empty 内容为空的文?br /> -gid<n>?group<name> gid是n或是group名是name的文?br /> -ipath<p>,-path<p> 路径名称W合p的文Ӟipath表示忽略大小?br /> -name<name>,-iname<name> 文g名称W合name的文Ӟiname表示忽略大小?br /> -size<n单位> 文g大小是n个单?br /> -type<文gcd〉文件类型的含义与名利ls的选型一?br /> -pid<n> q程id是n的文?br /> exp1 exp2 或者exp1 -a exp2 或者exp1 -and exp2 含义相同Q表C同时满两个条g
    !expr或?not expr 表示expr的否?br /> exp1 -o exp2 或者exp1 -or exp2 表示满其中一个条件就可以
    2、文件定位命?br /> locate 让用者可以很快速的搜寻档案pȝ内是否有指定的档案。其Ҏ(gu)是先建立一个包括系l内所有档?br /> 名称及\径的资料库,之后当寻找时只需查询q个资料库,而不必实际深入档案系l之中了。在一般的
    distribution 之中Q资料库的徏立都被放?contab 中自动执行。一般用者在使用时只要用
    locate [选项] <search string>
    -u 建立资料库,-u ?x)由根目录开?br /> -U 建立资料库,-U 则可以指定开始的位置?
    -e 排除在L的范围之外?
    -l 如果 ?1Q则启动安全模式。在安全模式下,使用者不?x)看到权限无法看到的档案。这?x)始速度减慢Q因
    ?locate 必须臛_际的档案pȝ中取得档案的权限资料?
    -f 特定的档案pȝ排除在外Q例如我们没有到理要?proc 档案pȝ中的档案攑֜资料库中?
    -q 安静模式Q不?x)显CZQ何错误讯息?
    -n 臛_昄 个输出?
    -r 使用正规q算?做寻扄条g?
    -o 指定资料库存的名U?
    -d 指定资料库的路径
    -h 昄辅助讯息
    -v 昄更多的讯?
    -V 昄E式的版本讯?
    q接命o(h)
    ln [选项] <source> <dest>
    Linux/Unix 档案pȝ中,有所谓的q结(link)Q我们可以将其视为档案的别名Q而连l又可分ZU?: 连
    l?hard link)与Yq结(symbolic link)Q硬q结的意思是一个档案可以有多个名称Q而Yq结的方式则是
    生一个特D的档案Q该档案的内Ҏ(gu)指向另一个档案的位置。硬q结是存在同一个档案系l中Q而Yq结却可
    以跨不同的档案pȝ?ln source dist 是生一个连l?dist)?sourceQ至于用硬q结或Y铄则由
    参数军_?不论是硬q结或Y铄都不?x)将原本的档案复制一份,只会(x)占用非常量的磁空间?
    -f : 铄时先与 dist 同档名的档案删除
    -d : 允许pȝ理者硬铄自己的目?br /> -i : 在删除与 dist 同档名的档案时先q行询问
    -n : 在进行Yq结Ӟ?dist 视ؓ(f)一般的档案
    -s : q行软链l?symbolic link)
    -v : 在连l之前显C其档名
    -b : 在铄时会(x)被覆写或删除的档案进行备?/p>

    改变文g或目录的旉命o(h)
    touch [选项] <file1> [<file2>....]
    -a 改变档案的读取时间记录?
    -m 改变档案的修Ҏ(gu)间记录?
    -c 假如目的档案不存在,不会(x)建立新的档案。与 --no-create 的效果一栗?
    -f 不用,是ؓ(f)了与其他 unix pȝ的相Ҏ(gu)而保留?
    -r 使用参考档的时间记录,?--file 的效果一栗?
    -d 讑֮旉与日期,可以使用各种不同的格式?
    -t 讑֮档案的时间记录,格式?date 指o(h)相同?
    --no-create 不会(x)建立新档案?

    备䆾命o(h)
    tar  <主选项> [辅选项] <文g或目?gt;
    tar可以为文件和目录创徏档案。利用tarQ用户可以ؓ(f)某一特定文g创徏档案Q备份文ӞQ也可以在档案中
    改变文gQ或者向档案中加入新的文件。tar最初被用来在磁带上创徏档案Q现在,用户可以在Q何设备上?br /> 建档案,如Y盘。利用tar命o(h)Q可以把一大堆的文件和目录全部打包成一个文Ӟq对于备份文件或几?br /> 文gl合成ؓ(f)一个文件以便于|络传输是非常有用的。Linux上的tar是GNU版本的?br /> 主选项Q?br /> c 创徏新的档案文g。如果用h备䆾一个目录或是一些文Ӟp选择q个选项?br /> r 把要存档的文件追加到档案文g的未。例如用户已l作好备份文Ӟ又发现还有一个目录或是一些文件忘
    记备份了Q这时可以用该选项Q将忘记的目录或文gq加到备份文件中?br /> t 列出档案文g的内容,查看已经备䆾了哪些文件?br /> u 更新文g。就是说Q用新增的文件取代原备䆾文gQ如果在备䆾文g中找不到要更新的文gQ则把它q加?br /> 备䆾文g的最后?br /> x 从档案文件中释放文g?br /> 辅选项Q?br /> b 该选项是ؓ(f)带定的。其后跟一数字Q用来说明区块的大小Q系l预讑րgؓ(f)20Q?0*512 bytesQ?br /> f 使用档案文g或设备,q个选项通常是必选的?br /> k 保存已经存在的文件。例如我们把某个文gq原Q在q原的过E中Q遇到相同的文gQ不?x)进行覆盖?br /> m 在还原文件时Q把所有文件的修改旉讑֮为现在?br /> M 创徏多卷的档案文Ӟ以便在几个磁盘中存放?br /> v 详细报告tar处理的文件信息。如无此选项Qtar不报告文件信息?br /> w 每一步都要求认?br /> z 用gzip来压~?解压~文Ӟ加上该选项后可以将档案文gq行压羃Q但q原时也一定要使用该选项q行?br /> 压羃?
    tar的最基本的用法D?br />   tar -cf all.tar *.jpg
      q条命o(h)是将所?jpg的文件打成一个名为all.tar的包?c是表CZ生新的包Q?f指定包的文g名?br />    tar -rf all.tar *.gif
      q条命o(h)是将所?gif的文件增加到all.tar的包里面厅R?r是表C增加文件的意思?br />     tar -uf all.tar logo.gif
      q条命o(h)是更新原来tar包all.tar中logo.gif文gQ?u是表C更新文件的意思?
      tar -tf all.tar
      q条命o(h)是列出all.tar包中所有文Ӟ-t是列出文件的意?br />   tar -tvf all.tar |more
      q条命o(h)是列出all.tar包中所有文Ӟq以分屏方式
    压羃和解压命?/p>

    gzip命o(h)是用来压~文件的。它不仅可以用来压羃大的、较?yu)用的文g以节省磁盘空_(d)q可以和tar命o(h)
    一h成Linux操作pȝ中比较流行的压羃文g格式。据l计Qgzip命o(h)Ҏ(gu)本文件有60%?0%的压~率?
    gzip [选项] [文g名]
    -c 输出q保留原文g
    -d 压~文件解压,默认情况下ؓ(f)压羃
    -l 昄压羃文g的压~的提示信息
    -r 递归的压~或解压
    -tQ可以用来测试压~文件的完整性。如果文件正常,gzip不会(x)l出M昄。如果想看到OKq两个字母,?br /> 以在试某个文g时?tv参数?
    -v Ҏ(gu)个操作的文gQ显C文件名和压~比?br />  
     

    unzip 命o(h)位于/usr/bin目录中,它们和MS DOS下的pkzip、pkunzip及MS Windows中的Winzip软g功能一P
    文件压~成.zip文gQ以节省盘I间Q当需要的时候再压~文件用unzip命o(h)解开。该命o(h)使用权限?br /> 所有用戗?br /> unzip [选项] [压羃文g名]
    -d<目录> 知道解压的某个目录下Q默认ؓ(f)当前目录
    -nQ解压羃时不要覆盖原有的文g?br /> -oQ不必先询问用户Qunzip执行后覆盖原有文?br /> -jQ不处理压羃文g中原有的目录路径Q把所有文件解压到同一目录
    -vQ察看压~文件的内容Q但不解?br /> -tQ检查压~文件是否正,但不解压
    昄文字命o(h)
    echo [-n] <字符丌Ӏ?br /> 在屏q上昄字符Ԍ-n表示不换?br /> 昄日立命o(h)
    cal [选项] [[月]q]
    - j 昄出给定月中的每一天是一q中的第几天Q从1?日算P?br /> - y 昄出整q的日历?br /> -1 昄当月的日?br /> -3昄前一月,本月Q下月的日历
    -s以星期天作ؓ(f)一周的W一?br /> -m以星期一作ؓ(f)一周的W一?br /> 如cal 5 2006
    昄2006q?月䆾的日?/p>

    日期旉命o(h)
    date [选项] [+FormatString] 昄日期旉
    date <setstring> 讄日期旉
    它的选项比较多,一凡在此就不一一列出来了
    清屏命o(h)clear
    软g包管?br /> RPM全称?Red Hat Package ManagerQRed Hat包管理器Q。几乎所有的 Linux 发行版本都用这UŞ式的
    软g包管理安装、更新和卸蝲软g?br /> 01、安?br /> rpm -i ( or --install) options file1.rpm ... fileN.rpm
    -h (or --hash) 安装时输出hash记号 (``#'')
    --test 只对安装q行试Qƈ不实际安装?br /> --percent 以百分比的Ş式输出安装的q度?br /> --excludedocs 不安装Y件包中的文档文g
    --includedocs 安装文档
    --replacepkgs 强制重新安装已经安装的Y件包
    --replacefiles 替换属于其它软g包的文g
    --force 忽略软g包及文g的冲H?br /> --noscripts 不运行预安装和后安装脚本
    --prefix Y件包安装到由 指定的\径下
    --ignorearch 不校验Y件包的结?br /> --ignoreos 不检查Y件包q行的操作系l?br /> --nodeps 不检查依赖性关p?br /> --ftpproxy ?作ؓ(f) FTP代理
    --ftpport 指定FTP的端口号?
    通用选项
    -v 昄附加信息
    -vv 昄调试信息
    --root 让RPM指定的路径做ؓ(f)"根目?Q这样预安装E序和后安装E序都会(x)安装到这个目录下
    --rcfile 讄rpmrc文g?
    --dbpath 讄RPM 资料库存所在的路径?
    02、删?br /> 命o(h)格式Q?br /> rpm -e ( or --erase) options pkg1 ... pkgN
    参数
    pkg1 ... pkgN Q要删除的Y件包
    详细选项
    --test 只执行删除的试
    --noscripts 不运行预安装和后安装脚本E序
    --nodeps 不检查依赖?/p>

    03、升U?br /> 命o(h)格式
    rpm -U ( or --upgrade) options file1.rpm ... fileN.rpm
    参数
    file1.rpm ... fileN.rpm 软g包的名字
    详细选项
    -h (or --hash) 安装时输出hash记号 (``#'')
    --oldpackage 允许"升"C个老版?br /> --test 只进行升U测?br /> --excludedocs 不安装Y件包中的文档文g
    --includedocs 安装文档
    --replacepkgs 强制重新安装已经安装的Y件包
    --replacefiles 替换属于其它软g包的文g
    --force 忽略软g包及文g的冲H?br /> --percent 以百分比的Ş式输出安装的q度?br /> --noscripts 不运行预安装和后安装脚本
    --prefix Y件包安装到由 指定的\径下
    --ignorearch 不校验Y件包的结?br /> --ignoreos 不检查Y件包q行的操作系l?br /> --nodeps 不检查依赖性关p?br /> --ftpproxy ?作ؓ(f) FTP代理
    --ftpport 指定FTP的端口号?
    04、查?br /> 命o(h)格式Q?br /> rpm -q ( or --query) options
    参数Q?br /> pkg1 ... pkgN Q查询已安装的Y件包
    详细选项
    -p (or ``-'') 查询软g包的文g
    -f 查询属于哪个软g?br /> -a 查询所有安装的软g?br /> --whatprovides 查询提供?功能的Y件包
    -g 查询属于 l的软g?br /> --whatrequires 查询所有需?功能的Y件包
    信息选项
    CY件包的全部标?br /> -i 昄软g包的概要信息
    -l 昄软g包中的文件列?br /> -c 昄配置文g列表
    -d 昄文档文g列表
    -s 昄软g包中文g列表q显C每个文件的状?br /> --scripts 昄安装、卸载、校验脚?br /> --queryformat (or --qf) 以用h定的方式昄查询信息
    --dump 昄每个文g的所有已校验信息
    --provides 昄软g包提供的功能
    --requires (or -R) 昄软g包所需的功?/p>

    05、校验已安装的Y件包
    命o(h)格式Q?br /> rpm -V ( or --verify, or -y) options
    参数
    pkg1 ... pkgN 要校验的Y件包?br /> 软g包选项
    -p Verify against package file
    -f 校验所属的软g?br /> -a Verify 校验所有的软g?br /> -g 校验所有属于组 的Y件包
    详细选项
    --noscripts 不运行校验脚?br /> --nodeps 不校验依赖?br /> --nofiles 不校验文件属?/p>

    06、校验Y件包中的文g
    语法Q?br /> rpm -K ( or --checksig) options file1.rpm ... fileN.rpm
    参数Q?br /> file1.rpm ... fileN.rpm 软g包的文g?br /> q接帮助命o(h)
    man <command>
    info <command>  该功能比man强大Q但目前只在Linux中有Q其他的UNIX中没有该命o(h)
    help <command>
    但linux~辑器,桌面Q网l管理配|,该^C单的软g开发。。。。还有好多东西要整理的,希望怀宝宝q段I闲旉能整理?br />



    liaojiyong 2007-10-07 21:29 发表评论
    ]]>
    Linux基础知识http://www.aygfsteel.com/liaojiyong/archive/2007/10/07/150915.htmlliaojiyongliaojiyongSun, 07 Oct 2007 13:28:00 GMThttp://www.aygfsteel.com/liaojiyong/archive/2007/10/07/150915.htmlhttp://www.aygfsteel.com/liaojiyong/comments/150915.htmlhttp://www.aygfsteel.com/liaojiyong/archive/2007/10/07/150915.html#Feedback0http://www.aygfsteel.com/liaojiyong/comments/commentRss/150915.htmlhttp://www.aygfsteel.com/liaojiyong/services/trackbacks/150915.html cNUIXpȝ,源代码开?能在各类gq_(包括Intel x86pd和RISC处理?上运?
     
    Linux受广大计机爱好者喜q原因:
     1.Linux在pc计算Z实现了全部的UNIXҎ(gu)?h多Q?多用L(fng)能力,而且在很多方面相当稳定高?
     2.Linux属于自由软g,用户不需要支付Q何费用就可以获得它及其它的原代码,q可以对它进行须?无偿使用?无约束传?
     
    Linuxh以下主要Ҏ(gu):(x)
      开放?br />   开放性是指系l遵循世界标准规范,特别是遵循开攄l互q(OSIQ国际标准。凡遵@国际标准所开发的g和YӞ都能彼此兼容Q可方便地实Cq?
      多用?br />   多用h指系l资源可以被不同用户各自拥有使用Q即每个用户对自q资源Q例如:(x)文g、设备)有特定的权限Q互不媄响。Linux和Unix都具有多用户的特性?
      多Q?br />   多Q务是C计算机的最主要的一个特炏V它是指计算机同时执行多个程序,而且各个E序的运行互相独立。Linuxpȝ调度每一个进E^{地讉K微处理器。由于CPU的处理速度非常快,其结果是Q启动的应用E序看v来好像在q行q行。事实上Q从处理器执行一个应用程序中的一l指令到Linux调度微处理器再次q行q个E序之间只有很短的时间gq,用户是感觉不出来的?
      良好的用L(fng)?br />   Linux向用h供了两种界面Q?用户界面和系l调用?br />   Linux的传l用L(fng)面是Z文本的命令行界面Q即shellQ它既可以联Z用,又可存在文g上脱Z用。shell有很强的E序设计能力Q用户可方便地用它编制程序,从而ؓ(f)用户扩充pȝ功能提供了更高的手Dc可~程Shell是指多条命令组合在一P形成一个ShellE序Q这个程序可以单独运行,也可以与其他E序同时q行?
      pȝ调用l用h供编E时使用的界面。用户可以在~程时直接用系l提供的pȝ调用命o(h)。系l通过q个界面为用L(fng)序提供低U、高效率的服务?
    Linuxqؓ(f)用户提供了图形用L(fng)面。它利用鼠标、菜单、窗口、滚动条{设施,l用户呈C个直观、易操作、交互性强的友好的囑Ş化界面?
      讑֤独立?br />   讑֤独立性是指操作系l把所有外部设备统一当作成文件来看待Q只要安装它们的驱动E序QQ何用户都可以象用文件一P操纵、用这些设备,而不必知道它们的具体存在形式?
    h讑֤独立性的操作pȝQ通过把每一个外围设备看作一个独立文件来化增加新讑֤的工作。当需要增加新讑֤时、系l管理员在内核中增加必要的q接。这U连接(也称作设备驱动程序)保证每次调用讑֤提供服务Ӟ内核以相同的方式来处理它们。当新的及更好的外设被开发ƈ交付l用hQ操作允许在q些讑֤q接到内核后Q就能不受限制地立即讉K它们。设备独立性的关键在于内核的适应能力。其他操作系l只允许一定数量或一定种cȝ外部讑֤q接。而设备独立性的操作pȝ能够容纳LU类及Q意数量的讑֤Q因为每一个设备都是通过其与内核的专用连接独立进行访问?
    Linux是具有设备独立性的操作pȝQ它的内核具有高度适应能力Q随着更多的程序员加入Linux~程Q会(x)有更多硬件设备加入到各种Linux内核和发行版本中。另外,׃用户可以免费得到Linux的内核源代码Q因此,用户可以修改内核源代码,以便适应新增加的外部讑֤?
      供了丰富的网l功?br />   完善的内|网l是Linux的一大特炏VLinux在通信和网l功能方面优于其他操作系l。其他操作系l不包含如此紧密地和内核l合在一L(fng)q接|络的能力,也没有内|这些联|特性的灉|性。而Linux为用h供了完善的、强大的|络功能?
      支持Internet是其|络功能之一。Linux免费提供了大量支持Internet的YӞInternet是在Unix领域中徏立ƈJ荣h的,在这斚w使用Linux是相当方便的Q用戯用Linux与世界上的其他h通过Internet|络q行通信?
      文g传输是其|络功能之二。用戯通过一些Linux命o(h)完成内部信息或文件的传输?
    q程讉K是其|络功能之三。Linux不仅允许q行文g和程序的传输Q它qؓ(f)pȝ理员和技术h员提供了讉K其他pȝ的窗口。通过q种q程讉K的功能,一位技术h员能够有效地为多个系l服务,即那些pȝ位于相距很远的地斏V?
      可靠的系l安?br />   Linux采取了许多安全技术措施,包括 对读、写q行权限控制 带保护的子系l?审计跟踪 核心授权{,qؓ(f)|络多用L(fng)境中的用h供了必要的安全保障?
      良好的可UL?br />   可移植性是指将操作pȝ从一个^台{Ud另一个^C它仍然能按其自n的方式运行的能力.
    Linux是一U可UL的操作系l,能够在从微型计算机到大型计算机的M环境中和Mq_上运行?br /> 可移植性ؓ(f)q行Linux的不同计机q_与其他Q何机器进行准而有效的通信提供了手D,不需要另外增加特D的和昂늚通信接口?
       在说Linux特点?也顺别提一下它的缺?Linux没有核心团队,来自世界各地的爱好者都可以发布自己的补?patch),~点是源代码可能杂ؕ无章q且可能怺冲突.其实从另个方面说也是优点,爱好者都可以发布自己的补?patch),qLinux充满着zd,不断更新q步.

    Linux与其他操作系l的区别
      Linux可以与MS-DOS、Windows{其他操作系l共存于同一台机器上。它们均为操作系l,h一些共性,但是互相之间各有特色Q有所区别。至于MS-DOS、WindowsҎ(gu)们一般计机爱好来说是非常熟(zhn)的操作pȝ?在此只列出Linux与UNIX的区?
      某些PC机的Unix和Linux在实现方面相cM。几乎所有的商业Unix版本都基本支持同L(fng)软g、程序设计环境和|络Ҏ(gu)。然而,Linux和Unix的商业版本依然存在许多差别。Linux支持的硬件范围和商业Unix不一栗一般来_(d)商业Unix支持的硬件多一些,可是Linux支持的硬件也在不断扩大。突出的是,Linux臛_和商用Unix一L(fng)定。对许多用户来说Q最重要的因素是h。Linux是免费YӞ用户可以从Internet|上下蝲。如果上|不方便Q可以很便宜地通过邮购得到Linux的磁盘或CD-ROM。当然也可以直接从朋友那里得到。商业Unix的h(hun)g应被贬低。除了Y件本w的h外,用户q需支付文档、售后支持和质保贏V对于较大的机构Q这些都很重要,但是PC机用户也总中得不到什么好处。许多商业公司和大学{单位已l发玎ͼ在实验室用廉L(fng)PC行Linux比用工作站运行商业Unixq好。Linux可以在PCZ提供工作站的功能Q而PC机的h是工作站的几分之一。也有一些针对PC机的便宜的UnixQ其中最有名的是386BSD。在许多斚wQ?86BSD软g包和Linux兼容Q但Linux更适合用户的需求。最显著的是QLinux的开发是开攄QQ何志愿者都可以对开发过E做A(ch)献。相比之下,386BSD是由闭的团队开发的。正是这Pq两U品存在着严重的概念上和设计上的差别:(x)Linux的目标是从头开始开发一个完整的UnixpȝQ?86BSD的目标则是对现有的BSD做些修改Q以适合80386pȝ。当然现在也有许多免费的在PCZq行的UNIX,如NetBSD,FreeBSD,OpenBSD{?NetBSD,FreeBSD,OpenBSD在硬件支持方面不如Linux,在系l性能斚w,具专家分?FreeBSD在网l性能,软gUL和系l规范化上比Linux略强?

    Linux下的目录?br />   /
      q就是根目录。在WindowsQDOS或者其他类似的操作pȝ里面Q每个分区都?x)有一个相应的根目录。但是Linux和其他Unixpȝ把所有的文g都放在一个目录树(wi)里面Q? 是唯一的根目录。一般来Ԍ根目录下面很保存什么文Ӟ或者只有一个内核映像在q里?
      /boot
     很多Linuxpȝ把内核映像和其他一些和启动有关的文件放在这里?
      /tmp
      一般只有启动的时候生的临时文g才会(x)攑֜q个地方。我们自q那些临时文g都放?/var/tmp?
      /mnt
      q个目录下面攄一些用来mount其他讑֤的子目录Q比如说/mnt/cdrom或?mnt/floppy?
      /lib
      启动的时候所需要用到的库文仉攑֜q个目录下。那些非启动用的库文仉?x)放?usr/lib下。内核模块是被放?lib/modules/Q内核版本)下的?
      /proc
      q个目录在磁盘上其实是不存在的。里面的文g都是关于当前的系l状态的Q包括正在运行的q程Q硬件状态,内存使用的多?#8230;…
      /dev
      q个目录下保存着所有的讑֤文g。里面有一些Linux内核创徏的用来控制硬件设备的Ҏ(gu)文g。注意,|卡讑֤文gQeth0Qppp0{)不在q儿?
      /var
      q里有一些被pȝ改变q的数据。比如说/var/tmpQ就是用来储存(f)时文件的。还有很多其他的q程和模块把它们的记录文件也攑֜q个地方。下面将?x)列举一些重要的子目录:(x)
      /var/log
      q里攄l大部分的记录文件。随着旉的增长,q个目录可能?x)变得很臃肿。所以需要定期来清理一下?
      /var/run
      包括了各U运行时的小信息?
      /var/lib
      包括了一些系l运行的时候需要的文g。如果你用笔记本上网Q?var/lib/pcmcia/stab可能?x)对你有用?
      /var/spool
      邮gQ新闻,打印序列的所在地?
      /root
      Root用户的主目录?
      /home
      一般用L(fng)ȝ录都?x)放在这个目录下。你可以通过$ cd ~ 来进入你自己的主目录?
      /etc
      如果你是Root用户的话Q这个目录应该是你最常来的地斏V这里保存着l大部分的系l配|文件。相Ҏ(gu)Ԍ单个用户的系l配|文件将?x)保存在q个用户自己的主目录里面。这里的文g?x)根据你所安装的Y件而增减。下面将?x)列举一下重要的子目录:(x)
      /etc/X11
      q里攄Xpȝ所需要的配置文g。XF86Config是把配|储存到q个地方的?etc/X11/fonts里面攄一些服务器需要的字体。还有一些窗口管理器存放的配|文件也是放在这个地方的?
      /etc/init.d
      q个目录保存着启动描述文gQ包括各U模块和服务的加载描q。所以如果不清楚的话Q最好不要随便删q里的东ѝ这里的文g都是pȝq行配置的,不是用户自己用来配置的?
      /etc/rcS.d
    q里攄一些连接到/etc/init.d的连接文ӞҎ(gu)runlevel的不同而执行相应的描述。这里的文g名都是由S来开头的Q然后是一个两位的数字——表C各U服务启动的序。比如,S24foo是在S42bar前面执行的。接着是相应的连接到/etc/init.d下面的文件的名字了?
      /etc/rc0.d - /etc/rc6.d
      q里面也是一些连接文Ӟ?etc/rcS.d差不多。不同的是,q些只会(x)在指定的runlevel下运行相应的描述?表示xQ?表示重启。所有以 K开头的文g表示关闭Q所有以S开头的文g表示重启。目前来Ԍ文g的命名方式和/etc/rcS.d是一L(fng)。注意,在Debian下,2表示启动?
      /bin, /sbin
    q里分别攄启动的时候所需要的普通程序和pȝE序。很多程序在启动以后也很有用Q它们放在这个目录下是ؓ(f)它们?x)经常被其他E序所调用?
      /usr
      q是一个很庞大的目录,几乎所有的文g都放在这下面Q除了上面所说的那些。下面将?x)列举一些重要的子目录:(x)
      /usr/X11R6, /usr/X11, /usr/Xfree86
      q里面保存着Xpȝ所需要的文gQ它的目录结构和/usr是一L(fng)?
      /usr/bin
      v二进制可执行文g存放的目录,q里攄l大部分的应用程序?
      /usr/sbin
      q里攄l大部分的系l程序?
      /usr/games
      游戏E序和相应的数据?x)放在这里?
      /usr/include
      q个目录保存着C和C++的头文g。除非你是程序员Q否则你可能不会(x)感兴?
      /usr/lib
      启动时用不到的库文g都会(x)被放在这里?
      /usr/info
      q里保存着GNU InfoE序所需要的数据?
      /usr/man
      q里保存着manE序所需要的数据?
      /usr/src
      q里保存着源代码文件。Linux内核的源代码都放?usr/src/linux下了?
      /usr/doc
      q里保存着各种文档文g。这些文件可以帮助你了解LinuxQ解决问题和提供一些技巧。或者你可以通过讉K http://www.linuxdoc.org 来活得更多的知识?
      /usr/local
      q里面保存着本地计算机所需要的文g。在用户q行q程讉K的时候特别有意义。这个目录在有些Linuxpȝ下就是一个单独的分区Q存放一些这台机子所属的那个用户的文件。里面的l构?usr是一L(fng)?
      /usr/shared, /usr/share
      q里保存着各种׃n文gQ比如说某个应用E序所需要的声音文g?



    liaojiyong 2007-10-07 21:28 发表评论
    ]]>
    Linuxpȝ安装MySQLhttp://www.aygfsteel.com/liaojiyong/archive/2007/09/10/143871.htmlliaojiyongliaojiyongSun, 09 Sep 2007 23:57:00 GMThttp://www.aygfsteel.com/liaojiyong/archive/2007/09/10/143871.htmlhttp://www.aygfsteel.com/liaojiyong/comments/143871.htmlhttp://www.aygfsteel.com/liaojiyong/archive/2007/09/10/143871.html#Feedback0http://www.aygfsteel.com/liaojiyong/comments/commentRss/143871.htmlhttp://www.aygfsteel.com/liaojiyong/services/trackbacks/143871.html 01.PNG

      在下载页面可以看刎ͼ5.1是beta版,6.0是alpha版,因此我们没有必要q求最新的版本Q就?.0好了。从5.0版开始,MySQL分ؓ(f)C֌版和企业版,当然Q企业版是要q了,所以我们只能选择C֌版?br />
      MySQL的打包方式也有很多种Q可以直接下载源代码Q自q译,也可以下载针对特定Linuxpȝ的RPM包。我选择的是non rpm的打包方式,下蝲下来后就是一个名为mysql-5.0.45-linux-i686.tar.gz的压~文Ӟ大小?7.5M。当Ӟ你也可以选择For Red Hat Enterprise Linux 4的RPM包,因ؓ(f)U旗Linuxpȝ发布的时候就宣称对红帽的RPM包兼容,而在U旗提供的工具光盘种Q我看到有不Y件包是RHEL 4中的Q因此可以确定,U旗Linux臛_能够支持RHEL 4中的RPM包?br />
      如果使用的是RPM包,那么安装h很单了Q不爽的是Server和Client以及其它的库都单独打包,下蝲hȝ。而我下蝲的单一压羃文g方便多了,不过解压后需要经q一些设|才可以使用?br />
      1、先压~包解压Q放|到/usr/mysql目录
      2、徏立mysql用户
      3、运行mysql_install_db初始化数据库

      整个q程如下图,在设|的q程中,我们q可以看到MySQL的数据将?x)存攑֜?usr/mysql/data目录Q而且在初始化数据库之前,/usr/mysql/data/mysql目录中是I的Q没有Q何表文g。如下图Q?br /> 02.PNG

      讄完成之后Q就可以使用./bin/mysqld_safe来启动数据库服务器了Q要注意刎ͼ无论是初始化数据库还是启动数据库服务器,我们都指定了--user=mysql参数Q也是让他们以mysql用户q行Q这主要是从安全斚w考虑的。启动服务器后,使用./bin/mysqladmin来设|root帐号的密码,最后?/bin/mysql链接服务器,可以用各U数据库操作了。如下图Q?br /> 03.PNG

    liaojiyong 2007-09-10 07:57 发表评论
    ]]>
    在linux下安装MySQL的步??http://www.aygfsteel.com/liaojiyong/archive/2007/05/18/118304.htmlliaojiyongliaojiyongFri, 18 May 2007 03:53:00 GMThttp://www.aygfsteel.com/liaojiyong/archive/2007/05/18/118304.htmlhttp://www.aygfsteel.com/liaojiyong/comments/118304.htmlhttp://www.aygfsteel.com/liaojiyong/archive/2007/05/18/118304.html#Feedback0http://www.aygfsteel.com/liaojiyong/comments/commentRss/118304.htmlhttp://www.aygfsteel.com/liaojiyong/services/trackbacks/118304.htmlMYSQL地址Qhttp://dev.mysql.com/get/Downloads/MySQL-4.1/mysql-4.1.21.tar.gz/from/http://mirror.vmmatrix.net/mysql/

    yi.安装mysql 4.1.21
    # groupadd mysql
    # useradd -g mysql mysql
    # tar -zxvf mysql-4.1.21.tar.gz
    # cd mysql-4.1.21
    # ./configure --prefix=/usr/local/mysql --with-charset=gbk
    # make
    # make install
    # cp support-files/my-medium.cnf /etc/my.cnf

    讄自启?br># cp support-files/mysql.server /etc/rc.d/init.d/mysqld
    # chmod 700 /etc/rc.d/init.d/mysqld
    # chkconfig --add mysqld
    (
    ?etc/init.d目录下,L打开一个启动脚本,你会(x)发现在其剙的注释中Q基本上都有以下一行:(x)

    chkconfig 235 56 34(也可能是其他数字l合Q))

    ׃chkconfig 235 56 34ZQ?35表示该启动脚本对应的服务在pȝ启动U别2, 3, 5U启动。?6表示其启动优先?6Q所谓的优先U,是在rc脚本中出现在各个W号链接名中的数字。那?4是什么相信大家已l猜CQ对了,他就 是终止优先?

    Linux下利用CHKCONFIG理pȝ服务



    NAME

    chkconfig --更新q询问系l服务的q行U信息?br>


    摘要(SYNOPSIS)

    chkconfig --list [name]

    chkconfig --add name

    chkconfig --del name

    chkconfig [--level levels] name <on|off|reset>

    chkconfig [--level levels] name



    描述(DESCRIPTION)

    chkconfig提供了一个命令行工具Q它可以让管理员通过操纵行号标实来维?etc/rc[0-6].d目录层,以减ȝ理员的工作强度?br>
    chkconfig有五个不同的功能Q增加新的系l服务,删除服务Q列丑ֽ前已l启动的pȝ服务Q改变服务启动状态,及检个别服务的启动情况?br>
    当chkconfig不带M参数q行的时候,它显C简略的使用说明。如果仅提供一个服务名Q它?yu)检当前系l是否在特定q行U运行此服务。如果服务正?q行Qchkconfig显Ctrue(?Q否则显C否。?-levelq行U参敎ͼchkconfig询问选择一个非当前q行U以外的一个运 行q行服务?br>
    如果onQoffQ或reset标实在服务名的后面,chkconfig改变此指定服务的运行状态。如on和off标实用来提示服务的启动与停止Q分别在不同的运行q行控制。reset参数重|指定服务?br>
    默认情况下,on和off参数只对2Q?Q?Q?q行U发生作用,而reset参数可以Ҏ(gu)有运行发生作用?-level参数是用来指定对哪个运行q行作用的?br>


    参数(OPTION)

    --level levels

    指定服务的运行Q有levels

    chkconfig 命o(h)也可以用来激zd解除服务。chkconfig --list 命o(h)昄pȝ服务列表Q以及这些服务在q行U别0?中已被启动(onQ还是停止(offQ。chkconfig q能用来讄某一服务在某一指定的运行别内被启动还是被停运。譬如,要在q行U别3??中停q?nfs 服务Q用下面的命o(h)Qchkconfig --level 345 nfs off

    )




    安装完以后要初始化数据库Q要是升U安装的误q?br># cd /usr/local/mysql
    # /usr/local/mysql/bin/mysql_install_db --user=mysql
    # chown -R root .
    # chown -R mysql var
    # chgrp -R mysql .
    # /usr/local/mysql/bin/mysqld_safe --user=mysql &

    好了Q至此mysql安装完毕Q你可以q样起动你的mysql服务
    # /etc/rc.d/init.d/mysqld start

    # ln -s /usr/local/mysql/bin/mysql /sbin/mysql
    # ln -s /usr/local/mysql/bin/mysqladmin /sbin/mysqladmin

    Z能让pȝ扑ֈmysqlQ请q行如下命o(h)
    # PATH=$PATH:/usr/local/mysql/bin
    # export PATH
    # echo "/usr/local/mysql/lib/mysql" >> /etc/ld.so.conf
    # ldconfig

    日志理
    开启错误日?Q在[safe_mysqld]下dQ?br># vi /etc/my.cnf
    [safe_mysqld]
    err-log=/var/log/mysqld/err.log

    开启常规日志和更新日志 (在[mysqld]下dQ?br># vi /etc/my.cnf
    [mysqld]
    log=/var/log/mysqld/log.log
    log-update=/var/log/mysqld/update.log

    创徏日志文gq设|权?br># mkdir /var/log/mysqld
    # touch /var/log/mysqld/err.log /var/log/mysqld/log.log /var/log/mysqld/update.log
    # chown -R mysql.mysql /var/log/mysqld

    # service mysqld restart

    说明Q?br>错误日志包含了服务器写入标准错误输出讑֤的所有消息,同时q包括了mysql服务的启动和关闭事g
    常规日志用来记录有关mysql服务器运行的常规信息Q包括用L(fng)q接、查询及其他各种旉
    更新日志用来记录修改数据库的查询信息Q包括所有涉及数据库修改的SQl语句的查询记?br>调试l束后关闭日?br>
    三、登录MySQL

      dMySQL的命令是mysqlQ?mysql 的用语法如下:(x)
      mysql [-u username] [-h host] [-p[password]] [dbname]
      username ?password 分别?MySQL 的用户名与密码,mysql的初始管理帐hrootQ没有密码,注意Q这个root用户不是Linux的系l用戗MySQL默认用户是rootQ由于初始没有密码,W一ơ进时只需键入mysql卛_?br>  [root@test1 local]# mysql
      Welcome to the MySQL monitor. Commands end with ; or \g.
      Your MySQL connection id is 1 to server version: 4.0.16-standard
      Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
      mysql>
      出现?#8220;mysql>”提示W,恭喜你,安装成功Q?br>  增加了密码后的登录格式如下:(x)
      mysql -u root -p
      Enter password: (输入密码)
      其中-u后跟的是用户名,-p要求输入密码Q回车后在输入密码处输入密码?br>
      注意Q这个mysql文g?usr/bin目录下,与后面讲的启动文?etc/init.d/mysql不是一个文件?br>
      四、MySQL的几个重要目?br>
       MySQL安装完成后不象SQL Server默认安装在一个目录,它的数据库文件、配|文件和命o(h)文g分别在不同的目录Q了解这些目录非帔R要,其对于Linux的初学者,因ؓ(f) Linux本n的目录结构就比较复杂Q如果搞不清楚MySQL的安装目录那无从谈h入学?fn)?br>
      下面׃l一下这几个目录?br>
      1、数据库目录
      /var/lib/mysql/  或者是
              /usr/local/mysql/var


      2、配|文?br>  /usr/share/mysqlQmysql.server命o(h)及配|文Ӟ

      3、相兛_?br>  /usr/bin(mysqladmin mysqldump{命?

      4、启动脚?br>  /etc/rc.d/init.d/Q启动脚本文件mysql的目录)
     五、修改登录密?br>
      MySQL默认没有密码Q安装完毕增加密码的重要性是不言而喻的?br>
      1、命?br>  usr/bin/mysqladmin -u root password 'new-password'
      格式Qmysqladmin -u用户?-p旧密?password 新密?br>
      2、例?br>  ?Q给root加个密码123456?br>  键入以下命o(h) Q?br>  [root@test1 local]# /usr/bin/mysqladmin -u root password 123456
      注:(x)因ؓ(f)开始时root没有密码Q所?p旧密码一就可以省略了?br>
      3、测试是否修Ҏ(gu)?br>   1Q不用密码登?br>  [root@test1 local]# mysql
      ERROR 1045: Access denied for user: 'root@localhost' (Using password: NO)
      昄错误Q说明密码已l修攏V?br>  2Q用修改后的密码d
      [root@test1 local]# mysql -u root -p
      Enter password: (输入修改后的密码123456)
      Welcome to the MySQL monitor. Commands end with ; or \g.
      Your MySQL connection id is 4 to server version: 4.0.16-standard
      Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
      mysql>
      成功Q?br>  q是通过mysqladmin命o(h)修改口o(h)Q也可通过修改库来更改口o(h)?br>
      六、启动与停止

      1、启?br>  MySQL安装完成后启动文件mysql?etc/init.d目录下,在需要启动时q行下面命o(h)卛_?br>  [root@test1 init.d]# /etc/init.d/mysql start

      2、停?br>  /usr/bin/mysqladmin -u root -p shutdown

      3、自动启?br>  1Q察看mysql是否在自动启动列表中
      [root@test1 local]# /sbin/chkconfig ?list
      2Q把MySQLdCpȝ的启动服务组里面?br>  [root@test1 local]# /sbin/chkconfig ? add mysql
      3Q把MySQL从启动服务组里面删除?br>  [root@test1 local]# /sbin/chkconfig ? del mysql
    七、更改MySQL目录

      MySQL默认的数据文件存储目录ؓ(f)/var/lib/mysql。假如要把目录移?home/data下需要进行下面几步:(x)

      1、home目录下徏立data目录
      cd /home
      mkdir data

      2、把MySQL服务q程停掉Q?br>  mysqladmin -u root -p shutdown

      3、把/var/lib/mysql整个目录Ud/home/data
      mv /var/lib/mysql /home/data/
      q样把MySQL的数据文件移动到?home/data/mysql?br>
      4、找到my.cnf配置文g
      如果/etc/目录下没有my.cnf配置文gQ请?usr/share/mysql/下找?.cnf文gQ拷贝其中一个到/etc/q改名ؓ(f)my.cnf)中。命令如下:(x)
       [root@test1 mysql]# cp /usr/share/mysql/my-medium.cnf /etc/my.cnf

      5、编辑MySQL的配|文?etc/my.cnf
      Z证MySQL能够正常工作Q需要指明mysql.sock文g的生位|?修改socket=/var/lib/mysql/mysql.sock一行中{号双的gؓ(f)Q?home/mysql/mysql.sock 。操作如下:(x)
       vi  my.cnf    (用vi工具~辑my.cnf文gQ找C列数据修改之)
       # The MySQL server
        [mysqld]
        port   = 3306
       #socket  = /var/lib/mysql/mysql.sockQ原内容Qؓ(f)了更E_?#8220;#”注释此行Q?br>    socket  = /home/data/mysql/mysql.sock   Q加上此行)

      6、修改MySQL启动脚本/etc/rc.d/init.d/mysql
      最后,需要修改MySQL启动脚本/etc/rc.d/init.d/mysqlQ把其中datadir=/var/lib/mysql一行中Q等号右边的路径Ҏ(gu)你现在的实际存放路径Qhome/data/mysql?br>  [root@test1 etc]# vi /etc/rc.d/init.d/mysql
      #datadir=/var/lib/mysql    Q注释此行)
      datadir=/home/data/mysql   Q加上此行)

      7、重新启动MySQL服务
      /etc/rc.d/init.d/mysql start
      或用reboot命o(h)重启Linux
      如果工作正常Ud成功了Q否则对照前面的7步再查一下?br>
      八、MySQL的常用操?br>
      注意QMySQL中每个命令后都要以分Pl尾?br>
      1、显C数据库
      mysql> show databases;
      +----------+
      | Database |
      +----------+
      | mysql  |
      | test   |
      +----------+
      2 rows in set (0.04 sec)
      Mysql刚安装完有两个数据库Qmysql和test。mysql库非帔R要,它里面有MySQL的系l信息,我们改密码和新增用户Q实际上是用这个库中的相关表进行操作?br>
      2、显C数据库中的?br>  mysql> use mysql; Q打开库,Ҏ(gu)个库q行操作p打开此库Q类gfoxpro Q?br>  Database changed

      mysql> show tables;
      +-----------------+
      | Tables_in_mysql |
      +-----------------+
      | columns_priv  |
      | db       |
      | func      |
      | host      |
      | tables_priv   |
      | user      |
      +-----------------+
      6 rows in set (0.01 sec)

      3、显C数据表的结构:(x)
      describe 表名;

      4、显C中的记录Q?br>  select * from 表名;
      例如Q显Cmysql库中user表中的纪录。所有能对MySQL用户操作的用户都在此表中?br>  Select * from user;

      5、徏库:(x)
      create database 库名;
      例如Q创Z个名字位aaa的库
      mysql> create databases aaa;
    6、徏表:(x)
      use 库名Q?br>  create table 表名 (字段讑֮列表)Q?br>  例如Q在刚创建的aaa库中建立表name,表中有id(序号Q自动增?QxmQ姓名),xbQ性别Q?csnyQ出w年月)四个字段
      use aaa;
      mysql> create table name (id int(3) auto_increment not null primary key, xm char(8),xb char(2),csny date);
      可以用describe命o(h)察看刚徏立的表结构?br>  mysql> describe name;

      +-------+---------+------+-----+---------+----------------+
      | Field | Type  | Null | Key | Default | Extra     |
      +-------+---------+------+-----+---------+----------------+
      | id  | int(3) |   | PRI | NULL  | auto_increment |
      | xm  | char(8) | YES |   | NULL  |        |
      | xb  | char(2) | YES |   | NULL  |        |
      | csny | date  | YES |   | NULL  |        |
      +-------+---------+------+-----+---------+----------------+

      7、增加记?br>  例如Q增加几条相关纪录?br>  mysql> insert into name values('','张三','?,'1971-10-01');
      mysql> insert into name values('','白云','?,'1972-05-20');
      可用select命o(h)来验证结果?br>  mysql> select * from name;
      +----+------+------+------------+
      | id | xm  | xb  | csny    |
      +----+------+------+------------+
      | 1 | 张三 | 甗 | 1971-10-01 |
      | 2 | 白云 | 奟뀀 | 1972-05-20 |
      +----+------+------+------------+

      8、修改纪?br>  例如Q将张三的出生年月改?971-01-10
      mysql> update name set csny='1971-01-10' where xm='张三';

      9、删除纪?br>  例如Q删除张三的U录?br>  mysql> delete from name where xm='张三';

      10、删库和删表
      drop database 库名;
      drop table 表名Q?br>
      ?ji)、增加MySQL用户

      格式Qgrant select on 数据?* to 用户名@dL identified by "密码"
    ?、增加一个用户user_1密码?23Q让他可以在ML上登录,q对所有数据库有查询、插入、修攏V删除的权限。首先用以root用户q入MySQLQ然后键入以下命令:(x)

      mysql> grant select,insert,update,delete on *.* to user_1@"%" Identified by "123";
    ?增加的用h十分危险的,如果知道了user_1的密码,那么他就可以在网上的M一台电(sh)脑上d你的MySQL数据库ƈ对你的数据ؓ(f)所Ʋؓ(f)了,解决办法见例2?br>
       ?、增加一个用户user_2密码?23,让此用户只可以在localhost上登录,q可以对数据库aaaq行查询、插入、修攏V删除的操作 Qlocalhost指本C机,即MySQL数据库所在的那台LQ,q样用户即用知道user_2的密码,他也无法从网上直接访问数据库Q只能通过 MYSQLL来操作aaa库?br>
      mysql>grant select,insert,update,delete on aaa.* to user_2@localhost identified by "123";

      用新增的用户如果d不了MySQLQ在d时用如下命o(h)Q?br>
      mysql -u user_1 -p -h 192.168.113.50 Q?h后跟的是要登录主机的ip地址Q?br>
      十、备份与恢复

      1、备?br>
      例如Q将上例创徏的aaa库备份到文gback_aaa?br>
      [root@test1 root]# cd /home/data/mysql (q入到库目录Q本例库已由val/lib/mysql转到/home/data/mysqlQ见上述W七部分内容)
      [root@test1 mysql]# mysqldump -u root -p --opt aaa > back_aaa

      2、恢?br>
      [root@test mysql]# mysql -u root -p ccc < back_aaa




    liaojiyong 2007-05-18 11:53 发表评论
    ]]>
    RPM命o(h)手册Q{Q?/title><link>http://www.aygfsteel.com/liaojiyong/archive/2007/04/28/114376.html</link><dc:creator>liaojiyong</dc:creator><author>liaojiyong</author><pubDate>Sat, 28 Apr 2007 08:19:00 GMT</pubDate><guid>http://www.aygfsteel.com/liaojiyong/archive/2007/04/28/114376.html</guid><wfw:comment>http://www.aygfsteel.com/liaojiyong/comments/114376.html</wfw:comment><comments>http://www.aygfsteel.com/liaojiyong/archive/2007/04/28/114376.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/liaojiyong/comments/commentRss/114376.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/liaojiyong/services/trackbacks/114376.html</trackback:ping><description><![CDATA[RPM 软g包是非常常见的Linux软g包格式,包括RedhatQMandrake以及几乎全部的国产Linux在内的很多发行版本都用来作ؓ(f)默认的发行Y件包格式。对于RPM格式的基本操作是一个Linuxer应该熟习(fn)和掌握的?br><br>一、安?<br><br>命o(h)格式Q?<br><br>rpm -i ( or --install) options file1.rpm ... fileN.rpm <br><br>参数Q?<br><br>file1.rpm ... fileN.rpm 要安装的RPM包的文g?<br><br>详细选项Q?<br><br>-h (or --hash) 安装时输出hash记号 (``#'') <br>--test 只对安装q行试Qƈ不实际安装?<br>--percent 以百分比的Ş式输出安装的q度?<br>--excludedocs 不安装Y件包中的文档文g <br>--includedocs 安装文档 <br>--replacepkgs 强制重新安装已经安装的Y件包 <br>--replacefiles 替换属于其它软g包的文g <br>--force 忽略软g包及文g的冲H?<br>--noscripts 不运行预安装和后安装脚本 <br>--prefix <path>Y件包安装到由 <path>指定的\径下 <br>--ignorearch 不校验Y件包的结?<br>--ignoreos 不检查Y件包q行的操作系l?<br>--nodeps 不检查依赖性关p?<br>--ftpproxy <host>?<host>作ؓ(f) FTP代理 <br>--ftpport <port>指定FTP的端口号? <port><br><br>通用选项 <br><br>-v 昄附加信息 <br>-vv 昄调试信息 <br>--root <path>让RPM? <path>指定的\径做?根目?Q这样预安装E序和后?<br>装程序都?x)安装到q个目录?<br>--rcfile <rcfile>讄rpmrc文g?<rcfile><br>--dbpath <path>讄RPM 资料库存所在的路径? <path><br><br>二、删?<br><br>命o(h)格式Q?<br><br>rpm -e ( or --erase) options pkg1 ... pkgN <br><br>参数 <br><br>pkg1 ... pkgN Q要删除的Y件包 <br><br>详细选项 <br><br>--test 只执行删除的试 <br>--noscripts 不运行预安装和后安装脚本E序 <br>--nodeps 不检查依赖?<br><br>通用选项 <br><br>-vv 昄调试信息 <br>--root <path>让RPM? <path>指定的\径做?根目?Q这样预安装E序和后安装 <br>E序都会(x)安装到这个目录下 <br>--rcfile <rcfile>讄rpmrc文g?<rcfile><br>--dbpath <path>讄RPM 资料库存所在的路径? <path><br><br>三、升U?<br><br>命o(h)格式 <br><br>rpm -U ( or --upgrade) options file1.rpm ... fileN.rpm <br><br>参数 <br><br>file1.rpm ... fileN.rpm 软g包的名字 <br><br>详细选项 <br><br>-h (or --hash) 安装时输出hash记号 (``#'') <br>--oldpackage 允许"升"C个老版?<br>--test 只进行升U测?<br>--excludedocs 不安装Y件包中的文档文g <br>--includedocs 安装文档 <br>--replacepkgs 强制重新安装已经安装的Y件包 <br>--replacefiles 替换属于其它软g包的文g <br>--force 忽略软g包及文g的冲H?<br>--percent 以百分比的Ş式输出安装的q度?<br>--noscripts 不运行预安装和后安装脚本 <br>--prefix <path>Y件包安装到由 <path>指定的\径下 <br>--ignorearch 不校验Y件包的结?<br>--ignoreos 不检查Y件包q行的操作系l?<br>--nodeps 不检查依赖性关p?<br>--ftpproxy <host>?<host>作ؓ(f) FTP代理 <br>--ftpport <port>指定FTP的端口号? <port><br><br>通用选项 <br><br>-v 昄附加信息 <br>-vv 昄调试信息 <br>--root <path>让RPM? <path>指定的\径做?根目?Q这样预安装E序和后安装E序都会(x)安装到这个目录下 <br>--rcfile <rcfile>讄rpmrc文g?<rcfile><br>--dbpath <path>讄RPM 资料库存所在的路径? <path><br><br>四、查?<br><br>命o(h)格式Q?<br><br>rpm -q ( or --query) options <br><br>参数Q?<br><br>pkg1 ... pkgN Q查询已安装的Y件包 <br><br>详细选项 <br><br>-p <file>(or ``-'') 查询软g包的文g <br>-f <file>查询<file>属于哪个软g?<br>-a 查询所有安装的软g?<br>--whatprovides <x>查询提供?<x>功能的Y件包 <br>-g <group>查询属于<group> l的软g?<br>--whatrequires <x>查询所有需?<x>功能的Y件包 <br><br>信息选项 <br><br><null>昄软g包的全部标识 <br>-i 昄软g包的概要信息 <br>-l 昄软g包中的文件列?<br>-c 昄配置文g列表 <br>-d 昄文档文g列表 <br>-s 昄软g包中文g列表q显C每个文件的状?<br>--scripts 昄安装、卸载、校验脚?<br>--queryformat (or --qf) 以用h定的方式昄查询信息 <br>--dump 昄每个文g的所有已校验信息 <br>--provides 昄软g包提供的功能 <br>--requires (or -R) 昄软g包所需的功?<br><br>通用选项 <br><br>-v 昄附加信息 <br>-vv 昄调试信息 <br>--root <path>让RPM? <path>指定的\径做?根目?Q这样预安装E序和后安装E序都会(x)安装到这个目录下 <br>--rcfile <rcfile>讄rpmrc文g?<rcfile><br>--dbpath <path>讄RPM 资料库存所在的路径? <path><br><br>五、校验已安装的Y件包 <br><br>命o(h)格式Q?<br><br>rpm -V ( or --verify, or -y) options <br><br>参数 <br><br>pkg1 ... pkgN 要校验的Y件包?<br><br>软g包选项 <br><br>-p <file>Verify against package file <file><br>-f <file>校验<file>所属的软g?<br>-a Verify 校验所有的软g?<br>-g <group>校验所有属于组 <group>的Y件包 <br><br>详细选项 <br><br>--noscripts 不运行校验脚?<br>--nodeps 不校验依赖?<br>--nofiles 不校验文件属?<br><br>通用选项 <br><br>-v 昄附加信息 <br>-vv 昄调试信息 <br>--root <path>让RPM? <path>指定的\径做?根目?Q这样预安装E序和后安装E序都会(x)安装到这个目录下 <br>--rcfile <rcfile>讄rpmrc文g?<rcfile><br>--dbpath <path>讄RPM 资料库存所在的路径? <path><br><br>六、校验Y件包中的文g <br><br>语法Q?<br><br>rpm -K ( or --checksig) options file1.rpm ... fileN.rpm <br><br>参数Q?<br><br>file1.rpm ... fileN.rpm 软g包的文g?<br><br>Checksig--详细选项 <br><br>--nopgp 不校验PGP{֐ <br><br>通用选项 <br><br>-v 昄附加信息 <br>-vv 昄调试信息 <br>--rcfile <rcfile>讄rpmrc文g?<rcfile><br><br><br>七、其它RPM选项 <br><br>--rebuilddb 重徏RPM资料?<br>--initdb 创徏一个新的RPM资料?<br>--quiet 可能的减少输出 <br>--help 昄帮助文g <br>--version 昄RPM的当前版?<br> <img src ="http://www.aygfsteel.com/liaojiyong/aggbug/114376.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/liaojiyong/" target="_blank">liaojiyong</a> 2007-04-28 16:19 <a href="http://www.aygfsteel.com/liaojiyong/archive/2007/04/28/114376.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>FTP使用_萃--FTP的内部命令(转)http://www.aygfsteel.com/liaojiyong/archive/2007/04/28/114375.htmlliaojiyongliaojiyongSat, 28 Apr 2007 08:18:00 GMThttp://www.aygfsteel.com/liaojiyong/archive/2007/04/28/114375.htmlhttp://www.aygfsteel.com/liaojiyong/comments/114375.htmlhttp://www.aygfsteel.com/liaojiyong/archive/2007/04/28/114375.html#Feedback0http://www.aygfsteel.com/liaojiyong/comments/commentRss/114375.htmlhttp://www.aygfsteel.com/liaojiyong/services/trackbacks/114375.html|络技?hspace=10 FTP命o(h)是Internet用户使用最频繁的命令之一Q不论是在DOSq是UNIX操作pȝ
    下用FTPQ都?x)遇到大量的FTP内部命o(h)?熟?zhn)q灵zd用FTP的内部命令,?
    以大大方便用者,q收C半功倍之?..........

    FTP命o(h)是Internet用户使用最频繁的命令之一Q不论是在DOSq是UNIX操作pȝ
    下用FTPQ都?x)遇到大量的FTP内部命o(h)?熟?zhn)q灵zd用FTP的内部命令,?
    以大大方便用者,q收C半功倍之效?
    FTP的命令行格式为:(x) ftp -v -d -i -n -g [L名] Q其?

    -v 昄q程服务器的所有响应信息;

    -n 限制ftp的自动登录,即不使用Q?

    .n etrc文gQ?

    -d 使用调试方式Q?

    -g 取消全局文g名?

    ftp使用的内部命令如?中括可C可选项):

    1.![cmd[args]]Q在本地Z执行交互shellQexit回到ftp环境Q如Q?ls*
    .zip.

    2.$ macro-ame[args]Q执行宏定义macro-name.

    3.account[password]Q提供登录远E系l成功后讉Kpȝ资源所需的补充口
    令?

    4.append local-file[remote-file]Q将本地文gq加到远E系l主机,?
    未指定远E系l文件名Q则使用本地文g名?

    5.asciiQ用asciicd传输方式?

    6.bellQ每个命令执行完毕后计算机响铃一ơ?

    7.binQ用二q制文g传输方式?

    8.byeQ退出ftp?x)话q程?

    9.caseQ在使用mgetӞ远E主机文件名中的大写转ؓ(f)写字母?

    10.cd remote-dirQ进入远E主机目录?

    11.cdupQ进入远E主机目录的父目录?

    12.chmod mode file-nameQ将q程L文gfile-name的存取方式设|ؓ(f)mo
    deQ如Q?chmod 777 a.out ?

    13.closeQ中断与q程服务器的ftp?x)?与open对应)?

    14.crQ用asscii方式传输文gӞ回车换行{换ؓ(f)回行?

    15.delete remote-fileQ删除远E主机文件?

    16.debug[debug-value]Q设|调试方式, 昄发送至q程L的每条命?
    Q如Q?deb up 3Q若设ؓ(f)0Q表C取消debug?

    17.dir[remote-dir][local-file]Q显CE主机目录,q将l果存入本地
    文glocal-file?

    18.disconnectionQ同close?

    19.form formatQ将文g传输方式讄为formatQ缺省ؓ(f)file方式?

    20.get remote-file[local-file]Q?远E主机的文gremote-file传至?
    地硬盘的local-file?

    21.globQ设|mdeleteQmgetQmput的文件名扩展Q缺省时不扩展文件名Q?
    同命令行?g参数?

    22.hashQ每传输1024字节Q显CZ个hashW号(#)?

    23.help[cmd]Q显Cftp内部命o(h)cmd的帮助信息,如:(x)help get?

    24.idle[seconds]Q将q程服务器的休眠计时器设为[seconds]U?

    25.imageQ设|二q制传输方式(同binary)?

    26.lcd[dir]Q将本地工作目录切换至dir?

    27.ls[remote-dir][local-file]Q显CE目录remote-dirQ?q存入本?
    文glocal-file?

    28.macdef macro-nameQ定义一个宏Q遇到macdef下的IӞ宏定义结?
    ?

    29.mdelete[remote-file]Q删除远E主机文件?

    30.mdir remote-files local-fileQ与dircMQ但可指定多个远E文Ӟ
    如:(x) mdir *.o.*.zipoutfile ?

    31.mget remote-filesQ传输多个远E文件?

    32.mkdir dir-nameQ在q程L中徏一目录?

    33.mls remote-file local-fileQ同nlistQ但可指定多个文件名?

    34.mode[modename]Q将文g传输方式讄为modenameQ?~省为stream方式
    ?

    35.modtime file-nameQ显CE主机文件的最后修Ҏ(gu)间?

    36.mput local-fileQ将多个文g传输臌E主机?

    37.newer file-nameQ?如果q程Zfile-name的修Ҏ(gu)间比本地盘同名
    文g的时间更q,则重传该文g?

    38.nlist[remote-dir][local-file]Q显CE主机目录的文g清单Qƈ?
    入本地硬盘的local-file?

    39.nmap[inpattern outpattern]Q设|文件名映射机制Q?使得文g传输?
    Q文件中的某些字W相互{换,如:(x)nmap $1.$2.$3[$1Q?2].[$2Q?3]Q则传输
    文ga1.a2.a3Ӟ文g名变为a1Qa2。该命o(h)特别适用于远E主Zؓ(f)非UNIX机的
    情况?

    40.ntrans[inchars[outchars]]Q设|文件名字符的翻译机Ӟ如ntrans 
    1RQ则文g名LLL变为RRR?

    41.open host[port]Q徏立指定ftp服务器连接,可指定连接端口?

    42.passiveQ进入被动传输方式?

    43.promptQ设|多个文件传输时的交互提C?

    44.proxy ftp-cmdQ在ơ要控制q接中,执行一条ftp命o(h)Q?该命令允许连
    接两个ftp服务器,以在两个服务器间传输文g。第一条ftp命o(h)必须为openQ以
    首先建立两个服务器间的连接?

    45.put local-file[remote-file]Q将本地文glocal-file传送至q程L
    ?

    46.pwdQ显CE主机的当前工作目录?

    47.quitQ同byeQ退出ftp?x)话?

    48.quote arg1Qarg2...Q将参数逐字发至q程ftp服务器,如:(x)quote sys
    t.

    49.recv remote-file[local-file]Q同get?

    50.reget remote-file[local-file]Q类ggetQ但若local-file存在Q则
    从上ơ传输中断处l传?

    51.rhelp[cmd-name]Q请求获得远E主机的帮助?

    52.rstatus[file-name]Q若未指定文件名Q则昄q程L的状态,否则?
    C文件状态?

    53.rename[from][to]Q更改远E主机文件名?

    54.resetQ清除回{队列?

    55.restart markerQ从指定的标志marker处,重新开始get或putQ如Qres
    tart 130?

    56.rmdir dir-nameQ删除远E主机目录?

    57.runiqueQ设|文件名唯一性存储,若文件存在,则在原文件后加后~..
    1Q?2{?

    58.send local-file[remote-file]Q同put?

    59.sendportQ设|PORT命o(h)的用?

    60.site arg1Qarg2...Q将参数作ؓ(f)SITE命o(h)逐字发送至q程ftpL?

    61.size file-nameQ显CE主机文件大,如:(x)site idle 7200?

    62.statusQ显C当前ftp状态?

    63.struct[struct-name]Q将文g传输l构讄为struct-nameQ?~省时
    用streaml构?

    64.suniqueQ将q程L文g名存储设|ؓ(f)唯一(与runique对应)?

    65.systemQ显CE主机的操作pȝcd?

    66.tenexQ将文g传输cd讄为TENEX机的所需的类型?

    67.tickQ设|传输时的字节计数器?

    68.traceQ设|包跟踪?

    69.type[type-name]Q设|文件传输类型ؓ(f)type-nameQ缺省ؓ(f)asciiQ如Q?
    type binaryQ设|二q制传输方式?

    70.umask[newmask]Q将q程服务器的~省umask讄为newmaskQ如Qumask
    3?

    71.user user-name[password][account]Q向q程L表明自己的n份,需
    要口令时Q必输入口令,如:(x)user anonymous my@email?

    72.verboseQ同命o(h)行的-v参数Q即讄详尽报告方式Qftp服务器的所有响
    应都显C给用户Q缺省ؓ(f)on.

    73.?[cmd]Q同help.


    liaojiyong 2007-04-28 16:18 发表评论
    ]]>
    Unix基本命o(h)(按字母排?(?http://www.aygfsteel.com/liaojiyong/archive/2007/04/28/114371.htmlliaojiyongliaojiyongSat, 28 Apr 2007 08:14:00 GMThttp://www.aygfsteel.com/liaojiyong/archive/2007/04/28/114371.htmlhttp://www.aygfsteel.com/liaojiyong/comments/114371.htmlhttp://www.aygfsteel.com/liaojiyong/archive/2007/04/28/114371.html#Feedback0http://www.aygfsteel.com/liaojiyong/comments/commentRss/114371.htmlhttp://www.aygfsteel.com/liaojiyong/services/trackbacks/114371.html
    at : execute commands at a specified time/date.
    awk: a scripting language, especially useful for manipulating text and automation.

    B
    bash : invokes the Bourne Again Shell (standard on most boxes).
    batch: execute comands when load permits.
    bc : interactive C-like calcultor (integers only).

    C
    cal : displays a calender, also lets you choose month/year using parameters.
    calender : invoke a reminder service.
    cancel : cancel request to calender.
    cat : concatenate files (displays a file without scrolling ability. Simply dumps
    it to the standard output. Can be useful when chaining multiple
    applications to do complicated jobs, so one application can use another's
    output as input).

    cd : change the current working directory.
    chgrp : change group ownership of a file.
    chmod : change access patterns (permissions) to files.
    chown : change user ownership of files.
    clear : clear the screen.
    cmp : compare two files.
    cp : copy files.
    cpio : archive and extract files.
    cron : clock deamon (executes "batch" and "at" commands).
    crontab : schedules commands at regular intervals.
    crypt : encrypt , decrypt files using altered DES, standard to Unix passwords
    (restricted distribution).
    csh : invoke the C shell.
    csplit : split file into several other files.
    cu : call up another unix terminal.
    cut : cut selected fields from each line of file.

    D
    date : displays the time and date (can also change it if you're root).
    dd : convert and copy a file.
    df : reports space (free, total etc') on all mounted file systems.
    diff : copare two files.
    diff3 : compare 3 or more files.
    dircmp : compare two directories.
    du : report disk usage.

    E
    echo : echo argument to standart output.
    ed : line oriented editor.
    egrep : extended version of grep (searches for extended regular expressions).
    expr : evaluate boolean and arithmetic expression.

    F
    fgrep : same as grep, only it interprets patterns as a list of fixed strings.
    false : return nonzero (false) exit status.
    file : report type of file.
    find : find matching files and run specified programs on them (optional).
    finger : report user information (operates remotely only if a finger server is running
    on the remote host).
    ftp : (file transfer protocol) a client for FTP servers.

    G
    grep : search files for regular expression matches.

    H
    haltsys : gracefully shutdown sytem (can only be run by root. halt in Linux).
    head : display first 10 lines of a file.

    J
    join : display the combination (lines with command field) of two fields.

    K
    kill : send a signal to terminate a process.
    ksh : invoke the korn shell.

    L
    line : read a specific line out of a file (shell script usage).
    ln : create a link to a file/directory.
    logname : gets your login name.
    lpr : sends a request to printer.
    lprint : prints on local printer.
    lpstat : reports printer status.
    lpq : same as above.
    ls : lists the contents of directory.

    M
    mail : send and recieve mail.
    man : displays manual pages.
    mesg : grant or deny permissions to recieve messages from other users using the
    write command.
    mkdir : create a new directory .
    mknod : build a special file.
    more : display file one page at a time.
    mount : mount a storage device.
    mv : move or rename a file.

    N
    news : display news item from NNTP servers.
    nice : change priorities of processes.
    nohup : run a command after logout (ignores hangup signals).
    nroff : format files for printing.
    nslookup : retrieve information from DNS servers.

    O
    od : displays a file in 8-based octals.

    P
    passwd : create or change login password.
    paste : merge lines of files.
    pr : format and print file.
    ps : reports status of active processes.
    pstat : report system status.
    pwcheck : check /etc/passwd (default) file.
    pwd : display current working directory.

    R
    rm : remove (erase) files or directories (unrecoverable).
    rmdir : remove an empty directory.
    rsh : invoke Restricted Bourne Shell.

    S
    sed : the stream editor.
    set : assign value to variable.
    setenv : assign value to enviroment variable.
    sh : invoke Bourne shell.
    sleep : suspend execution of a command for a given period.
    sort : sort and merge files.
    spell : find spelling errors.
    split : split file to smaller files.
    stty : set options for a terminal.
    su : spawns a subshell with a different uname, requires other user's
    password,unless you're root.
    sum : compute checksums and number of blocks for files.

    T
    tabs : set tabs on a terminal.
    tail : display last 10 lines of file.
    tar : a simple compression tool that merges multiple files into a single one,
    originally made to make backing up materials on backup tapes easier.
    tee : create a tee in a pipe.
    telnet : access remote systems using the telnet protocol.
    test : test various expressions and files.
    time : display elapsed time (execution, process, and system times) for a
    command.
    touch : change time/date stamps of files.
    tr : substitutes sets of charecters.
    translate : translates files to different format.
    troff : format files to phototypester.
    true : return zero (true) exit status.
    tset : set terminal mode.
    tty : report a name of a terminal.

    U
    umask : set file-creation mode (permissions) mask.
    umount : unmount a device.
    uname : display the name of the current system.
    uniq : report any duplicate line in a file.
    units : convert numbers from one unit to another.
    unzip : extract files from zip archieve.
    uptime : report system activety.
    uucp : copy files between two unix systems (oldie but still beautiful).
    uulog : report uucp status.
    uuname : list uucp sites known to this site.
    uudecode : decode to binary after "uuencode" transmission.
    uencode : encode binary file for email transmission.
    uustat : report status of uucp or cancel a job.
    uupick : receive public files sent bu uuto.
    uuto : send files to another public Unix system.
    uux : execute command to remote Unix system.

    V
    vi : a screen oriented (visual) editor (cool ,but Vim is better).

    W
    wall : sends message to all users (root only).
    wait : await completion of background process.
    wc : count lines, words, bytes etc' in one or more files.
    who : report active users.
    whois : search for user information.
    write : send a message for another user (see mesg).
    whoami : which user you are logged in as at the moment. If you, for example,
    switch to a different user, logname will show the original uname you
    logged in as, and whoami will show the current user.


    Z
    zip : archieve file or files in zip format.'

    liaojiyong 2007-04-28 16:14 发表评论
    ]]>
    Linux 入门常用命o(h)Q{Q?/title><link>http://www.aygfsteel.com/liaojiyong/archive/2007/04/28/114368.html</link><dc:creator>liaojiyong</dc:creator><author>liaojiyong</author><pubDate>Sat, 28 Apr 2007 08:11:00 GMT</pubDate><guid>http://www.aygfsteel.com/liaojiyong/archive/2007/04/28/114368.html</guid><wfw:comment>http://www.aygfsteel.com/liaojiyong/comments/114368.html</wfw:comment><comments>http://www.aygfsteel.com/liaojiyong/archive/2007/04/28/114368.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/liaojiyong/comments/commentRss/114368.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/liaojiyong/services/trackbacks/114368.html</trackback:ping><description><![CDATA[<span><strong>1.Linuxq入与退出系l?<br></strong><span><strong>q入</strong></span><strong><span>Linux</span>pȝ</strong>Q?br>必须要输入用L(fng)账号Q?span>在系l安装过E中可以创徏以下两种帐号Q?br></span><span>  </span><span>1</span><span>Q?/span><span>root--</span><span>用户帐号Q系l管理员Q,使用q个帐号可以在系l中做Q何事情?br></span><span>  </span><span>2</span><span>Q普通用?/span><span>--</span><span>q个帐号供普通用户用,可以q行有限的操作?br></span><span>  一般的</span><span>Linux</span><span>使用者均为普通用P而系l管理员一般用超U用户帐号完成一些系l管理的工作。如果只需要完成一些由普通帐号就能完成的dQ徏议不要用超U用户帐P以免无意中破坏系l。媄响系l的正常q行?br><span>  </span>用户d分两步:(x)W一步,输入用户的登录名Q系l根据该d名识别用PW二步,输入用户的口令,该口令是用户自己讄的一个字W串Q对其他用户是保密的Q是在登录时pȝ用来辨别真假用户的关键字?br><span>  </span></span><span>当用h地输入用户名和口o(h)后,p合法地进入系l。屏q显C:(x)</span> <p><span>[<strong>root@loclhost /root] # </strong></span></p> <p><span>q时可以对pȝ做各U操作了。注意超U用L(fng)提示W是“</span><span>#</span><span>”Q其他用L(fng)提示W是“</span><span>$</span><span>”?/span><span><br><br><strong>修改口o(h)<br></strong><span>  </span></span><span>Z更好的保护用户帐L(fng)安全Q?/span><span>Linux</span><span>允许用户随时修改自己的口令,修改口o(h)的命令是</span><span>passwd</span><span>Q它?yu)提C用戯入旧口o(h)和新口o(h)Q之后还要求用户再次认新口令,以避免用h意中按错键。如果用户忘C口o(h)Q可以向pȝ理员申请ؓ(f)自己重新讄一个?br><br></span><span><strong>虚拟控制?br></strong><span>  </span></span><span>Linux</span><span>是一个真正的多用h作系l,它可以同时接受多个用L(fng)录?/span><span>Linux</span><span>q允怸个用戯行多ơ登录,q是因ؓ(f)</span><span>Linux</span><span>?/span><span>UNIX</span><span>一P提供了虚拟控制台的访问方式,允许用户在同一旉从控制台q行多次d。虚拟控制台的选择可以通过按下</span><span>Alt</span><span>键和一个功能键来实玎ͼ通常使用</span><span>F1-F6</span><span>例如Q用L(fng)录后Q按一?/span><span>Alt-F2</span><span>键,用户又可以看?/span><span>"login:"</span><span>提示W,说明用户看到了第二个虚拟控制台。然后只需?/span><span>Alt-F1</span><span>键,可以回到第一个虚拟控制台?/span> <span>一个新安装?/span><span>Linux</span><span>pȝ默认允许用户使用</span><span>Alt-F1</span><span>?/span><span>Alt-F6</span><span>键来讉K前六个虚拟控制台。虚拟控制台可用户同时在多个控制台上工作,真正体现</span><span>Linux</span><span>pȝ多用L(fng)Ҏ(gu)。用户可以在某一虚拟控制Cq行的工作尚未结束时Q切换到另一虚拟控制台开始另一工作?br><br></span><span><strong>退出系l?br></strong></span><span><span>  </span>不论是超U用Pq是普通用P需要退出系l时Q在</span><span>shell</span><span>提示W下Q键?/span><span>exit</span><span>命o(h)卛_?/span></p> <br> <h4><span>Linux</span><span>文g的复制、删除和Ud命o(h)</span><span>? <br><br></span><span><strong>cp</strong></span><strong><span>命o(h)</span></strong><span> </span></h4> <p><span>该命令的功能是将l出的文件或目录拯到另一文g或目录中Q同</span><span>MSDOS</span><span>下的</span><span>copy</span><span>命o(h)一P功能十分强大?/span><span> </span></p> <p><span>语法Q?/span><span> cp [</span><span>选项</span><span>] </span><span>源文件或目录</span> <span>目标文g或目?/span><span> </span></p> <p><span>说明Q该命o(h)把指定的源文件复制到目标文g或把多个源文件复制到目标目录中?/span></p> <p><span>该命令的各选项含义如下Q?/span></p> <p><span>- a </span><span>该选项通常在拷贝目录时使用。它保留链接、文件属性,q归地拷贝目录,其作用等?/span><span>dpR</span><span>选项的组合?/span></p> <p><span>- d </span><span>拯时保留链接?/span></p> <p><span>- f </span><span>删除已经存在的目标文件而不提示?/span></p> <p><span>- i </span><span>?/span><span>f</span><span>选项相反Q在覆盖目标文g之前给出提C求用L(fng)认。回{?/span><span>y</span><span>时目标文件将被覆盖,是交互式拯?/span><span> </span></p> <p><span>- p </span><span>此时</span><span>cp</span><span>除复制源文g的内容外Q还把其修Ҏ(gu)间和讉K权限也复制到新文件中?/span><span> </span></p> <p><span>- r </span><span>若给出的源文件是一目录文gQ此?/span><span>cp</span><span>递归复制该目录下所有的子目录和文g。此时目标文件必Mؓ(f)一个目录名?/span></p> <p><span>- l </span><span>不作拯Q只是链接文件?/span><span> </span></p> <p><span>  需要说明的是,为防止用户在不经意的情况下用</span><span>cp</span><span>命o(h)破坏另一个文Ӟ如用h定的目标文g名已存在Q用</span><span>cp</span><span>命o(h)拯文g后,q个文g׃(x)被新源文件覆盖,因此Q徏议用户在使用</span><span>cp</span><span>命o(h)拯文gӞ最好?/span><span>i</span><span>选项?/span></p> P class=MsoNormal><span><strong>mv</strong></span><strong><span>命o(h)</span></strong> <p> </p> <p><span>用户可以使用</span><span>mv</span><span>命o(h)来ؓ(f)文g或目录改名或文件由一个目录移入另一个目录中。该命o(h)如同</span><span>MSDOS</span><span>下的</span><span>ren</span><span>?/span><span>move</span><span>的组合?/span></p> <p><span>语法Q?/span><span>mv [</span><span>选项</span><span>] </span><span>源文件或目录</span> <span>目标文g或目?/span><span> </span></p> <p><span>说明Q视</span><span>mv</span><span>命o(h)中第二个参数cd的不同(是目标文件还是目标目录)Q?/span><span>mv</span><span>命o(h)文仉命名或将其移至一个新的目录中。当W二个参数类型是文gӞ</span><span>mv</span><span>命o(h)完成文g重命名,此时Q源文g只能有一个(也可以是源目录名Q,它将所l的源文件或目录重命名ؓ(f)l定的目标文件名。当W二个参数是已存在的目录名称Ӟ源文件或目录参数可以有多个,</span><span>mv</span><span>命o(h)各参数指定的源文g均移至目标目录中。在跨文件系l移动文件时Q?/span><span>mv</span><span>先拷贝,再将原有文g删除Q而链臌文g的链接也丢失?/span></p> <p><span>命o(h)中各选项的含义ؓ(f)Q?/span></p> <p><span>- I </span><span>交互方式操作。如?/span><span>mv</span><span>操作导致对已存在的目标文g的覆盖,此时pȝ询问是否重写Q要求用户回{?/span><span>y</span><span>?/span><span>n</span><span>Q这样可以避免误覆盖文g?/span></p> <p><span>- f </span><span>止交互操作。在</span><span>mv</span><span>操作要覆盖某已有的目标文件时不给M指示Q指定此选项后,</span><span>i</span><span>选项不再v作用?/span></p> <p><span>如果所l目标文Ӟ不是目录Q已存在Q此时该文g的内容将被新文g覆盖。ؓ(f)防止用户?/span><span>mv</span><span>命o(h)破坏另一个文Ӟ使用</span><span>mv</span><span>命o(h)Ud文gӞ最好?/span><span>i</span><span>选项?/span><span> </span></p> <p>?</p> <p><span><strong>rm</strong></span><strong><span>命o(h)</span></strong></p> <p><span>用户可以?/span><span>rm</span><span>命o(h)删除不需要的文g。该命o(h)的功能ؓ(f)删除一个目录中的一个或多个文g或目录,它也可以某个目录及其下的所有文件及子目录均删除。对于链接文Ӟ只是断开了链接,原文件保持不变?/span></p> <p><span>rm</span><span>命o(h)的一般Ş式ؓ(f)Q?/span></p> <p><span>rm [</span><span>选项</span><span>] </span><span>文g…</span><span> </span></p> <p><span>如果没有使用</span><span>- r</span><span>选项Q则</span><span>rm</span><span>不会(x)删除目录?/span><span> </span></p> <p><span>该命令的各选项含义如下Q?/span></p> <p><span>- f </span><span>忽略不存在的文gQ从不给出提C?/span><span> </span></p> <p><span>- r </span><span>指示</span><span>rm</span><span>参C列出的全部目录和子目录均递归地删除?/span></p> <p><span>- i </span><span>q行交互式删除?/span><span> </span></p> <p><span>使用</span><span>rm</span><span>命o(h)要小心。因Z旦文件被删除Q它是不能被恢复的。了防止q种情况的发生,可以使用</span><span>i</span><span>选项来逐个认要删除的文g。如果用戯?/span><span>y</span><span>Q文件将被删除。如果输入Q何其他东西,文g则不?x)删除?/span></p> <p><span><strong>mv</strong></span><strong><span>命o(h)</span></strong></p> <p><span>用户可以使用</span><span>mv</span><span>命o(h)来ؓ(f)文g或目录改名或文件由一个目录移入另一个目录中。该命o(h)如同</span><span>MSDOS</span><span>下的</span><span>ren</span><span>?/span><span>move</span><span>的组合?/span></p> <p><span>语法Q?/span><span>mv [</span><span>选项</span><span>] </span><span>源文件或目录</span> <span>目标文g或目?/span><span> </span></p> <p><span>说明Q视</span><span>mv</span><span>命o(h)中第二个参数cd的不同(是目标文件还是目标目录)Q?/span><span>mv</span><span>命o(h)文仉命名或将其移至一个新的目录中。当W二个参数类型是文gӞ</span><span>mv</span><span>命o(h)完成文g重命名,此时Q源文g只能有一个(也可以是源目录名Q,它将所l的源文件或目录重命名ؓ(f)l定的目标文件名。当W二个参数是已存在的目录名称Ӟ源文件或目录参数可以有多个,</span><span>mv</span><span>命o(h)各参数指定的源文g均移至目标目录中。在跨文件系l移动文件时Q?/span><span>mv</span><span>先拷贝,再将原有文g删除Q而链臌文g的链接也丢失?/span></p> <p><span>命o(h)中各选项的含义ؓ(f)Q?/span></p> <p><span>- I </span><span>交互方式操作。如?/span><span>mv</span><span>操作导致对已存在的目标文g的覆盖,此时pȝ询问是否重写Q要求用户回{?/span><span>y</span><span>?/span><span>n</span><span>Q这样可以避免误覆盖文g?/span></p> <p><span>- f </span><span>止交互操作。在</span><span>mv</span><span>操作要覆盖某已有的目标文件时不给M指示Q指定此选项后,</span><span>i</span><span>选项不再v作用?/span></p> <p><span>如果所l目标文Ӟ不是目录Q已存在Q此时该文g的内容将被新文g覆盖。ؓ(f)防止用户?/span><span>mv</span><span>命o(h)破坏另一个文Ӟ使用</span><span>mv</span><span>命o(h)Ud文gӞ最好?/span><span>i</span><span>选项?/span><span> </span></p> <p>?</p> <p><span><strong>rm</strong></span><strong><span>命o(h)</span></strong></p> <p><span>用户可以?/span><span>rm</span><span>命o(h)删除不需要的文g。该命o(h)的功能ؓ(f)删除一个目录中的一个或多个文g或目录,它也可以某个目录及其下的所有文件及子目录均删除。对于链接文Ӟ只是断开了链接,原文件保持不变?/span></p> <p><span>rm</span><span>命o(h)的一般Ş式ؓ(f)Q?/span></p> <p><span>rm [</span><span>选项</span><span>] </span><span>文g…</span><span> </span></p> <p><span>如果没有使用</span><span>- r</span><span>选项Q则</span><span>rm</span><span>不会(x)删除目录?/span><span> </span></p> <p><span>该命令的各选项含义如下Q?/span></p> <p><span>- f </span><span>忽略不存在的文gQ从不给出提C?/span><span> </span></p> <p><span>- r </span><span>指示</span><span>rm</span><span>参C列出的全部目录和子目录均递归地删除?/span></p> <p><span>- i </span><span>q行交互式删除?/span><span> </span></p> <p><span>使用</span><span>rm</span><span>命o(h)要小心。因Z旦文件被删除Q它是不能被恢复的。了防止q种情况的发生,可以使用</span><span>i</span><span>选项来逐个认要删除的文g。如果用戯?/span><span>y</span><span>Q文件将被删除。如果输入Q何其他东西,文g则不?x)删除?/span></p> <h4><span><strong>Linux</strong></span><strong><span>目录的创Z删除命o(h)</span></strong><span>? </span></h4> <p><span><strong>mkdir</strong></span><strong><span>命o(h)</span></strong></p> <p><span>功能Q创Z个目录(cM</span><span>MSDOS</span><span>下的</span><span>md</span><span>命o(h)Q?/span></p> <p><span>语法Q?/span><span>mkdir [</span><span>选项</span><span>] dir-name </span></p> <p><span>说明Q该命o(h)创徏?/span><span>dir-name</span><span>命名的目录。要求创建目录的用户在当前目录中Q?/span><span>dir-name</span><span>的父目录中)h写权限,q且</span><span>dirname</span><span>不能是当前目录中已有的目录或</span> <span>文g名称?/span></p> <p><span>命o(h)中各选项的含义ؓ(f)Q?/span></p> <p><span>- m </span><span>Ҏ(gu)建目录设|存取权限。也可以?/span><span>chmod</span><span>命o(h)讄?/span></p> <p><span>- p </span><span>可以是一个\径名U。此时若路径中的某些目录不存在Q?/span> <span>加上此选项后,</span> <span>pȝ自动徏立好那些不存在的目录,即一ơ可以徏立多个目录?/span></p> <p>?</p> <p><span><strong>rmdir </strong></span><strong><span>命o(h)</span></strong></p> <p><span>功能Q删除空目录?/span></p> <p><span>语法Q?/span><span>rmdir [</span><span>选项</span><span>] dir-name </span></p> <p><span>说明Q?/span><span>dir-name</span><span>表示目录名。该命o(h)从一个目录中删除一个或多个子目录项。需?/span> <span>特别注意的是Q一个目录被删除之前必须是空的?/span><span>rm - r dir</span><span>命o(h)可代?/span><span> rmdir</span><span>Q但是有危险性。删除某目录时也必须h对父目录的写权限?/span></p> <p><span>命o(h)中各选项的含义ؓ(f)Q?/span></p> <p><span>- p </span><span>递归删除目录</span><span>dirname</span><span>Q当子目录删除后其父目录为空Ӟ也一同被删除。如果整个\径被删除或者由于某U原因保留部分\径,则系l在标准输出上显C相?/span> <span>的信息?/span></p> <p>?</p> <p><span><strong>cd </strong></span><strong><span>命o(h)</span><span> </span></strong></p> <p><span>功能Q改变工作目录?/span></p> <p><span>语法Q?/span><span>cd [directory]</span></p> <p><span>说明Q该命o(h)当前目录改变至</span><span>directory</span><span>所指定的目录。若没有指定</span><span>directory</span><span>Q?/span> <span>则回到用L(fng)ȝ录。ؓ(f)了改变到指定目录Q用户必L有对指定目录的执行和?/span> <span>权限?/span><span> </span></p> <p><span>该命令可以用通配W(通配W含义请参见W十章)?/span><span> </span></p> <p><span><strong><br>pwd </strong></span><strong><span>命o(h)</span></strong></p> <p><span>?/span><span>Linux</span><span>层次目录l构中,用户可以在被授权的Q意目录下利用</span><span>mkdir</span><span>命o(h)创徏新目录,也可以利?/span><span>cd</span><span>命o(h)从一个目录{换到另一个目录。然而,没有提示W来告知?/span> <span>L(fng)前处于哪一个目录中。要想知道当前所处的目录Q可以?/span><span>pwd</span><span>命o(h)Q该命o(h)昄整个路径名?/span></p> <p><span>语法Q?/span><span>pwd </span></p> <p><span>说明Q此命o(h)昄出当前工作目录的l对路径?/span></p> <p>?</p> <p><span><strong>ls </strong></span><strong><span>命o(h)</span></strong></p> <p><span>ls</span><span>是英文单?/span><span>list</span><span>的简写,其功能ؓ(f)列出目录的内宏V这是用h常用的一个命令之一Q因为用户需要不时地查看某个目录的内宏V该命o(h)cM?/span><span>DOS</span><span>下的</span><span>dir</span><span>命o(h)?/span></p> <p><span>语法Q?/span><span>ls [</span><span>选项</span><span>] [</span><span>目录或是文g</span><span>] </span></p> <p><span>对于每个目录Q该命o(h)列出其中的所有子目录与文件。对于每个文Ӟ</span><span>ls</span><span>输?/span> <span>其文件名以及所要求的其他信息。默认情况下Q输出条目按字母序排序。当未给出目录名或是文g名时Q就昄当前目录的信息?/span></p> <p><span>命o(h)中各选项的含义如下:(x)</span></p> <p><span>- a </span><span>昄指定目录下所有子目录与文Ӟ包括隐藏文g?/span><span> </span></p> <p><span>- A </span><span>昄指定目录下所有子目录与文Ӟ包括隐藏文g。但不列?#8220;</span><span>.</span><span>”?/span> <span>“</span><span>..</span><span>”?/span></p> <p><span>- b </span><span>Ҏ(gu)件名中的不可昄字符用八q制逃逸字W显C?/span></p> <p><span>- c </span><span>按文件的修改旉排序?/span><span> </span></p> <p><span>- C </span><span>分成多列昄各项?/span></p> <p><span>- d </span><span>如果参数是目录,只显C其名称而不昄其下的各文g。往往?/span><span>l</span><span>选项一起</span> <span>用,以得到目录的详细信息?/span></p> <p><span>- f </span><span>不排序。该选项</span><span>lts</span><span>选项失效Qƈ?/span><span>aU</span><span>选项有效?/span></p> <p><span>- F </span><span>在目录名后面标记“</span><span>/</span><span>”Q可执行文g后面标记“</span><span>*</span><span>”Q符号链接后面标?/span> <span>“</span><span>@</span><span>”Q管道(?/span><span>FIFO</span><span>Q后面标?#8220;</span><span>|</span><span>”Q?/span><span>socket</span><span>文g后面标记“</span><span>=</span><span>”?/span><span> </span></p> <p><span>- i </span><span>在输出的W一列显C文件的</span><span>i</span><span>节点受?/span><span> </span></p> <p><span>- l </span><span>以长格式来显C文件的详细信息。这个选项最常用?/span></p> <p><span>每行列出的信息依ơ是Q?/span> <span>文gcd与权?/span> <span>链接?/span> <span>文g属主</span> <span>文g属组</span> <span>文g大小</span> <span>建立或最q修改的旉</span> <span>名字</span><span> </span></p> <p><span>对于W号链接文gQ显C的文g名之后有“—?#8221;和引用文件\径名?/span><span> </span></p> <p><span>对于讑֤文gQ其“文g大小”字段昄丅R次讑֤P而不是文件大?/span></p> <p><span>目录中的d数显C在长格式列表的开_(d)其中包含间接块?/span><span> </span></p> <p><span>- L </span><span>若指定的名称Z个符号链接文Ӟ则显C链接所指向的文件?/span></p> <p><span>- m </span><span>输出按字W流格式Q文件跨|C,以逗号分开?/span><span> </span></p> <p><span>- n </span><span>输出格式?/span><span>l</span><span>选项相同Q只不过在输Z文g属主和属l是用相应的</span><span>UID</span><span>号和</span><span> GID</span><span>h表示Q而不是实际的名称?/span></p> <p><span>- o </span><span>?/span><span>l</span><span>选项相同Q只是不昄拥有者信息?/span></p> <p><span>- p </span><span>在目录后面加一?#8220;</span><span>/</span><span>”?/span></p> <p><span>- q </span><span>文件名中的不可昄字符?#8220;</span><span>?</span><span>”代替?/span><span> </span></p> <p><span>- r </span><span>按字母逆序或最早优先的序昄输出峁?/SPAN><span> </span></p> <p><span>- R </span><span>递归式地昄指定目录的各个子目录中的文g?/span><span> </span></p> <p><span>- s </span><span>l出每个目录Ҏ(gu)用的块数Q包括间接块?/span><span> </span></p> <p><span>- t </span><span>昄时按修改旉Q最q优先)而不是按名字排序。若文g修改旉相同Q则</span> <span>按字兔R序。修Ҏ(gu)间取决于是否使用?/span><span>c</span><span>?/span><span>u</span><span>选顶。缺省的旉标记是最后一ơ修</span> <span>Ҏ(gu)间?/span></p> <p><span>- u </span><span>昄时按文g上次存取的时_(d)最q优先)而不是按名字排序。即?/span><span>-t</span><span>的时?/span> <span>标记修改为最后一ơ访问的旉?/span></p> <p><span>- x </span><span>按行昄出各排序的信息?/span></p> <p><span>?/span><span>ls - l</span><span>命o(h)昄的信息中Q开头是?/span><span>10</span><span>个字W构成的字符Ԍ其中W一个字W表C文件类型,它可以是下述cd之一Q?/span></p> <p><span>- </span><span>普通文?/span></p> <p><span>d </span><span>目录</span><span> </span></p> <p><span>l </span><span>W号链接</span></p> <p><span>b </span><span>块设备文?/span></p> <p><span>c </span><span>字符讑֤文g</span></p> <p><span>后面?/span><span>9</span><span>个字W表C文件的讉K权限Q分?/span><span>3</span><span>l,每组</span><span>3</span><span>位?/span></p> <p><span>W一l表C文件属ȝ权限Q第二组表示同组用户的权限,W三l表C其他用L(fng)权限。每一l的三个?/span> <span>W分别表C对文g的读、写和执行权限?/span><span> </span></p> <p><span>各权限如下所C:(x)</span></p> <p><span>r </span><span>?/span><span> </span></p> <p><span>w </span><span>?/span><span> </span></p> <p><span>x </span><span>执行。对于目录,表示q入权限?/span></p> <p><span>s </span><span>当文件被执行Ӟ把该文g?/span><span>UID</span><span>?/span><span>GID</span><span>赋予执行q程?/span><span>UID</span><span>Q用?/span><span>ID</span><span>Q或</span><span>GID</span><span>Q组</span><span> ID</span><span>Q?/span></p> <p><span>t </span><span>讄标志位(留在内存Q不被换出)。如果该文g是目录,在该目录中的文g只能被超U用戗目录拥有者或文g属主删除。如果它是可执行文gQ在该文件执?/span> <span>后,指向其正文段的指针仍留在内存。这样再ơ执行它Ӟpȝp更快地装入该文g?/span><span> </span></p> <h4><span>Linux</span><span>文本处理命o(h)</span><span>? </span></h4> <p><span><strong>sort</strong></span><strong><span>命o(h)</span><span> </span></strong></p> <p><span>sort</span><span>命o(h)的功能是Ҏ(gu)件中的各行进行排序?/span><span>sort</span><span>命o(h)有许多非常实用的选项Q这些选项最初是用来Ҏ(gu)据库格式的文件内容进行各U排序操作的。实际上Q?/span><span>sort</span><span>命o(h)可以被认为是一个非常强大的数据理工具Q用来管理内容类似数据库记录的文件?/span></p> <p><span>Sort</span><span>命o(h)逐行Ҏ(gu)件中的内容进行排序,如果两行的首字符相同Q该命o(h)l比较这两行的下一字符Q如果还相同Q将l箋q行比较?/span></p> <p><span>语法Q?/span><span> </span></p> <p><span>sort [</span><span>选项</span><span>] </span><span>文g</span></p> <p><span>说明Q?/span><span>sort</span><span>命o(h)Ҏ(gu)定文件中所有的行进行排序,q将l果昄在标准输Z。如不指定输入文件或使用“</span><span>- </span><span>”Q则表示排序内容来自标准输入?/span></p> <p><span>sort</span><span>排序是根据从输入行抽取的一个或多个关键字进行比较来完成的。排序关键字定义了用来排序的最的字符序列。缺省情况下以整行ؓ(f)关键字按</span><span>ASCII</span><span>字符序q行排序?/span></p> <p><span>改变~省讄的选项主要有:(x)</span></p> <p><span>- m </span><span>若给定文件已排好序,合ƈ文g?/span></p> <p><span>- c </span><span>查给定文件是否已排好序,如果它们没有都排好序Q则打印一个出错信息,q以状态?/span><span>1</span><span>退出?/span></p> <p><span>- u </span><span>Ҏ(gu)序后认ؓ(f)相同的行只留其中一行?/span><span> </span></p> <p><span>- o </span><span>输出文g</span> <span>排序输出写到输出文件中而不是标准输出,如果输出文g是输入文件之一Q?/span><span>sort</span><span>先将该文件的内容写入一个(f)时文Ӟ然后再排序和写输出结果?/span></p> <p><span>改变~省排序规则的选项主要有:(x)</span></p> <p><span>- d </span><span>按字兔R序排序,比较时仅字母、数字、空格和制表W有意义?/span></p> <p><span>- f </span><span>小写字母与大写字母同等对待?/span></p> <p><span>- I </span><span>忽略非打印字W?/span><span> </span></p> <p><span>- M </span><span>作ؓ(f)月䆾比较Q?#8220;</span><span>JAN</span><span>”</span><span><</span><span>“</span><span>FEB</span><span>”</span><span> </span></p> <p><span>- r </span><span>按逆序输出排序l果?/span><span> </span></p> <p><span>Q?/span><span>posl - pos2 </span><span>指定一个或几个字段作ؓ(f)排序关键字,字段位置?/span><span>posl</span><span>开始,?/span><span>pos2</span><span>为止Q包?/span><span>posl</span><span>Q不包括</span><span>pos2</span><span>Q。如不指?/span><span>pos2</span><span>Q则关键字ؓ(f)?/span><span>posl</span><span>到行。字D和字符的位|从</span><span>0</span><span>开始?/span></p> <p><span>- b </span><span>在每行中L排序关键字时忽略前导的空白(I格和制表符Q?/span></p> <p><span>- t separator </span><span>指定字符</span><span>separator</span><span>作ؓ(f)字段分隔W?/span></p> <p>?</p> <p><span><strong>uniq</strong></span><strong><span>命o(h)</span></strong></p> <p><span>文gl过处理后在它的输出文g中可能会(x)出现重复的行。例如,使用</span><span>cat</span><span>命o(h)两个文件合q后Q再使用</span><span>sort</span><span>命o(h)q行排序Q就可能出现重复行。这时可以?/span><span>uniq</span><span>命o(h)这些重复行从输出文件中删除Q只留下每条记录的唯一h?/span></p> <p><span>语法Q?/span></p> <p><span>uniq [</span><span>选项</span><span>] </span><span>文g</span><span> </span></p> <p><span>说明Q这个命令读取输入文Ӟq比较相?c)行。在正常情况下,W二个及以后更多个重复行被删去Q行比较是根据所用字W集的排序序列进行的。该命o(h)加工后的l果写到输出文g中。输入文件和输出文g必须不同。如果输入文件用“</span><span>- </span><span>”表示Q则从标准输入读取?/span></p> <p><span>该命令各选项含义如下Q?/span></p> <p><span>- c </span><span>昄输出中,在每行行首加上本行在文g中出现的ơ数。它可取?/span><span>- u</span><span>?/span><span>- d</span><span>选项?/span></p> <p><span>- d </span><span>只显C重复行?/span></p> <p><span>- u </span><span>只显C文件中不重复的各行?/span></p> <p><span>- n </span><span>?/span><span>n</span><span>个字D与每个字段前的I白一赯忽略。一个字D|一个非I格、非制表W的字符Ԍ彼此由制表符和空格隔开Q字D从</span><span>0</span><span>开始编P?/span></p> <p><span>+n </span><span>?/span><span>n</span><span>个字W被忽略Q之前的字符被蟩q(字符?/span><span>0</span><span>开始编P?/span></p> <p><span>- f n </span><span>?/span><span>- n</span><span>相同Q这?/span><span>n</span><span>是字D|?/span></p> <p><span>- s n </span><span>与+</span><span>n</span><span>相同Q这?/span><span>n</span><span>是字W数?/span></p> <h4><span><strong>Linux</strong></span><strong><span>备䆾与压~命?/span><span>? </span></strong></h4> <p><span>?? </span></p> <p><span><strong>tar</strong></span><strong><span>命o(h)</span></strong></p> <p><span>tar</span><span>可以为文件和目录创徏档案。利?/span><span>tar</span><span>Q用户可以ؓ(f)某一特定文g创徏档案Q备份文ӞQ也可以在档案中改变文gQ或者向档案中加入新的文件?/span><span>tar</span><span>最初被用来在磁带上创徏档案Q现在,用户可以在Q何设备上创徏档案Q如软盘。利?/span><span>tar</span><span>命o(h)Q可以把一大堆的文件和目录全部打包成一个文Ӟq对于备份文件或几个文件组合成Z个文件以便于|络传输是非常有用的?/span><span>Linux</span><span>上的</span><span>tar</span><span>?/span><span>GNU</span><span>版本的?/span></p> <p><span>语法Q?/span><span>tar [</span><span>主选项</span><span>+</span><span>辅选项</span><span>] </span><span>文g或者目?/span></p> <p><span>使用该命令时Q主选项是必要有的Q它告诉</span><span>tar</span><span>要做什么事情,辅选项是辅助用的Q可以选用?/span></p> <p><span>主选项Q?/span></p> <p><span>c </span><span>创徏新的档案文g。如果用h备䆾一个目录或是一些文Ӟp选择q个选项?/span></p> <p><span>r </span><span>把要存档的文件追加到档案文g的未。例如用户已l作好备份文Ӟ又发现还有一个目录或是一些文件忘记备份了Q这时可以用该选项Q将忘记的目录或文gq加到备份文件中?/span></p> <p><span>t </span><span>列出档案文g的内容,查看已经备䆾了哪些文件?/span></p> <p><span>u </span><span>更新文g。就是说Q用新增的文件取代原备䆾文gQ如果在备䆾文g中找不到要更新的文gQ则把它q加到备份文件的最后?/span></p> <p><span>x </span><span>从档案文件中释放文g?/span></p> <p><span>辅助选项Q?/span></p> <p><span>b </span><span>该选项是ؓ(f)带定的。其后跟一数字Q用来说明区块的大小Q系l预讑րgؓ(f)</span><span>20</span><span>Q?/span><span>20*512 bytes</span><span>Q?/span></p> <p><span>f </span><span>使用档案文g或设备,q个选项通常是必选的?/span></p> <p><span>k </span><span>保存已经存在的文件。例如我们把某个文gq原Q在q原的过E中Q遇到相同的文gQ不?x)进行覆盖?/span></p> <p><span>m </span><span>在还原文件时Q把所有文件的修改旉讑֮为现在?/span></p> <p><span>M </span><span>创徏多卷的档案文Ӟ以便在几个磁盘中存放?/span></p> <p><span>v </span><span>详细报告</span><span>tar</span><span>处理的文件信息。如无此选项Q?/span><span>tar</span><span>不报告文件信息?/span></p> <p><span>w </span><span>每一步都要求认?/span></p> <p><span>z </span><span>?/span><span>gzip</span><span>来压~?/span><span>/</span><span>解压~文Ӟ加上该选项后可以将档案文gq行压羃Q但q原时也一定要使用该选项q行解压~?/span><span> </span></p> <p>?</p> <p><span><strong>gzip</strong></span><strong><span>命o(h)</span></strong></p> <p><span>减少文g大小有两个明昄好处Q一是可以减存储空_(d)二是通过|络传输文gӞ可以减少传输的时间?/span><span>gzip</span><span>是在</span><span>Linux</span><span>pȝ中经怋用的一个对文gq行压羃和解压羃的命令,既方便又好用?/span></p> <p><span>语法Q?/span><span>gzip [</span><span>选项</span><span>] </span><span>压羃Q解压羃Q的文g?/span></p> <p><span>各选项的含义:(x)</span></p> <p><span>-c </span><span>输出写到标准输ZQƈ保留原有文g?/span></p> <p><span>-d </span><span>压~文件解压?/span></p> <p><span>-l </span><span>Ҏ(gu)个压~文Ӟ昄下列字段Q?/span></p> <p><span>压羃文g的大?/span></p> <p><span>未压~文件的大小</span></p> <p><span>压羃?/span></p> <p><span>未压~文件的名字</span></p> <p><span>-r </span><span>递归式地查找指定目录q压~其中的所有文件或者是解压~?/span></p> <p><span>-t </span><span>试Q检查压~文件是否完整?/span></p> <p><span>-v </span><span>Ҏ(gu)一个压~和解压的文Ӟ昄文g名和压羃比?/span></p> <p><span>-num </span><span>用指定的数字</span><span>num</span><span>调整压羃的速度Q?/span><span>-1</span><span>?/span><span>--fast</span><span>表示最快压~方法(低压~比Q,</span><span>-9</span><span>?/span><span>--best</span><span>表示最慢压~方法(高压~比Q。系l缺省gؓ(f)</span><span>6</span><span>?/span></p> <p>?</p> <p><span><strong>unzip</strong></span><strong><span>命o(h)</span></strong></p> <p><span>?/span><span>MS Windows</span><span>下的压羃软g</span><span>winzip</span><span>压羃的文件如何在</span><span>Linux</span><span>pȝ下展开呢?可以?/span><span>unzip</span><span>命o(h)Q该命o(h)用于解扩展名?/span><span>.zip</span><span>的压~文件?/span></p> <p><span>语法Q?/span><span>unzip [</span><span>选项</span><span>] </span><span>压羃文g?/span><span>.zip</span></p> <p><span>各选项的含义分别ؓ(f)Q?/span></p> <p><span>-x </span><span>文g列表</span> <span>解压~文Ӟ但不包括指定?/span><span>file</span><span>文g?/span></p> <p><span>-v </span><span>查看压羃文g目录Q但不解压?/span></p> <p><span>-t </span><span>试文g有无损坏Q但不解压?/span></p> <p><span>-d </span><span>目录</span> <span>把压~文件解到指定目录下?/span></p> <p><span>-z </span><span>只显C压~文件的注解?/span></p> <p><span>-n </span><span>不覆盖已l存在的文g?/span></p> <p><span>-o </span><span>覆盖已存在的文g且不要求用户认?/span></p> <p><span>-j </span><span>不重建文档的目录l构Q把所有文件解压到同一目录下?/span></p> <h4><span>?/span><span>Linux</span><span>环境下运?/span><span>DOS</span><span>命o(h) </span> <span> </span><span> </span></h4> <p>?</p> <p><span>Linux</span><span>pȝ提供了一l称?/span><span>mtools</span><span>的可UL工具Q可以让用户LC标准?/span><span>DOS</span><span>软盘上读、写文g和目录。它们对</span><span>DOS</span><span>?/span><span>Linux</span><span>环境之间交换文g非常有用。它们是不具备共同的文gpȝ格式的系l之间交换文件的有力手段。对于一?/span><span>MSDOS</span><span>的Y盘,只要把Y盘放在Y׃Q就可以利用</span><span>mtools</span><span>提供的命令来讉K软盘上的文g?/span></p> <p><span>mtools</span><span>的主要命令如下:(x)</span></p> <p><span>mcd </span><span>目录?/span> <span>改变</span><span>MSDOS</span><span>目录Q?/span></p> <p><span>mcopy </span><span>源文?/span> <span>目标文g</span> <span>?/span><span>MSDOS</span><span>?/span><span>Unix</span><span>之间复制文gQ?/span></p> <p><span>mdel </span><span>文g?/span> <span>删除</span><span>MSDOS</span><span>文gQ?/span></p> <p><span>mdir </span><span>目录?/span> <span>昄</span><span>MSDOS</span><span>目录Q?/span></p> <p><span>mformat </span><span>驱动器号</span> <span>在低U格式化的Y盘上创徏</span><span>MSDOS</span><span>文gpȝQ?/span></p> <p><span>rnlabel </span><span>驱动器号</span> <span>产生</span><span>MSDOS</span><span>hQ?/span></p> <p><span>mmd </span><span>目录?/span> <span>建立</span><span>MSDOS</span><span>目录Q?/span></p> <p><span>mrd </span><span>目录?/span> <span>删除</span><span>MSDOS</span><span>目录Q?/span></p> <p><span>mren </span><span>源文?/span> <span>目标文g</span> <span>重新命名已存在的</span><span>MSDOS</span><span>文gQ?/span></p> <p><span>mtype </span><span>文g?/span> <span>昄</span><span>MSDOS</span><span>文g的内宏V?/span></p> <p><span>提示Q这些命令和对应?/span><span>MSDOS</span><span>命o(h)非常怼?/span></p> <p><span>  </span><span>Linux</span><span>pȝ中的每个文g和目录都有访问许可权限,用它来确定谁可以通过何种方式Ҏ(gu)件和目录q行讉K和操作?/span><span> </span></p> <p><span>  文g或目录的讉K权限分ؓ(f)只读Q只写和可执行三U。以文gZQ只L限表C只允许d内容Q而禁止对其做M的更Ҏ(gu)作。可执行权限表示允许该文g作ؓ(f)一个程序执行。文件被创徏Ӟ文g所有者自动拥有对该文件的诅R写和可执行权限Q以便于Ҏ(gu)件的阅读和修攏V用户也可根据需要把讉K权限讄为需要的Ml合?/span></p> <p><span>  有三U不同类型的用户可对文g或目录进行访问:(x)文g所有者,同组用户、其他用戗所有者一般是文g的创。所有者可以允许同l用h权访问文Ӟq可以将文g的访问权限赋予系l中的其他用戗在q种情况下,pȝ中每一位用户都能访问该用户拥有的文件或目录?/span></p> <p><span>  每一文g或目录的讉K权限都有三组Q每l用三位表示Q分别ؓ(f)文g属主的读、写和执行权限;与属dl的用户的读、写和执行权限;pȝ中其他用L(fng)诅R写和执行权限。当?/span><span>ls -l</span><span>命o(h)昄文g或目录的详细信息Ӟ最左边的一列ؓ(f)文g的访问权限。例如:(x)</span></p> <p><span>  </span><span>$ ls -l sobsrc. tgz</span></p> <p><span>  </span><span>-rw-r--r-- 1 root root 483997 Ju1 l5 17:3l sobsrc. tgz</span></p> <p><span>  横线代表I可?/span><span>r</span><span>代表只读Q?/span><span>w</span><span>代表写,</span><span>x</span><span>代表可执行。注意这里共?/span><span>10</span><span>个位|。第一个字W指定了文gcd。在通常意义上,一个目录也是一个文件。如果第一个字W是横线Q表C是一个非目录的文件。如果是</span><span>d</span><span>Q表C是一个目录?/span></p> <p><span>  例如Q?/span></p> <p><span>  </span><span>- rw- r-- r-- </span></p> <p><span>  普通文?/span> <span>文g?/span> <span>l用?/span> <span>其他用户</span><span> </span></p> <p><span>  是文?/span><span>sobsrc.tgz </span><span>的访问权限,表示</span><span>sobsrc.tgz</span><span>是一个普通文Ӟ</span><span>sobsrc.tgz</span><span>的属Ld权限Q与</span><span>sobsrc.tgz</span><span>属主同组的用户只有读权限Q其他用户也只有L限?/span></p> <p><span>  定了一个文件的讉K权限后,用户可以利用</span><span>Linux</span><span>pȝ提供?/span><span>chmod</span><span>命o(h)来重新设定不同的讉K权限。也可以利用</span><span>chown</span><span>命o(h)来更Ҏ(gu)个文件或目录的所有者。利?/span><span>chgrp</span><span>命o(h)来更Ҏ(gu)个文件或目录的用L(fng)?/span></p> <p><span>  下面分别对这些命令加以介l?/span></p> <p><span>  </span><span>chmod </span><span>命o(h)</span></p> <p><span>  </span><span>chmod</span><span>命o(h)是非帔R要的Q用于改变文件或目录的访问权限。用L(fng)它控制文件或目录的访问权限?/span></p> <p><span>  该命令有两种用法。一U是包含字母和操作符表达式的文字讑֮法;另一U是包含数字的数字设定法?/span></p> <p><span>  </span><span>1. </span><span>文字讑֮?/span></p> <p><span>  </span><span>chmod [who] [+ | - | =] [mode] </span><span>文g?/span><span>? </span></p> <p><span>  命o(h)中各选项的含义ؓ(f)Q?/span></p> <p><span>  操作对象</span><span>who</span><span>可是下述字母中的M个或者它们的l合Q?/span></p> <p><span>  </span><span>u </span><span>表示“用户Q?/span><span>user</span><span>Q?#8221;Q即文g或目录的所有者?/span></p> <p><span>  </span><span>g </span><span>表示“同组Q?/span><span>group</span><span>Q用?#8221;Q即与文件属L相同l?/span><span>ID</span><span>的所有用戗?/span></p> <p><span>  </span><span>o </span><span>表示“其他Q?/span><span>others</span><span>Q用?#8221;?/span></p> <p><span>  </span><span>a </span><span>表示“所有(</span><span>all</span><span>Q用?#8221;。它是系l默认倹{?/span></p> <p><span>  操作W号可以是:(x)</span></p> <p><span>  </span><span>+ </span><span>d某个权限?/span></p> <p><span>  </span><span>- </span><span>取消某个权限?/span></p> <p><span>  </span><span>= </span><span>赋予l定权限q取消其他所有权限(如果有的话)?/span></p> <p><span>  讄</span><span>mode</span><span>所表示的权限可用下q字母的Ll合Q?/span></p> <p><span>  </span><span>r </span><span>可读?/span></p> <p><span>  </span><span>w </span><span>可写?/span></p> <p><span>  </span><span>x </span><span>可执行?/span></p> <p><span>  </span><span>X </span><span>只有目标文gҎ(gu)些用h可执行的或该目标文g是目录时才追?/span><span>x </span><span>属性?/span></p> <p><span>  </span><span>s </span><span>在文件执行时把进E的属主或组</span><span>ID</span><span>|ؓ(f)该文件的文g属主。方?#8220;</span><span>u</span><span>Q?/span><span>s</span><span>”讄文g的用?/span><span>ID</span><span>位,“</span><span>g</span><span>Q?/span><span>s</span><span>”讄l?/span><span>ID</span><span>位?/span></p> <p><span>  </span><span>t </span><span>保存E序的文本到交换讑֤上?/span></p> <p><span> </span><span>u </span><span>与文件属L有一L(fng)权限?/span></p> <p><span>  </span><span>g </span><span>与和文g属主同组的用h有一L(fng)权限?/span></p> <p><span>  </span><span>o </span><span>与其他用h有一L(fng)权限?/span></p> <p><span>  文g名:(x)以空格分开的要改变权限的文件列表,支持通配W?/span></p> <p><span>  在一个命令行中可l出多个权限方式Q其间用逗号隔开。例如:(x)</span><span>chmod g+r</span><span>Q?/span><span>o+r example</span></p> <p><span>  使同l和其他用户Ҏ(gu)?/span><span>example </span><span>有读权限?/span></p> <p><span>  </span><span>2. </span><span>数字讑֮?/span></p> <p><span>  我们必须首先了解用数字表C的属性的含义Q?/span><span>0</span><span>表示没有权限Q?/span><span>1</span><span>表示可执行权限,</span><span>2</span><span>表示可写权限Q?/span><span>4</span><span>表示可读权限Q然后将其相加。所以数字属性的格式应ؓ(f)</span><span>3</span><span>个从</span><span>0</span><span>?/span><span>7</span><span>的八q制敎ͼ光序是Q?/span><span>u</span><span>Q(</span><span>g</span><span>Q(</span><span>o</span><span>Q?/span></p> <p><span>  例如Q如果想让某个文件的属主?#8220;?/span><span>/</span><span>?#8221;二种权限Q需要把</span><span>4</span><span>Q可读)</span><span>+2</span><span>Q可写)Q?/span><span>6</span><span>Q读</span><span>/</span><span>写)?/span></p> <p><span>  数字讑֮法的一般Ş式ؓ(f)Q?/span></p> <p><span>  </span><span>chmod [mode] </span><span>文g?/span><span>? </span></p> <p> </p> <p><span>  </span><span><strong>chgrp</strong></span><strong><span>命o(h)</span></strong></p> <p><span> 功能Q改变文件或目录所属的l?/span></p> <p><span>  语法Q?/span><span>chgrp [</span><span>选项</span><span>] group filename? </span></p> <p><span>  该命令改变指定指定文件所属的用户l。其?/span><span>group</span><span>可以是用L(fng)</span><span>ID</span><span>Q也可以?/span><span>/etc/group</span><span>文g中用L(fng)的组名。文件名是以I格分开的要改变属组的文件列表,支持通配W。如果用户不是该文g的属L用户Q则不能改变该文件的l?/span></p> <p><span>  该命令的各选项含义为:(x)</span></p> <p><span>  </span><span>- R </span><span>递归式地改变指定目录及其下的所有子目录和文件的属组?/span></p> <p><span>  </span><span>chown </span><span>命o(h)</span></p> <p><span>  功能Q更Ҏ(gu)个文件或目录的属d属组。这个命令也很常用。例?/span><span>root</span><span>用户把自q一个文件拷贝给用户</span><span>xu</span><span>Qؓ(f)了让用户</span><span>xu</span><span>能够存取q个文gQ?/span><span>root</span><span>用户应该把这个文件的属主设ؓ(f)</span><span>xu</span><span>Q否则,用户</span><span>xu</span><span>无法存取q个文g?/span></p> <p><span>  语法Q?/span><span>chown [</span><span>选项</span><span>] </span><span modules.php?name='Your_Account" href_cetemp=" modules.php?name=' Your_Account??>注册</span></span></span></p> <img src ="http://www.aygfsteel.com/liaojiyong/aggbug/114368.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/liaojiyong/" target="_blank">liaojiyong</a> 2007-04-28 16:11 <a href="http://www.aygfsteel.com/liaojiyong/archive/2007/04/28/114368.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>UNIX 高手?10 个习(fn)??http://www.aygfsteel.com/liaojiyong/archive/2007/02/14/99805.htmlliaojiyongliaojiyongWed, 14 Feb 2007 05:37:00 GMThttp://www.aygfsteel.com/liaojiyong/archive/2007/02/14/99805.htmlhttp://www.aygfsteel.com/liaojiyong/comments/99805.htmlhttp://www.aygfsteel.com/liaojiyong/archive/2007/02/14/99805.html#Feedback0http://www.aygfsteel.com/liaojiyong/comments/commentRss/99805.htmlhttp://www.aygfsteel.com/liaojiyong/services/trackbacks/99805.html采用 10 个能够提高?zhn)?UNIX] 命o(h)行效率的好习(fn)惯——ƈ在此q程中摆׃良的使用模式。本文@序渐q地指导(zhn)学?fn)几用于命令行操作的技术,q些技术非常好Q但是通常被忽略。了解常见错误和克服它们的方法,以便(zhn)能够确切了解ؓ(f)何值得采用q些 UNIX ?fn)惯?

    引言

    当?zhn)l常使用某个pȝӞ往往?x)陷入某U固定的使用模式。有Ӟ(zhn)没有养成以可能最好的方式做事的习(fn)惯。有Ӟ(zhn)的不良?fn)惯甚至会(x)导致出现؜乱。纠正此cȝ点的最x法之一Q就是有意识地采用抵制这些坏?fn)惯的好习(fn)惯。本文提Z 10 个值得采用?UNIX 命o(h)行习(fn)惯——帮助?zhn)克服许多常见使用怪癖Qƈ在该q程中提高命令行工作效率的好?fn)惯。下面列Zq?10 个好?fn)惯Q之后对q行了更详细的描q?/p>

    采用 10 个好?fn)?/span>

    要采用的十个好习(fn)惯ؓ(f)Q?

    1. 在单个命令中创徏目录?/font> ?
    2. 更改路径Q不要移动存?/font> ?
    3. 命令与控制操作W组合?/font> ?
    4. 谨慎引用变量 ?
    5. 使用转义序列来管理较长的输入 ?
    6. 在列表中对命令分l?/font> ?
    7. ?find 之外使用 xargs ?
    8. 了解何时 grep 应该执行计数——何时应该绕q?/font> ?
    9. 匚w输出中的某些字段Q而不只是对行q行匚w ?
    10. 停止?cat 使用道 ?

    在单个命令中创徏目录?/span>

    清单 1 演示了最常见?UNIX 坏习(fn)惯之一Q一ơ定义一个目录树(wi)?/p>
    清单 1. 坏习(fn)?1 的示例:(x)单独定义每个目录?/b>
    	
    ~ $ mkdir tmp
    ~ $ cd tmp
    ~/tmp $ mkdir a
    ~/tmp $ cd a
    ~/tmp/a $ mkdir b
    ~/tmp/a $ cd b
    ~/tmp/a/b/ $ mkdir c
    ~/tmp/a/b/ $ cd c
    ~/tmp/a/b/c $
    

    使用 mkdir ?-p 选项q在单个命o(h)中创建所有父目录及其子目录要Ҏ(gu)得多。但是即使对于知道此选项的管理员Q他们在命o(h)行上创徏子目录时也仍然束~于逐步创徏每子目录。花旉有意识地Lq个好习(fn)惯是值得的:(x)


    清单 2. 好习(fn)?1 的示例:(x)使用一个命令来定义目录?/b>
    ~ $ mkdir -p tmp/a/b/c

    (zhn)可以用此选项来创建整个复杂的目录?wi)(在脚本中使用是非常理想的Q,而不只是创徏单的层次l构。例如:(x)


    清单 3. 好习(fn)?1 的另一个示例:(x)使用一个命令来定义复杂的目录树(wi)
    ~ $ mkdir -p project/{lib/ext,bin,src,doc/{html,info,pdf},demo/stat/a}

    q去Q单独定义目录的唯一借口是?zhn)?mkdir 实现不支持此选项Q但是在大多数系l上不再是这样了。IBM、AIX]?code>mkdir、GNU mkdir 和其他遵守单一 UNIX 规范 (Single UNIX Specification) 的系l现在都h此选项?/p>

    对于仍然~Z该功能的数pȝQ?zhn)可以使?mkdirhier 脚本Q请参见参考资?/font>Q,此脚本是执行相同功能?mkdir 的包装:(x)

    ~ $ mkdirhier project/{lib/ext,bin,src,doc/{html,info,pdf},demo/stat/a}

    更改路径Q不要移动存?/span>

    另一个不良的使用模式是将 .tar 存档文gUd到某个目录,因ؓ(f)该目录恰好是(zhn)希望在其中提取 .tar 文g的目录。其实?zhn)?gu)不需要这样做。?zhn)可以随心所Ʋ地Q?.tar 存档文g解压~到M目录——这是 -C 选项的用途。在解压~某个存档文件时Q?-C 选项来指定要在其中解压羃该文件的目录Q?/p>
    清单 4. 好习(fn)?2 的示例:(x)使用选项 -C 来解压羃 .tar 存档文g
    ~ $ tar xvf -C tmp/a/b/c newarc.tar.gz

    相对于将存档文gUd到?zhn)希望在其中解压羃它的位置Q切换到该目录,然后才解压羃它,L使用 -C 的习(fn)惯则更加可取——当存档文g位于其他某个位置时尤其如此?/p>



    回页?/font>


    命令与控制操作W组合?/span>

    (zhn)可能已l知道,在大多数 Shell 中,(zhn)可以在单个命o(h)行上通过在命令之间放|一个分?(;) 来组合命令。该分号?Shell 控制操作W?/i>Q虽然它对于在单个命令行上将L的命令串联v来很有用Q但它ƈ不适用于所有情c例如,假设(zhn)用分hl合两个命o(h)Q其中第二个命o(h)的正执行完全依赖于W一个命令的成功完成。如果第一个命令未按?zhn)预期的那样退出,W二个命令仍然会(x)q行——结果会(x)Dp|。相反,应该使用更适当的控制操作符Q本文将描述其中的部分操作符Q。只要?zhn)?Shell 支持它们Q就值得L使用它们的习(fn)惯?/p>

    仅当另一个命令返回零退出状态时才运行某个命?/font>

    使用 && 控制操作W来l合两个命o(h)Q以?i>仅当 W一个命令返回零退出状态时才运行第二个命o(h)。换句话_(d)如果W一个命令运行成功,则第二个命o(h)运行。如果第一个命令失败,则第二个命o(h)Ҏ(gu)׃q行。例如:(x)


    清单 5. 好习(fn)?3 的示例:(x)命令与控制操作W组合?/b>
    ~ $ cd tmp/a/b/c && tar xvf ~/archive.tar

    在此例中Q存档的内容提取到 ~/tmp/a/b/c 目录中,除非该目录不存在。如果该目录不存在,?tar 命o(h)不会(x)q行Q因此不?x)提取Q何内宏V?/p>

    仅当另一个命令返回非雉出状态时才运行某个命?/font>

    cM圎ͼ|| 控制操作W分隔两个命令,q且仅当W一个命令返回非雉出状态时才运行第二个命o(h)。换句话_(d)如果W一个命?i>成功Q则W二个命令不?x)运行。如果第一个命令失败,则第二个命o(h)才会(x) q行。在试某个l定目录是否存在Ӟ通常使用此操作符Q如果该目录不存在,则创建它Q?/p>
    清单 6. 好习(fn)?3 的另一个示例:(x)命令与控制操作W组合?/b>
    ~ $ cd tmp/a/b/c || mkdir -p tmp/a/b/c

    (zhn)还可以l合使用本部分中描述的控制操作符。每个操作符都媄响最后的命o(h)q行Q?/p>
    清单 7. 好习(fn)?3 的组合示例:(x)命令与控制操作W组合?/b>
    ~ $ cd tmp/a/b/c || mkdir -p tmp/a/b/c && tar xvf -C tmp/a/b/c ~/archive.tar





    回页?/font>


    谨慎引用变量

    始终要}慎?Shell 扩展和变量名U。一般最好将变量调用包括在双引号中,除非(zhn)有不这样做的够理由。类似地Q如果?zhn)直接在字母数字文本后面用变量名Uͼ则还要确保将该变量名U包括在Ҏ(gu)?([]) 中,以其与周围的文本区分开来。否则,Shell 把N文本解释为变量名U的一部分——ƈ且很可能q回一个空倹{清?8 提供了变量的各种引用和非引用及其影响的示例?/p>
    清单 8. 好习(fn)?4 的示例:(x)引用Q和非引用)变量
    ~ $ ls tmp/
    a b
    ~ $ VAR="tmp/*"
    ~ $ echo $VAR
    tmp/a tmp/b
    ~ $ echo "$VAR"
    tmp/*
    ~ $ echo $VARa
    
    ~ $ echo "$VARa"
    
    ~ $ echo "${VAR}a"
    tmp/*a
    ~ $ echo ${VAR}a
    tmp/a
    ~ $
    





    回页?/font>


    使用转义序列来管理较长的输入

    (zhn)或许看到过使用反斜?(\) 来将较长的行延箋C一行的代码CZQƈ且?zhn)知道大多?Shell 都将(zhn)通过反斜杠联接的后箋行上键入的内容视为单个长行。然而,(zhn)可能没有在命o(h)行中像通常那样利用此功能。如果?zhn)的终端无法正处理多行回l,或者?zhn)的命令行比通常(例如在提C符下有长\l的时候)Q反斜杠q别有用。反斜杠对于了解键入的长输入行的含义也非常有用,如以下示例所C:(x)


    清单 9. 好习(fn)?5 的示例:(x)反斜杠用于长输?/b>
    ~ $ cd tmp/a/b/c || \
    > mkdir -p tmp/a/b/c && \
    > tar xvf -C tmp/a/b/c ~/archive.tar

    或者,也可以用以下配|:(x)


    清单 10. 好习(fn)?5 的替代示例:(x)反斜杠用于长输?/b>
    ~ $ cd tmp/a/b/c \
    >                 || \
    > mkdir -p tmp/a/b/c \
    >                    && \
    > tar xvf -C tmp/a/b/c ~/archive.tar

    然而,当?zhn)输入行划分到多行上ӞShell 始终其视ؓ(f)单个q箋的行Q因为它L删除所有反斜杠和额外的I格?/p>

    注意Q?/b>在大多数 Shell 中,当?zhn)按向上箭头键Ӟ整个多行输入重l到单个长输入行上?/p>



    回页?/font>


    在列表中对命令分l?/span>

    大多?Shell 都具有在列表中对命o(h)分组的方法,以便(zhn)能它们的合计输出向下传递到某个道Q或者将其Q何部分或全部重定向到相同的地方。?zhn)一般可以通过在某?Subshell 中运行一个命令列表或通过在当?Shell 中运行一个命令列表来实现此目的?/p>

    ?Subshell 中运行命令列?/font>

    使用括号命令列表包括在单个l中。这样做在一个新?Subshell 中运行命令,q允许?zhn)重定向或攉整组命o(h)的输出,如以下示例所C:(x)


    清单 11. 好习(fn)?6 的示例:(x)?Subshell 中运行命令列?/b>
    ~ $ ( cd tmp/a/b/c/ || mkdir -p tmp/a/b/c && \
    > VAR=$PWD; cd ~; tar xvf -C $VAR archive.tar ) \
    > | mailx admin -S "Archive contents"

    在此CZ中,该存档的内容提取到 tmp/a/b/c/ 目录中,同时分l命令的输出Q包括所提取文g的列表)通过邮g发送到地址 admin?/p>

    当?zhn)在命令列表中重新定义环境变量Qƈ且?zhn)不希望将那些定义应用于当?Shell Ӟ使用 Subshell 更可取?/p>

    在当?Shell 中运行命令列?/font>

    命令列表用大括?({}) 括v来,以在当前 Shell 中运行。确保在括号与实际命令之间包括空|否则 Shell 可能无法正确解释括号。此外,q要保列表中的最后一个命令以分号l尾Q如以下CZ所C:(x)


    清单 12. 好习(fn)?6 的另一个示例:(x)在当?Shell 中运行命令列?/b>
    ~ $ { cp ${VAR}a . && chown -R guest.guest a && \
    > tar cvf newarchive.tar a; } | mailx admin -S "New archive"





    回页?/font>


    ?find 之外使用 xargs

    使用 xargs 工具作ؓ(f){选器Q以充分利用?find 命o(h)挑选的输出?code>find q行通常提供与某些条件匹配的文g列表。此列表被传递到 xargs 上,后者然后用该文g列表作ؓ(f)参数来运行其他某些有用的命o(h)Q如以下CZ所C:(x)


    清单 13. xargs 工具的经典用法示?/b>
    ~ $ find some-file-criteria some-file-path | \
    > xargs some-great-command-that-needs-filename-arguments

    然而,不要?xargs 仅看作是 find 的辅助工P它是一个未得到充分利用的工具之一Q当(zhn)养成用它的习(fn)惯时Q将?x)希望进行所有试验,包括以下用法?/p>

    传递空格分隔的列表

    在最单的调用形式中,xargs 像一个筛选器Q它接受一个列表(每个成员分别在单独的行上Q作入。该工具那些成员放|在单个I格分隔的行上:(x)


    清单 14. xargs 工具产生的输出示?/b>
    ~ $ xargsabcControl-D
    a b c
    ~ $
    

    (zhn)可以发送通过 xargs 来输出文件名的Q何工L(fng)输出Q以便ؓ(f)其他某些接受文g名作为参数的工具获得参数列表Q如以下CZ所C:(x)


    清单 15. xargs 工具的用示?/b>
    ~/tmp $ ls -1 | xargs
    December_Report.pdf README a archive.tar mkdirhier.sh
    ~/tmp $ ls -1 | xargs file
    December_Report.pdf: PDF document, version 1.3
    README: ASCII text
    a: directory
    archive.tar: POSIX tar archive
    mkdirhier.sh: Bourne shell script text executable
    ~/tmp $
    

    xargs 命o(h)不只用于传递文件名。?zhn)q可以在需要将文本{选到单个行中的Q何时候用它Q?/p>
    清单 16. 好习(fn)?7 的示例:(x)使用 xargs 工具来将文本{选到单个行中
    ~/tmp $ ls -l | xargs
    -rw-r--r-- 7 joe joe 12043 Jan 27 20:36 December_Report.pdf -rw-r--r-- 1 \
    root root 238 Dec 03 08:19 README drwxr-xr-x 38 joe joe 354082 Nov 02 \
    16:07 a -rw-r--r-- 3 joe joe 5096 Dec 14 14:26 archive.tar -rwxr-xr-x 1 \
    joe joe 3239 Sep 30 12:40 mkdirhier.sh
    ~/tmp $
    

    谨慎使用 xargs

    从技术上Ԍ使用 xargs 很少遇到ȝ。缺省情况下Q文件结束字W串是下划线 (_)Q如果将该字W作为单个输入参数来发送,则它之后的所有内容将被忽略。ؓ(f)了防止这U情况发生,可以使用 -e 标志Q它在不带参数的情况下完全禁用结束字W串?/p>



    回页?/font>


    了解何时 grep 应该执行计数——何时应该绕q?/span>

    避免通过道?grep 发送到 wc -l 来对输出行数计数?code>grep ?-c 选项提供了对与特定模式匹配的行的计数Qƈ且一般要比通过道发送到 wc 更快Q如以下CZ所C:(x)


    清单 17. 好习(fn)?8 的示例:(x)使用和不使用 grep 的行计数
    ~ $ time grep and tmp/a/longfile.txt | wc -l
    2811
    
    real    0m0.097s
    user    0m0.006s
    sys     0m0.032s
    ~ $ time grep -c and tmp/a/longfile.txt
    2811
    
    real    0m0.013s
    user    0m0.006s
    sys     0m0.005s
    ~ $ 
    

    除了速度因素外,-c 选项q是执行计数的好Ҏ(gu)。对于多个文Ӟ?-c 选项?grep q回每个文g的单独计敎ͼ每行一个计敎ͼ而针?wc 的管道则提供所有文件的l合总计数?/p>

    然而,不管是否考虑速度Q此CZ都表明了另一个要避免地常见错误。这些计数方法仅提供包含匚w模式的行?/i>——如果那是(zhn)要查找的结果,q没什么问题。但是在行中h某个特定模式的多个实例的情况下,q些Ҏ(gu)无法为?zhn)提供实际匚w实例数量 的真实计数。归根结底,若要对实例计敎ͼ(zhn)还是要使用 wc 来计数。首先,使用 -o 选项Q如果?zhn)的版本支持它的话Q来q行 grep 命o(h)。此选项?/i> 输出匚w的模式,每行一个模式,而不输出行本w。但是?zhn)不能它?-c 选项l合使用Q因此要使用 wc -l 来对行计敎ͼ如以下示例所C:(x)


    清单 18. 好习(fn)?8 的示例:(x)使用 grep Ҏ(gu)式实例计?/b>
    ~ $ grep -o and tmp/a/longfile.txt | wc -l
    3402
    ~ $
    

    在此例中Q调?wc 要比W二ơ调?grep q插入一个虚拟模式(例如 grep -cQ来对行q行匚w和计数稍快一炏V?/p>



    回页?/font>


    匚w输出中的某些字段Q而不只是对行q行匚w

    当?zhn)只希望匹配输?i>特定字段 中的模式Ӟ诸如 awk {工兯优于 grep?/p>

    下面l过化的CZ演示了如何仅列出 12 月修改过的文件?/p>
    清单 19. 坏习(fn)?9 的示例:(x)使用 grep 来查扄定字D中的模?/b>
    ~/tmp $ ls -l /tmp/a/b/c | grep Dec
    -rw-r--r--  7 joe joe  12043 Jan 27 20:36 December_Report.pdf
    -rw-r--r--  1 root root  238 Dec 03 08:19 README
    -rw-r--r--  3 joe joe   5096 Dec 14 14:26 archive.tar
    ~/tmp $
    

    在此CZ中,grep 对行q行{选,q输出其修改日期和名UC?Dec 的所有文件。因此,诸如 December_Report.pdf {文件是匚w的,即它自从一月䆾以来q未修改q。这可能不是(zhn)希望的l果。ؓ(f)了匹配特定字D中的模式,最好?awkQ其中的一个关p运符对确切的字段q行匚wQ如以下CZ所C:(x)


    清单 20. 好习(fn)?9 的示例:(x)使用 awk 来查扄定字D中的模?/b>
    ~/tmp $ ls -l | awk '$6 == "Dec"'
    -rw-r--r--  3 joe joe   5096 Dec 14 14:26 archive.tar
    -rw-r--r--  1 root root  238 Dec 03 08:19 README
    ~/tmp $
    

    有关如何使用 awk 的更多详l信息,请参?a >参考资?/font>?/p>



    回页?/font>


    停止?cat 使用道

    grep 的一个常见的基本用法错误是通过道?cat 的输出发送到 grep 以搜索单个文件的内容。这l对是不必要的,Ua是浪Ҏ(gu)_(d)因ؓ(f)诸如 grep q样的工h受文件名作ؓ(f)参数。?zhn)?gu)不需要在q种情况下?catQ如以下CZ所C:(x)


    清单 21. 好习(fn)惯和坏习(fn)?10 的示例:(x)使用带和不带 cat ?grep
    	
    ~ $ time cat tmp/a/longfile.txt | grep and
    2811
    
    real    0m0.015s
    user    0m0.003s
    sys     0m0.013s
    ~ $ time grep and tmp/a/longfile.txt
    2811
    
    real    0m0.010s
    user    0m0.006s
    sys     0m0.004s
    ~ $ 
    

    此错误存在于许多工具中。由于大多数工具都接受用连字符 (-) 的标准输入作Z个参敎ͼ因此即使用 cat 来分?stdin 中的多个文gQ参C通常是无效的。仅当?zhn)使用带多个筛选选项之一?cat Ӟ才真正有必要在管道前首先执行q接?/p>



    回页?/font>


    l束语:(x)L好习(fn)?/span>

    最好检查一下?zhn)的命令行习(fn)惯中的M不良的用模式。不良的使用模式?x)降低(zhn)的速度Qƈ且通常?x)导致意外错误。本文介l了 10 个新?fn)惯Q它们可以帮助?zhn)摆脱许多最常见的用错误。养成这些好?fn)惯是加强(zhn)?UNIX 命o(h)行技能的U极步骤?/p>

    liaojiyong 2007-02-14 13:37 发表评论
    ]]>
    Windows/Linux双系l重装Windows后无法进入Linux的最速解军_?(?http://www.aygfsteel.com/liaojiyong/archive/2007/01/26/96197.htmlliaojiyongliaojiyongFri, 26 Jan 2007 09:24:00 GMThttp://www.aygfsteel.com/liaojiyong/archive/2007/01/26/96197.htmlhttp://www.aygfsteel.com/liaojiyong/comments/96197.htmlhttp://www.aygfsteel.com/liaojiyong/archive/2007/01/26/96197.html#Feedback3http://www.aygfsteel.com/liaojiyong/comments/commentRss/96197.htmlhttp://www.aygfsteel.com/liaojiyong/services/trackbacks/96197.html
    安装好Windows基本pȝ后,用Live CD启动Q进入Linux桌面Q打开TerminalQsudo -s切换到rootQ然后执行如下步骤:(x)
      # grub
      grub> root (hd0,7)
      grub> setup (hd0)
      grub> quit
      # shutdown -r now
    机器重启后,熟?zhn)的grub界面又出来了?)

    注意在root命o(h)和setup命o(h)后都有空根{另外稍微解释一下hd0和hd0,7的含义:(x)hd是Hard Disk的羃写,0表示W一块硬盘,7表示~号?的分区。如果不定原先的Linux安装所在的分区~号是多,可以在敲?root (hd0,"后敲[TAB]键,在列表中卛_通过文gpȝcd和分区大一目了然的扑ֈ?br />

    liaojiyong 2007-01-26 17:24 发表评论
    ]]>
    初学Linux必学60个命令文件处?? http://www.aygfsteel.com/liaojiyong/archive/2007/01/18/94646.htmlliaojiyongliaojiyongThu, 18 Jan 2007 07:05:00 GMThttp://www.aygfsteel.com/liaojiyong/archive/2007/01/18/94646.htmlhttp://www.aygfsteel.com/liaojiyong/comments/94646.htmlhttp://www.aygfsteel.com/liaojiyong/archive/2007/01/18/94646.html#Feedback0http://www.aygfsteel.com/liaojiyong/comments/commentRss/94646.htmlhttp://www.aygfsteel.com/liaojiyong/services/trackbacks/94646.html file
    1.作用
    file通过探测文g内容判断文gcdQ用权限是所有用戗?

    2.格式
    file [options] 文g?

    3.[options]主要参数
    -vQ在标准输出后显C版本信息,q且退出?

    -zQ探压~过的文件类型?

    -LQ允许符合连接?

    -f nameQ从文gnamefile中读取要分析的文件名列表?

    4.单说?
    使用file命o(h)可以知道某个文gI竟是二q制QELF格式Q的可执行文? q是Shell Script文gQ或者是其它的什么格式。file能识别的文gcd有目录、Shell脚本、英文文本、二q制可执行文件、C语言源文件、文本文件、DOS的可执行文g?

    5.应用实例
    如果我们看到一个没有后~的文件grapQ可以用下面命令:(x)

    $ file grap

    grapQ?English text

    此时pȝ昄q是一个英文文本文件。需要说明的是,file命o(h)不能探测包括囑Ş、音频、视频等多媒体文件类型?

    mkdir
    1.作用
    mkdir命o(h)的作用是建立名称为dirname的子目录Q与MS DOS下的md命o(h)cMQ它的用权限是所有用戗?

    2.格式
    mkdir [options] 目录?

    3.[options]主要参数
    Qm, Q-mode=模式Q设定权?lt;模式>Q与chmodcM?

    Qp, Q-parentsQ需要时创徏上层目录Q如果目录早已存在,则不当作错误?

    Qv, Q-verboseQ每ơ创建新目录都显CZ息?

    Q-versionQ显C版本信息后d?

    4.应用实例
    在进行目录创建时可以讄目录的权限,此时使用的参数是“-m”。假设要创徏的目录名是“tsk”,让所有用户都有rwx(卌、写、执行的权限)Q那么可以用以下命令:(x)

    $ mkdir Qm 777 tsk

    grep
    1.作用
    grep命o(h)可以指定文g中搜索特定的内容Qƈ含有这些内容的行标准输出。grep全称是Global Regular Expression PrintQ表C全局正则表达式版本,它的使用权限是所有用戗?

    2.格式
    grep [options]

    3.主要参数
    [options]主要参数Q?

    QcQ只输出匚w行的计数?

    QIQ不区分大小写(只适用于单字符Q?

    QhQ查询多文g时不昄文g名?

    QlQ查询多文g时只输出包含匚w字符的文件名?

    QnQ显C匹配行及行受?

    QsQ不昄不存在或无匹配文本的错误信息?

    QvQ显CZ包含匚w文本的所有行?

    pattern正则表达式主要参敎ͼ(x)

    \Q忽略正则表辑ּ中特D字W的原有含义?

    ^Q匹配正则表辑ּ的开始行?

    $: 匚w正则表达式的l束行?

    \<Q从匚w正则表达式的行开始?

    \>Q到匚w正则表达式的行结束?

    [ ]Q单个字W,如[A]即AW合要求 ?

    [ - ]Q范_(d)如[A-Z]Q即A、B、C一直到Z都符合要??

    。:(x)所有的单个字符?

    * Q有字符Q长度可以ؓ(f)0?

    正则表达式是Linux/Unixpȝ中非帔R要的概念。正则表辑ּQ也UCؓ(f)“regex”或“regexp”)是一个可以描qCcdW串的模式(PatternQ。如果一个字W串可以用某个正则表辑ּ来描qͼ我们pq个字符和该正则表达式匹配(MatchQ。这和DOS中用户可以用通配W?”代表Q意字W类伹{在Linuxpȝ上,正则表达式通常被用来查找文本的模式Q以及对文本执行“搜索-替换”操作和其它功能?

    4.应用实例
    查询DNS服务是日常工作之一Q这意味着要维护覆盖不同网l的大量IP地址。有时IP地址?x)超q?000个。如果要查看nnn.nnn|络地址Q但是却忘了W二部分中的其余部分Q只知到有两个句点,例如nnn nn..。要抽取其中所有nnn.nnn IP地址Q用[0Q? ]\{3 \}\.[0Q?\{3\}\。含义是L数字出现3ơ,后跟句点Q接着是Q意数字出?ơ,后跟句点?

    $grep '[0Q? ]\{3 \}\.[0Q?\{3\}\' ipfile

    补充说明Qgrep家族q包括fgrep和egrep。fgrep是fix grepQ允许查扑֭W串而不是一个模式;egrep是扩展grepQ支持基本及扩展的正则表辑ּQ但不支持\q模式范围的应用及与之相对应的一些更加规范的模式?

    dd
    1.作用
    dd命o(h)用来复制文gQƈҎ(gu)参数数据{换和格式化?

    2.格式

    dd [options]

    3.[opitions]主要参数

    bs=字节Q强q?ibs=<字节>及obs=<字节>?

    cbs=字节Q每ơ{换指定的<字节>?

    conv=关键字:(x)Ҏ(gu)以逗号分隔的关键字表示的方式来转换文g?

    count=块数目:(x)只复制指?lt;块数?gt;的输入数据?

    ibs=字节Q每ơ读取指定的<字节>?

    if=文gQ读?lt;文g>内容Q而非标准输入的数据?

    obs=字节Q每ơ写入指定的<字节>?

    of=文gQ将数据写入<文g>Q而不在标准输出显C?

    seek=块数目:(x)先略q以obs为单位的指定<块数?gt;的输出数据?

    skip=块数目:(x)先略q以ibs为单位的指定<块数?gt;的输入数据?

    4.应用实例
    dd命o(h)常常用来制作Linux启动盘。先找一个可引导内核Qo(h)它的根设备指向正的根分区,然后使用dd命o(h)其写入软盘Q?

    $ rdev vmlinuz /dev/hda

    $dd ifQvmlinuz ofQ?dev/fd0

    上面代码说明Q用rdev命o(h)可引导内核vmlinuz中的根设备指?dev/hdaQ请把“hda”换成自q根分区,接下来用dd命o(h)该内核写入软盘?

    find
    1.作用
    find命o(h)的作用是在目录中搜烦文gQ它的用权限是所有用戗?

    2.格式
    find [path][options][expression]

    path指定目录路径Q系l从q里开始沿着目录?wi)向下查找文件。它是一个\径列表,怺用空格分,如果不写pathQ那么默认ؓ(f)当前目录?

    3.主要参数
    [options]参数Q?

    QdepthQ用深度别的查找q程方式Q在某层指定目录中优先查找文件内宏V?

    Qmaxdepth levelsQ表C多查扑ֈ开始目录的Wlevel层子目录。level是一个非负数Q如果level?的话表示仅在当前目录中查找?

    Qmindepth levelsQ表C查扑ֈ开始目录的Wlevel层子目录?

    QmountQ不在其它文件系l(如Msdos、Vfat{)的目录和文g中查找?

    QversionQ打印版本?

    [expression]是匹配表辑ּQ是find命o(h)接受的表辑ּQfind命o(h)的所有操作都是针对表辑ּ的。它的参数非常多Q这里只介绍一些常用的参数?

    —nameQ支持统配符*??

    Qatime nQ搜索在q去n天读取过的文件?

    Qctime nQ搜索在q去n天修改过的文件?

    Qgroup grpoupnameQ搜索所有组为grpoupname的文件?

    Quser 用户名:(x)搜烦所有文件属Mؓ(f)用户名(ID或名Uͼ的文件?

    Qsize nQ搜索文件大是n个block的文件?

    QprintQ输出搜索结果,q且打印?

    4.应用技?
    find命o(h)查找文g的几U方法:(x)

    Q?Q根据文件名查找

    例如Q我们想要查找一个文件名是lilo.conf的文Ӟ可以使用如下命o(h)Q?

    find / Qname lilo.conf

    find命o(h)后的?”表C搜索整个硬盘?

    Q?Q快速查找文?

    Ҏ(gu)文g名查找文件会(x)遇到一个实际问题,是要花费相当长的一D|_(d)特别是大型Linux文gpȝ和大定w盘文g攑֜很深的子目录中时。如果我们知道了q个文g存放在某个目录中Q那么只要在q个目录中往下寻扑ְ能节省很多时间。比如smb.conf文gQ从它的文g后缀?conf”可以判断这是一个配|文Ӟ那么它应该在/etc目录内,此时可以使用下面命o(h)Q?

    find /etc Qname smb.conf

    q样Q用“快速查找文件”方式可以羃短时间?

    Q?Q根据部分文件名查找Ҏ(gu)

    有时我们知道只某个文件包含有abvdq?个字Q那么要查找pȝ中所有包含有q?个字W的文g可以输入下面命o(h)Q?

    find / Qname '*abvd*'

    输入q个命o(h)以后QLinuxpȝ?x)将?目录中查找所有的包含有abvdq?个字W的文gQ其?是通配W)Q比如abvdrmyz{符合条件的文g都能昄出来?

    (4) 使用混合查找方式查找文g

    find命o(h)可以使用混合查找的方法,例如Q我们想?etc目录中查扑֤?00000字节Qƈ且在24时内修改的某个文gQ则可以使用-and (?把两个查扑֏数链接v来组合成一个؜合的查找方式?

    find /etc -size +500000c -and -mtime +1

    mv
    1.作用
    mv命o(h)用来为文件或目录改名Q或者将文g׃个目录移入另一个目录中Q它的用权限是所有用戗该命o(h)如同DOS命o(h)中的ren和move的组合?

    2.格式
    mv[options] 源文件或目录 目标文g或目?

    3.[options]主要参数
    QiQ交互方式操作。如果mv操作导致对已存在的目标文g的覆盖,此时pȝ询问是否重写Q要求用户回{“y”或“n”,q样可以避免误覆盖文件?

    QfQ禁止交互操作。mv操作要覆盖某个已有的目标文g时不lQ何指C,指定此参数后i参数不再v作用?

    4.应用实例
    Q?Q将/usr/cbu中的所有文件移到当前目录(用?”表C)中:(x)

    $ mv /usr/cbu/ * .

    Q?Q将文gcjh.txt重命名ؓ(f)wjz.txtQ?

    $ mv cjh.txt wjz.txt 

    ls
    1.作用
    ls命o(h)用于昄目录内容Q类似DOS下的dir命o(h)Q它的用权限是所有用戗?

    2.格式
    ls [options][filename]

    3.options主要参数
    Qa, Q-allQ不隐藏M以??字符开始的目?

    QA, Q-almostQallQ列出除了?. ”及 ?. ”以外的M目?

    Q-authorQ印出每个文件著作者?

    Qb, Q-escapeQ以八进制溢出序列表CZ可打印的字符?

    Q-blockQsize=大小Q块以指?lt;大小>的字节ؓ(f)单位?

    QB, Q-ignoreQbackupsQ不列出M?~ 字符l束的项目?

    QfQ不q行排序Q-aU参数生效Q-lst参数失效?

    QF, Q-classifyQ加上文件类型的指示W号 (*/=@| 其中一??

    QgQlike Ql, but do not list owner?

    QG, Q-noQgroupQinhibit display of group information?

    Qi, Q-inodeQ列出每个文件的inode受?

    QI, Q-ignore=样式Q不印出MW合Shell万用字符<样式>的项目?

    QkQ即Q-blockQsize=1K?

    QlQ用较长格式列Z息?

    QL, Q-dereferenceQ当昄W号链接的文件信息时Q显C符号链接所指示的对象,而ƈ非符号链接本w的信息?

    QmQ所有项目以逗号分隔Qƈ填满整行行宽?

    Qn, Q-numericQuidQgidQ类|lQ但列出UID及GID受?

    QN, Q-literalQ列出未l处理的目名称Q例如不特别处理控制字符?

    Qp, Q-fileQtypeQ加上文件类型的指示W号 (/=@| 其中一??

    QQ, Q-quoteQnameQ将目名称括上双引受?

    Qr, Q-reverseQ依相反ơ序排列?

    QR, Q-recursiveQ同时列出所有子目录层?

    Qs, Q-sizeQ以块大ؓ(f)序?

    4.应用举例
    ls命o(h)是Linuxpȝ使用频率最多的命o(h)Q它的参C是Linux命o(h)中最多的。用ls命o(h)时会(x)有几U不同的颜色Q其中蓝色表C是目录Q绿色表C是可执行文ӞU色表示是压~文Ӟ蓝色表C是链接文gQ加_的黑色表示W号链接Q灰色表C是其它格式文g?br />
    文gcd开头是?0个字W构成的字符丌Ӏ其中第一个字W表C文件类型,它可以是下述cd之一Q-Q普通文Ӟ、dQ目录)、lQ符号链接)、bQ块讑֤文gQ、cQ字W设备文Ӟ。后面的9个字W表C文件的讉K权限Q分?l,每组3位。第一l表C文件属ȝ权限Q第二组表示同组用户的权限,W三l表C其他用L(fng)权限。每一l的三个字符分别表示Ҏ(gu)件的读(rQ、写QwQ和执行权限QxQ。对于目录,表示q入权限。s表示当文件被执行Ӟ把该文g的UID或GID赋予执行q程的UIDQ用户IDQ或GIDQ组 IDQ。t表示讄标志位(留在内存Q不被换出)。如果该文g是目录,那么在该目录中的文g只能被超U用戗目录拥有者或文g属主删除。如果它是可执行文gQ那么在该文件执行后Q指向其正文D늚指针仍留在内存。这样再ơ执行它Ӟpȝp更快地装入该文g。接着昄的是文g大小、生成时间、文件或命o(h)名称?

    diff
    1.作用
    diff命o(h)用于两个文g之间的比较,q指Z者的不同Q它的用权限是所有用戗?

    2.格式
    diff [options] 源文?目标文g

    3.[options]主要参数
    -aQ将所有文件当作文本文件来处理?

    -bQ忽略空格造成的不同?

    -BQ忽略空行造成的不同?

    -cQ用纲要输出格式?

    -HQ利用试探法加速对大文件的搜烦?

    -IQ忽略大写的变化?

    -n --rcsQ输出RCS格式?

    cmp
    1.作用
    cmpQ“compare”的~写Q命令用来简要指Z个文件是否存在差异,它的使用权限是所有用戗?

    2.格式
    cmp[options] 文g?

    3.[options]主要参数
    -l: 字节以十进制的方式输出Qƈ方便两个文件中不同的以八进制的方式输出?

    cat
    1.作用
    catQ“concatenate”的~写Q命令用于连接ƈ昄指定的一个和多个文g的有关信息,它的使用权限是所有用戗?

    2.格式
    cat [options] 文g1 文g2…?

    3.[options]主要参数
    QnQ由W一行开始对所有输出的行数~号?

    QbQ和Qn怼Q只不过对于I白行不~号?

    QsQ当遇到有连l两行以上的I白行时Q就代换Z行的I白行?

    4.应用举例
    Q?Qcat命o(h)一个最单的用处是显C文本文件的内容。例如,我们惛_命o(h)行看一下README文g的内容,可以使用命o(h)Q?

    $ cat README 

    Q?Q有旉要将几个文g处理成一个文Ӟq将q种处理的结果保存到一个单独的输出文g。cat命o(h)在其输入上接受一个或多个文gQƈ它们作Z个单独的文g打印到它的输出。例如,把README和INSTALL的文件内容加上行PI白行不加)之后Q将内容附加C个新文本文gFile1 中:(x)

    $ cat README INSTALL File1

    Q?Qcatq有一个重要的功能是可以对行q行~号Q见?所C。这U功能对于程序文档的~制Q以及法律和U学文档的编制很方便Q打印在左边的行号得参考文档的某一部分变得Ҏ(gu)Q这些在~程、科学研I、业务报告甚x立法工作中都是非帔R要的?br />
    对行q行~号功能?bQ只能对非空白行q行~号Q和-nQ可以对所有行q行~号Q两个参敎ͼ(x)

    $ cat -b /etc/named.conf

    ln
    1.作用
    ln命o(h)用来在文件之间创建链接,它的使用权限是所有用戗?

    2.格式
    ln [options] 源文?[链接名]

    3.参数
    QfQ链l时先将源文件删除?

    QdQ允许系l管理者硬铄自己的目录?

    QsQ进行Y铄(Symbolic Link)?

    QbQ将在链l时?x)被覆盖或删除的文gq行备䆾?

    链接有两U,一U被UCؓ(f)链接(Hard LinkQ,另一U被UCؓ(f)W号链接QSymbolic LinkQ。默认情况下Qln命o(h)产生链接?

    连接指通过索引节点来进行的q接。在Linux的文件系l中Q保存在盘分区中的文g不管是什么类型都l它分配一个编PUCؓ(f)索引节点?Inode Index)。在Linux中,多个文g名指向同一索引节点是存在的。一般这U连接就是硬q接。硬q接的作用是允许一个文件拥有多个有效\径名Q这L(fng)户就可以建立连接到重要文gQ以防止“误删”的功能。其原因如上所qͼ因ؓ(f)对应该目录的索引节点有一个以上的q接。只删除一个连接ƈ不媄响烦引节Ҏ(gu)w和其它的连接,只有当最后一个连接被删除后,文g的数据块及目录的q接才会(x)被释放。也是_(d)文g才会(x)被真正删除?

    与硬q接相对应,Lnuxpȝ中还存在另一U连接,UCؓ(f)W号q接QSymbilc LinkQ,也叫软连接。Y链接文g有点cM于Windows的快h式。它实际上是Ҏ(gu)文g的一U。在W号q接中,文g实际上是一个文本文Ӟ其中包含的有另一文g的位|信息?

    动手联系
    上面我们介绍了Linux文g处理命o(h)Q下面介l几个实例,大家可以动手l习(fn)一下刚才讲q的命o(h)?

    1.利用W号链接快速访问关键目?
    W号链接是一个非常实用的功能。假设有一些目录或文g需要频J用,但由于Linux的文件和目录l构{原因,q个文g或目录在很深的子目录中。比如,Apache Web服务器文档位于系l的/usr/local/httpd/htdocs中,q且不想每次都要从主目录q入q样一个长的\径之?实际上,q个路径也非怸Ҏ(gu)记忆)?

    Z解决q个问题Q可以在ȝ录中创徏一个符号链接,q样在需要进入该目录Ӟ只需q入q个链接卛_?

    Z能方便地q入Web服务?/usr/local/httpd/htdocs)文档所在的目录Q在ȝ录下可以使用以下命o(h)Q?

    $ ln -s /usr/local/httpd/htdocs gg

    q样每次q入gg目录可讉KWeb服务器的文档Q以后如果不再访问Web服务器的文档Ӟ删除gg卛_Q而真正的Web服务器的文档q没有删除?

    2.使用dd命o(h)init.rd格式的root.ram内容导入内存
    dd if=/dev/fd0 of=floppy.fd

    dd if=root.ram of=/dev/ram0 #

    3.grep命o(h)pȝ调用
    grep是Linux/Unix中用最q泛的命令之一Q许多Linuxpȝ内部都可以调用它?

    (1)如果要查询目录列表中的目录,Ҏ(gu)如下Q?

    $ ls -l | grep '∧d'

    (2)如果在一个目录中查询不包含目录的所有文ӞҎ(gu)如下Q?

    $ ls -l | grep '∧[∧d]'

    (3)用find命o(h)调用grepQ如所有C源代码中的“Chinput”,Ҏ(gu)如下Q?

    $find /ZhXwin -name *.c -exec grep -q -s Chinput {} \;-print



    liaojiyong 2007-01-18 15:05 发表评论
    ]]>Linux 文g命o(h)_N指?一)(转蝲) http://www.aygfsteel.com/liaojiyong/archive/2007/01/18/94647.htmlliaojiyongliaojiyongThu, 18 Jan 2007 07:05:00 GMThttp://www.aygfsteel.com/liaojiyong/archive/2007/01/18/94647.htmlhttp://www.aygfsteel.com/liaojiyong/comments/94647.htmlhttp://www.aygfsteel.com/liaojiyong/archive/2007/01/18/94647.html#Feedback0http://www.aygfsteel.com/liaojiyong/comments/commentRss/94647.htmlhttp://www.aygfsteel.com/liaojiyong/services/trackbacks/94647.html 虽然 GUI 桌面Q如 KDE ?GNOMEQ能够帮助用户利?Linux Ҏ(gu),而无需关于命o(h)行接口的功能知识Q但q是l常?x)需要更多的功能和灵zL。而且Q基本熟(zhn)这些命令对于在 shell 脚本中正地使某些功能自动化仍然是必需的?

    q篇文章是关?Linux 文g命o(h)的一个“速成教程”,它是为那些刚接触q个操作pȝ或者只是需要补充这斚w知识的用h供的。它包含了对一些更有用的命令的一个简明的概述以及关于它们的最强大的应用的指导。下面包含的信息 ?l合一些实??(zhn)能够容易地掌握q些基本的命令。(注意Q当涉及C个与 Oracle 集群文gpȝ (OCFS) l合的内核时Q这些命令中的某些命令的行ؓ(f)可能?x)稍微有所不同。在此情况下QOracle 提供了一?OCFS 工具集,该工具集可以为文件命令应用提供一个更好的选择。)

    注意Q这里包含的所有示例都?SUSE Linux 8.0 Professional 上进行了试。虽然没有理q信它们在其它的系l上不能工作,但如果出现问题,(zhn)应当查看?zhn)的文档,以了解可能的变化?

    背景概念
    在深入研I规范之前,让我们回一些基知识?

    文g和命?/b>
    ?Linux/UNIX 操作pȝ中,所有事物都被当作文件来处理Q硬件设备(包括键盘和终端)、目录、命令本w,当然q有文g。这个奇怪的惯例实际上是 Linux/UNIX 的能力和灉|性的基础?

    大多敎ͼ几乎是全部)的命令Ş式如下:(x)

    command [option] [source file(s)] [target file]

    获取帮助
    最有用的命令之一是那些提供帮助的命o(h)Q特别是寚w些学?Linux 的h而言Q。Linux 中的两个重要的信息来源是联机参考手册,?man 面?whatis 工具。?zhn)可以?whatis 命o(h)来访问一个不熟?zhn)的命令?man 面?

    $ whatis echo

    要了解关于这个命令的更多信息Q可以用:(x)

    $ man echo

    如果(zhn)不知道某个Ҏ(gu)d所需的命令,(zhn)可以用 man -k Q也UCؓ(f) aproposQ和一个主题来生成可能的命令。例如:(x)

    $ man -k files

    一个很有用但常常被忽视的命令可以提供关于?man 本n的信息:(x)

    $ man man

    (zhn)可以用 SPACEBAR 来浏览Q意的 man 面QUP ARROW 向上翻滚文件?要退出,则输?q,!Q或 CTRL-Z?

    用户cd
    记得那句名言“所有动物一例^{但有些动物比其他动物更加^{”吗Q在 Linux 世界中,根用h一切?

    根用户可以以另一个用户名 su Q源?"superuser"Q登录。要执行诸如d一个新用户、打印机或文件系l之cȝdQ必M为根用户d或者用 su 命o(h)和根用户密码切换到超U用戗系l文Ӟ包括控制初始化过E的pȝ文gQ归根用h有。虽然可能允许普通用户对它们q行L作,但出于系l安全性的原因Q编辑的权利留l根用户?

    BASH shell

    虽然提供了其它的 shellQ但 BASH (Bourne Again Shell) ?Linux 的默?shell。它l合了与它同名的 Bourne shell 的特性和 Korn、C ?TCSH shell 的特性?

    BASH 内置的命?history 默认记录最后输入的 500 条命令。可以通过在命令提C符下输?history 来查看它们。要索某个特定的命o(h)Q可以在命o(h)提示W下?UP ARROW ?DOWN ARROWQ或在历史列表中输入它的~号Qƈ在编号前面加?"!"Q例如:(x)

    $ !49

    (zhn)还可以通过一条命令在历史列表中离位置最靠前的项目的距离来执行该命o(h)Q如果在历史列表中有 53 个事Ӟ$ !-3 执行事件号 51?

    ?UNIX/Linux 世界的其?shell 一PBASH 使用了特D的环境变量来方便系l管理。例如:(x)

    HOMEQ用户主目录

    PATHQLinux 用来搜烦(zhn)输入的命o(h)的可执行镜像的搜索\?br />
    HISTSIZEQ系l保存的历史事g的数?

    除了q些保留的关键字之外Q?zhn)q可以定义?zhn)自己的环境变量。例如,Oracle 使用 ORACLE_HOME Q还有其它一些变量)Q要?Oracle 安装成功完成Q必d(zhn)的环境中设|这些变量?

    可以在提C符下(f)时设|变量:(x)

    $HISTSIZE=100

    或者,?/etc/profile Q需要根用户权限Q中q行pȝ范围的永久设|,或在 .profile 中进行局部永久设|?

    可以通过 echo 命o(h)Qƈ用一?$ W号来访问一个环境变量的|q而查看该倹{?

    $ echo $HOME
    /home/bluher

    可以?env 命o(h)来查看当前所有的环境变量?

    正则表达式和通配W?

    许多 Linux 命o(h)使用通配W?* ?? 来匹配Q意数量的字符或分别匹配Q意的单个字符Q正则模式匹配表辑ּ利用一个句?(.) 来匹配除“换行符”之外的L单个字符。这两种情况下都使用Ҏ(gu)?([ ]) 来匹配除?”号之外的字W组。不q,* 号在各种情况下有cM但不同的意义Q虽然它?shell 中将匚w一个或更多的字W,但在正则表达式中Q它匚w上述字符的零个或更多的实例。一些命令(?egrep ?awkQ用了一l更q泛的特D字W来q行模式匚w?


    liaojiyong 2007-01-18 15:05 发表评论
    ]]>
    必学的Linuxpȝ安全命o(h)(?http://www.aygfsteel.com/liaojiyong/archive/2007/01/18/94644.htmlliaojiyongliaojiyongThu, 18 Jan 2007 07:04:00 GMThttp://www.aygfsteel.com/liaojiyong/archive/2007/01/18/94644.htmlhttp://www.aygfsteel.com/liaojiyong/comments/94644.htmlhttp://www.aygfsteel.com/liaojiyong/archive/2007/01/18/94644.html#Feedback0http://www.aygfsteel.com/liaojiyong/comments/commentRss/94644.htmlhttp://www.aygfsteel.com/liaojiyong/services/trackbacks/94644.html虽然Linux和W(xu)indows NT/2000pȝ一h一个多用户的系l,但是它们之间有不重要的差别。对于很多习(fn)惯了Windowspȝ的管理员来讲Q如何保证Linux操作pȝ安全、可靠将?x)面临许多新的挑战。本文将重点介绍Linuxpȝ安全的命令?
    passwd
    1.作用
    asswd命o(h)原来修改账户的登陆密码,使用权限是所有用戗?
    2.格式
    asswd [选项] 账户名称
    3.主要参数
    -lQ锁定已l命名的账户名称Q只有具备超U用h限的使用者方可用?br />-uQ解开账户锁定状态,只有具备用户权限的用者方可用?
    -x, --maximum=DAYSQ最大密码用时_(d)天)Q只有具备超U用h限的使用者方可用?br />-n, --minimum=DAYSQ最密码用时_(d)天)Q只有具备超U用h限的使用者方可用?br />-dQ删除用者的密码, 只有具备用户权限的用者方可用?
    -SQ检查指定用者的密码认证U类, 只有具备用户权限的用者方可用?
    4.应用实例
    $ passwd
    Changing password for user cao.
    Changing password for cao
    (current) UNIX password:
    New UNIX password:
    Retype new UNIX password:
    passwd: all authentication tokens updated successfully.
    从上面可以看刎ͼ使用passwd命o(h)需要输入旧的密码,然后再输入两ơ新密码?
    su
    1.作用
    u的作用是变更为其它用者的w䆾Q超U用户除外,需要键入该使用者的密码?
    2.格式
    u [选项]... [-] [USER [ARG]...]
    3.主要参数
    -f Q?--fastQ不必读启动文gQ如 csh.cshrc {)Q仅用于csh或tcsh两种Shell?br />-l Q?--loginQ加了这个参C后,好像是重新登陆使用者一P大部分环境变量(例如HOME、SHELL和USER{)都是以该使用者(USERQؓ(f)主,q且工作目录也会(x)改变。如果没有指定USERQ缺省情冉|root?br />-mQ?-p Q?-preserve-environmentQ执行su时不改变环境变数?br />-c commandQ变更̎号ؓ(f)USER的用者,q执行指令(commandQ后再变回原来用者?br />USERQ欲变更的用者̎PARG传入新的Shell参数?
    4.应用实例
    变更账号U用Pq在执行df命o(h)后还原用者?   su -c df root
    umask
    1.作用
    umask讄用户文g和目录的文g创徏~省屏蔽|若将此命令放入profile文gQ就可控制该用户后箋所建文件的存取许可。它告诉pȝ在创建文件时不给谁存取许可。用权限是所有用戗?
    2.格式
    umask [-p] [-S] [mode]
    3.参数
    QSQ确定当前的umask讄?br />QpQ修改umask 讄?br />[mode]Q修Ҏ(gu)倹{?
    4.说明
    传统Unix的umask值是022Q这样就可以防止同属于该l的其它用户及别的组的用户修改该用户的文件。既然每个用户都拥有q属于一个自qU有l,那么q种“组保护模式”就不在需要了。严密的权限讑֮构成了Linux安全的基Q在权限上犯错误是致命的。需要注意的是,umask命o(h)用来讄q程所创徏的文件的d权限Q最保险的值是0077Q即关闭创徏文g的进E以外的所有进E的d权限Q表CZؓ(f)-rw-------。在?.bash_profile中,加上一行命令umask 0077可以保证每次启动Shell? q程的umask权限都可以被正确讑֮?
    5.应用实例
    umask -S
    u=rwx,g=rx,o=rx
    umask -p 177
    umask -S
    u=rw,g=,o=
    BR>
    上述5行命令,首先昄当前状态,然后把umask值改?77Q结果只有文件所有者具有读写文件的权限Q其它用户不能访问该文g。这昄是一U非常安全的讄?br />chgrp
    1.作用
    chgrp表示修改一个或多个文g或目录所属的l。用权限是用户?
    2.格式
    chgrp [选项]... l?文g...
    ?br />chgrp [选项]... --reference=参考文?文g...
    每个的所属组讑֮为?
    3.参数
    -c, --changes Q像 --verboseQ但只在有更Ҏ(gu)才显C结果?br />--dereferenceQ会(x)影响W号链接所指示的对象,而非W号链接本n?br />-h, --no-dereferenceQ会(x)影响W号链接本nQ而非W号链接所指示的目的地(当系l支持更改符号链接的所有者,此选项才有??br />-f, --silent, --quietQ去除大部分的错误信息?br />--reference=参考文Ӟ(x)使用的所属组Q而非指定的?br />-R, --recursiveQ递归处理所有的文g及子目录?br />-v, --verboseQ处理Q何文仉?x)显CZ息?
    4.应用说明
    该命令改变指定指定文件所属的用户l。其中group可以是用L(fng)IDQ也可以?etc/group文g中用L(fng)的组名。文件名是以I格分开的要改变属组的文件列表,支持通配W。如果用户不是该文g的属L用户Q则不能改变该文件的l?
    5.应用实例
    改变/opt/local /book/及其子目录下的所有文件的属组为bookQ命令如下:(x)
    $ chgrp - R book /opt/local /book
    chmod
    1.作用
    chmod命o(h)是非帔R要的Q用于改变文件或目录的访问权限,用户可以用它控制文g或目录的讉K权限Q用权限是用户?
    2.格式
    chmod命o(h)有两U用法。一U是包含字母和操作符表达式的字符讑֮法(相对权限讑֮Q;另一U是包含数字的数字设定法Q绝Ҏ(gu)限设定)?
    Q?Q字W设定法
    chmod [who] [+ &#124; - &#124; =] [mode] 文g?
    ◆操作对象who可以是下q字母中的Q一个或它们的组?br />uQ表C用Px件或目录的所有者?
    gQ表C同l用P即与文g属主有相同组ID的所有用戗?br />oQ表C其它用戗?
    aQ表C所有用P它是pȝ默认倹{?
    ◆操作符?
    +Q添加某个权限?
    -Q取消某个权限?
    =Q赋予给定权限,q取消其它所有权限(如果有的话)?
    ◆设|mode的权限可用下q字母的Ll合
    rQ可诅R?
    wQ可写?
    xQ可执行?
    XQ只有目标文件对某些用户是可执行的或该目标文件是目录时才q加x属性?
    Q文件执行时把进E的属主或组ID|ؓ(f)该文件的文g属主。方式“uQs”设|文件的用户ID位,“gQs”设|组ID位?
    tQ保存程序的文本C换设备上?
    uQ与文g属主拥有一L(fng)权限?
    gQ与和文件属dl的用户拥有一L(fng)权限?
    oQ与其它用户拥有一L(fng)权限?
    文g名:(x)以空格分开的要改变权限的文件列表,支持通配W?br />一个命令行中可以给出多个权限方式,光用逗号隔开?
    Q?Q?数字讑֮?
    数字讑֮法的一般Ş式ؓ(f)Q?chmod [mode] 文g?
    数字属性的格式应ؓ(f)3??的八q制敎ͼ光序是(u)(g)(o)文g名,以空格分开的要改变权限的文件列表,支持通配W?
    数字表示的权限的含义如下Q?001为所有者的执行权限Q?002为所有者的写权限;0004为所有者的L限;0010为组的执行权限;0020为组的写权限Q?040为组的读权限Q?100为其他h的执行权限;0200为其他h的写权限Q?400为其他h的读权限Q?000为粘贴位|位Q?000表示假如q个文g是可执行文gQ则为组IDZ|位Q否则其中文仉定位|位Q?000表示假如q个文g是可执行文gQ则为用户IDZ|位?
    3.实例
    如果一个系l管理员写了一个表?tem)让所有用户填写,那么必须授权用户对这个文件有d权限Q可以用命令:(x)Qchmod 666 tem
    上面代码中,q个666数字是如何计出来的呢?0002为所有者的写权限,0004为所有者的L限,0020为组的写权限Q?040为组的读权限Q?200为其他h的写权限Q?400为其他h的读权限Q这6个数字相加就?66Q注以上数字都是八进制数Q,l果见图1所C?

    点击在新H口中浏览此囄
    http://www.ttian.net/image...

    ? 用chmod数字Ҏ(gu)讑֮文g权限
    从图1可以看出Qtem文g的权限是-rw-rw-rw-Q即用户对这个文件有d权限?
    如果用字W权限设定用下面命令:(x)
    Qchmod a =wx tem
    chown
    1.作用
    更改一个或多个文g或目录的属主和属l。用权限是用户?
    2.格式
    chown [选项] 用户或组 文g
    3.主要参数
    --dereferenceQ受影响的是W号链接所指示的对象,而非W号链接本n?br />-h, --no-dereferenceQ会(x)影响W号链接本nQ而非W号链接所指示的目的地(当系l支持更改符号链接的所有者,此选项才有??br />--from=目前所有?目前l只当每个文件的所有者和l符合选项所指定的,才会(x)更改所有者和l。其中一个可以省略,q已省略的属性就不需要符合原有的属性?br />-f, --silent, --quietQ去除大部分的错误信息?br />-R, --recursiveQ递归处理所有的文g及子目录?br />-v, --verboseQ处理Q何文仉?x)显CZ息?

    4.说明
    chown指定文件的拥有者改为指定的用户或组Q用户可以是用户名或用户IDQ组可以是组名或lIDQ文件是以空格分开的要改变权限的文件列表,支持通配W。系l管理员l常使用chown命o(h)Q在文件拷贝到另一个用L(fng)目录下以后,让用h有用该文g的权限?
    5.应用实例
    1.把文件shiyan.c的所有者改为wan
    $ chown wan shiyan.c
    2.把目?hi及其下的所有文件和子目录的属主Ҏ(gu)wanQ属l改成users?
    $ chown - R wan.users /hi
    chattr
    1.作用
    修改ext2和ext3文gpȝ属?attribute)Q用权限超U用戗?
    2.格式
    chattr [-RV] [-+=AacDdijsSu] [-v version] 文g或目?
    3.主要参数
    QRQ递归处理所有的文g及子目录?br />QVQ详l显CZ改内容,q打印输出?br />Q:(x)失效属性?br />Q:(x)Ȁzd性?br />= Q指定属性?br />AQAtimeQ告诉系l不要修改对q个文g的最后访问时间?br />SQSyncQ一旦应用程序对q个文g执行了写操作Qɾpȝ立刻把修改的l果写到盘?
    aQAppend OnlyQ系l只允许在这个文件之后追加数据,不允怓Q何进E覆盖或截断q个文g。如果目录具有这个属性,pȝ只允许在这个目录下建立和修Ҏ(gu)Ӟ而不允许删除M文g?
    iQImmutableQ系l不允许对这个文件进行Q何的修改。如果目录具有这个属性,那么M的进E只能修改目录之下的文gQ不允许建立和删除文件?
    DQ检查压~文件中的错误?br />dQNo dumpQ在q行文gpȝ备䆾ӞdumpE序忽略这个文件?
    CQCompressQ系l以透明的方式压~这个文件。从q个文gdӞq回的是解压之后的数据;而向q个文g中写入数据时Q数据首先被压羃之后才写入磁盘?
    QSecure DeleteQ让pȝ在删除这个文件时Q?填充文g所在的区域?
    uQUndeleteQ当一个应用程序请求删除这个文Ӟpȝ?x)保留其数据块以便以后能够恢复删除这个文件?
    4.说明
    chattr命o(h)的作用很大,其中一些功能是由Linux内核版本来支持的Q如果Linux内核版本低于2.2Q那么许多功能不能实现。同PD查压~文件中的错误的功能Q需?.5.19以上内核才能支持。另外,通过chattr命o(h)修改属性能够提高系l的安全性,但是它ƈ不适合所有的目录。chattr命o(h)不能保护/?dev?tmp?var目录?
    5.应用实例
    1.恢复/root目录,卛_目录的所有文?br /># chattr -R +u/root
    2.用chattr命o(h)防止pȝ中某个关键文件被修改
    在Linux下,有些配置文g(passwd ,fatab)是不允许MZ改的Qؓ(f)了防止被误删除或修改Q可以设定该文g的“不可修改位(immutable)”,命o(h)如下Q?br /># chattr +i /etc/fstab
    sudo
    1.作用
    udo是一U以限制配置文g中的命o(h)为基Q在有限旉内给用户使用Qƈ且记录到日志中的命o(h)Q权限是所有用戗?
    2.格式
    sudo [-bhHpV] [-s ] [-u ] [指o(h)]
    sudo [-klv]
    3.主要参数
    QbQ在后台执行命o(h)?br />-hQ显C帮助?br />-HQ将HOME环境变量设ؓ(f)新n份的HOME环境变量?br />-kQ结束密码的有效期,即下ơ将需要输入密码?br />-lQ列出当前用户可以用的命o(h)?br />-pQ改变询问密码的提示W号?br />-s Q执行指定的Shell?br />-u Q以指定的用户ؓ(f)新n份,不用时默认为root?br />-vQg长密码有效期5分钟?br />4.说明
    udo命o(h)的配|在/etc/sudoers文g中。当用户使用sudoӞ需要输入口令以验证使用者n份。随后的一D|间内可以使用定义好的命o(h)Q当使用配置文g中没有的命o(h)Ӟ会(x)有报警的记录。sudo是系l管理员用来允许某些用户以rootw䆾q行部分/全部pȝ命o(h)的程序。一个明昄用途是增强了站点的安全性,如果需要每天以用户的n份做一些日常工作,l常执行一些固定的几个只有用户w䆾才能执行的命令,那么用sudo是非帔R合的?
    ps
    1.作用
    昄瞬间q程 (process) 的动态,使用权限是所有用者?
    2.格式
    [options] [--help]
    3.主要参数
    的参数非常多, 此出仅列出几个常用的参数?
    -AQ列出所有的q程?
    -lQ显C长列表?br />-mQ显C内存信息?br />-wQ显C加宽可以显C多的信息?
    -eQ显C所有进E?br />aQ显C终端上的所有进E?包括其它用户的进E?br />-auQ显C详细的信息?br />-auxQ显C所有包含其它用者的q程?/p>


    4.说明
    要对q程q行监测和控Ӟ首先要了解当前进E的情况Q也是需要查看当前进E。ps命o(h)是最基本、也是非常强大的q程查看命o(h)。用该命o(h)可以定有哪些进E正在运行、运行的状态、进E是否结束、进E有没有僵尸、哪些进E占用了q多的资源等。图2l出了ps-aux命o(h)详解。大部分信息都可以通过执行该命令得到。最常用的三个参数是u、a、x。下面就l合q三个参数详l说明ps命o(h)的作用:(x)ps aux

    点击在新H口中浏览此囄
    http://www.ttian.net/image...

    ? ps-aux命o(h)详解
    ?W?行代码中QUSER表示q程拥有者;PID表示q程标示W;%CPU表示占用的CPU使用率;%MEM占用的物理内存用率QVSZ表示占用的虚拟内存大;RSSE占用的物理内存|TTY为终端的ơ要装置L(fng)?
    STAT表示q程的状态,其中DZ可中断的静止QI/O动作Q;R正在执行中;S静止状态;T暂停执行QZ不存在,但暂时无法消除;W没有_的内存分可分配Q高优先序的q程QN低优先序的进E;L有内存分分配ƈ锁在内存体内 (实时pȝ?I/O)。STARTE开始时间。TIME为执行的旉。COMMAND是所执行的指令?
    4.应用实例
    在进行系l维护时Q经怼(x)出现内存使用量惊人,而又不知道是哪一个进E占用了大量q程的情c除了可以用top命o(h)查看内存使用情况之外Q还可以使用下面的命令:(x)
    aux &#124; sort +5n
    who
    1.作用
    who昄pȝ中有哪些用户登陆pȝQ显C的资料包含了用者ID、用的登陆l端、上U时间、呆滞时间、CPU占用Q以及做了些什么?使用权限为所有用戗?
    2.格式
    who - [husfV] [user]
    3.主要参数
    -hQ不要显C标题列?
    -uQ不要显CZ用者的动作/工作?br />-sQ用简短的格式来显C?br />-fQ不要显CZ用者的上线位置?
    -VQ显C程序版本?br />4.说明
    该命令主要用于查看当前在U上的用hc如果用h和其它用户徏立即旉信Q比如用talk命o(h)Q那么首先要定的就是该用户实在线?不然talkq程无法徏立v来。又如,pȝ理员希望监视每个登录的用户此时此刻的所作所为,也要使用who命o(h)。who命o(h)应用h非常单,可以比较准确地掌握用L(fng)情况,所以用非常广泛?
    动手l习(fn)
    1.使用Linux命o(h)系l入侵?br />安装qMandrake Linux和Red Hat Linux的用户都?x)知道,Linuxpȝ?x)内|三U不同别(标准、高、更高)的防火墙Q当q行了Linux服务器的安装和一些基本的讄后,服务器应该说是比较安全的Q但是也?x)有黑客通过各种Ҏ(gu)利用pȝ理员的疏忽侵入pȝ。如何快速查N客非帔R要。一般来_(d)可以使用命o(h)查询黑客是否入RQ见??
    ? 查询黑客入R现象的命令对应表

    点击在新H口中浏览此囄
    http://www.ttian.net/image...

    举例说明Q如果黑客嗅探网l,那么它必Mɾ|卡接口处于h模式Q用下面命令进行查询:(x)
    Qifconfig -a
    eth0  Link encap:Ethernet  HWaddr 00:00:E8:A0:25:86
          inet addr:192.168.1.7  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING PROMISCUOUS  MTU:1500  Metric:1
    ......
    从这个命令的输出中,可以看到上面讲到的这些概c第一行的00:00:E8:A0:25:86是mac地址Q第二行?92.168.1.7是IP地址Q第四行讲的是接收数据状态,q时正在被黑客嗅探。一般而言Q网卡有几种接收数据帧的状态,如Broadcast、Multicast、Promiscuous{。Broadcast是指接收所有类型ؓ(f)q播报文的数据QMulticast是指接收特定的组播报文;Promiscuous则是通常说的h模式Q是指对报文中的目的g地址不加M查、全部接收的工作模式?
    2.限制su命o(h)的滥?br />我们知道Q超U用户在Linux中有最大的权利Q几乎所有黑客都惛_到这个目标。Linux可以增加对切换到用户的限制。用PAMQPluggable Authentication ModulesQ可以禁止除在wheell以外的M人su成rootQ修?etc/pam.d/su文gQ除d蔽标?。?usr/sbin/usermod G10 bjecadmbjecadmq个账号加入gid?0的组Q就是wheell。命令如下:(x)
    /etc/pam.d/su   # 使用密码验证Q?br />auth sufficient /lib/security/pam_wheel.so debug
    # 限制只有wheell用h可以切换到rootQ?br />auth required /lib/security/pam_wheel.so use_uid
    chmod -G10 bjecadm
    另外Q每当用戯图用su命o(h)q入pȝ用户?命o(h)在/usr/adm/sulog文g中写一条信?若该文g记录了大量试囄suq入root的无效操作信?则表明了可能有h企图破译root口o(h)?
    Linux命o(h)有着强大的功能。对于Linuxpȝ理员来_(d)往往只需要通过各种安全命o(h)技巧,l合构成安全防线。从计算机安全的角度看,世界上没有绝对安全的计算机系l,Linuxpȝ也不例外?/p>

    liaojiyong 2007-01-18 15:04 发表评论
    ]]>
    Linux pȝ命o(h)_N指南(初Q?? http://www.aygfsteel.com/liaojiyong/archive/2007/01/18/94645.htmlliaojiyongliaojiyongThu, 18 Jan 2007 07:04:00 GMThttp://www.aygfsteel.com/liaojiyong/archive/2007/01/18/94645.htmlhttp://www.aygfsteel.com/liaojiyong/comments/94645.htmlhttp://www.aygfsteel.com/liaojiyong/archive/2007/01/18/94645.html#Feedback0http://www.aygfsteel.com/liaojiyong/comments/commentRss/94645.htmlhttp://www.aygfsteel.com/liaojiyong/services/trackbacks/94645.html ?Linux/UNIX 世界中,一切都被看作文Ӟ包括pȝ理命o(h)。单独对于组l而言Q我们在本系列的W一部分中讨Z文g命o(h)Qƈ在本文中提供最有用的系l诊断和l护命o(h)?

    对于文g命o(h)Q我们在此处详尽讨论了某些相当简单和直观的管理命令。而只描述了其他较复杂命o(h)的功能,以便在?zhn)需要用时Q知道存在这些命令及其用途。本文不涉及Ҏ(gu)个命令用背后的基本原理的详l讨论,但是我们讨论最基本和最有用的命令,q些命o(h)用于监视和管理打印机服务、文件系l、磁盘和q程?

    有关用户的更多信?/b>
    q里讨论的很多命令可以由常规用户在其自己的文件和q程中执行。但是,某些命o(h)Q如 fdiskQ需要有 root 权限才能q行?

    Z(zhn)的pȝ的完整性,(zhn)避免直接以 "root" d到系l中。相反,通常更适合以常规用L(fng)录,然后执行 su 或从 X window 执行 sux 命o(h)来运行系l管理功能?Sux 为?zhn)提?X window 环境以及 root 权限。)当?zhn)?root 用户dӞ(zhn)会(x)始终知道(zhn)处于这U状态,因ؓ(f)(zhn)的提示W变为?”?

    用户能够使用 sudoQ有选择地将那些通常?root 用户或其他特D用h保留的权限分配给一个不同的常规用户。root 用户可以定义实际和有效的用户和组标识?uid ?gidQ以便与预期用户的标识相匚w。这U预期用户可以是Q但不必是)被允许运行该命o(h)的用戗?

    换言之,用户可以允许其他用户执行某个命o(h)Q但也可以确定由q程所产生的Q何结果文件应该属?root 用户或Q何由用户指定的其他用戗Sudo 权限一l分配,则只需要用户用自q口o(h)q行验证Q而不需?root 用户口o(h)?

    通用命o(h)
    从技术上ԌUname、diff、date、sort ?uniq 应该看作文g命o(h)Q但׃它们l常用于诊断和维护例E的pȝ理斚wQ在q里解释它们更有意义?

    Uname
    Uname 提供了常规系l信息。当指定 -a 选项Ӟ昄所有可用信息:(x)
    $ uname -a
    Linux linux 2.4.18-4GB #1 Wed Mar 27 13:57:05 UTC 2002 i686 unknown

    在这里我们从左向右看到常规的pȝ信息。每条信息都有自q选项Q在下面的圆括号中)Q可以单独显C:(x)

    操作pȝ名称?Linux(-s)?

    本机的网l节点名?linux (-n)?

    操作pȝ发布版本?4.5.18-4GB (-r)?

    操作pȝ版本?#1 Wed Mar 27 13:57:05 UTC 2002 (-v)?

    机器cd?i686 (-m)?

    q里的处理器cd (-p) 为未知?

    cM圎ͼstty 昄关于(zhn)的l端讄的信息:(x)
    $ stty -a
    speed 38400 baud; rows 40; columns 103; line = 0;
    intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = ; eol2 = ; start = ^Q;
    stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;
    -parenb -parodd cs8 -hupcl -cstopb cread -clocal -crtscts -ignbrk -brkint -ignpar -parmrk -inpck
    -istrip -inlcr -igncr icrnl ixon -ixoff -iuclc -ixany -imaxbel
    opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
    isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke

    W二行和W三行显CZ在命o(h)行分别调用的Ҏ(gu)字符和键序列。例如,"^Z" ?CNTRL-Z 在本pȝ中发送一个终端休止符。退出符号以 "^\" ?CNTRL-\ 发送,而我们可以将其改?"^X"Q如下所C:(x)
    $ stty quit ^X

    在这U情况下Q?zhn)实际要输?^ W号Q而不?CNTRL 键。这U改变只在当前窗口中h。ؓ(f)了ɘq种改变怹生效Q需要在(zhn)的 .bashrc 文g中输入该语句?

    Diff ?Date。顾名思义QDiff 比较两个文g。它q回那些D文g不同的行Qƈq回关于如何使文件变得相同的一些含义隐晦的输出Q?
    $ diff test.out test2.out
    0a1
    > Another test.

    在这里我们被告知Q需要将 "Another test." q一行添加到 test.outQ以便它与 test2.out 怼。第一个字W?"0" 是要?test.out 中编辑的行号Q?a" 表示该行应该被添加到 test.outQ以便与 test2.out 的第一?"1" 相匹配。如果我们需要更?test.outQ则W二个字W也可以?"c"Q而如果我们需要从 test.out 中删除一些内容,则第二个字符?"d"?

    (zhn)可能希望一个文件与另一个文件相|以便为某些代码提供补丁。diff q经怽为分析工P用于验证E序或脚??例如 sed 脚本 ?的输出是否是所预期的输出?

    date 命o(h)可用于显C或讄日期。如果用户具有超U用h限,则他或她可以通过在以下命令中提供一个数字型字符串来讄日期Q?
    $ date 0101010004
    此命令将日期讄?2004 q?(04) 1 ?1 ?(0101) 凌晨 1 ?(0100)?

    但是QQ何用户可以用所需的格式来昄日期。注意在格式序列之前需要一个加?"+"。如果没有出现此命o(h)的预期输出,则尝试将它包含在单引号中Q?
    $ date +'%H%M%S'
    204748

    (zhn)可以在序列中包含空|q时(zhn)需要用双引号Q?
    $ date +"%H %M %S"
    20 47 51

    在日期的主页上列有三十多U不同的格式序列Q这些序列可以按需要结合v来,以获得?zhn)最后的输出格式?

    date 的输可以用于脚本中,如:(x)
    $ date -d '2 day'
    Thu Jan 29 19:02:02 EST 2004

    -d 选项指示 date 昄其后字符串中所描述的时间。在上例中,我们要求昄从现在vQ?004 q?1 ?27 日)两天后的日期。我们也可以要求昄三天前的日期Q其命o(h)为:(x)
    $ date -d '-3 day'
    Sun Jan 25 20:56:59 EST 2004

    date 多种功能的另一个示例是能够向其输出附加字符Ԍ为生成唯一的文件名提供了一U便利的Ҏ(gu)?
    $ ls -l | cat > $(date +ls_%d%b%y%H%M.out)
    $ ls ls_*.out
    ls_04Feb041633.out

    在这里,我们一个长文g列表的输Z送给 catQ它?yu)我们的输出再传送到一个名?ls_04Feb041609.out 的文件。注意我们ؓ(f)文g名用了一个变量,q元符?"$" 表示。依ơ将 "ls_" ?".out" 附加到日期,其格式ؓ(f)月䆾中的?(%d)、本地的月䆾名称~写 (%b)、年份的最后两位数?(%y)、小?(%H) 和分?(%M)Q从而生此文g名?

    Sort ?Uniq?(zhn)可以从道或从命o(h)行所指定的文件对文本文g的行q行 sort 操作。除非另外指定,sort 对多列输出的W一列进行操作。在默认情况下,除非使用 -n 选项Q数字型的列按字母顺序排序?

    Sort 列可以用两种不同的格式指定。如果?-k 选项Q则列的位置?1 开始进行编受?zhn)q可以?+POS1 格式Q从W一列编号ؓ(f)零开始进行列的编受以下两个命令生相同的输出Q?
    $ ls -l *.out | sort +5 -7
    $ ls -l *.out | sort -k 6,8
    -rw-r--r-- 1 bluher users 375 Dec 5 2002 fdisk.out
    -rw-r--r-- 1 bluher users 2447 Dec 28 20:15 ls.out
    -rw-r--r-- 1 bluher users 590 Jan 4 21:24 greps.out
    -rw-r--r-- 1 bluher users 78 Jan 4 21:25 sgrep.out
    ...

    在默认情况下Qsort 命o(h)的列分隔W是I格和制表符。可以?-t SEP 选项指定其他分隔W,其中 SEP 是?zhn)指定的分隔符受sort 的默认顺序是从最低到最高,利用 -r 选项可以顺序颠倒?

    Sort 可用于很多不同的d。例如,它可用于Ҏ(gu)件输行排序(?/etc/passwdQ,或者如我们在下面所看到的那P?du 的输行排序。当使用 -m 选项Ӟsort 文件合qӞ实际上ƈ没有对它们进行排序。但是,如果(zhn)希望将它们排序Q就应该在文件合q前对它们排序?

    Sort l常?uniq 命o(h)一起用,从已排序的文件中删除完全相同的行。uniq 命o(h)在管道中l常跟在 sort 命o(h)的后面,q可以?-c 选项来计某一行所出现的次敎ͼ或者?-d 选项Q只报告完全相同的行Q?
    $ sort -m test.out test2_sort.out | uniq -c
    1 Another test.
    1 Testing testing
    2 This is a test.

    在这里我们合q两个文?test.out ?test2_sort.out。然后我们?-c 选项Q将输出传送到 uniqQ这h后的l果是按字母序排列的列表,完全相同的行被删除,q带有一个关于每行出现频率的报告?

    打印机控?/b>
    在多数情况下Q打印机命o(h)的用相对较为明。通过?lpr 命o(h)后面指定文g名,作业发送到打印机。如果没有提供文件名Q则假定使用标准输入。?lpq 命o(h)Q?zhn)可以获得关于发送到打印机的作业的状态报告。当(zhn)指定作业号ӞLprm 作业从行打印机后台打印队列中删除?

    $ lpr grep2.out
    $ lpq
    Printer:lp@linux 'lpdfilter drv=upp method=auto color=yes'
    Queue:1 printable job
    Server:pid 1929 active
    Unspooler:pid 1930 active
    Status:waiting for subserver to exit at 21:24:14.637
    Rank  Owner/ID    Class Job Files    Size Time
    active bluher@linux+928  A  928 grep2.out   779 21:24:14
    done  bluher       A  877 (STDIN)  117258 13:09:53
    $ lprm 928
    Printer lp@linux:
    checking perms 'cfA928linux.local'
    dequeued 'cfA928linux.local'

    在这里,当我们将作业发送到打印机后Q我们查询其状态。Lpq 向我们显C编号ؓ(f) 877 的作业已l完成,而我们刚发送的作业~号?928。我们用命?lprm 928 活动的作业从队列中删除?

    盘信息
    无论(zhn)是l护自己的系l还是支持具有很多用L(fng)企业Q监视磁盘空间都是系l管理员更重要的职责之一。du、df ?fdisk 命o(h)提供了可用磁盘空间的不同视图?

    du 命o(h)提供Ҏ(gu)个目录的文gI间使用情况的评估。在默认情况下,量的单位是块的数目Q块的大通常在安装?zhn)的系l时定?

    在以下的CZ中,pȝ是?1024 字节的块安装的。如果没有指定目录,?du 开始对当前目录q行计算?h 选项以易于读懂的形式提供大小的|(x)

    $ du -h Documents
    105k  Documents/jj
    573k  Documents/John
    682k  Documents

    可以使用 -a 选项更改输出Q该选项指示 du 昄文g和目录的块数。选项 --block-size=SIZE 指示 du ?SIZE 所指定字节大小的块的数目来昄输出?

    $ du --block-size=512 Documents
    209   Documents/jj
    1146  Documents/John
    1363  Documents

    在默认情况下Qdu qؓ(f)每个子目录递归地打C息。通过使用 max-depth=N 选项可以限制q种操作Q其?N {于被报告的最大敎ͼ(x)

    $ du --max-depth=2 .
    $ du --max-depth=2 | sort -n
    4    ./.xemacs
    4    ./public_html
    105   ./Documents/jj
    573   ./Documents/Ian
    682   ./Documents
    2420  ./jdevhome/system
    8350  ./jdevhome/system9.0.3.1035
    13483  ./jdevhome/mywork
    24252  ./jdevhome
    ...

    du 报告目录和子目录的空间用情况,?df 报告已安装文件系l的盘I间使用情况Q?

    $ df
    Filesystem   1k-blocks   Used Available Use% Mounted on
    /dev/hda6    4195632  1983656  2211976 48% /
    /dev/hda5     14607   3778   10075 28% /boot
    /dev/hda9     937372  494028  443344 53% /home
    /dev/hda8    6297248  3876880  2420368 62% /opt
    shmfs       256220     0  256220  0% /dev/shm

    在这里,df 报告了五个文件系l的状态。与 du cMQdf 利用 -h 选项提供人类可读的输出:(x)

    $ df -h
    Filesystem      Size Used Avail Use% Mounted on
    /dev/hda6       4.0G 1.9G 2.1G 48% /
    /dev/hda5       14M 3.7M 9.8M 28% /boot
    /dev/hda9       915M 476M 440M 52% /home
    /dev/hda8       6.0G 3.7G 2.3G 62% /opt
    shmfs         250M   0 250M  0% /dev/shm

    df 命o(h)q允许?zhn)利?-block-size=SIZE 选项来指定块的大?

    fdisk 命o(h)?Linux 的分操作命o(h)。与 du ?df 不同Q没?root 用户权限时不能运行该命o(h)。如果指定了 -l 选项Q则可以它仅用于报告的目的。它提供了?zhn)的整个分的完整视图,而不仅仅是?zhn)使?df 所看到的扩?Linux 分区Q?

    # fdisk -l

    Disk /dev/hda:240 heads, 63 sectors, 1940 cylinders
    Units = cylinders of 15120 * 512 bytes

    Device Boot  Start    End  Blocks  Id System
    /dev/hda1       1    286  2162128+  c Win95 FAT32 (LBA)
    /dev/hda2  *    288   1940 12496680  5 Extended
    /dev/hda5      288    289   15088+ 83 Linux
    /dev/hda6      290    844  4195768+ 83 Linux
    /dev/hda7      845    983  1050808+ 82 Linux swap
    /dev/hda8      984   1816  6297448+ 83 Linux
    /dev/hda9     1817   1940  937408+ 83 Linux

    q程监视
    在繁忙的多用L(fng)l中Q进E监视也?Linux pȝ理员的一w要职责。在q方面,ps ?top 是两个最有用的命令?
    ps 命o(h)提供了当前运行进E的快照?

    生动实的一?

    以下?ps 的最单Ş式:(x)

    $ ps
    PID TTY     TIME CMD
    3884 pts/1  00:00:00 bash
    3955 pts/2  00:00:00 more
    3956 pts/5  00:00:05 sqlplus

    PID 是进E的标识受?

    TTY 是进E所属的l端控制台?

    TIME 列是q程所使用的ȝ CPU 旉?

    CMD 列列出正在执行的命o(h)行?

    使用带有 -ef 选项?psQ返回系l中所有用L(fng)所有进E的完整列表。如果?zhn)?ps 命o(h)的结果传送到 grep 中,则该l果更易于查看。例如:(x)

    $ ps -ef | grep oracle
    UID    PID PPID C STIME TTY     TIME CMD
    oracle  1633   1 0 13:58 ?00:00:00 ora_pmon_ora1
    oracle  1635   1 0 13:58 ?00:00:00 ora_dbw0_ora1
    oracle  1637   1 0 13:58 ?00:00:01 ora_lgwr_ora1
    oracle  1639   1 0 13:58 ?00:00:02 ora_ckpt_ora1
    oracle  1641   1 0 13:58 ?00:00:02 ora_smon_ora1
    oracle  1643   1 0 13:58 ?00:00:00 ora_reco_ora1
    oracle  1645   1 0 13:58 ?00:00:00 ora_cjq0_ora1
    oracle  1647   1 0 13:58 ?00:01:18 ora_qmn0_ora1
    oracle  1649   1 0 13:58 ?00:00:00 ora_s000_ora1
    oracle  1651   1 0 13:58 ?00:00:00 ora_d000_ora1

    注意Q当(zhn)将 ps 的输Z送到 grep 命o(h)Ӟ列标题ƈ不象?ps 命o(h)本n所使用旉h常地昄。ؓ(f)便于说明Q标题位于输出的上方Q以便清楚地昄其联pR?

    虽然 uid 通常是指数字型的标识Q但在第一列下指定的是用户名,标记?UID?

    PPID 是父q程的标识号。对?Oracle q程Q这里的标识号ؓ(f) 1 ?它是 init q程Q所有进E的父进E)?idQ因为在本系l中安装?Oracle 是作为登录进E的一部分而启动的?
    标ؓ(f) C 的列是由 CPU 用于计算执行优先U的因子?
    STIME 是指q程的启动时间?
    问号表示q些q程不属于Q?TTYQ因为它们是ql启动的?

    以下?ps 命o(h)带有某些不同选项的另一个示例。注意,其中很多列与执行带有 -ef 选项?ps 时的列相同:(x)

    $ ps aux
    USER   PID %CPU %MEM  VSZ RSS TTY   STAT START  TIME COMMAND
    bluh  4024 0.0 0.2 2240 1116 pts/1  S  20:59  0:00 su bluher
    bluh  4025 0.0 0.3 2856 1668 pts/1  S  20:59  0:00 bash
    bluh  4051 0.0 0.2 2488 1504 pts/1  R  21:01  0:00 ps aux
    bluh  4052 0.0 0.1 1636 600 pts/1  S  21:01  0:00 grep bluher

    除了提供重要的诊断信息,ps 命o(h)q经常用于找出失控进E的 PID。例如,(zhn)的一个用户在 SQL*Plus ?x)话中输入一个笛卡尔联接。?zhn)可以执行以下?ps 命o(h)来找出其 PIDQ?

    $ ps -ef | grep bluher
    ...
    bluher  4068 4064 0 21:14 pts/6  00:00:00 less
    bluher  4112 3945 0 21:28 pts/5  00:08:42 sqlplus
    ...

    然后(zhn)可以用以下命令将其终止:(x)
    $ kill 4112

    常规用户可以看到所有的pȝq程Q但他们只能l止他们自己拥有的进E?

    Ps 只ؓ(f)(zhn)提供当前进E的快照。要x查看最z跃的进E,可?top。Top 实时地提供进E信息。它q拥有交互式的状态,允许用户输入命o(h)Q如 n 后面跟有 5 ?10 {数字。其l果是指C?top 昄 5 ?10 个最z跃的进E。Top 持箋q行Q直到?zhn)?"q" 退?top 为止?

    以下?top 的部分显C:(x)

    8:14pm up 51 min, 7 users, load average: 0.02, 0.03, 0.05
    96 processes:87 sleeping, 2 running, 0 zombie, 7 stopped
    CPU states:6.4% user, 3.5% system, 0.0% nice, 89.9% idle
    Mem:512440K av, 392288K used, 120152K free,    0K shrd,  55668K buff
    Swap:1050800K av,    0K used, 1050800K free         236128K cached

    PID USER   PRI NI SIZE RSS SHARE STAT %CPU %MEM  TIME COMMAND
    1289 root   18  0 78008 11M 1796 R   3.7 2.2  0:49 X
    1965 bluher  20  0 12244 11M 10456 S   1.9 2.3  0:01 kdeinit
    1986 bluher  18  0  996 996  768 R   1.5 0.1  0:00 top
    1803 bluher  20  0 16960 16M 13508 S   0.9 3.3  0:03 kdeinit
    1804 bluher  20  0 16964 16M 13508 S   0.9 3.3  0:03 kdeinit
    1800 bluher  19  0 12260 11M 10076 S   0.1 2.3  0:04 kdeinit
    1 root   20  0  220 220  188 S   0.0 0.0  0:04 init
    ...

    关闭
    看来应该?shutdown 命o(h)来结束本ơ讨论。与本文以及上一文章中所讨论的许多命令一P通常有一U?GUI 形式的替代方法可以关闭?zhn)的系l。但是,当?zhn)需要手动关闭时Q?zhn)可以使用以下命o(h)立即q行关闭Q?
    $ shutdown -h now

    (zhn)可以用以下命令手动地重新启动pȝQ?
    $ shutdown -r now

    注意q两个命令都需要指定时间。?zhn)可以指?"now" 或用带有时间秒数的 -t 选项?


    liaojiyong 2007-01-18 15:04 发表评论
    ]]>
    վ֩ģ壺 | ԭ| ̨| | | ˮ| | | | | ޳| | ¬| üɽ| | | | | ƽ| | ƶ| ˮ| | | | ɽ| | | | ƽ| | ɽ| | ̫| | Ҿ| | ɽ| | ̨| |