??xml version="1.0" encoding="utf-8" standalone="yes"?>日本系列1页亚洲系列,亚洲伊人成无码综合网 ,亚洲精品网站在线观看不卡无广告 http://www.tkk7.com/produ/category/55029.htmlzh-cnThu, 13 Apr 2017 01:29:35 GMTThu, 13 Apr 2017 01:29:35 GMT60十四Q安装YӞ玩{pȝQY件包的管?/title><link>http://www.tkk7.com/produ/articles/430481.html</link><dc:creator>都较?/dc:creator><author>都较?/author><pubDate>Thu, 23 Jul 2015 02:42:00 GMT</pubDate><guid>http://www.tkk7.com/produ/articles/430481.html</guid><wfw:comment>http://www.tkk7.com/produ/comments/430481.html</wfw:comment><comments>http://www.tkk7.com/produ/articles/430481.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/produ/comments/commentRss/430481.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/produ/services/trackbacks/430481.html</trackback:ping><description><![CDATA[<div>说v安装软gQ我们应该很熟悉。在Windowspȝ下,我们可能需要购C张Y件安装光盘,然后执行“安装软g”Q然后不断的下一步就好。在Linux的图形界面中Q也有类似的操作Q但是这里ƈ不讨论图形界面的安装Q我们需要知道在命o行下q行软g的安装?/div><div></div><div>Linux的Y件安装和Windows有诸多不同,比如Windows有注册表的概念,但是Linux没有QWindows的YӞ相关的文件一般都位于自己的目录下Q但是Linux不是QWindows的Y件有安装版和l色版,或者说Q正版和盗版Q但是Linux没有?/div><div></div><div>Linux通过软g包来安装软gQ包是一个文件压~的集合Q可以理解ؓ一个压~包Q里面包含了软g的程序,数据Q配|,帮助文档Q脚本等{,那么我们如何来获得Y件包呢?</div><div></div><div>惌得Y件包Q就需要先知道软g包管理工兗众多的发行版Linux分别隶属两大包管理技术阵营,Debian和Red HatQ这两种风格的Linux使用了不同的包管理技术,Debian风格的Linux使用dpkg底层工具QRed Hat风格的Linux则用rpm底层工具Q但是不同的发行版可能用了不同的上层工兗?/div><div></div><div><strong><br />*你可以简单理解ؓQ底层包理工具是拥有基本包管理功能的工具Q上层工具就是对底层工具的优化和拓展Q更方便使用?/strong></div><div></div><div><br />q里以Rad Hat风格的LinuxZQ用rpm及其上层工具yum作ؓ演示</div><div></div><div><strong><br />安装一个Y件包</strong></div><div>CZQrpm -i 软g包,q是最基本的用,选项-i表示install安装Q一般我们会使用rpm -ivh来安装一个Y件包Q?v表示安装的内容信息,-h来开启进度提C,选项vh一般联合用,但是在安装的q程中,可能会碰C赖的问题。比如你要安装一个mysql的控制台E序Q那么首先你需要安装mysqlQ否则你安装了mysql的控制也没法使用Q虽然你可以强制安装。安装中Q出C赖的问题Q那么你需要手动的先安装依赖的软g包,才能l箋安装你所需要的软g包?/div><div></div><div><strong><br />卸蝲一个Y件包</strong></div><div>CZQrpm -e 软g包,如果q个软g包依赖了其他的应用,那么删除的过E中会有错误信息Q如果你惛_制删除他的话Qƈ不徏议这么做Q,你可以添?#8211;nodeps选项强制删除?/div><div>CZQrpm -e –nodeps 软g?/div><div>好了Q如果排除其他的l节Q那么安装Y件就到此为止了呗Q在Windows下,你或许可以这么说Q但是Linux下的软g理可不止安装和卸蝲q么单?/div><div></div><div><strong><br />查询一个Y件是否安?/strong></div><div>CZQrpm -q 需要查询的软g名,-q是查询的选项。如果已l安装,那么显C相关信?/div><div>但是q有时ƈ不准,因ؓ软g名可能很长,你给定的名字可能不完全对Q所以通过qo来查找,l果会更理想?/div><div>CZQrpm -qa|grep 软g名,-a表示查询所有Y件包</div><div></div><div><strong><br />常见查询命o<br /><br /></strong></div><div><strong>查看一个文件所属的软g?/strong></div><div>CZQrpm -qfQfileQ?文g?/div><div><strong>查看一个Y件包的信息,软g包必要安装才行</strong></div><div>CZQrpm -qiQinformationQ文?/div><div></div><div><strong>查看一个Y件包的信息,安装与否皆可</strong></div><div>CZQrpm -qipQpackageQY件包?/div><div></div><div><strong>查看一个Y件包安装了哪些文?/strong>Q我们会看到Q一个Y件安装的文g会分布在pȝ中各个不同的目录中,q和Windows很不同QWindows软g通常会把各种作用的文仉攑֜自己的目录下Q而linux的Y件则会根据系l目录的一般作用而放入不同的目录Q?/div><div>CZQrpm -ql 软g包名</div><div></div><div><strong>查看一个Y件包要安装哪些文g</strong></div><div>CZQ?rpm -qlp 软g包名</div><div></div><div><strong><br />一些其他常见选项</strong></div><div></div><div><strong><br />排除软g包的文档Q?#8211;excludedocs</strong></div><div>指定安装的\径:–prefixQ用时d–prefix=/XXX/XXXQ但是要注意Q用rpm安装或者yum安装软g包,该选项的意义不大,因ؓ安装的都是二q制软g包,在安装的时候就已经规定好了软g包要安装的文件的位置Q除了用rpm和yum安装二进制Y件包Q还有通过源码包和脚本安装的方式进行Y件安装?/div><div></div><div><strong>试一个Y件的安装Q?#8211;test<br /></strong>安装之前我们需要知道安装这个Y件可能出现的问题Q所以在安装之前我们可以先测试安装,把问题暴露出来?/div><div></div><div><strong>校验一个Y件包</strong></div><div>CZQrpm -V 软g名,如题Q对一个Y件包含的所有文件进行校验,如果没有问题Q那么没有输出?/div><div>如果有问题,那么会生一个可疑文件列表,列表中会用不同标识来标识可疑文g的疑炏V?/div><div><br />q些标识如下Q?/div><div>5Q用MD5校验Q校验值发生变化,说明文g的内容被修改?/div><div></div><div><ul><li>SQ文件大生了变化</li><li>LQ文件的链接特征发生变化</li><li>DQ文件的讑֤特征发生变化</li><li>UQ文件的用户发生变化</li><li>GQ文件的用户l发生变?/li><li>MQ文件的权限发生变化</li></ul></div><div></div><div></div><div></div><div></div><div></div><div></div><div>׃底层工具rpm在对依赖的管理上存在不Q所以yum工具的出玎ͼ很好的解决的q个问题Q在安装的过E中Qyum可以自动解决软g包的依赖问题Q不必再手动M个一个安装依赖了?/div><div></div><div><strong><br />一些常见用方式:</strong></div><div><ul><li>yum install 软g包名Q安装一个Y件包</li><li>yum chech-update 软g包名Q检查一个Y件包是否有升U?/li><li>yum update 软g包名Q升U一个Y件包</li><li>yum listQ列出yum源中所有的软g包,同时会罗列一些状态信?/li><li>yum info 软g包名Q查看Y件包的描q?/li><li>yum remove 软g包名Q删除一个Y件包</li></ul></div><div>Debian风格linux的Y件包底层理工具是dpkgQ上层管理工hapt-getQ在使用方式上是cM的,q里不再赘述帮助文档的内容,因ؓq些实现性质的操作,看十遍不如动手做一遍来得印象深?/div><img src ="http://www.tkk7.com/produ/aggbug/430481.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/produ/" target="_blank">都较?/a> 2015-07-23 10:42 <a href="http://www.tkk7.com/produ/articles/430481.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>十三Q现在到底有谁在q什么?q程http://www.tkk7.com/produ/articles/430420.html都较?/dc:creator>都较?/author>Thu, 16 Jul 2015 03:54:00 GMThttp://www.tkk7.com/produ/articles/430420.htmlhttp://www.tkk7.com/produ/comments/430420.htmlhttp://www.tkk7.com/produ/articles/430420.html#Feedback0http://www.tkk7.com/produ/comments/commentRss/430420.htmlhttp://www.tkk7.com/produ/services/trackbacks/430420.html首先Q什么是q程Q我们要把它和程序明区分开来?/div>
先说一下程序吧Q程序是一个静态概念,它是“实际存在”于操作系l中的一D|令,或者代码,MQ它是一D可以被成功解释的脚本,或者被~译的代码,在操作系l中我们可以直观的看到?/div>
而进E是一个动态概念,它是指程序运行的q程?br />
*q程和程序没有直接的关系Q一个程序可以启动多个进E,一个进E可以被多个E序调用?/strong>

一个常用的查看q程的命令是psQ他能生成一个当前的q程快照
CZQps

直接使用”ps”我们可以看到有两行数据,一个bashQ也是当前的shellQ另一个就是ps本n。我们看到有一列叫PIDQ它意ؓq程的IDQTTYQ是teletype的羃写,表示l端的类型。TIME表示占用CPU的时间?/div>
不过直接使用ps信息量来得太,而且他只昄当前l端相关的进E?/div>
有一l常用的命ol合是auxQ这能给我们提供_的信?/div>

aux选项昄了所有用Lq程。值得一提的是,ps能够接受多个不同版本Unix的参敎ͼ比如刚才说的auxq组参数Q就是BSD的参敎ͼ而列表也是BSD风格的。标准一l常用参数是-efQ和auxcM?/div>
以auxq组参数展示的列表ؓ例,说明一下每一列的含义
  • USERQ表CE的所有?/li>
  • PIDQ进EID?/li>
  • %CPUQCPU的用率
  • %MEMQ内存的使用?/li>
  • VSZQ虚拟内存大?/li>
  • RSSQ占用的内容的大?/li>
  • STARTQ进E运行的起始旉Q超q?4个小时则按天昄
  • TTYQ已l提q,是终端的cdQ但是图上我们看到很多终端显C?#8220;Q?#8221;Q这表示他们没有控制l端
q其中多说一下STATE列,q一列表CE的状态,q程的状态有很多U?/div>
  • RQ运行状态,running
  • SQ休眠状态,sleeping
  • DQ不可中断的休眠状?/li>
  • TQ进E终?/li>
  • ZQzombieQ这是一个死q程Q或者说僵尸q程
  • <Q高优先U别的进E,“不友好的q程”
  • NQ低优先U别的进E,“友好的进E?#8221;
上面有几个名词需要额外说一?/div>
*僵尸q程Q一个进E可以生另外一个进E,产生的新q程则ؓ子进E,如果子进E已l终止,q且父进E没有从q程列表里清IZQ那么子q程变僵尸?#8230;
*q程优先U别Q虽然我们在使用电脑的时候,感觉他同时在做许多事情,但其实他是在飞快的轮换着做很多事Q飞快的E度让我们感觉不Z是在轮换着执行Q更像是同时执行Q既然是轮换执行Q那么就有先后之分,q程优先U别高Q那么该q程׃占用更多的CPU旉Q别低的自然就占用的少了?/strong>

和ps怼的一个命令叫pstreeQ输Z个树型结构的q程列表Q会展示q程间父/子关pR?/div>
E序启动Ӟ调整q程的优先别:nice
nice只能在程序启动时调整他的优先U别
用法Qnice -n E序Qn代表优先U别Q取D围是-20~19Q取D围只能在q里Q如果你输入其他的|比如-30Q那么系l会自动调整?20?/div>
CZQnice –20 我的E序Q修?#8220;我的E序”的优先别ؓ-20,。注意,参数?#8220;–20”Q有两个横杠Q第二个横杠代表负,W一个横杠代表参数?/div>
修改一个正在运行的E序的优先别:renice
修改的程序可以正在运?/div>
用法Qrenice -n E序Q?n是一个参?/div>
CZQrenice -5 我的E序Q?#8220;我的E序”正在q行Q修改他的优先别ؓ-5。这里的-n是一个参敎ͼ-5表示负五Qƈ不是五?/div>
动态的L看进E:top
刚才说过Qps命o是生成一个当前进E的快照Q意为只是那一个时刻进E的状态,top命o同样会生一l进E列表,但是他会定时hq组列表Q尽量反映最新的q程状态,q且会报告一些进E概要。你可以惌一下Windows下的Ctrl+Alt+Delete

top命o执行后,上方会显CZ个进E的概要

概要中比较明昄数值就不一一说明了,但是要看一下那个叫load average的|他直译过来可以叫做^均负载,他有三个|q反映了pȝ最?0sQ最?分钟和最?5分钟内等待运行进E的个数Q他可以反映pȝ忙碌的程度,如果q个值小?.0Q那么说明系l不忙碌?/div>
CPU相关的百分比Qmanl出了一个说明,注意其中是否友好的进E,其实是代表了优先U高与低的进E?br />


查看被暂停的或者后CQ务的状态:jobs
要说明这个命令,我们需要先知道让一个命令后台执行的Ҏ。除了系l的q程以服务的形式在运行之外,我们可以使用&W号来指明一个命令后台运行,通常他可能是一个耗时的操作,比如备䆾Q大范围搜烦{?/div>
CZQfind / -name [a*]>~/res.txt &
我们?#8220;&”W号q接在一个命令的后面Q得他变ؓ后台q行Q同Ӟ我们使用jobs命o来查看他们,他可能会是这?/div>
我们可以使用fg和bg命o来控制进E在前后台的切换Q比如我们将一个搜索放在后台执行,在他没有完成之前Q通过jobs查看Q它会显Crunning状态,此时Q我们通过“fg jobs~号”命o可以把后台正在运行的q程切换到前台来执行?/div>
q程的控Ӟkill
是的Q就是这么直白!q掉他!当然Q这也是kill命o最常用的作用,l止一个进E?/div>
CZQkill q程idQ当我们通过ps或者top发现我们需要操作的q程之后Q我们可以用kill命o来终止相应pid的进E,注意Q我q里说的是终止,q不是像命o所说的那样杀死,因ؓkill能做的远不止l止一个进E。我们通过kill -l可以查看我们可以发送哪些信L当前q程?/div>
我们看到Q这里有很多“信号”Q在我们使用“kill PID”的时候,实际上市使用?#8220;kill -15 PID”Q?15是kill对一个进E发出的默认信号Q它代表l止Q但是有时候,q种手段q不用Q那么我们需要用kill -9来终止一个进E,从图中我们可以看出,-9代表killQ它意味着真正的杀M个进E?/div>
因ؓq程的不同,从而导致了q程接收到终止信号后产生的行Z不同Q有些能够乖乖的l止Q但有些不能。听话的q程在接收到-15Q终止信P后会做一些善后处理之后终止,而那些不听好的或怸予理睬,那么此时我们需?9Q杀MP来终止进E,但是q个信号发出之后q当于一打死,没有l进E余地来善后Q所以这也是l止q程的杀手锏?/div>
Ҏ名字l止q程Qkillall
和killcMQ都能够l止q程Q但是killall能够Ҏq程的名U来l止一个或者一l进E?/div>
CZQkillall httpdQ终止所有httpdq程Q当Ӟ你需要root权限才能l止其他用户的进E?/div>
一些其他的操作
*l止一个正在运行的E序QCtrl+cQ注意,c是cancelQ不是copy
*挂vQ暂停)一个正在运行的E序QCtrl+z


]]>十二Q群{群力但又各东西,多用户和权限http://www.tkk7.com/produ/articles/430419.html都较?/dc:creator>都较?/author>Sun, 12 Jul 2015 02:49:00 GMThttp://www.tkk7.com/produ/articles/430419.htmlhttp://www.tkk7.com/produ/comments/430419.htmlhttp://www.tkk7.com/produ/articles/430419.html#Feedback0http://www.tkk7.com/produ/comments/commentRss/430419.htmlhttp://www.tkk7.com/produ/services/trackbacks/430419.html电脑Q通常只有本h一个用Pq是在多用L环境下,比如你的爸爸妈妈需要用电脑,一般也是用你的̎h使用Q而且也是你来教他们用(开玩笑:0Q。个人电脑在多用L情景下用,q不多见QWindows中的Guest账户到底有什么用处真的是个谜Q但是Linux通常作ؓ服务器的操作pȝQ一般来说会有多个管理员合作理Q那么̎户和账户关系Q̎L权限显得非常的重要了?/div>
对于权限Q在之前我们已经有过接触Q查看目录的时候,我们使用长格式查看目录信息,会打印出文g的权限信?br />
一个用户可以拥有多个文Ӟ一个用户可以属于多个用LQ用户和用户l的信息可以分别查看/etc/passwd?etc/group文g?etc/shadow文g保存着用户的密码信息,当然了,是加q密的?/div>
图上的蓝色框里代表的是文件模式,也就是权限信息,只有文g的所有者和用户才能更改文g模式?br />
chmodQ更Ҏ件模?/strong>
chmod支持两种修改文g模式的方?/div>

W一U:数字权限表示
文g模式分成了三l,每组都有L限,写权限,执行权限Q每一l的权限如果用二q制的数字表C,可以写ؓ111,1代表有该权限Q?代表没有Q权限设|ؓ111-110-110则意味着文g拥有者拥有读Q写和执行三个权限,而用L成员和其他h只拥有对文gd写的权限。但是用二进制来讑֮很麻烦,所以,实际使用数字讄权限的时候,使用八进Ӟ比如讄一个文件的权限为只有拥有者可以读写,那么二进制写?10 000 000Q在使用chmod命o的时候写作chmod 600?/div>
CZQ修改一个文件的权限

*使用数字修改权限的时候注意不要缺位敎ͼ如果~少Q那么执?#8220;chmod 60 文g?#8221;会发生什么?他会认ؓ文g拥有者对该文件没有Q何权限,所在用L有读和写的权限,其他人没有权限,q太可笑了;要是执行“chmod 6 文g?#8221;会发生什么?他会认ؓ文g拥有者和所属用L对该文g没有M权限Q其他h反而有d写的权限Q笑?#8230;

W二U:字符权限表示
相比数字权限表示Q字W权限表C更直观一些,控制的更l腻一些?/div>
CZQ?/div>
chmod [u|g|o|a][+|-|=][r|w|x] 文g
u:所有?/div>
g:所属用L
o:其他?/div>
a:以上全部
+/-/=:代表dQ撤销和重?/div>
r/w/xQ分别代表读权限Q写权限和执行权?/div>

umask:默认文g模式
umask命o用来讄文g的掩码,刚听h可能比较生ӆQ说白一点就是设|或者查看默认的文g模式?/div>
昄?002Q什么意思呢Q好Q我们先新徏一个文件test

我们看到Q新建文件test的文件模式ؓrw- rw- r–

我们修改一下umask的|再新Z个文件试?/div>
umask昄的值是文g模式的掩码,是一个八q制的数字。先撇开掩码的第一位,初始后三位是002Q变成二q制数就?00 000 010Q这个掩码对应的权限是rw- rw- r–Q之后我们修Ҏ码,变ؓ000 000 000Q这时候掩码对应的权限是rw- rw- rw-Q是不是已经能看出倪端了?对,当我们将二进制格式的掩码某一位设|ؓ0Q实际上是打开了该位置的权限(但是执行权限无法开启,q也是处于安全考虑Q新建的文g没有执行权限Q?/div>
那么W一个八q制?是什么含义?
除了常用的读权限Q写权限和执行权限,q有一些特别的权限?/div>

1Qsetuid位,他在掩码的第一位,如果开启,那么文g权限的掩码应该是4000。setuid有什么作用呢Q如果某个文件开启了setuid位,那么该文件执行的时候,该文件具有文件所有者的权限Q比如你是一个一般用P你执行了一个root用户的文Ӟq且该文件设|了setuid位,那么文g执行的时候是拥有root权限的,所以对于setuid位的讄要慎重?/div>
如何开启setuid位呢
chmod u+s 文gQ表C开启setuid

2Q和setuid位类|他在掩码的第二位Q开启的话,掩码的设|是2000。setgid表示操作一个文件的时候,操作文g的用L会由当前l变为文件所在组的权限。对于文件所属组不是文g创造者所在组的情况,可能会带来权限的变化?/div>
开启setgid
chmod g+s 文gQ开启setgid?/div>

3Qsticky位,掩码中的W三位,开启时Q掩码设|是1000Q这个权限位通常用来限制讉KQ如果它开启,那么它能L用户删除或重命名文gQ除非用hq个文g所有者,或是用户?/div>
开启sticky?/div>
chmod +t 文g

如何定某个文g是否开启了setuid位,segid位呢Q当某个文g开启了某个Ҏ权限位,那么在对应的权限分组中,该组的执行权限会昄s?/div>
比如某个文g开启了setuid位,那么他的权限是rws r– r–Q开启了setgid位,则是rw- rws r–Qsticky位则在其他hl中体现Qrw- rw- rwt

su/sudo w䆾的切?/strong>
除非是root用户Q否则一般用户在很多情况下都会有对系l进行操作的限制。如果一个一般用戯行某个操作,比如执行某个文gQ但是他没有q个文g的执行权限,那么该怎么办呢Q最单粗暴的方式是注销Q用root用户dq行操作。虽然可行,但是不可取,毕竟太不方便了?/div>

suQ用替代用h行命?/div>
q个命o不太好记Q全U是run a command with substitute user and group IDQ看h是substitute user的羃写。作用就是用替代用h执行操作?/div>
CZQ切换一个用P如果不指定用P那么默认切换到root
su [用户]

直接使用su之后Q系l提C我们输入密码,注意Q这里输入的是root用户的密码,而不是当前用L密码。之后,我们会发现shell提示W酉“$”变成?#8220;#”

有一个常用选项?#8221;-l”Q他有一个别名是“-”Q,d“-l”会出C个需要登录的shellQ加载替代用Lshell环境。我们看刎ͼd“-l”之后dQ初始目录定位到了root用户的家目录

其实有时候我们ƈ不需要切换用P只是需要用个别用L权限来做一些操作Ş了,q有一个常用选项?#8220;-c”Q执行一个命令。比如一个一般用户希望查看一下root用户的家目录

只执行单个命令,而不是启动一个新的可交互?shellQ?#8220;-c”选项Q命令将传递到一个新的shell中执行,所以命令参数需要单引号引v作ؓ一个参数?/div>
sudoQ用替代用户去执行操作Q但是提供灵zȝ配置
sudo和sucMQ都是以另一个n份去执行某些操作Q但是sudo允许理员进行灵zȝ配置Q比如某些操作只允许特定用户来执行,在经q配|之后,特定用户不需要管理员的密码,只需要输入自q密码可以用管理员权限来执行特定操作。通常情况下,sudoq不会启动一个新的shellQ也不会加蝲其他用户的shell环境?/div>
除了切换当前的用P获取root权限{,我们q需要更Ҏ件的所有者,所属组

chownQ更Ҏ件的所有者和所属组
q个命o可以同时修改两个所属关p,也可以单独修攏V?/div>
命o格式Qchown [OPTION]… [OWNER][:[GROUP]] FILE…Q这是文档的原话Q我们添Ҏ
最单的使用Qchown alvindu327 a.txtQ把a.txt文g的所有者从原所有者变为alvindu327


然后Q说一下比较全面的用法
1Q同时变更所属用户和所属组。chown alvindu327: a.txtQ刚才的命o我们可以看到Qa.txt的所属组依然属于rootQ在所属用户之后添?#8220;:”Q意为着文件原所属组变更为新用户登陆时的所属组


2Q单独变更所属用户和所属组?/div>
chown alvindu327:demonuser a.txtQ将a.txt的所属用户变为alvindu327Q所属组变更为demonuser

3Q只变更所属组
chown :onlygrp a.txtQ将a.txt的所属组变更为onlygrpQ所属者不?/div>
接下来还剩下不少命o需要了解,比如新徏用户Q新建组Q修改密码等{,但是一一列D出来没什么意思,Z么不用aproposLp查询一下呢Q新建用P或许会是adduser吧,要不createuserQ猜和搜烦也是很好的学习方式?/div>
喔,最后几乎忘了一个重要的内容Q虽然常用权限有读,写,和执行,看v来很单,但是你真正明白他们的含义吗?

对于文g而言
  • L限:表示可以查看q个文g的内容(可以使用catQlessQmore{命令进行查看)
  • 写权限:表示可以修改q个文g的内容(可以使用~辑器修改这个文Ӟ
  • 执行权限Q表C文gQ可能是命oQ或者脚本)可以执行
对于目录而言Q虽然目录也是文Ӟ但是q里做一个区分)
  • L限:表示可以列出目录内的内容Q用ls可以查看文g的内容)
  • 写权限:表示可以在目录中创徏Q删除文Ӟtouch文gQmkdir目录Q或者rm文gQ?/li>
  • 执行权限Q表C可以进入到q个目录?/li>
对于常用d执行权限Q我本来也和很多ZP认ؓ很简单,但是其中真的有几个误区需要扫Ԍ

*我对一个文件有写权限,我就可以删除q个文g吗?{案是否定的Q写权限仅仅是修Ҏ件的内容而已Q如果你需要删除这个文Ӟ你需要拥有对q个文g所在目录的写权限才行?/strong>

*我对一个目录有L限,我就可以查看q个目录的内容吗Q虽然听h没什么不对)Q答案是否定的,对一个目录有L限,仅仅是让你能看到q个目录的存在,而查看目录的内容Q你需要目录的执行权限Q所以,目录的读权限和执行权限一般都是同时存在的Q倘若一个目录只有读权限Q那是耍流氓,知道有,看不了;倘若只有执行权限Q那是特供情报Q虽?#8220;没有”Q但是能查看…


]]>十一Q稍微认识一些厉害的家伙Q特D字W?/title><link>http://www.tkk7.com/produ/articles/430413.html</link><dc:creator>都较?/dc:creator><author>都较?/author><pubDate>Tue, 07 Jul 2015 09:19:00 GMT</pubDate><guid>http://www.tkk7.com/produ/articles/430413.html</guid><wfw:comment>http://www.tkk7.com/produ/comments/430413.html</wfw:comment><comments>http://www.tkk7.com/produ/articles/430413.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/produ/comments/commentRss/430413.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/produ/services/trackbacks/430413.html</trackback:ping><description><![CDATA[<div>q里要介l的是一堆特别的家伙Q当Ӟq里是先打个照面Q؜脸熟Q他们会在很多地方出玎ͼ有着Ҏ的含义,执行着特定的功能,q里先叫他?#8221;Ҏ字符“吧(注意在用他们的时候不要用中文输入法Q要不会出现问题Q?/div><div></div><div><strong><br />执行命o的顺?/strong></div><div></div><div><strong><br />1Q分P“;”</strong></div><div>W一ơ接触他的场景或许是在多命o序执行的时候。比如说你现在刚登陆pȝQ你在家目录下,你想查看一?etc某个目录下的内容Q那么你需要cdQ回车,如果层次深,那么你或讔R要执行多ơ,最后ls一下。有了分L帮助Q那么就可以q么?/div><div><br />cd /;cd etc;cd XXX;ls </div><div></div><div>命o之间使用分号隔开Q你讄好的命o便会依次执行。设想一下,你需要在你的Linux中搭Z个LAMP的web环境Q在搭徏环境的过E中你会有很多命令要执行Q你如果一ơ的L行他们,那么会花费你不少旉Q因为完成当前命令执行完毕你需要键入下一个命令,有h值守的安装可是很痛苦的,如果q其中有了分h帮助你实现命令的序执行Q那么绝对会事半功倍?/div><div><br />但是Q用分h序执行命o有一个缺点,那就是一旦其中某个命令出错,执行的过E不会停止,依旧向后l箋执行。这一点ƈ不好Q如果命令不涉及改变环境变量Q搭建某某运行环境还好,一旦出错,那么定位hҎ费力Q所以分h好用在影响的命ol合中?br /><br /><img src="http://www.tkk7.com/images/blogjava_net/produ/2015-07-05_23-28-47.png" border="0" alt="" width="640" height="175" /><br /><br /><div><strong>2Q逻辑与,”&&“</strong></div><div>和一般编E语a中的逻辑与类|他有着q样的格?#8221;命o1&&命o2“Q如果命?执行没有出错Q那么命?才会执行Q后l命令依ơ类推,但是只要有一个命令报错,便不会l向后执行,执行q程停留在报错的命o上。这一个特性就比分h得好Q可以考虑使用它做一个通用的环境安装脚本?br /><img src="http://www.tkk7.com/images/blogjava_net/produ/2015-07-05_23-39-18.png" border="0" alt="" width="640" height="103" /></div><br /><div><strong>3Q逻辑或,”||“</strong></div><div>q里需要注意一下,和常见编E语a中的逻辑或不太一P~程语言中的逻辑或是”条gA或者条件B或者条件C{等条gNQ这些条件中有一个满I则整个表辑ּ成立“Q这里的逻辑或的含义?#8221;命oA||命oBQ命令A执行正确则不执行命oBQ反之亦?#8220;</div><img src="http://www.tkk7.com/images/blogjava_net/produ/2015-07-05_23-49-28.png" border="0" alt="" width="640" height="82" /><br /><br /><div><strong>*对于一个命令而言Q如果能快速的得知是否执行正确Q你可以试试<br /></strong></div><div><span style="color: red;">命o && echo suc || echo fail</span></div><div>对于一个你指定的命令,如果他执行正,那么逻辑与的echo suc便会执行Q逻辑或便不会执行Q倘若命o执行p|Q那么逻辑与的echo suc便不会执行,q样一来,逻辑或的前半部分只有命o执行p|的结果,所以逻辑或的echo fail便会执行?/div><br /><div><strong>一些特D字W会展开一些特D内?/strong></div><div></div><div><strong>1Q匹配Q意内容,“*”</strong></div><div>“*”在文件搜索的时候已l有所接触Q是匚wL字符的意思,但是那是限于文g搜烦Q如果我们用echo命o来显C?#8220;*”呢?我们会发玎ͼecho打印了当前目录下的所有内容,而没有打?#8220;*”</div><img src="http://www.tkk7.com/images/blogjava_net/produ/2015-07-06_12-46-19.png" border="0" alt="" width="640" height="82" /><br /><div>再试试ls *<br /><img src="http://www.tkk7.com/images/blogjava_net/produ/2015-07-06_12-48-45.png" border="0" alt="" width="640" height="238" /><br /><div>在含?#8220;*”的命令中Qshell会在执行前将“*”解析为匹配的内容Q所以echo不认?#8220;*”Q没有打CQls 没有因ؓ没有“*”q个目录而报错,q而正常显CZ当前目录及其子目录下的所有内宏V?/div><div></div><div>其他相关的特D符号可以在文g搜烦的部分找刎ͼ<a href="http://www.tkk7.com/produ/articles/430379.html" title="x">x</a></div><br /><div><strong>2Q家目录Q?#8220;~”</strong></div><div>之前提过Q?#8220;cd”?#8220;cd ~”作用相同Q都是定位到当前用户的家目录Q如果你在L线前面指定一个用P那么会直接定位到该用L家目录去Q就?#8220;cd ~duyt”?/div><div></div><div><strong><br />3Q算术表辑ּQ?((表达?)</strong></div><div>在表辑ּ中可以填入整数运的表达式,俨然一副计器的样子,术表达式支持加减乘除,取余Q?Q,求幂Q?*Q等操作Q其中,加减乘除取余Q不再赘qͼq算W和一般编E语a的相同,都是“+-*/”Q求q则写ؓ$((2**10))Q这样便会输??0ơ方的结果?/div><img src="http://www.tkk7.com/images/blogjava_net/produ/2015-07-06_13-06-29.png" border="0" alt="" width="640" height="116" /><br /><br /><div><strong>4:花括号匹配,{}</strong></div><div>q家伙和Ҏ?#8220;[]”有类似的地方Q都能匹配括号里的内容,但是花括h常见于这个场景:你需要新Z些文Ӟq些文g可能是你马上使用的日志文Ӟ或者学习笔讎ͼ甚至是日讎ͼ他们的文件名有类似有不同Q不同可能是序的日期或其他数字Q那么花括号可以帮你完成q个工作?/div><div></div><div>touch 2015-01-{01..31}Q这样以来,会马上新Z序日期命名的文Ӟ可以省去很多重复的工作?/div><img src="http://www.tkk7.com/images/blogjava_net/produ/2015-07-07_0-18-59.png" border="0" alt="" width="640" height="161" /><br /><div>删除的时候也可以使用花括受?/div><br /><div><strong>花括号包含以下几UŞ?/strong></div><div>1Q{X,X,X}Q匹配多个字W,使用逗号隔开?/div><div>2Q{1..9}Q或者{A..Z}{其他类似的写法Q这样写会匹配一个范围内的字W?/div><div>3Q{{X,X},{X,X}}Q嵌套匹配,q样写法Q是会生四U匹配的</div><div>但是Q花括号和方括号又有着不同Q方括号重点在匹配上Q而花括号重点在返回匹配的字符?/div><img src="http://www.tkk7.com/images/blogjava_net/produ/2015-07-07_0-35-08.png" border="0" alt="" width="640" height="153" /><br /><br /><div><strong>q是Q编E的感觉吗?看看变量和引?/strong></div><div></div><div><strong><br />1Q变量定?/strong></div><div>好简单的Q?#8220;变量?变量?#8221;Q在shell中直接键入var=helloworldQ那么你有了一个var变量Q?/div><div></div><div><strong><br />2Q那么引用呢Q?/strong></div><div>也好单的Q?#8221;$变量?#8221;<br /><img src="http://www.tkk7.com/images/blogjava_net/produ/2015-07-07_0-46-36.png" border="0" alt="" width="640" height="117" /><br /><div><strong>3Q引用一个命令的l果Q?#8220;或?()</strong></div><div>比如Qecho `ls`或?echo $(ls)Q那么打印的是当前目录的内?/div><img src="http://www.tkk7.com/images/blogjava_net/produ/2015-07-07_1-00-15.png" border="0" alt="" width="640" height="112" /><br /><div>当然了,演示的部分很单,只是使用了ls命oQ引用可以用在更多复杂的命ol合和场景中?/div><br /><div><strong>控制Ҏ字符的匹?/strong></div><div></div><div>1Q双引号</div><div>双引号可以用来控制参C敎ͼ排除部分Ҏ字符的作用。就参数个数而言Q当你用echo打印一些字W?/div><div><span style="color: red;">echo a b c    d</span>Q那么echo会接?个参敎ͼ打印之后Q空|制表W,换行W等把单词分割ؓ不同参数的多余字W会被过滤掉?/div><img src="http://www.tkk7.com/images/blogjava_net/produ/2015-07-07_23-04-40.png" border="0" alt="" width="640" height="78" /><br /><br /><div>当我们把含有分隔W号的参C用双引号引v来,单词Q或者说参数的分割就失效了,命o会把双引号内的内容作Z个参数来看待?/div><img src="http://www.tkk7.com/images/blogjava_net/produ/2015-07-07_23-08-20.png" border="0" alt="" width="640" height="81" /><br /><br /><div>echo是如此,使用ls的时候,其是ls那些含有分隔W号的文件名的时候,双引号就能帮你大忙了?/div><div></div><div>但是在双引号中,shell的特D字W,除了 $Q\ (反斜杠)Q和 `Q倒引P之外Q?会失去它们的特D含义,被当作普通字W来看待。这意味着Q刚才提到的参数分割Q星P*Q匹配, 波浪U(家目录)Q和花括号匹配都失效。参数引用,命ol果引用q有术表达式仍然生效?/div><img src="http://www.tkk7.com/images/blogjava_net/produ/2015-07-07_23-17-10.png" border="0" alt="" width="640" height="281" /><br /><br /><div><strong>2Q单引号Q完全失效!</strong></div><div>是的Q单引号引v来的所有内定w会原栯出,所有特D字W都会失效功能!</div><div></div><div><strong><br />3Q{义字W,反斜?/strong></div><div>有些时候,昄Z别特D字W正式我们所需要的Q这时候,反斜杠就可以帮到我们。就比如Q过L们常常听?#8220;衬衫的h格是九磅十五便士”Q那么货币单位就有可能需要{义,原样昄。当然了Q美元符h需要{义,英镑不需要?/div><img src="http://www.tkk7.com/images/blogjava_net/produ/2015-07-07_23-28-37.png" border="0" alt="" width="640" height="94" /><br /><br /><div>不过要注意,某些l合是有Ҏ含义?/div><div>\tQ按下tab键,q可是制表符</div><div>\rQ回车符?/div><div>\nQ新起一?/div><div>\bQ退格键</div><div></div><div>目前Qshell中一些Q性的家伙我们已经有了一个初步的认识?/div></div></div></div><img src ="http://www.tkk7.com/produ/aggbug/430413.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/produ/" target="_blank">都较?/a> 2015-07-07 17:19 <a href="http://www.tkk7.com/produ/articles/430413.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>十:又来捉迷藏?内容处理http://www.tkk7.com/produ/articles/430382.html都较?/dc:creator>都较?/author>Mon, 29 Jun 2015 07:49:00 GMThttp://www.tkk7.com/produ/articles/430382.htmlhttp://www.tkk7.com/produ/comments/430382.htmlhttp://www.tkk7.com/produ/articles/430382.html#Feedback0http://www.tkk7.com/produ/comments/commentRss/430382.htmlhttp://www.tkk7.com/produ/services/trackbacks/430382.html通过之前所说的搜烦命oQ我们可以轻杄定位到所需文g的位|,l合重定向,我们可以查看文g的内容,那么接下来,p定位文g内容中我们需要的部分了(其实有了重定向,我们能够查找、过滤的内容׃限于文g的内容了Q应该是针对某个内容的查看Q,LQ操作之前我们可以先查看一下要处理的内?/div>

查看文g内容Q或者说Q查看标准输入的内容Qcat
之前提到q,cat是连接到一个文Ӟq把文g的内容输出屏q,如果不指定文Ӟ那么cat会等待键盘的输入?/div>
cat [文g?…]Qcat可以同时打开多个文gq将内容拼接在一起展C?/div>
CZQ有两个文本文gQ内容分别如?br />

现在使用cat同时打开他们


*注意命o里的通配W,他M以顺序的方式d?/strong>
cat有一个缺点就是,他会一ơ加载所有的内容Q而且不能分页查看Q所以cat适合查看那些比较短的内容Q查看大量内容用catq不方便?/div>

less和more
没错Q这是两个命令,都是用来查看内容的命令,他们用v来更像是电子书查看器Q用法和catcM。可以简单的理解为less是more的增强版Qmore会一ơ加载所有内容,支持向后分页查看Qless不会一ơ加载所有内容,只会加蝲当前查看面的内容,q且支持前后分页查看?/div>

head和tail
虽然less和more提供的分|看已l能够够方便了Q但是ؓ了方便,q有其他的途径

查看文g开始的部分Qhead
如同命令本w含义一P“?#8221;Q查看开始的一部分Q默认会打印前世行的内容Q如果指定了多个文gQ那么会依次打印每个文g的头内容?/div>
CZQhead someText*


查看文gl尾的部分:tail
与head相对Qtail会默认打印最后十行的内容Q但是tail有一个选项可以让我们持l的观察某个文g的变化,q在我们观察日志文g的时候非常有?/div>
CZQtail -f logfile
键入该命令,logfile文g的内容会保持在屏q上Q最新的内容也会不断出现在屏q上Q这个过E会一直持l到你按下Ctrl+C为止?/div>
好了Q常用的内容查看命o交代好了Q下面就需要对内容q行单的处理
通过道U,我们可以一个命令的标准输出可以输送到另一个命令的标准输入Q接下来Q我们通过道U,多个命令组合在一P变成一个过滤器Q来获取我们所需的内宏V?/div>

查看内容的概要:wc
q个命o比较好记Q嗯…wc可以帮助我们查看一个内容的行数Q字敎ͼ和字节数
CZQwc someText*

多个文g的情况下会添加一个统计信?/div>
查看内容的概要:sort
sort命o会排序指定标准输入的内容Q默认会按照字母升序的顺序来排列内容Q我们查看一?bin目录下的命oQ然后把他们排序输出


查看/qo重复的内容:uniq
他是unique的羃写,通常Q我们组合v来?/div>
CZQls /bin /usr/bin|sort|uniq -d|lessQ我们可以查看一下那些命令是两个目录下共有的

看v来共有的命oq不?/div>

打印匚w的文本:最酷grep
默认情况下,grep会打印包含给定信息的?/div>
CZQls /bin|grep app

常用选项Q?#8220;-i”Q忽略大写Q?#8220;-v”Q查询不匚w的行Q?#8220;-x”Q只查询完全匚w的行

上面的这些命令单独用的Z很少Q组合在一hZ个内容过滤器更有意义Q就像这?/div>
ls /bin|sort|uniq|grep zip
xQ我怿你对内容的处理已l有了一个大概的认识Q尤其是q些常用命o


]]>九:输入与输出,重定?/title><link>http://www.tkk7.com/produ/articles/430380.html</link><dc:creator>都较?/dc:creator><author>都较?/author><pubDate>Sat, 27 Jun 2015 07:24:00 GMT</pubDate><guid>http://www.tkk7.com/produ/articles/430380.html</guid><wfw:comment>http://www.tkk7.com/produ/comments/430380.html</wfw:comment><comments>http://www.tkk7.com/produ/articles/430380.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/produ/comments/commentRss/430380.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/produ/services/trackbacks/430380.html</trackback:ping><description><![CDATA[<div>目前我们用到的大多数命o都是有输入和输出的,q不隄解,一个命令可能需要得C个用h定的参数L行,然后把执行的l果反馈l用戗当Ӟq个命o可能不需要h为的指定要输入的参数Q会自带默认的参敎ͼ比如QpwdQ也许,命ol出的信息不是理想的l果Q比如ls一个不存在的目录或者文Ӟ命ol出了错误提C?/div><div></div><div>以上U种Q都是程序所涉及的输入与输出常见途径。就输入而言Q很多程序都从一个叫标准输入的设备得到输入信息,不难惛_Q这个设备就是我们的键盘Q命令行下大多数操作都是通过键盘完成。而输出分ZU,标准输出和标准错误,通常Q这两个输出都会直接q接到屏q,而不是保存到盘文g<br /><br />标准输出Q?br /><img src="http://www.tkk7.com/images/blogjava_net/produ/2015-06-26_0-10-18.png" border="0" alt="" width="640" height="182" /><br /><br />标准错误Q?br /><img src="http://www.tkk7.com/images/blogjava_net/produ/2015-06-26_0-11-14.png" border="0" alt="" width="640" height="76" /><br /><br /><div><strong>重定向,是允许我们自己重新定输入和输Z息的向?/strong></div><div></div><div>要实现重定向Q我们需要用到重定向W?#8220;>”,q个W号很Ş象,像沙漏一P可以理解Z什么到什么?/div><div>以往Q我们?#8220;ls -l /”,会将E序的结果输出到屏幕上,现在Q我们用重定向Q将q个l果保存C个文件中?#8220;ls -l / > /testls.txt”Q?#8220;>”Q把E序的输出结果,从标准输出(屏幕Q重定向到指定的文g?/div><div></div><div><strong><br />*之前提到q,“touch”命o是新建文件的一U手D,现在Q我们知道了帮助命oQ我们可以得知,“touch”命o的本来作用是更新目标文g的访问和修改旉为当前时_当目标文件不存在时才会新Z个以目标文g命名的文Ӟ在重定向中,我们指定的重定向目标文g不存在时Q也会新Z个文件。这也是新增文g的一U手Dc可以说Q当有输出发生的时候,目标文g不存在,那么会新增一个文件?/strong></div><div></div><div><strong><br />文g查看命oQcat</strong></div><div>cat命o的作用是q接C个文Ӟq把文g内容输出到标准输?/div><div>好了Q我们查看一下刚才重定向的文?/div><div></div><div>CZQcat /testls.txt<br /><img src="http://www.tkk7.com/images/blogjava_net/produ/2015-06-26_0-14-10.png" border="0" alt="" width="640" height="275" /></div><div>呃,q没有高亮显C来区别文g内容Q毕竟不?#8220;ls”命o有高亮显C,保存的只是纯文本信息?/div><br /><div>我们再尝试一下重定向错误信息到testls.txt文g<br /><img src="http://www.tkk7.com/images/blogjava_net/produ/2015-06-26_0-22-30.png" border="0" alt="" width="640" height="79" /><br /><div>文g之前保存的内容也不见了!之所以会q样Q是因ؓ我们只指定了标准输出的重定向Q但是标准输出因为错误而中断了Q目标文件不存在Q所以压Ҏ有输出)Q所以标准输出没有Q何内宏V?br /><br /><div><strong>*所以直接用重定向W号“> something.txt”会直接创Z个空文gQ或者清I同名文件的内容</strong></div><div></div><div><strong><br />重定向追加操作符“>>”</strong></div><div>当我们把“ls -l / <strong>></strong> /testls.txt”改ؓ“ls -l / <strong>>></strong> /testls.txt”Q那么意味着Q如果目标文件不存在Q会新徏一个目标文Ӟq将标准输出输出到该文gQ如果存在,那么会将标准输出q加到该文g的尾部?/div><div></div><div><strong><br />重定向标准错?/strong></div><div>Z能用重定向错误Q我们需要先知道QLinux在执行一个程序的时候会打开多个,我们把前三个看做标准输入Q标准输出,标准错误Q他们在shell中有各自的文件描q符Q可以理解ؓ编PQ分别是0,1,2Q当我们使用“>”重定向标准输出时Q我们实际上是重定向了文件描q符?的流Q也是?/div><div>“ls . > a.txt”{同?#8221;ls . 1> a.txt”</div><div></div><div><br />那么重定向标准错误也是</div><div>“ls null 2> a.txt”</div><div>假定null是一个不存在的文Ӟ命o执行之后Q生的错误信息会重定向C指定的文件?/div><div></div><div><br />q可以?#8220;>&”Q或?#8220;&>”Q来把标准输出和标准错误都重定向C个位|?/div><div>“ls null >& a.txt”</div><div><br />q样Q两U输Z息都会写到a.txt中。这是一U联合的写法Q可以更具体d</div><div></div><div>“ls null > a.txt 2>&1“重定向标准输出到a.txt文gQ然后重定向标准错误到标准输出。这里要注意序Q需要先重定向标准输出,再重定向标准错误Q如果顺序反q来Q那么标准错误会重定向到屏幕?/div><div></div><div><br />Z能更好的了解q些数字所对应输入输出的关p,我们q一步来说明一下。在Linux中,一切皆文gQ设备也是如此,我们查看一下设备挂载点</div></div><img src="http://www.tkk7.com/images/blogjava_net/produ/2015-07-04_10-19-27.png" border="0" alt="" width="640" height="384" /><br /><div>其中我们看到Q有stderrQstdinQstdout三个软连接,他们分别指向了proc挂蝲点下的三个文Ӟ在这里,我们其实已经能找到文件描q符和输入输出的对应关系Q文件描q符0Q?Q?都指向了同一个设?dev/pts/0Q这个设备中前三个流我们使用文g描述W?Q?Q?来规定ؓ标准输入Q输出和错误。这里额外说一句,Z么文件描q符会指?dev/pts/0q个讑֤呢,因ؓ演示的时候是使用的装有Xwindow囑Ş界面的LinuxQ我们是在用一个叫l端控制台的东西在和shellq行交互Q在q种情况下,/dev/pts/nQn代表序号Q?代表当前l端Q?代表W一个,2代表W二个,以此cLQ是在Xwindow模式下的伪终端。如果在UShell环境下,我们使用的设备将不是/dev/pts/nQ而是/dev/tty1。关于终端的更多信息Q可以自行查阅?/div><br /><div>XwindowQ?br /><img src="http://www.tkk7.com/images/blogjava_net/produ/2015-07-04_10-22-37.png" border="0" alt="" width="640" height="117" /><br /><br />Shell:<br /><img src="http://www.tkk7.com/images/blogjava_net/produ/2015-07-04_10-48-04.png" border="0" alt="" width="640" height="67" /><br /><br /><div><strong>重定向标准输?/strong></div><div>刚才我们使用了cat命oQcat命o的标准输入是什么呢Q之前我们指定了一个文件作为cat命o的标准输入,倘若不指定文件呢Q?/div></div><img src="http://www.tkk7.com/images/blogjava_net/produ/2015-06-27_23-39-19.png" border="0" alt="" width="640" height="85" /><br /><div>我们发现命o行正在等待我们的输入Q是的,我们没有指定文g作ؓcat的标准输入,所以cat查N认的标准输入Q键盘,我们输入一D字W,按下“ctrl+d”来通知cat已经完成写入Q按下回车,我们刚才键入的文字出现在了屏q上?/div><div></div><div>好了Q重定向的功能已l实CQ不是么Q但是这里我们ƈ没有使用重定向符?#8221;>”Q对于cat命oQ我们可?/div><div>cat < someText.txt 来重定向cat的标准输?/div><div><strong>*”<“?#8220;>”Q还?#8221;>>”都可以重定向</strong></div><div></div><div><strong><br />Linux里的黑洞Q神话中的貔貅,/dev/null文g</strong></div><div>我想已经能够很清楚的描述/dev/null的作用了Q首?dev/null是一个文?通过文献Q也可以得知他叫“位存储桶”Q他能处理掉M写入他的信息Q换a之,写入后不作Q何处理。如果我们重定向输出C存储Ӟ那么他既不会存储Q也不会输出Q但是会提示写入成功。用来处理异怿息是个不错的选择?/div><div></div><div><strong><br />q接命o间的输入与输出,道U?/strong></div><div>道U,写作“|”Q对Q很形象Q作用也很Ş象,是q接命o之间的输入和输出?/div><div>CZQ?/div><div>“ls -l / | cat”Q加不加道U联合cat都会在屏q上输出Q虽然在q里Q管道线看上L什么作用,但是再看下面q个例子</div><div>“ps -ef|grep XXX”Q简而言之就是,扑ֈ我们所需的进E,ps命o执行之后会在屏幕上展C当前所有进E,通过道U,这个输Z为grep命o的输入,扑ֈ匚w我们l定字符的行q在屏幕上展C?/div></div></div><img src ="http://www.tkk7.com/produ/aggbug/430380.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/produ/" target="_blank">都较?/a> 2015-06-27 15:24 <a href="http://www.tkk7.com/produ/articles/430380.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>八:别玩捉迷藏了Q搜索命?/title><link>http://www.tkk7.com/produ/articles/430379.html</link><dc:creator>都较?/dc:creator><author>都较?/author><pubDate>Sun, 21 Jun 2015 06:47:00 GMT</pubDate><guid>http://www.tkk7.com/produ/articles/430379.html</guid><wfw:comment>http://www.tkk7.com/produ/comments/430379.html</wfw:comment><comments>http://www.tkk7.com/produ/articles/430379.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/produ/comments/commentRss/430379.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/produ/services/trackbacks/430379.html</trackback:ping><description><![CDATA[<div>对于M一个系l而言Q文件的搜烦是必不可的Q赶紧看一看Linux?#8220;Ctrl+F”功能怎么使用Q?/div><div></div><div><br />单的快速通过文g名查找:locate</div><div></div><div>CZQlocate 文g名,默认模糊匚w在数据文件中包含指定文g名的记录。locate命o一个最大的特点在于搜烦的速度非常快。因为locate命o不是Ҏ地磁盘上的文件直接进行搜索,而是搜烦一个数据文件的内容Q当然了Q这个数据文仉要包含本地磁盘的文g信息Q。这个文仉常位于/var/lib/mlocateQLinux版本之间可能会有l微的不同)Q看到这里你可能会想Q新增的文g是不是会同步的被写入到这个数据文件中呢,{案是不一定,q要看系l刷新数据文件的频度Q一般来说是一天,但是你也可以手动强制通过updatedb命o来刷新数据文件的内容Q该命o略占pȝ资源Q不要频J用)?/div><div></div><div><br />不过呢,有些时候,我们搜烦一些明明存在的文g时却搜烦不到Q用了updatedb命o之后也没有效果?/div><div>做一个演C,在系l?#8220;/tmp”目录下新Z个文Ӟ名ؓ12345678910.testQ这个文件名我认为已l够Ҏ了?br /><img src="http://www.tkk7.com/images/blogjava_net/produ/2015-06-21_11-22-01.png" border="0" alt="" width="640" height="125" /><br />现在使用locate命o来查找这个文件当然找不到Q用了updatedb之后呢?{案是依然找不到。。这p人纳闷了Q这命o好不好用Qؓ什么找不到Q我本h新徏的文Ӟ明明摆在那里?br /><div></div><div>通过不断的manQ你会定位到一个叫“/etc/updatedb.conf”的文Ӟ打开看一?/div><img src="http://www.tkk7.com/images/blogjava_net/produ/2015-06-21_11-29-17.png" border="0" alt="" width="640" height="136" /><br /><div>其中我们看到?#8220;/tmp”目录Q这有什么联pdQ?/div><div></div><div><br />当你阅读完帮助文档之后你׃明白Q数据文件的加蝲是有一定的规则的,q些个规则就?#8220;/etc/updatedb.conf”文g中配|,我们会看刎ͼq个配置文g中定义了哪些文gpȝ需要排除扫描,哪些文g名需要排除扫描,以及哪些目录需要排除扫描。而上图中Q?#8220;/tmp”目录被列入排除扫描的路径Q所以,我们?#8220;/tmp”目录下做演示Q出现搜索不到的问题Q就没有M问题?/div><div></div><div>locate命o能够快速的定位到文Ӟ开销,效率高,但是遗憾的是Q他只能Ҏ文g名来定位文gQ而且使用上还有一些不方便Q效率带来的代hQ,或许要刷新数据文Ӟ修改配置文g?/div><br /><div><strong>强大的文件搜索命令:find</strong></div><div>find命o非常强大Q选项非常多,以至于你能想象到的搜索功能他几乎都能实现。下面列丑և个常用的CZ?/div><div></div><div><strong><br />CZ1Q通过文g名匹?/strong></div><div></div><div>find [目录] -name 文g名,目录是可选项Q如果不讄Q则从根目录开始匹配,但是强烈~小查找的范_节约pȝ开销Q如果有需要,q可以添?#8220;-i”选项忽略大小?/div><div></div><div>find ~ -name demoFileQ查扑֮目录下名为demoFile的文?/div><div></div><div>说到通过文g名来匚wQ那么通配W是一定要知道的,find命ol合通配W能够完成日常很多查询工作?/div><div></div><div><strong><br />常用通配W:</strong></div><div><strong>*注意Q用通配W的时候需要给匚w表达式添加引号引?/strong></div><div></div><div><strong>*Q匹配Q意多个字W(包括零个或一个)</strong></div><div>CZQfind ~ -name “a*”Q查扑֮目录下所有以a开头的文g</div><div><strong>?Q匹配Q意一个字W(不包括零个)</strong></div><div>CZQfind ~ -name “a???”Q查扑֮目录下所有以a开_文g名长度ؓ四个字符的文?/div><div><strong>[characters]Q匹配Q意一个属于字W集中的字符</strong></div><div>CZQfind ~ -name “[abc]*”.txtQ查扑֏能包含a或b或cL一个或多个Ll合Qƈ且以”.txt“l尾的文?/div><div><strong>[!characters]Q匹配Q意一个不是字W集中的字符</strong></div><div>同上Q取?/div><div><br /><strong>常用字符c:</strong></div><div><strong>匚w一个字W类Q[[:class:]]Q匹配Q意一个属于指定字W类中的字符</strong></div><div></div><div><strong>[:alnum:]Q匹配Q意一个字母或数字</strong></div><div>CZQfind ~ -name “[[:alnum:]]*.cfg”Q查扑֮目录下含有字母或者数字,q且?#8221;.cfg”l尾的文?/div><div>下列字符cM用方式相?/div><div>[:alpha:]Q匹配Q意一个字?/div><div>[:digit:]Q匹配Q意一个数?/div><div>[:lower:]Q匹配Q意一个小写字?/div><div>[:upper]Q匹配Q意一个大写字?/div><div></div><div><strong><br />CZ2Q通过所属用h匚w</strong></div><div>有些时候,在一些公q录,有很多其他用户创建的文gQ我们需要把他们qo?/div><div>指定所属用P-user 用户?/div><div>CZQfind /tmp -user root -name “a*”Q查找tmp目录下所有以a开头ƈ且属于root用户的文?/div><div></div><div>Z一提,有些文g没有所属用P可以d-nouserq行{选。(没有所有者的文gQ一般认为是垃圾文gQ但是内生的文g不会有所有者,比如内存文gQ或者是外来文gQ一般是外接讑֤带来的数据,除了q两U情况,其他情况都视为垃圾文Ӟ</div><div><br /><strong>CZ3Q通多特定旉来匹?/strong></div><div>-atime 文g讉K旉 +-10Q默认单?#8221;?#8220;Q?/div><div>-ctime 改变文g属?+-10</div><div>-mtime 修改文g内容 +-10</div><div>CZQ?/div><div>find ~-mtime +10 搜烦十天之前Q修改过内容的文?/div><div>find ~ -ctime -10 搜烦十天之内Q修改过文g属?/div><div>find ~ -atime 10 q去的第十天Q被讉Kq的文g</div><div><strong><br />CZ4Q通过文g大小来匹?/strong></div><div></div><div>-size 25k</div><div>find /root -size 25k 搜烦刚好?5k的文Ӟ但是文g大小一般不会这么y?5kQ尝试搜?#8221;+大于“或?#8221;-于“kQ?/div><div></div><div><strong><br />CZ5Q组合匹?/strong></div><div>也就是多条g查询</div><div>-aQand</div><div>find ~ -size +25k -a -size -75kQ查扑֤介?5~75k的文?/div><div>-oQor</div><div>find /root -size +25k -o -size -10kQ只需要大?5k或者小?0k的文?/div><div></div><div><strong>之前提到q的U种选项Q都可以l合使用Q比如就写一个长一点的</strong></div><div>find ~ -name “a*” -user root -a -size -5k -a -atime 1Q查找以a开_属于root用户Qƈ且要于5kQ还需要在一天之内被讉Kq的文g?/div><div></div><div><strong><br />命o交接</strong></div><div>-exec XXX {} \; 固定格式 QXXX代表需要的命oQ但是要注意Q不是所有命令都适用</div><div></div><div>find ~ -size +25k -o -size -10k -exec ls -l {} \;</div><div>查询的l果通过一个指定的命oq行处理</div><div></div><div>上面记录的仅仅是选项中很的一部分Q更多需求还需要查阅帮助手册或者搜索引擎?/div></div><img src ="http://www.tkk7.com/produ/aggbug/430379.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/produ/" target="_blank">都较?/a> 2015-06-21 14:47 <a href="http://www.tkk7.com/produ/articles/430379.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>七:更好的认识命令,帮助命ohttp://www.tkk7.com/produ/articles/430378.html都较?/dc:creator>都较?/author>Sun, 14 Jun 2015 06:34:00 GMThttp://www.tkk7.com/produ/articles/430378.htmlhttp://www.tkk7.com/produ/comments/430378.htmlhttp://www.tkk7.com/produ/articles/430378.html#Feedback0http://www.tkk7.com/produ/comments/commentRss/430378.htmlhttp://www.tkk7.com/produ/services/trackbacks/430378.html我们已经用过几个命o了,但是我们会发玎ͼ命o有选项Qƈ且将来会有越来越多其他的命o。当我们通过各种渠道了解到某个命令的时候,我们W一反应是q个命o能做什么,怎么做,当然Q求助搜索引擎的是一个不错的选择Q不q某些时候我们需要更快的在第一旉Ҏ个命令有一个大概的认识Q那么我们就需要知?#8220;命o的帮助命?#8221;?/div>
首先Q命令可以有多种存在形式Q它可以是bin/sbin目录下的二进制文Ӟ可以是一个shell内置的命令,可以是一Dshell脚本Q甚至一个命令的别名。不是什么Ş式,命o是一D计机能够理解的指令?/div>
既然命o有诸多类别,那么我们或许需要先知道我们惌了解的命令属于哪个类别?br />
命ocd查看命oQtype
CZQtype 命o
不妨先查看一下type命o本n

可以看到Qtype是一个shell内置的命?br />
再看看常用的“ls”

呃,看v?#8220;ls”是一个别名,可以d颜色区分文gcd?br />
再看?#8220;passwd”

喔,看来“passwd”是一个位于bin下的命o

好了Q已l知道了命o的类型,q需要进一步知道命令的作用

命o帮助命oQman
man是manual的羃写,要是记忆”男h“方便点的话,那就当man记吧
CZQman 目标命oQ先看一下man本n
man可以UC是一个系l帮助手册的分页E序Q图上的U框内,注明了不同页面包含的章节。可以这么理解,图上?~9分别对应了同一个命令在不同情境下的使用ҎQ比如某些命令需要关联文Ӟ那么在查看帮助的时候就可以使用"man [~号] 命o"Q查看对应的帮助Qpasswd是q样的一个命令。当我们不指定编L时候,man默认查找~号1的命令帮助,也就?#8220;可执行程序或者shell命o”的帮助。但是,q不是每个命令都?~9九种U别的帮助,d“-f”选项可以看到命o有哪些别的帮助Q同Ӟman -fq有一个自带的别名whatis?br />
查看命o所有别的帮助man -fQwhatisQ?/strong>

可以看到passwd命o含有1?两种U别的帮助信息,除了包含passwd命o的用帮助,q包含了passwd文g的帮助信息?br />
好了Q最常用的cd命o总要查看一下吧


啊,q么一大堆Q而且看v来很乱,看上ȝ接和“cd“命o相关的信息还不多Q往下翻一,喔,扑ֈ了!
但是Q查?#8221;cd“命o的帮助,好像查看的不仅是”cd“命o的帮助,man cd键入之后Q帮助的”NAME“对应了很多命o名,他们之中有cdQ还有其他很多。他们都是shell内置的命令?br />
查看内部命o的帮助:help
CZQ?help 命o名,以cdZ

q样看v来就清晰多了Q就好像从刚才的内置命o手册中直接抓取需要的部分一栗?/div>
好了Q我们知道了查看命ocdQ查看命令用详l,命o的别,那么Q这个命令到底放在哪里呢Q?br />
命o查找命oQwhich
CZQwhich 命o名,但是which只能查看可执行程序所在的位置Q不包括内置命oQ如果命令包括别名,那么同时会把别名展示出来

当查看内部命令的时候,会提C没有查扑ֈ?/div>


查看”ls“Q同时显C命令的别名?/div>


另一个命令查扑֑令:whereis
CZQwhereis 命o名,和which命o的功能类|但是使用whereis不限于可执行E序Q而且q会把命令相关的文档的位|打印出来?/div>
好了Q目前来_我相信帮助命令已l能帮到你了Q但是,帮助命o虽然强大QL抵不q我们的遗忘?/div>
*如果某些个命令我C大清楚了Q这样就我知道帮助命o也查不了?#8230;
针对q一点,man -k 可以帮到我们Q他们帮我们搜烦帮助手册Q找到我们记忆中零星的线索,同时Q他q有一个别名apropos。所以至要Cmanq个帮助命o?br />
命o模糊查找命oQman -kQaproposQ?/strong>

如果我只记得passQ模p查找之后会把和pass相关的命令以及对应的U别昄出来Q很方便?/div>

*我记得某个命令怎么拼写Q但是我不需要查看那么一大堆帮助说明Q搜索引擎搜索也太慢Q问别h昑־太lowQ如何逃出困境Q显得高大上Q?/strong>
昄选项用法信息好
CZQ命令名 –helpQ如此一来,会简U的昄该命令的选项用法Q不会长大论的轰炸你!但是前提是你已经很清楚这个命令是怎么使用的了
其实帮助命o和帮助信息远不止上述q一些,GUN目提供了infoE序来提供帮助,infoE序通过info文g来加载帮助信息,在其中可以通过链接来定位C需要的信息Q直接键入info可以进入infoE序。除了infoQ你未来安装的各UY件也会提供帮助信息,他们通常会放?usr/share/doc下?/div>
命o已经如此之多Q帮助命令也不是一个两个,但是帮助命o的存在是Z让你更好的用系l,如何使用见仁见智?/div>


]]>六:shell下生存进Ӟ文g命ohttp://www.tkk7.com/produ/articles/430374.html都较?/dc:creator>都较?/author>Tue, 09 Jun 2015 04:26:00 GMThttp://www.tkk7.com/produ/articles/430374.htmlhttp://www.tkk7.com/produ/comments/430374.htmlhttp://www.tkk7.com/produ/articles/430374.html#Feedback0http://www.tkk7.com/produ/comments/commentRss/430374.htmlhttp://www.tkk7.com/produ/services/trackbacks/430374.htmll我们能在shell下愉快的“点击鼠标”Q恣意地在系l的目录间溜辑֐Q我们肯定需要在pȝ中增增减减,删删ҎQ充分的使用和个性化自己的系l。现在,在自q家目录下新增一个以自己名字命名的文件?/div>

一个新增文件的手段Qtouch

CZQtouch 文g?#8230; 多个文g名用I格隔开Q可以新增多个文?br />
新增一个文件的方式有很多种Q但是有些方式,或者有些命令的作用本不是新增一个文Ӟ新增文g可能只是一个附带的功能Q随着不断地学习,会了解更多的新增文g的方式,q里先知道touch可以新增文g?/div>

新增目录命oQmkdir
mkdir是make directories的羃?/div>

CZQmkdir 文g夹名… 多个文g夹名用空格隔开Q可以新增多个文件夹
好了Q文件和文g多w能创ZQ常用的复制_脓大法可是必修技?/div>

复制文g或目录命令:cp
cp是copy的羃?/div>

CZQ?/div>
cp file… 目标目录Q复制一个或者多个文件到目标目录Q多个文件之间用I格?/div>
cp file1 file2 Q创Z个名为file2的file1副本到当前目录(如果已存在file2文gQ那么会覆盖旧文Ӟd选项“-i”可以l出覆盖认的提C)
cp -r dir1 dir2Q复制目录dir1中的内容到目?dir2。如果目录dir2不存在,创徏目录dir2Q复制后Q目录dir2中的内容和dir1中的一栗?如果目录dir2存在Q则目录dir1(和目录中的内?会被复制到dir2中。(“-r”递归复制Q复制文件夹及其内容必须d该选项Q?/div>
Ud/重命名文件或目录命oQmv

mv是move的羃?/strong>
和cp命o的用法基本一_只不q要注意的是Qmv命o包含的两U功?/div>

CZQ?/div>
mv file… 目标目录Q移动一个或者多个文件到目标目录Q多个文件之间用I格隔开
mv file1 file2Q将file1文g重命名ؓfile2Q如果已存在file2文gQ那么会覆盖旧文Ӟd选项“-i”可以l出覆盖认的提C)
mv dir1 dir2Qdir2目录存在Q则dir1目录及其内容会被Ud到dir2中,如果dir2目录不存在,那么重命名dir1为dir2
删除文g或目录命令:rm

rm是remove的羃?/strong>
*在这里值得注意的是Qshell下是没有回收站这一说的Q在使用rm命o的时候要格外的小心,所以,删除之前不妨再次列表展示一下要删除的文Ӟ保万无一失?/div>
CZQ?/div>
rm file1 file2 …Q删除一个或多个文gQ多个文件名之间用空格隔开
rm -r dir1 dir2 …Q删除一个或多个文g夹及其所包含的内容,多个文g夹名字之间用I格隔开Q?#8220;-r”递归删除Q删除文件夹必须d的选项Q?/div>
rm -rf file dir …Q强制删除file文g和dir文g夹,无论他们是否存在Q不会给出相xC(“-f”强制执行Q忽略不存在的目标,没有相关提示Q?/div>

链接命oQln
在Windows中,我们l常使用右键Z个文件创建快h式,在Linux下,同样也可以做到。但是,在Linux中,使用“ln”创徏的链接有软硬之分?/div>

创徏软链?/strong>
在硬盘的每个分区上,都有一个分Q这其中记录着q个文gpȝ的文件信息。比如某一条记录会有文件的文g名,大小{,创徏一个Y链接之后QY链接在分中ƈ不会记录目标文g的这些信息,而是记录了目标文件和分区表相关的信息Q比如目标文件的分区表信息在哪个盘符{等Qƈ不记录分信息的内宏V因Y链接记录的是目标文g的分信息Q所以Y链接可以创徏跨盘W的链接Q可以对目录创徏链接Q而且删除q个软链接不会对源文仉成M影响Q但是一旦删除了源文Ӟ那么q个软链接就失效了,变成了一个垃N接,垃圾链接?#8220;ls”查看详细信息的时候会有特别的标注Q留意观察一下。当你打开一个Y链接的时候,实际上你打开的是软链接指向的那个文g或者文件夹Q打开之后的做的Q何变动都会反映到目标文g上,但是你如果删除一个Y链接QY链接指向的目标文件ƈ不会被删除,q是一个需要特别记住的地方?/div>

CZQ?/div>
ln -s target targetLinkQؓtarget文g创徏一个名为targetLink的Y链接Qtarget可以写成相对或者绝对\径的形式Q?#8220;-s”声明创徏的链接是软链接)

创徏链?/strong>
记得之前在说?#8220;ls”命o的时候接触到一?#8220;-l”选项Q用长格式来显C文件列表信息。显C的内容有一列叫做硬链接数量Q这里就是说的某个文件已l创建的链接数量。硬链接是文g在某个文件系l中的引用数量。每创徏一个硬链接Q分上就会多一条和源文件相同的分区表记录来记录链接名和对应内容的记录Q创建好的硬链接和源文g的所有信息都相同Q也包括分区表记录,Z能更好的说明q一点,需要ؓ“ls”命od一?#8220;-i”选项Q该选项意味着列表昄文g的烦引节点,索引节点相同Q意味着他们是同一个文件。因此,当你创徏一个硬链接Q?#8220;ls -i”查看Q你会发现目标文件和链接的信息完全一_当然名字可能会不一栗?链接的创徏不能跨越盘符Q因Z们必d同一个分区内Q也不能使用在目录上Q当一个文件的所有硬链接都被删除Q那么这个文件便没有链接引用他,他本w所占用的磁盘空间也会被删除。或许,你应该猜得到Q每个文件的文g名,是他自w的W一个硬链接?/div>
和Y链接一P打开链接就是打开目标文gQ所做的M变动都可以保留。当你删除一个硬链接Q除非这个硬链接是最后一个硬链接Q文件本w)Q否则不会删除源文g?/div>

CZQ?/div>
ln  target targetLinkQؓtarget文g创徏一个硬链接targetLinkQ源文g名和链接名要在同一个分Z?/div>


]]>五:shell下生存基Q目录命?/title><link>http://www.tkk7.com/produ/articles/430372.html</link><dc:creator>都较?/dc:creator><author>都较?/author><pubDate>Sun, 31 May 2015 03:58:00 GMT</pubDate><guid>http://www.tkk7.com/produ/articles/430372.html</guid><wfw:comment>http://www.tkk7.com/produ/comments/430372.html</wfw:comment><comments>http://www.tkk7.com/produ/articles/430372.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/produ/comments/commentRss/430372.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/produ/services/trackbacks/430372.html</trackback:ping><description><![CDATA[<div>对shell有了一个大概的认识之后Q就需要知道常用的命o了。shell中,有成百上千的命oQ有文献U?000个左叻I虽然数量如此庞大Q但是常用的命oq没有这么多Q有些命令会像在Windows下点击鼠标左右键一L频繁使用Q所以必L_深刻的认识和理解。在q里我不会详的去阐q每个命令具体细节,重复造轮子,摘抄文档q没有什么卵用,只是以思\和导向的手段完成从Windows使用者到Linux使用者的一个{变,帮助命oman会比我说明的更详?/div><div></div><div>命o的一般格式是Q命?-[选项] 参数 Q红色是可选项Q根据需求可有可?/div><div></div><div>文g列表命oQls</div><div>之前我们已经有用过ls命oQls是list directory contents的羃写,它的作用是列表指定文件夹下的内容</div><div></div><div>基本CZQ?br /><img src="http://www.tkk7.com/images/blogjava_net/produ/2015-05-31_17-44-51.png" border="0" alt="" width="640" height="91" /><br /><br /><div>上图在用ls命o的时候没有Q何参数和选项Q那么ls会直接列表出当前你所在目录的内容信息Qƈ按照默认的格式输出。但是需要详的查看文g信息Q这栯不够Q需要添加一个选项”-l”<br /><img src="http://www.tkk7.com/images/blogjava_net/produ/2015-05-31_17-56-11.png" border="0" alt="" width="640" height="254" /><br /><div><strong>*“l”意ؓlongQ用长格式展示内容Q?#8220;ls -l”q个命o加选项q有一个别名叫”ll”Q输?#8221;ll”会有相同的效果?br /><br /></strong><div>q个列表的大意如?br /><img src="http://www.tkk7.com/images/blogjava_net/produ/2015-05-31_20-46-13.png" border="0" alt="" width="640" height="165" /><br /><br /><div>有一个常用选项?#8220;-a”Q代表列出所有文Ӟ也包含隐藏文Ӟ在Linux中,隐藏文g?#8220;.”开_使用”ls -la”查看某个目录Q你可以看到某些隐藏文g</div><img src="http://www.tkk7.com/images/blogjava_net/produ/2015-05-31_21-05-53.png" border="0" alt="" width="640" height="285" /><br /><br /><div><strong>目录切换命ocd</strong></div><div>cd是Change the shell working directory的羃写,它用于切换当前所在的目录</div><div>直接使用“cd”命o和?#8220;cd ~”的作用相同,都是定位到当前用L家目?/div><div>使用“cd /”定位到根目录</div><div>linux中,“.”代表当前目录Q?#8220;..”代表上目录Q?#8220;cd .”执行q后目录不变Q?#8220;cd ..”q回上目录</div><div>cd [目录]Q添加目录参敎ͼ目录存在则会跌{到指定的目录</div><div></div><div><strong>昄当前目录pwd</strong></div><div>pwd是Print the name of the current working directory的羃写,用于展示当前所在目?br /><img src="http://www.tkk7.com/images/blogjava_net/produ/2015-05-31_21-20-22.png" border="0" alt="" width="640" height="76" /><br /><br /><div>xQ你知道了如何在shell下愉快的“点击鼠标”?/div></div></div></div></div></div><img src ="http://www.tkk7.com/produ/aggbug/430372.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/produ/" target="_blank">都较?/a> 2015-05-31 11:58 <a href="http://www.tkk7.com/produ/articles/430372.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>四:命o行,不,是shellhttp://www.tkk7.com/produ/articles/430370.html都较?/dc:creator>都较?/author>Tue, 26 May 2015 03:46:00 GMThttp://www.tkk7.com/produ/articles/430370.htmlhttp://www.tkk7.com/produ/comments/430370.htmlhttp://www.tkk7.com/produ/articles/430370.html#Feedback0http://www.tkk7.com/produ/comments/commentRss/430370.htmlhttp://www.tkk7.com/produ/services/trackbacks/430370.html之前Q我们做了最基本的操作,是查看了Linux的目录结构,我们通过在终端中Q也是?#8220;[用户名@L?~ ]#”后添?#8221;ls /“Q按下回车实现查看,其实在这里,操作的是一个名为shell的应用程序,对,是壳程序,shell键盘上获得的指令,发送给操作pȝL行,当然Q前提是存在q个指oQ你p一气他肯定不会认识的。此前我们认识的”[用户名@L?~ ]#“描述信息Q在q里有了一个名字,叫shell提示W。shellE序可以看做是我们和操作pȝq行交互的一个桥梁。以后多数的操作都会在shell下进行?/div>
那么说vshellQ就需要知道一个词Q叫做终端仿真器。因为在安装Linux的时候,选择安装?#8221;基础设施服务?#8220;q一个选项Q所以系l启动之后就是直接操作shell和系l进行交互。倘若我们安装了桌面程序,那么登陆之后看到的将会是像Windows那样的桌面,在桌面环境下Q我们需要打开一个叫l端仿真器的E序Q来和shellq行交互。就像这?br />


*你现在看到的q个H口Q就是终端仿真器了,如果没有安装桌面E序启动pȝQ就不存在终端仿真了Q因为本来就是真的?/strong>
复制_脓大法
虽然shell是和键盘打交道的Q但是有了光标之后,我们有了更多的选择。我们会l常的选中信息Q复制粘_但是在终端仿真器中,Crtl+C和Ctrl+V已经不再适用了,他们被赋予了其他的含义,可以使用鼠标复制_脓Q也可以使用Ctrl+insert和Ctrl+deleteq行赋值粘贴?/div>
命o历史
虽然目前输入的命令不多,但是在shell中,按下上下头会出C前输入过的命令,方便你进行命令的选择Q许?Linux 发行版默认保存最后输入的500个命令?/div>
q后控制?/strong>
即ɾl端仿真器没有运行,在后C然有几个l端会话q行着。它们叫做虚拟终?或者是虚拟控制台。在大多?Linux 发行版中Q这些终端会话都可以通过按下 Ctrl-Alt-F1 ?Ctrl-Alt-F6 讉K。当一个会话被讉K的时候, 它会昄d提示框,我们需要输入用户名和密码。要从一个虚拟控制台转换到另一个, 按下 Alt ?F1-F6(中的一?。返回图形桌面,按下 Alt-F1Q根据发行版不同Q按键可能会有不同)

在Linux的用过E中Q除非你想用ubuntu的炫L面)Q对于桌面程序的需求几乎是没有Q我们不会考虑在一台web服务器上安装Linux的桌面程序,都是使用shell来进行操作,所以,我们未来很多情况下都会用远E连接的l端仿真器,像XshellQputtyQsecureCRT{等q行操作Q要渐渐的适应使用命o去进行操作的方式。下面就试几个单的命o?/div>
cal 昄日历
date 查看旉和日?nbsp;


后箋我们展开常用的命?/div>

]]>三:W一ơ用Linuxhttp://www.tkk7.com/produ/articles/430369.html都较?/dc:creator>都较?/author>Mon, 25 May 2015 03:34:00 GMThttp://www.tkk7.com/produ/articles/430369.htmlhttp://www.tkk7.com/produ/comments/430369.htmlhttp://www.tkk7.com/produ/articles/430369.html#Feedback0http://www.tkk7.com/produ/comments/commentRss/430369.htmlhttp://www.tkk7.com/produ/services/trackbacks/430369.html安装好Linux之后Q马上开始第一ơ的使用吧!x都有点小Ȁ动~
打开虚拟机,许{待之后Q终于,打开成功了?Q?br />

深受Windows毒害的朋友第一眼看上去q有可能认ؓ没有开启成功,因ؓ“我熟悉的桌面在哪里?”Q但是,事实上Linux已经开启成功了。还记得当时安装的选项吗,我们选择的是“基础设施服务?#8221;Qƈ没有选择“GNOME桌面”Q所以,你现在看到的是一个没有桌面程序的LinuxpȝQ就好比Windows里的DOSl你的感觉一P需要手动输入一些指令来完成d?图上昄的是{待登陆的状态。因为是试环境Q我们直接用管理员root用户来登录?br />

*1Q输入密码的时候没?#8220;●”作ؓ占位W,所以输入的时候无感知Q注意不要输??2Q能看到他就说明你已l登陆成功了?br />
那么2对应的内Ҏ什么含义呢Q?/div>
首先Q这D|q有q样一个格?#8221; [用户名@L?~ ]# “Q上图中“root”当然是你的用户名Q然后localhost意味着你登录的是本C机,来你可能远E登录其他主机,那么此处昄的就是你登陆的那个主机的名字Q然后看到那?#8220;~”Q这个位|显C的信息是你当前所在的目录Q但?#8220;~”是代表当前用L“家目?#8221;Q好了,问题来了Q什么是家目录?在Linux中,用户一登陆上来Q当前你所处的目录位置是在你的家目录Qroot用户的家目录在“/root”Q?#8220;~”指代的就?#8220;/root”Q也是_你当在所在的目录?#8220;/root”Q就好比在Windows中,每个用户都有一个自己名字命名的文g夹一P通常在C:\Users下;目录的事情先放一放,往后看Q还有个“#”Q这意味着当前的登陆用h理员。这一D|qC息在Linux的学习和使用q程中如影随形,所以一定要明白q段信息的含义?/div>
*值得一提的是,q段信息在不同的Linux发行版中有细微的差别Q比如在ubuntu12中是q种格式“ 用户名@L?~# ”Q但是我怿qƈ不妨你ȝ解它?/strong>
好了Q我们现在登录成功了Q我能做什么呢Q或者说Q我希望览一下我的电脑,我想打开C盘看看有哪些文gQ该怎么做呢Q?/div>
q么惛_正常Q但是还记得在安装Linux时候的分区吗?我们把磁盘分成了“/boot”Q?#8220;/”?#8220;swap”分区Q所以在Linux中,没有印象里的C盘了Q不但如此,Linux的目录结构也和Windows有着很大的区别,Z更好的展C些区别,必须先知道两个命令,”cd”?#8220;ls”Q在刚才的窗口中先输?#8221;cd /”Q之后按下回车,再输?#8220;ls”Q按下回车,不出意外Q你会看到如下画面(Z你可以回忆一下输入位|行首信息的变化Q?/div>


Linux的不同不仅限于此Q还有黄U标注的内容Q就是系l目录下所有的内容了。不同于Windows的目录结构,Linux的目录结构是一个以根目录ؓ根的倒树叉结构,目录?#8221;/”是根目录,也是目录Q其他所有的文g都在q个目录下?div>
*Linux中是严格区分大小写的QWindows不区?/strong>
*在Linux中,一切都是文Ӟ对的Q一切,包括目录Q甚臌?/strong>
*Linux中的文g没有拓展名的概念Q不要根据文件的拓展名来断定文g的类型,即便是某个文件以“.txt”l尾Q他也有可能是一个图像文件。但是,Z方便Z的记忆和理Q我们有一些约定俗成的后缀名,比如Q脚本文件用“.sh”Q网|?#8220;.html”{,如果有了q些拓展名,可能会有特定高亮昄Q更便于理?/strong>
*Linux的Y件和Windows二者之间的软g不通用
*Windows中的目录在Linux中称为挂载点Q在Linux中,我们需要ؓ每个分区分配挂蝲点,比如将“/boot”分区分配?#8221;/boot”目录下,那么“/boot”目录是“/boot”分区的挂载点Q?/strong>
*Linux主要使用命o行进行操作,也就是我们刚才用的“cd”?#8220;ls”来进行操作(其实q么说不恰当Q但是不着急,会l深入认识)而不是桌面程序,q也和Linux所擅长的领域有兟뀂首先,使用命o行操作是专业人士的选择Q这个不用说也能有体会,其次Q不安装桌面E序{冗余的服务q能降低pȝ的开销和系l出错的概率Q保证系l的多数资源用在必要的服务上Q况且,服务开得越多,出错的可能就大Q更何况是安装一个桌面程序来操作?/strong>
上述差别你会慢慢体会到。在Windows中,我们通常会将pȝ安装在C盘,那么C盘就充当pȝ盘,我们在用的q程中就会额外注意,量不要个人的资料和程序放在C盘中。但是这q不l对Q没有规定说必须系l安装在C盘,也没有说不能把个料放在系l盘Q只是ؓ了方便管理,我们不那么做Q久而久之,U定俗成。在Linux中,也有q样U定俗成的常见挂载点。上图中
*boot攄了系l启动需要的文g
*dev保存了设备文?/strong>
*etc保存pȝ默认的配|文?/strong>
*lib函数库保存的位置
*miscQmediaQmntI挂载目录,是系lؓ了挂载外接设备文件而保留的挂蝲?/strong>
mnt目录在老式的Linux中也有,但是misc和media没有Q所以就使用mnt
*proc,sys是内存的挂蝲点,不可操作
*tmp是时挂载点
*usrpȝ资源挂蝲?/strong>
*varpȝ的可见文档挂载点
*binQsbinQusr/binQusr/sbin
都是用来保存pȝ指o的目录,区别是bin目录下放|的命o所有用户都可以使用
但是sbin目录下放|的命o|于理员可以?/strong>
xQ我希望你已l对Linux有了一个大概的认识


]]>二:安装Linuxhttp://www.tkk7.com/produ/articles/430368.html都较?/dc:creator>都较?/author>Sat, 16 May 2015 03:22:00 GMThttp://www.tkk7.com/produ/articles/430368.htmlhttp://www.tkk7.com/produ/comments/430368.htmlhttp://www.tkk7.com/produ/articles/430368.html#Feedback0http://www.tkk7.com/produ/comments/commentRss/430368.htmlhttp://www.tkk7.com/produ/services/trackbacks/430368.html对Linux有一个大概认识之后,那么现在需要一个Linux环境来供我们试验了?/div>
Linux的安装手D和Windows没什么差别,可以通过光盘镜像或者实体光盘进行安装。光盘镜像可以在各个发行商的官网上免费下载,q也是一个常见而快速获取Linuxpȝ的方式。另外,你也可以通过甌的方式获取Linux光盘Q然后发行商会将光盘邮寄l你。当然了Q选择下蝲镜像比较快速简z?/div>
对于刚接触Linux的朋友来_q不直接Linuxpȝ安装在本地磁盘上Q原因很多,但是最直接的原因就是Linux和Windows是两个不同的pȝQ用和操作方式上有很大的不同,很可能一旉难以适应Q所以徏议用虚拟机在你当前习惯的操作系l上模拟一个Linux环境q行试验好。哪怕你对Linux已经有一定的认识Q用虚拟机来替代本地盘直接安装也是一U更灉|的方式?/div>
记录中用的虚拟机是Vmware11QLinuxpȝ使用CentOS-7Q资源准备好之后Q那么就开始搭建Linux环境吧?br />
1Q首先配|Vmware





*注意Q这里创建的用户名就是Linux里真实的用户名称Qroot是管理员用户名,一般用户不能用root作ؓ用户?br />

*q里的虚拟机名称是给虚拟机Vmware用的Qƈ不是Linux的系l名U?br />

*在完成之前,修改Linux的网l设|,单击自定义硬?br />
*|络适配器选择桥接模式Q桥接模式会׃n实体机的|络。CD/DVD光驱攑օ需要安装的镜像文g。其他的g讄视个人情况开启或关闭

xQ虚拟机的配|就完成了,我们已经有了一台没有操作系l的电脑。接下来Q就像打开一台新电脑那样Q开启虚拟机Q之后进入BIOSQ调整系l启动顺序,优先加蝲光驱Q重启后q入Linux的安装界面。安装过E中Q一些简易的配置׃赘述了,关于pȝ的分区需要着重记录下来?/div>
*在系l下Q选择安装位置在系l下Q选择安装位置


*在分区选项下选择我要配置分区Q之后点d成。在新的界面中用标准分区创建新分区


*调整分区l构

在Linux的分ZQ根分区和交换分区是必须分出的,其中交换分区的大设|ؓ2048MBQ在实验环境下够用,但是在生产环境中Q徏议设定ؓ内存的两倍,但最大也不要过4GBQ而且文gpȝ也必LswapQ根分区的文件系l可以考虑最新的ext4。另外boot单独提出来作Z个分区是因ؓboot分区内存放了pȝ启动所必须的文Ӟ要预留出一定的I间Q如果boot没有单独分区Q和根分区在同一个分区内Q那么一旦根分区剩余I间不Q系l将无法启动Qboot单独分区主要是ؓ了系l的健康考虑。分区时主要的注意事就是以上几点,其他的分区可以依个h需求而定?/div>
分区l束之后Q在安装之前q需要选择你要安装的功能,比如最化安装Q基本功能安装,完整功能安装{诸如此cȝ选项

*在Y仉择中选择基础设施服务器,在实验环境下Q这U模式的安装会附带一些基本的功能Q但是对于生产环境来_一般是选择最化安装


*配置完毕之后Q就可以选择开始安装了Q安装的q程中会要求你设定root用户的密码,照做卛_Q安装完成之后重启,CentOS安装完毕了?/strong>


]]>一Q初识Linuxhttp://www.tkk7.com/produ/articles/430367.html都较?/dc:creator>都较?/author>Sun, 10 May 2015 03:04:00 GMThttp://www.tkk7.com/produ/articles/430367.htmlhttp://www.tkk7.com/produ/comments/430367.htmlhttp://www.tkk7.com/produ/articles/430367.html#Feedback0http://www.tkk7.com/produ/comments/commentRss/430367.htmlhttp://www.tkk7.com/produ/services/trackbacks/430367.html
写作背景介绍Q作Z名web开发者,之前的学习工作中都是在Windows环境下进行的Q但是随着学习和工作的不断深入Q渐渐的发现仅仅是停留在Windows环境下已l不能满q需求了Q所以很有必要进行^台的q移Q尤其是在服务器领域。在此特别启动日志Q务,记录下自己学习的心\历程Q由于个人水qx限,有Q何不_错误请不吝批评指教,共勉?/div>
*Ҏ使用的Linux版本的不同,不能保证内容的完全正?/strong>
Ch上\
1Q什么是LinuxQ?/div>
linux是一个操作系l,和Windows属于一cYӞ打个比方是Q汽车有很多U,车,大卡车等{。Windows好比车,时尚炫酷易上手,Linux好比SUVQ安全稳定很可靠?/div>

2QLinux是怎么来的Q?/div>
而言之,q程是这LQ一位教授ؓ了方便教学,借鉴UnixQ自己写了一个系l叫MinixQ开攄自己的学生学习和研究Q通过|络QMinix传播的很快,同时Q因为是开源的Q源代码可见不经q编译,所以很多学生和爱心人士发现了这个系l存在的一些不I于是自己q行了修改,q反馈给该教授,但是教授的初hZ教学Q对于优化和商业化等事宜不太感兴,所以反映ƈ不积极。同时期Q有一个学生,也就是Linus Benedict TorvaldsQ他自己写了一套操作系l,叫Linus‘Unix也就是后来的LinuxQ他把自己写好的pȝ开攑և来,供大家用和改进Q在策力之下Q逐步有了如今的Linux?/div>

3QLinux属于谁?他是免费的吗Q?/div>
严格来讲QLinux没有l对的归属,如果要有的话Q那么它属于所有ؓLinux贡献q力量的开发者和爱心人士?Linux是自pYӞ但是自由软g不等于免贏VLinux是免费的Q而且是开放源代码的,q就意味着M人都可以查看和修改它?/div>

4QLinux现在C么版本了Q那个版本最好?
内核版本信息可以到去www.kernel.org查看最新的信息。至于那个版本最好,q个问题没法回答Q视现实情况而定?/div>

5QLinux的内核版本和发行版本的区分?
Linux不像Windows那样Q因为Windows属于微YQ有着序的版本,从Windows95Q到xp{一pd版本Q但是Linux不属于具体哪一个组l或者个人,有很多公叔R有自qLinux版本。所谓内核版本就是核心版本,发行版本很多是Z当前的核心版本拓展优化而来Q核心版本可以通过www.kernel.org来查看,发行版本要根据发行厂商来军_?/div>

6Q有哪些L的Linux版本呢?
Linux操作pȝ的优势是在服务器领域Q而服务器领域的翘楚莫q于RedHat LinuxQ不qRedHat Linux有些部分是收费的Q这里不要误会,他收Ҏ在一些售后服务领域收取的一些服务费用,RedHat Linux本n是免Ҏ供下载的。和RedHat LinuxcM的还有CentOSQFedora。Ubuntu是一个图形界面比较炫LLinux。就学习目的而言QCentOS和Ubuntu都可以考虑?/div>

7Q学了Linux有什么用呢?
首先Q要清楚Q在个h电脑领域QLinux的市场占有率q不及WIndowsQ以LinuxZ要操作系l的个h电脑q不多见QLinux的擅长的领域q不在娱乐和办公上,而是在网站应用服务器和嵌入式领域上,因ؓQ开发h员熟l掌握Linux的重要性毋庸置疑,无论你是Web开发者还是移动互联网开发者,更有力的数据可以查看www.netcraft.com?/div>
结QLinux和Windows同是操作pȝQ他们有着各自擅长的领域,好比小轿R和大卡R随同是RQ但是用途和擅长有不同。从Windows到Linux的过度要有一个空杯心态,抛弃原来的固有概念,不要性的cL学习Q?UQ?/div>


]]> վ֩ģ壺 ޹Ʒ۲ӰԺ߹ۿ| þþƷAVɫ| | У԰ɫС˵| ĻӰѹۿ| ߹ۿƵվɫ| Ƶַ| ޾ƷӰԺ| 91Ʒ߹ۿ| ŮƵվ| һӰ| պһƵ| 97Ƶѹۿ2| Ƶһѹۿ| þѾƷav| avר߹ۿ| ̼aƬվ| ˬָ߳ˮƵ| һ| ޾ƷһۺϾƷ99| 1000ƬƵѿ| ƷžƷƵ| ޳aƬ߹ۿƷ| ޾Ʒ׽þþþþ| Ƭѿҹa| þƵ| Ļ˾Ʒ| 91۲޾Ʒ| ޹Ʒһ| ڵƷƵ| 99þù뾫Ʒ| ԴԴѹۿ| Ƶ| Ļ| һѹۿ| ޾Ʒ| ѹۿСˮ| պƷר| 99þ99ȾƷѹۿ| йͽxxxxxѿ| Ƶһѹۿ|