??xml version="1.0" encoding="utf-8" standalone="yes"?>久久久久久噜噜精品免费直播,狠狠综合久久综合88亚洲,中文字幕久久亚洲一区http://www.shnenglu.com/zhenglinbo/category/19472.html享受~程的乐?/description>zh-cnWed, 15 May 2013 04:32:22 GMTWed, 15 May 2013 04:32:22 GMT60exec函数http://www.shnenglu.com/zhenglinbo/archive/2013/05/14/200259.htmlhoshellyhoshellyTue, 14 May 2013 09:37:00 GMThttp://www.shnenglu.com/zhenglinbo/archive/2013/05/14/200259.htmlhttp://www.shnenglu.com/zhenglinbo/comments/200259.htmlhttp://www.shnenglu.com/zhenglinbo/archive/2013/05/14/200259.html#Feedback0http://www.shnenglu.com/zhenglinbo/comments/commentRss/200259.htmlhttp://www.shnenglu.com/zhenglinbo/services/trackbacks/200259.html用f o r k函数创徏子进E后Q子q程往往要调用一Ue x e c函数以执行另一个程序?/span>当进E调用一Ue x e c函数Ӟ该进E完全由新程序代换,而新E序则从?m a i n函数开始执行?/span>因ؓ调用e x e cq不创徏新进E,所以前后的q程I Dq未改变?/span>e x e c只是用另一个新E序替换?/u>当前q程的正文、数据、堆和栈Dc?/u>
有六U不同的e x e c函数可供使用Q具体参考APUEQ,它们常常被统UCؓe x e c函数。这些e x e c函数都是U N I Xq?/span>E控制原语。用f o r k可以创徏新进E,用e x e c可以执行新的E序。e x i t函数和两个w a i t函数处理l止和等待终止。这些是我们需要的基本的进E控制原语?br />


hoshelly 2013-05-14 17:37 发表评论
]]>
initq程 与僵进E?/title><link>http://www.shnenglu.com/zhenglinbo/archive/2013/05/14/200258.html</link><dc:creator>hoshelly</dc:creator><author>hoshelly</author><pubDate>Tue, 14 May 2013 09:32:00 GMT</pubDate><guid>http://www.shnenglu.com/zhenglinbo/archive/2013/05/14/200258.html</guid><wfw:comment>http://www.shnenglu.com/zhenglinbo/comments/200258.html</wfw:comment><comments>http://www.shnenglu.com/zhenglinbo/archive/2013/05/14/200258.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/zhenglinbo/comments/commentRss/200258.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/zhenglinbo/services/trackbacks/200258.html</trackback:ping><description><![CDATA[<div></div><div><span style="font-size: 10pt;">在说明f o r k函数Ӟ一定是一个父q程生成一个子q程。上面又说明了子q程其l止?/span><span style="font-size: 10pt;">态返回给父进E。但是如果父q程在子q程之前l止Q则如何呢Q其回答是对于其父进E已</span><span style="font-size: 10pt;">l终止的所有进E,它们的父q程都改变ؓi n i tq程?/span></div><div><span style="font-size: 10pt;">我们U这些进E由i n i tq程领养。其操作</span><span style="font-size: 10pt;">q程大致是:在一个进E终止时Q内栔R个查所有活动进E,以判断它是否是正要终止的q?/span><span style="font-size: 10pt;">E的子进E,如果是,则该q程的父q程I D更改ؓ1 ( i n i tq程的I D )。这U处理方法保证了?/span><span style="font-size: 10pt;">个进E有一个父q程?br /><br /></span><div><span style="font-size: 10pt;">如果子进E在父进E之前终止,那么父进E又如何能在做相应检</span><span style="font-size: 10pt;">查时得到子进E的l止状态呢Q对此问题的回答是内ؓ每个l止子进E保存了一定量的信</span></div><div><span style="font-size: 10pt;">息,所以当l止q程的父q程调用 w a i t或waitpid Ӟ可以得到有关信息。这U信息至包?/span><span style="font-size: 10pt;">q程I D、该q程的终止状态、以反该q程使用?C P U旉总量。内核可以释攄止进E所?/span><span style="font-size: 10pt;">用的所有存储器Q关闭其所有打开文g。在 U N I X术语中,一个已l终止、但是其父进E尚?/span><span style="font-size: 10pt;">对其q行善后处理Q获取终止子q程的有关信息、释攑֮仍占用的资源Q的q程被称为僵死进E(z o m b i eQ。p s ( 1 )命o僵死进E的状态打Cؓ Z?br /><br /></span><div><span style="font-size: 10pt;">一个由i n i tq程领养的进E终止时会发生什?它会不会变成一</span><span style="font-size: 10pt;">个僵死进E?Ҏ问题的回{是“?#8221;Q因为i n i t被编写成只要有一个子q程l止Q?i n i t׃?/span><span style="font-size: 10pt;">用一个w a i t函数取得其终止状态。这样也防止了在系l中有很多僵死进E。当提及“一个i n i t</span><span style="font-size: 10pt;">的子q程”Ӟq指的是i n i t直接产生的进E,或者是其父</span><span style="font-size: 10pt;">q程已终止,由init 领养的进E?/span></div></div></div><img src ="http://www.shnenglu.com/zhenglinbo/aggbug/200258.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/zhenglinbo/" target="_blank">hoshelly</a> 2013-05-14 17:32 <a href="http://www.shnenglu.com/zhenglinbo/archive/2013/05/14/200258.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>fork ?vfork 的区?& exit 和_exit的区?/title><link>http://www.shnenglu.com/zhenglinbo/archive/2013/05/14/200257.html</link><dc:creator>hoshelly</dc:creator><author>hoshelly</author><pubDate>Tue, 14 May 2013 09:26:00 GMT</pubDate><guid>http://www.shnenglu.com/zhenglinbo/archive/2013/05/14/200257.html</guid><wfw:comment>http://www.shnenglu.com/zhenglinbo/comments/200257.html</wfw:comment><comments>http://www.shnenglu.com/zhenglinbo/archive/2013/05/14/200257.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/zhenglinbo/comments/commentRss/200257.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/zhenglinbo/services/trackbacks/200257.html</trackback:ping><description><![CDATA[<span style="font-size: 10pt;">1.1<br />fork可以创徏一个新的子q程Q调用一ơ,q回两次Q一ơ返?值给子进E,另一ơ返回新的子q程的IDl父q程 。子q程是父q程的复制品Q拥有父q程的数据空间、堆和栈Q父子进Eƈ不共享存储空_如果正文D|只读的,那么父子q程׃n正文Dc?/span><br /><span style="font-size: 10pt;">一般而言Qfork之后是父q程先执行还是子q程先执行是不确定的Q这取决于内核的调度法?/span><br /><span style="font-size: 10pt;">fork有两U用法:</span><br /><span style="font-size: 10pt;">Q?Q一个父q程希望复制自己Q父、子q程同时执行不同的代码段?/span><span style="font-size: 10pt;">q在|络服务q程</span><span style="font-size: 10pt;">中是常见?#8212;—父进E等待委托者的服务h。当q种h到达Ӟ父进E调?f o r kQ子进</span><span style="font-size: 10pt;">E处理此h。父q程则l等待下一个服务请求?/span><div><span style="font-size: 10pt;">Q?Q?一个进E要执行一个不同的E序。这对s h e l l是常见的情况。在q种情况下,子进E在</span><span style="font-size: 10pt;">从f o r kq回后立卌用e x e c?/span></div><br /><span style="font-size: 10pt;">1.2<br />vfork用于创徏一个新的进E,而新的进E的目的是exec一个新E序Qvforkq不父q程的地址I间复制l子q程Q因为子q程会立卌用execQ_exitQ,于是也就不会讉K地址I间。不q它在调用exec或_exit之前Q它在父q程的空间中q行?br /><br />fork创徏的子q程׃n父进E的数据Dc堆栈段Qvfork创徏的子q程׃n父进E的数据Dc?br /><br />vfork与fork的另一个区别是Qvfork保证子进E先q行Q在它调用exec或exit之后父进E才可能被调度运行,Q如果在调用q两个函C前子q程依赖于父q程的进一步动作,则会D死锁Q?br /><br />2.1<br />exit和_exit都是正常l止q程Q_exit用于vfork时父q程有可能会被调度,它们都不同于异常l止abortQ在异常l止情况下,内核Q不是进E)产生一个指C其l止异常l止原因的终止状态?/span><img src ="http://www.shnenglu.com/zhenglinbo/aggbug/200257.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/zhenglinbo/" target="_blank">hoshelly</a> 2013-05-14 17:26 <a href="http://www.shnenglu.com/zhenglinbo/archive/2013/05/14/200257.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ourhdr.h~译错误时解军_?/title><link>http://www.shnenglu.com/zhenglinbo/archive/2013/05/14/200253.html</link><dc:creator>hoshelly</dc:creator><author>hoshelly</author><pubDate>Tue, 14 May 2013 08:03:00 GMT</pubDate><guid>http://www.shnenglu.com/zhenglinbo/archive/2013/05/14/200253.html</guid><wfw:comment>http://www.shnenglu.com/zhenglinbo/comments/200253.html</wfw:comment><comments>http://www.shnenglu.com/zhenglinbo/archive/2013/05/14/200253.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/zhenglinbo/comments/commentRss/200253.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/zhenglinbo/services/trackbacks/200253.html</trackback:ping><description><![CDATA[|上扄Q摘抄如下:<br /><br /><div><span style="font-size: 12px;">Qinclude "apue.h"</span></div><div><span style="font-size: 12px;">    q个头文件是作者把每个例程中常用的标准头文Ӟ一些常用的出错处理函数Qerr_**Q)之类的函</span></div><div><span style="font-size: 12px;">敎ͼ和一些常用的宏定义给整理在一个头文g中。这个可以省d每个例程中录入较多的重复代码Q这样可</span></div><div><span style="font-size: 12px;">以减每个例E的长度。但l读者带来了不少ȝ。下面给出源代码的编译方法?/span></div><div><span style="font-size: 12px;"><br /></span></div><div> </div><div><span style="font-size: 12px;"><br /></span></div><div><span style="font-size: 12px;">一Q整体编译:</span></div><div><span style="font-size: 12px;"><br /></span></div><div><span style="font-size: 12px;">1.APUE2源代码下载:http://www.apuebook.com/src.tar.gz</span></div><div><span style="font-size: 12px;">2.我保存到?home/wx?解压~?tar zxvf src.tar.gz</span></div><div><span style="font-size: 12px;">3.cd apue.2e到apue.2e目录Q查看README,告诉我们linuxpȝ只要修改Make.defines.linux再makeQ?/span></div><div><span style="font-size: 12px;">4.vi Make.defines.linux 修改WKDIR=/home/wx/apue.2e 是说工作目录ؓWKDIR=/home/wx/apue.2e</span></div><div><span style="font-size: 12px;">5.修改/home/wx/apue.2e/std/linux.mk把全部的nawk改ؓawk.因些linux默认没有nawk</span></div><div><span style="font-size: 12px;">6.cd /home/wx/apue.2e</span></div><div><span style="font-size: 12px;"><br /></span></div><div><span style="font-size: 12px;">   make</span></div><div><span style="font-size: 12px;">7.把生成的apue.2e/lib/libapue.a与apue.2e/include/apue.h拯C~写的源代码目录下?/span></div><div><span style="font-size: 12px;"><br /></span></div><div><span style="font-size: 12px;">   Q注Q你可以把libapue.a和apue.h保存在容易找到的文g夹中Q以便用)</span></div><div><span style="font-size: 12px;"><br /></span></div><div><span style="font-size: 12px;">8.使用gcc -o ls1 ls1.c  libapue.a来编译你的源代码</span></div><div><span style="font-size: 12px;">9.成功<br /><br /><br /></span></div><div style="font-family: Tahoma; font-size: 11px;"></div><img src ="http://www.shnenglu.com/zhenglinbo/aggbug/200253.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/zhenglinbo/" target="_blank">hoshelly</a> 2013-05-14 16:03 <a href="http://www.shnenglu.com/zhenglinbo/archive/2013/05/14/200253.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Vim文本的选择http://www.shnenglu.com/zhenglinbo/archive/2013/04/13/199417.htmlhoshellyhoshellySat, 13 Apr 2013 14:57:00 GMThttp://www.shnenglu.com/zhenglinbo/archive/2013/04/13/199417.htmlhttp://www.shnenglu.com/zhenglinbo/comments/199417.htmlhttp://www.shnenglu.com/zhenglinbo/archive/2013/04/13/199417.html#Feedback0http://www.shnenglu.com/zhenglinbo/comments/commentRss/199417.htmlhttp://www.shnenglu.com/zhenglinbo/services/trackbacks/199417.html
在正常模式下Q按ESCq入Q按键vq入可视化模式,然后按键盘左右键或h,l键即可实现文本的选择?/span>
其它相关命oQ?/span>
vQ按字符选择。经怋用的模式Q所以亲自尝试一下它?/span>
VQ按行选择。这在你x贝或者移动很多行的文本的时候特别有用?/span>

CTRLQvQ按块选择。非常强大,只在很少的编辑器中才有这L功能。你可以选择一个矩形块Qƈ且在q个矩Ş里面的文本会被高亮?/span>

值得注意的是如果VIM中用自动换行,那么直到你按ENTER换行前,VIM都会你之前输入的内容视Z行而不是你看到的好几行Q按块选择时就会按VIM中的行来选择块?/span>

在选择模式的时候用上面所q的方向键和命oQmotionQ。比如,vwwwQ会高亮光标前面的三个词。Vjj 会高亮当前行以及下面两行?/span>


hoshelly 2013-04-13 22:57 发表评论
]]>
wait 和waitpid详解http://www.shnenglu.com/zhenglinbo/archive/2013/04/13/199412.htmlhoshellyhoshellySat, 13 Apr 2013 14:05:00 GMThttp://www.shnenglu.com/zhenglinbo/archive/2013/04/13/199412.htmlhttp://www.shnenglu.com/zhenglinbo/comments/199412.htmlhttp://www.shnenglu.com/zhenglinbo/archive/2013/04/13/199412.html#Feedback0http://www.shnenglu.com/zhenglinbo/comments/commentRss/199412.htmlhttp://www.shnenglu.com/zhenglinbo/services/trackbacks/199412.htmlwait的函数原型是Q? 
#include<sys/types.h>
#include <sys/wait.h>

pid_t wait(int *status)     
      q程一旦调用了waitQ就立即d自己Q由wait自动分析?/span>
否当前进E的某个子进E已l退出,如果让它扑ֈ了这样一?/span>
已经变成僵尸的子q程Q?wait׃攉q个子进E的信息Qƈ
把它d销毁后q回Q如果没有找到这样一个子q程Qwait?/span>
会一直阻塞在q里Q直到有一个出Cؓ止。    
      参数status用来保存被收集进E退出时的一些状态,它是
一个指向intcd的指针。但如果我们对这个子q程是如何死?/span>
的毫不在意,只想把这个僵进E消灭掉Q(事实上绝大多?/span>
情况下,我们都会q样惻IQ我们就可以讑֮q个参数?/span>
NULLQ就象下面这P     pid = wait(NULL);
如果成功Qwait会返回被攉的子q程的进EIDQ如果调用进
E没有子q程Q调用就会失败,此时waitq回-1Q同时errno?/span>
|ؓECHILD。 
      waitpid的函数原型是Q?  
waitpidpȝ调用在Linux函数库中的原型是Q?  
#include <sys/types.h>#include <sys/wait.h>

pid_t waitpid(pid_t pid,int *status,int options)
      从本质上Ԍpȝ调用waitpid和wait的作用是完全相同
的,但waitpid多出了两个可qh制的参数pid和optionsQ?/span>
从而ؓ我们~程提供了另一U更灉|的方式?/span>
下面我们来详细介绍一下这两个参数Q     
● pid     从参数的名字pid和类型pid_t中就可以看出Q?/span>
q里需要的是一个进EID。但当pid取不同的值时Q在q里有不
同的意义?    pid>0Ӟ只等待进EID{于pid的子q?/span>
E,不管其它已经有多子q程q行l束退ZQ只要指定的
子进E还没有l束Qwaitpid׃一直等下去。     pid=-
1Ӟ{待M一个子q程退出,没有M限制Q此时waitpid
和wait的作用一模一栗?    pid=0Ӟ{待同一个进E?/span>
l中的Q何子q程Q如果子q程已经加入了别的进E组Q?/span>
waitpid不会对它做Q何理睬?    pid<-1Ӟ{待一?/span>
指定q程l中的Q何子q程Q这个进E组的ID{于pid的绝?/span>
倹{?  
● options   options提供了一些额外的选项来控制waitpidQ?/span>
目前在Linux中只支持WNOHANG和WUNTRACED两个选项Q?/span>
q是两个常数Q可以用"|"q算W把它们q接h使用Q比如:
  ret=waitpid(-1,NULL,WNOHANG | WUNTRACED);   
如果我们不想使用它们Q也可以把options设ؓ0Q如Q?  
ret=waitpid(-1,NULL,0);     如果使用了WNOHANG参数
调用waitpidQ即使没有子q程退出,它也会立卌回,不会?/span>
wait那样永远{下厅R?    而WUNTRACED参数Q由?/span>
涉及C些跟t调试方面的知识Q加之极用刎ͼq里׃?/span>
费笔墨了Q有兴趣的读者可以自行查阅相x料。    ?/span>
到这里,聪明的读者可能已l看出端倪了--wait不就是经q包?/span>
的waitpid吗?没错Q察?lt;内核源码目录>/include/unistd.h?/span>
?49-352行就会发C下程序段Q     static inline
pid_t wait(int * wait_stat)   {    return waitpid(-
1,wait_stat,0);   }      q回值和错误     
waitpid的返回值比waitE微复杂一些,一共有3U情况:  
● 当正常返回的时候,waitpidq回攉到的子进E的q程IDQ?/span>
● 如果讄了选项WNOHANGQ而调用中waitpid发现没有?/span>
退出的子进E可攉Q则q回0Q?     
● 如果调用中出错,则返?1Q这时errno会被讄成相应的
g指示错误所在;当pid所指示的子q程不存在,或此q程?/span>
在,但不是调用进E的子进E,waitpid׃出错q回Q这?/span>
errno被设|ؓECHILD 其它Q?调用 waitQwaitpid 来处理终?/span>
的子q程Q?pid_t wait(int * statloc); pid_t waitpid(pid_t pid,
int *statloc, int options); 两个函数都返回两个|函数的返?/span>
值和l止的子q程IDQ而子q程l止的状态则是通过statloc?/span>
针返回的?waitQwaitpid 的区别是显而易见的Qwait{待W一
个终止的子进E,而waitpid则可以指定等待特定的子进E。这
L区别可能会在下面q种情况时表现得更加明显Q当同时?/span>
5个客戯上服务器Q也是说有五个子进E分别对应了5个客
P此时Q五个客户几乎在同时hl止Q这样一来,几乎?/span>
Ӟ五个FIN发向服务器,同样的,五个SIGCHLD信号到达?/span>
务器Q然而,UNIX的信号往往是不会排队的Q显然这样一来,
信号处理函数只会执行一ơ,D留剩余四个子进E作为僵?/span>
q程ȝ在内核空间。此Ӟ正确的解军_法是利用waitpid(-
1, &stat, WNOHANG)防止留下僵尸q程。其中的pid为-1?/span>
明等待第一个终止的子进E,而WNOHANG选择w知内核?/span>
没有已终止进E项时不要阻塞?/span>
waitQwaitpid 区别 :
waitpid提供了wait函数不能实现?个功? waitpid{待特定?/span>
子进E? 而wait则返回Q一l止状态的子进E? waitpid提供了一
个wait的非d版本; waitpid支持作业控制(以WUNTRACED?/span>
?. 用于查wait和waitpid两个函数q回l止状态的? q两?/span>
函数q回的子q程状态都保存在statloc指针? 用以?个宏?/span>
以检查该状? WIFEXITED(status): 若ؓ正常l止, 则ؓ? ?/span>
时可执行 WEXITSTATUS(status): 取子q程传送给exit或_exit
参数的低8? WIFSIGNALED(status): 若ؓ异常l止, 则ؓ?
此时可执?WTERMSIG(status): 取子进E终止的信号~号.
WIFSTOPPED(status): 若ؓ当前暂停子进E? 则ؓ? 此时?/span>
执行 WSTOPSIG(status): 取子进E暂停的信号~号


hoshelly 2013-04-13 22:05 发表评论
]]>
Linux的一些shell命o基本操作http://www.shnenglu.com/zhenglinbo/archive/2012/08/02/186017.htmlhoshellyhoshellyThu, 02 Aug 2012 03:49:00 GMThttp://www.shnenglu.com/zhenglinbo/archive/2012/08/02/186017.htmlhttp://www.shnenglu.com/zhenglinbo/comments/186017.htmlhttp://www.shnenglu.com/zhenglinbo/archive/2012/08/02/186017.html#Feedback0http://www.shnenglu.com/zhenglinbo/comments/commentRss/186017.htmlhttp://www.shnenglu.com/zhenglinbo/services/trackbacks/186017.html
一Q列出文Ӟls Q如果要列出本目录下的文件属性呢Q例如想知道他们的文件权限、大、日期,那么q ls -l Q也可用其命令别?ll ?br />                   我们都知道Linux中都有一些隐藏的文gQ那么如何显C出它们呢??ls -a 卛_昄出所有文Ӟ包括隐藏文g。要列出q些文g的属性,?ls -al 
                   列出目录用:ls -d
                   如果我们xZ个特定的文g如file 的信息,那么可以用ls  -l file Q又如要L一个前~为test的文件的信息Q可以这Pls -l test*Q?为通配W?br />                   如果我们x出文件名中带有数字或字母的相xӞ可以q样 : ls -f [0-9]* / ls -f [a-z]*

二)打开文g或目录:如想打开名ؓ file.txt文gQ用cat file.txt卛_昄出内宏V如x文g内容的行hC出来,?cat -n file.txt 卛_ Q打开目录tmp 则用 cd tmp

三)复制文gQ?如想把文件file.txt 复制到目?/test 下,卛_用:cp file.txt /test Q如x目录 /etc/ 的所有内容复制到 /tmpQ用Qcp /etc/ /tmp

四)删除文g或目录:如想删除文gfile.txt 则可Q?rm file.txt 。如x目录tmpQ包括有内容的目录)都删除掉Q用 rm -rf tmp Q?rmdir tmp 删除的是一个空目录?br />
五)Ud文g或重命名Q如把文件file.txtUd到目录tmp中: mv file.txt tmp 。把文gfile.txt重命名ؓ test.txtQ则可: mv file.txt test.txt

六)页查看命oQ?. 如想查看/etc/中的文gman.configQ可 more /etc/man.config Q敲I格键表C向下翻一;Enter表示向下?#8220;一?#8221;Q?字符串可以向下搜索字W串Q如搜烦wordQ可?/word Q离开more 可以?q Q?. 也可?less q行页操作Qless /etc/man.config Q用less可以向前或向后翻,而more只能向后页Q?字符串表C向前搜索的功能Q其他操作和more 大体相同?br />
七)创徏新文件或目录 : 如创建新文g test.txt 可以Q?touch test.txt Q创建目录abc,用命令:mkdir abc . 如果我们要创Z个名为junk.data ,大小?M,内容为空的文Ӟ该怎么办呢Q可以用命令: dd if=/dev/zero of=junk.data bs=1M count=1 卛_Q其中dd是用来创建特定大文件的命oQdd命o会克隆给定的输入内容Q然后将一模一L一份副本写入到输出Qstdin、设备文件、普通文仉可以作ؓ输入. if 代表输入文gQ?of 代表输出文gQ?bs代表以字节ؓ单位的块大小Qcount代表要被复制的块数?br />
八)改变文g的权限: 1. 使用W号Ҏ改变文g权限Q在此之前了解下who /action 的知识,u表示属主、g表示l、o表示其他、a表示所有;+表示增加文g权限?表示减少文g权限?明确地设|文件权限。好了,如果现在我们x一个目录下的所有文仉改变为对所有h均可讉KQ则可用命oQchmod a=r * Q或chmod guo=r *)Q注意空根{?br />如果想阻止除了文件属M外的M人写文g test.txt Q可用命令: chmod go-w test.txt 
2. 使用八进制方法改变文件权限:r=4,w=2,x=1. 把各个想要赋予的权限值相加即可得到用来指定文件属丅R组和其他用户对文g的权限?如:Ҏ件test.txt 改ؓҎ有均有读、写、执行的权限Qchmod 777 test.txt

九)改变文g属主和组Q?1. 改变文g属主Q如把文件test.txt 改变?zlb 所属有Q则?chown zlb: test.txt Q冒号不能省略?2. 改变文g所属的l:可以??chown :authors test.txt 改变文gtest.txt所属的l;也可以用 chgrp authors test.txt 改变文g为authorsq个l所有?br />



hoshelly 2012-08-02 11:49 发表评论
]]>
Linux学习方向Q{Q?/title><link>http://www.shnenglu.com/zhenglinbo/archive/2012/06/08/178103.html</link><dc:creator>hoshelly</dc:creator><author>hoshelly</author><pubDate>Fri, 08 Jun 2012 10:18:00 GMT</pubDate><guid>http://www.shnenglu.com/zhenglinbo/archive/2012/06/08/178103.html</guid><wfw:comment>http://www.shnenglu.com/zhenglinbo/comments/178103.html</wfw:comment><comments>http://www.shnenglu.com/zhenglinbo/archive/2012/06/08/178103.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/zhenglinbo/comments/commentRss/178103.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/zhenglinbo/services/trackbacks/178103.html</trackback:ping><description><![CDATA[<div><span style="font-size: 12px;">掌握Linux学习Ҏ学好Linux</span></div><div><span style="font-size: 12px;">如果你爱好学习知识,其是Linux操作pȝ知识Q随着Linux应用的扩展,许多朋友开始接触LinuxQ可你不知道d里找到这些知识,来这里,让你更加了解Linux学习Ҏ。让你全面掌握Linux学习Ҏ?/span></div><div><span style="font-size: 12px;"><br /></span></div><div><span style="font-size: 12px;">1Q学习的目的</span></div><div><span style="font-size: 12px;"><br /></span></div><div><span style="font-size: 12px;">通过Linux的学习掌握UNIX的目的想必不用多说了Q在q个|络人才wh倍增的年代,想靠技术吃饭又不想掌握|络和编E技术是不明智的。当ZW一ơ听说Linuxq跃跃欲试的时候,M提出几个Q,它是什么(WhatQ?Z么要用它QWhyQ?怎样学习它(HowQ?作ؓ开放源码运动的主要l成部分QLinux的应用越来越q泛Q从我们qx的娱乐、学习,到商业、政府办公,再到大规模计的应用。ؓ了满h们的需求,各种各样的、基于Linux的应用Y件层ZI只要具备了LinuX的基本功Qƈh了自学的能力之后Q都可以通过长期地学习予以掌握?/span></div><div><span style="font-size: 12px;"><br /></span></div><div><span style="font-size: 12px;">2Q从命o开始、从基础开?/span></div><div><span style="font-size: 12px;"><br /></span></div><div><span style="font-size: 12px;">常常有些朋友一接触Linux希望构架网站,Ҏ没有惛_要先了解一下Linux的基。这是相当困隄。虽然Linux桌面应用发展很快Q但是命令在Linux中依然有很强的生命力。Linux是一个命令行l成的操作系l,_N在命令行Q无论图形界面发展到什么水q个原理是不会变的。Linux命o有许多强大的功能Q从单的盘操作、文件存取、到q行复杂的多媒体图象和流媒体文g的制作。这里笔者把它们中比较重要的和用频率最多的命oQ按照它们在pȝ中的作用分成几个部分介绍l大Ӟ通过q些基础命o的学习,我们可以q一步理解Linuxpȝ?/span></div><div><span style="font-size: 12px;"><br /></span></div><div><span style="font-size: 12px;">3Q选择一本好的Linux书籍</span></div><div><span style="font-size: 12px;"><br /></span></div><div><span style="font-size: 12px;">无论在论坛还是读者反馈中Q我们看到最多的问题往往是某个新手,在安装或使用Linux的过E中遇到一个具体的问题开始提问,很多都是重复性的问题Q甚x不少基本的问题描q都不是很清楚。这说明很多初学Linux的hq没有掌握基本功。怎样才能快速提高掌握Linux的基本功?最有效的方法莫q于学习权威的Linux工具书,工具书对于学习者而言是相当重要的。一本错误观늚工具书却会让新手整个误入歧途。目前国内关于Linux的书c有很多不过_֓的不多,W者强烈徏议阅d印本的o'reilly原版Linux图书http://www.oreilly.com.cn/Q而且出版C还提供了一个非常好的\U图Qlinux.php">http://www.oreilly.com.cn/guide/guide_linux.php</span></div><div><span style="font-size: 12px;"><br /></span></div><div><span style="font-size: 12px;">4Q养成在命o行下工作的习?/span></div><div><span style="font-size: 12px;"><br /></span></div><div><span style="font-size: 12px;">一定要L在命令行下工作的习惯Q要知道XQwindow只是q行在命令行模式下的一个应用程序。在命o行下学习虽然一开始进度较慢,但是熟悉后,你未来的学习之\是以指数增加的方式增长的。对|管员来_命o行实际上是规则Q它L有效的,同时也是灉|的。即使是通过一条缓慢的调制解调器线路,它也能操U几千公里以外的q程pȝ?5Q用UNIX思维思考Linux</span></div><div><span style="font-size: 12px;"><br /></span></div><div><span style="font-size: 12px;">׃Linux是参照UNIX的思想来设计的Q理解和掌握它就必须以Unix的思维来进行,而不能以Windows思维。不可否认,Windows在市Z的成功很大一部分在于技术思想的独C处。可是这个创新是在面对个人用L前提下进行的Q而面对着企业U的服务应用Q它q是有些力不从心。多q来在计机操作pȝ领域一直是二者独大:UNIX在服务器领域QWindows在个人用户领域。由此可见,用户需求决定了所采用的操作系l。不什么原因,如果要学习LinuxQ那么首先要思维从Windows?q个河"中拖出来Q放入UNIX的vz?/span></div><div><span style="font-size: 12px;"><br /></span></div><div><span style="font-size: 12px;">6Q学习Shell</span></div><div><span style="font-size: 12px;"><br /></span></div><div><span style="font-size: 12px;">对于ShellQ中文名U壳Q,习惯Windows的读者肯定是非常陌生的,因ؓWindows只有一?Shell"Q如果可以说是Shell的话Q,那就是Windows自己。用一句话Ҏ理解的解释就是,shell是用戯入命令与pȝ解释命o之间的中介。最直观的说法,一UShell有一套自q命o。D一个容易理解的例子QLinux的标准Shell是Bash ShellQSolaris的shell是B shellQLinux的Shell是以命o行的方式表现出来的。读者可能会不理解,Windows从命令行"q化"C囑Ş界面Q那么Linux现在q用命令行岂不是一U倒退?当初我刚刚接触Linux时就曾有q这U想法。可是后来发玎ͼ如果使用囑Ş界面Q那么分配给应用软g的资源就了Q在h昂贵的服务器上,能够以较低的g配置实现同样的功能是非常重要的?/span></div><div><span style="font-size: 12px;"><br /></span></div><div><span style="font-size: 12px;">下面举例说明Q一台服务器?GB内存Q假讑օ?12MB用于处理囑Ş界面Q若要安装一个需?84MB内存的数据库软gQ唯一的办法就是扩大内存。但是如果用命令行Q系l可能只需?4MB内存Q其他的内存可以供数据库Y件用了。用命令行Q不仅是内存Q而且CPU及硬盘等资源的占用都要节省很多。所以,作ؓ服务器,使用命o行是优点而不是缺炏V既然Shell有这么多优点Q就必须要学习它?/span></div><div><span style="font-size: 12px;"><br /></span></div><div><span style="font-size: 12px;">7Q勤于实?/span></div><div><span style="font-size: 12px;"><br /></span></div><div><span style="font-size: 12px;">要增加自己Linux的技能,只有通过实践来实C。所以,赶快找一台计机Q赶快安装一个Linux发行版本Q然后进入精彩的Linux世界。相信对于你自己的Linux能力必然大有斩获。此外,不像计算机的盘一P除非盘坏掉了或者是资料被你Ҏ了,否则存储的资料将永远而且立刻地记忆在盘中。在人类记忆的曲U中Q你必须要不断地重复l习才会一件事情记得比较熟。学习Linux也一P如果你无法经常学习的话,学了后面的,前面的往往忘了。对Linux命o熟悉后,可以开始搭Z个小的Linux|络Q这是最好的实践Ҏ。Linux是网l的代名词,Linux|络服务功能非常强大Q不论是邮g服务器、Web服务器、DNS服务器等都非常完善。当然你不需搭徏所有服务,可以慢慢来。需要说明的是这个Linux|络对于初学者有两三台计机卛_。自己多动手Q不要非要等着别h帮你解决问题?/span></div><div><span style="font-size: 12px;"><br /></span></div><div><span style="font-size: 12px;">8Q学会用文?/span></div><div><span style="font-size: 12px;"><br /></span></div><div><span style="font-size: 12px;">和私有操作系l不同,各个Linux的发行版本的技术支持时间都较短Q这对于Linux初学者是往往不够的。其实当你安装了一个完整的Linuxpȝ后,其中已经包含了一个强大的帮助pȝQ只是可能你q没有发现和使用它们的技巧。主Linux发行版都自带非常详细的文档(包括手册和FAQQ,从系l安装到pȝ安全Q针对不同层ơ的人的详尽文档Q仔l阅L档后40%问题都可在此解决。查阅经典工具书和HowtoQ特别是Howto是全球数以万计的Linux、UNIX的经验ȝ非常有参考h|通常40%的问题可以解冟뀂安装一个新的Y件时先看READMEQ再看INSTALL然后看FAQQ最后才动手安装Q这样遇到问题就知道Z么了。如果说明文档不看,l果Z问题再去论坛来找{案反而浪Ҏ间?/span></div><div><span style="font-size: 12px;"><br /></span></div><div><span style="font-size: 12px;">当查找文档时Q一定要看文档是在何U版本、何U环境及何种状态下出现的何U结果。对于文档的有效性,一时还无法在操作前q道结论如何,那么Ҏ个专题或问题Q阅ȝ关的多篇文章会节省大量的时_q可以保证尽?q净"的环境,有效避免因ؓ不同操作所造成的更多问题。操作时要仔l核对各个步骤及输出的结果,量保持与文档一致?9Q在Linux论坛获取帮助</span></div><div><span style="font-size: 12px;"><br /></span></div><div><span style="font-size: 12px;">如果上面的措施没有解决问题,此时你就需要LinuxC֌的帮助了。需要说明的是你要有周全的思考,准备好你的问题,不要草率的发问,否则只会得到到草率的回答或者根本得不到M{案。越表现出在L帮助前ؓ解决问题付出的努力,你越能得到实质性的帮助。最好先搜寻一下论坛是否有你需要的文章。这样可以获得事半功倍的效果?/span></div><div><span style="font-size: 12px;"><br /></span></div><div><span style="font-size: 12px;">你需要提供精有效的信息。这q不是要求你单的把成吨的出错代码或者数据完全{储摘录到你的提问中。如果你有庞大而复杂的试条gQ尽量把它剪裁得小好。可能你会遇到这U情况,对于一个问题会出现不同内容回答Q这时你需要通过实践来验证。另外把q个问题攑֜其他LinuxC֌h帮助也是一U选择。如果得不到{案Q请不要以ؓ我们觉得无法帮助你。有时只是看C问题的h不知道答案Ş了。这时换一个社区是不错的选择?/span></div><div><span style="font-size: 12px;"><br /></span></div><div><span style="font-size: 12px;">10Q学习专业英?/span></div><div><span style="font-size: 12px;"><br /></span></div><div><span style="font-size: 12px;">如果你想深入学习LinuxQ看不懂文档Q因为实在是太难了。写得最好的Q最全面的文档都是英语写的,最先发布的技术信息也都是用英语写的。即便是非英语国家的人发布技术文档,也都首先译成英语在国际学术杂志和网l上发表?/span></div><div><span style="font-size: 12px;"><br /></span></div><div><span style="font-size: 12px;">通过man、info{命令,可以从在U帮助中快速地获得所需要的命o和操作方法。不要害怕v量的pȝ帮助Q仔l阅d个man或info文档׃发现Q这些帮助几乎都按照固定格式写成命o名称、参数、参数说明、用例子、参考等。当p成ؓ一U习惯,׃自觉地查找或订阅互联|上感兴的英文材料。这P在不知不觉中已l和世界同步了?/span></div><div><span style="font-size: 12px;"><br /></span></div><div><span style="font-size: 12px;">11Q在C֌׃n你的l验</span></div><div><span style="font-size: 12px;"><br /></span></div><div><span style="font-size: 12px;">随着Linux应用的扩展,出现了不LinuxC֌。其中有一些非怼U的社区:水木清华、其中有一些非怼U的社区:www.linuxforum.netQ国内最高水qGNU站点Q、http://www.chinaunix.net/Q中国最大的Unix技术社区)Q随着知识的不断积累,可以把自己动手解决一些前人没有遇到的问题写出文档在网l上׃nl其他读者。这个时候,也就成ؓ了一?高手"。Linux的用者一般都是专业h士,他们有着很好的电脑背景且愿意协助他hQLinux高手更具有鼓励新手的文化_?/span></div><div><span style="font-size: 12px;"><br /></span></div><div><span style="font-size: 12px;">最后是W者的Linux学习的一个\U图QroadmapQ:</span></div><div><span style="font-size: 12px;"><br /></span></div><div><span style="font-size: 12px;">了解Linux的基知识Q这些包含了用户理、群l的概念、权限的观念{;</span></div><div><span style="font-size: 12px;"><br /></span></div><div><span style="font-size: 12px;">掌握100个以上的常用命oQ?/span></div><div><span style="font-size: 12px;"><br /></span></div><div><span style="font-size: 12px;">掌握.tgz?rpm{Y件包的常用安装方?/span></div><div><span style="font-size: 12px;"><br /></span></div><div><span style="font-size: 12px;">学习d外设Q安装设备驱动程序(比如|卡Q?/span></div><div><span style="font-size: 12px;"><br /></span></div><div><span style="font-size: 12px;">熟悉Linux文gpȝ和目录结构?/span></div><div><span style="font-size: 12px;"><br /></span></div><div><span style="font-size: 12px;">掌握vi,gcc,gdb{常用编辑器Q编译器Q调试器?/span></div><div><span style="font-size: 12px;"><br /></span></div><div><span style="font-size: 12px;">理解shell别名、管道、I/O重定向、输入和输出及shell脚本~程?/span></div><div><span style="font-size: 12px;"><br /></span></div><div><span style="font-size: 12px;">|络的基包括Q掌握\由概cOSI七层|络模型、TCP/IP模型及相x务对应的层次对于Linux学习非常重要的。然后学习Linux环境下的l网?/span></div><div><span style="font-size: 12px;"><br /></span></div><div><span style="font-size: 12px;">以上是Linux学习ҎQ希望对你有些帮助?/span></div><img src ="http://www.shnenglu.com/zhenglinbo/aggbug/178103.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/zhenglinbo/" target="_blank">hoshelly</a> 2012-06-08 18:18 <a href="http://www.shnenglu.com/zhenglinbo/archive/2012/06/08/178103.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <p>лǵվܻԴȤ</p> <a href="http://www.shnenglu.com/" title="精品视频久久久久">精品视频久久久久</a> <div class="friend-links"> </div> </div> </footer> <a href="http://www.shenhoulong.com.cn" target="_blank">2021þùԲľƷ</a>| <a href="http://www.dr-knoell-consult.com.cn " target="_blank">þﶼǾƷ</a>| <a href="http://www.hrtexm.cn" target="_blank">99þùۺϾƷӰԺ</a>| <a href="http://www.zey120.cn" target="_blank">˾þ111վ</a>| <a href="http://www.drlf.net.cn" target="_blank">ݲݾþþר</a>| <a href="http://www.digcm.cn" target="_blank">þþþþ޾ƷӰԺ</a>| <a href="http://www.ndtym.cn" target="_blank">þþƷav鶹ɫ</a>| <a href="http://www.madgou.cn" target="_blank">һaƬþëƬ</a>| <a href="http://www.safaen.cn" target="_blank">þAV뾫Ʒ</a>| <a href="http://www.cqtqtz.cn" target="_blank">þþƷ99þ㽶</a>| <a href="http://www.lubricantbrand.cn" target="_blank">þˬˬƬAV鶹</a>| <a href="http://www.awxsp.cn" target="_blank">þþƷ99Ʒ </a>| <a href="http://www.zhuaibo.cn" target="_blank">bƷþþþþþ</a>| <a href="http://www.masterdan.cn" target="_blank">ŷպƷþ</a>| <a href="http://www.dgwhmnk.cn" target="_blank">777þþƷһ</a>| <a href="http://www.yzzdj.cn" target="_blank">þAVij</a>| <a href="http://www.zyydh.cn" target="_blank">ھƷþþþþþɬ</a>| <a href="http://www.fsyongli188.cn" target="_blank">ɫɫۺϾþҹҹ</a>| <a href="http://www.carmap.com.cn" target="_blank">þþƷ7777</a>| <a href="http://www.pxep.cn" target="_blank">þþþþþۺձ </a>| <a href="http://www.fmzz6688.cn" target="_blank">þ97þ97Ʒӿ</a>| <a href="http://www.youhezulin.cn" target="_blank">ľƷþþþ޲</a>| <a href="http://www.szmpp.cn" target="_blank">޹徫Ʒ߾þ </a>| <a href="http://www.91share.com.cn" target="_blank">þþþĻɫ </a>| <a href="http://www.fengshi800.cn" target="_blank">Ʒ99þ99þþ</a>| <a href="http://www.splh.net.cn" target="_blank">޹պŷþ</a>| <a href="http://www.rljps.cn" target="_blank">þeֻйľƷ99</a>| <a href="http://www.cqhydpqi.cn" target="_blank">˾þô߽AV</a>| <a href="http://www.enikl.cn" target="_blank">޹˾þۺҰ</a>| <a href="http://www.nic-xie.cn" target="_blank">þþƷav</a>| <a href="http://www.miror.com.cn" target="_blank">þó˾Ʒ</a>| <a href="http://www.laopaiwaihui.cn" target="_blank">þ91ᆱƷ2020</a>| <a href="http://www.010tk.cn" target="_blank">þó18վ</a>| <a href="http://www.deshizhai.cn" target="_blank">ݺۺϾþۺ88</a>| <a href="http://www.1000su.cn" target="_blank">Ʒþþþþù</a>| <a href="http://www.zixunlawyer.com.cn" target="_blank">þþþùƷ</a>| <a href="http://www.wshoponlinet.cn" target="_blank">þ޹ŷ޾Ʒһ</a>| <a href="http://www.ssc832.cn" target="_blank">wwwþ</a>| <a href="http://www.xyp020.cn" target="_blank">ŷþþþþҹƷ</a>| <a href="http://www.hktjj.cn" target="_blank">ľƷ99þù</a>| <a href="http://www.xecwf.cn" target="_blank">ۺ˾þôý</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>