众所周知,shell是Linux操作系统下的主要管理工具。系统管理员除了要掌握shell下的命令外,还需要掌握一些特殊的字符。这些特殊字符可以帮助系统管理员将多个命令组合成一个命令,或者说可以让系统管理员更便捷的操作。笔者就给大家介绍一下这些特殊字符以及相关的应用。

众所周知,shell是Linux操作体系下的首要办理工具。体系办理员除了要把握shell下的指令外,还需求把握一些特别的字符。这些特别字符能够协助体系办理员将多个指令组合成一个指令,或许说能够让体系办理员更快捷的操作。笔者就给我们介绍一下这些特别字符以及相关的运用。

Linux中学会灵敏运用shell下的特别字符(shell 字符操作)  Linux shell 特殊字符 第1张

  一、快速在目录之间切换。

  在Linux操作体系的文本形式下,在目录之间进行切换都需求经过指令来完结。明显这没有图形化界面下运用鼠标点点那么便利。可是,shell中依然供给了一些特别的字符。在这些字符的协助下,体系办理员能够轻松的在不同的目录之间进行切换。

  如现在体系办理员想从任何目录中回到用户的主目录下,除了按原路回来外,还有其他更快的办法吗?其实,要回到用户的主目录下,有一个很快捷的办法,便是经过一个特别的字符~来完结。通常情况下,当办理员创立某个用户后,在体系的/home目录中会以这个用户的姓名树立一个文件夹。这个文件夹地点的目录便是用户的主目录。当用户不知道自己所在那个目录,而需求敏捷回到自己的主目录时,能够运用这个指令来完成:cd ~。也便是说,特别符号~在操作体系中代表的是用户的主目录。由于不同用户的主目录不同,运用这个主目录能够快速的回到自己的主目录下面。

  在目录切换过程中,还有两个比较重要的特别字符,分别为.与..符号。其间“.”表明当时目录。这个符号很重要,在许多当地都需求用到。如在界说PATH环境变量的时分,在路经的***需求加上这个.号,这表明当时目录。别的,假如体系办理员想运转当时目录下的一个脚本文件,如setup.sh。则能够不选用绝对路径,而直接运用./setup.sh。其间这个.符号就代表当时目录。在cd指令中也能够运用.号,如cd ./setup,就表明进入到当时目录的下一个子目录setpup下面。所以说这个特别符号..(英文状态下的点号)在切换目录的时分十分有用。别的一个特别的字符便是“..”(英文状态下的双点号)在体系中表明的是上一级目录。如故办理员运用cd指令界说到一个目录后,又想回到上一级目录中,则能够运用cd ..指令来完成。留意cd指令与点号之间要有空格。

  体系办理员若能够娴熟运用这些特别字符,特别是表明用户主目录的~符号,能够协助办理员敏捷切换到自己想要的目录下。如在Linux客户端中,往往用户邮箱的文件夹是保存在用户主目录下面的。如用户或许选用的是thunderbird的邮件客户端。选用这个客户端有一个坏处,即当Linux体系非法关机后,开会在邮件的目录中产生一个lock的文件。客户端就不能够翻开。仅仅体系办理员需求切换到用户主目录下的邮件文件夹中,删去这lock文件。此刻比较简略的办法,便是直接运用~符号定位到用户的主目录下,然后再进入到邮件目录中,找到这个文件并删去。这笔一级一级的进入要快的多。

  二、将履行成果保存到文件中。

  用户在日常的操作中,或许需求将某些指令的履行成果保存到文件中。如需求将一些程序的运转成果保存到日至文件中等等。笔者现在以一个简略的比如为例。Ps指令是用来显现当时体系运转程序的指令。如在指令行中,输入ps指令能够显现当时体系运转的一切程序(留意程序跟进程是两个不同的经历)。其间会显现运用程序的进程号、终端信息、运转时刻以及程序姓名等等。现在办理员假如要将这些信息保存到一个特定的文件中,该怎么完成呢?

  此刻体系办理员能够在指令后边选用一个特别的字符>,如ps > ps.txt的办法,将指令ps的履行成果保存到文本文件ps.txt 中。假如方针文件不存在的话,则体系会创立文件并保存信息。假如方针文件存在的话,则体系会掩盖原先的文件。所以,在运用>这个特别符号来创立文件的时分,需求特别的留意。由于方针文件存在,则体系不会给用户任何的提示信息,就把方针文件删去并新建同名的文件。为此一不小心就或许会形成文件的丢掉。不过其还有一个双胞胎的兄弟,即>>符号。这个特别符号跟>符号相似,也是将履行成果保存到一个文件中。不过这个符号与>符号有一个很大的不同。假如方针文件现已存在的话,两个符号的履行效果是不同的。假如选用的是>符号的话,则体系会主动掩盖它。而假如选用的是>>符号的话,在体系不会掩盖现已存在的方针文件,而仅仅在这个方针文件中追加相关地记载。假如方针文件不存在的话,则依然会主动创立方针文件。

  由于>>符号不会主动掩盖方针文件,仅仅在方针文件中追加记载。为此这个符号还有其他一些特别的用处,如能够用来兼并不同的文件。如现在有连个文件listjpg.txt与listgif.txt。在这个两个文件中首要保存着jpg与gif的图片姓名。现在用户想将这个两个文件兼并,或许说想将listjpg.txt中的记载追加到listgif.txt文件中。此刻该怎么处理呢?运用指令cat listjpg.txt >> listgif.txt就能够完成这个功用了。这个指令的意思是,先运用cat指令将文件listjpg.txt的内容读取出来然后追加到listgif.txt文件中。履行了这个指令后,就会将两个文件兼并。不过原先的文件依然存在。假如不需求的话,就需求手艺的删去它。

  由于这两个特别符号功用相似,可是完成细节上有所差异。为此体系办理员需求把握其间的差异,并在实践作业中挑选适宜的处理办法。如在一些装置程序中,需求将装置过程中的信息保存在日志文件中。可是在下一次重新装置的过程中,体系办理员或许喜爱先将原先的日志删去。由于这会添加阅览量。此刻便是选用>这个特别符号来完成比较合理,由于其会主动删去日志文件。

#p#

三、将程序放在后台运转。

  有些时分,体系办理员或许期望某些程序在体系后台运转。假如将Linux操作体系当作服务器来办理的话,讲一些长时刻运转的程序放在后台运转是一种很常见的手法。如现在办理员运用while循环来完成一个功用。每5分钟来判别一下某个运用体系是否有产生过错的日志文件。假如有的话要马山将这个过错日志文件发送给体系办理员。写完这个脚本程序之后,***的办法便是将这个脚本程序放置在后台运转。由于这个程序需求长时刻运转,假如在前台运转的话,或许会对其他程序产生搅扰。并且也简单被误封闭。所以,放在后台履行反而愈加合理。那么在Linux操作体系中是怎么将脚本程序避免在后台运转的呢?此刻也需求用到别的一个特别字符&。如这个脚本程序的姓名为errorlog.sh。则办理员只需求运转指令errorlog.sh &,体系就会将这个程序放置在后台运转。

  四、解说特别字符的转义字符。

  在微软操作体系中,某些字符是不能够用来做文件名的。如*这个米字符号,其是用来做通配符用的,不能够在文件名或许目录名中呈现。可是在Linux操作体系中没有这方面的约束。如test*.txt在Linux操作体系中是一个合法的姓名。莫非*符号在Linux操作体系中不做通配符运用吗?其实,在Linux操作体系中这个*符号也有特别的意义,其也是代码通配符。如运用ls text*指令,能够列出一切已text最初的文件或许目录的姓名。那么为什么在Linux操作体系中还能够运用这个*米字符号来作为文件名呢?这都是转义字符\在其效果。

  如现在用户想在文件姓名中参加一个*米字符,则能够运用指令vi text\*.txt来完成。在这个通配符*米字符号前面参加一个搬运字符\,就告知体系要将这个*字符当作一般字符来对待。其实这个转义字符的重要效果仍是体现在文件的删去上面。如现在某个目录下有如下几个文件,chap*.txt,chap1.txt,chap2.txt。其间chap*表明一本书的目录,而其他的表明这个本书的各章内容。假如现在体系办理员想把目录文件删去了,选用了rm chap*.txt指令,还有什么结果呢?此刻体系会把一切的以chap最初的文件删去。也便是说,不但光是目录文件,章节的内容文件也被删去了。由于此刻操作体系是将这个*符号当作通配符来对待。假如要删去目录文件在,则正确的指令应该这么写:rm chap\*.txt。这个指令便是告知体系这个*符号为一般的符号,而不是通配符。此刻体系就会将这个目录文件删去了,而不会影响到其他文件。

  尽管说在Linux操作体系中经过转义字符的办法答应用户选用一些特别的字符来为文件命名。可是出于今后办理的便利,笔者仍是主张我们不要选用特别符号来命名。不然一不小心就会产生不行拯救的丢失。如上面的事例中,将*通配符当作文件姓名的话,那么在删去时就很简单将相关的文件悉数删去。

【修改引荐】

  1. Linux体系下装备Netware服务器办法
  2. 嵌入式设备上的 Linux 体系开发
  3. 深度介绍Linux内核是怎么作业的(1)
转载请说明出处
知优网 » Linux中学会灵敏运用shell下的特别字符(shell 字符操作)

发表评论

您需要后才能发表评论