⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 命令大集合.htm

📁 有关于linux 学习的书籍
💻 HTM
📖 第 1 页 / 共 5 页
字号:
<br>
<br>dd:删除光标所在的整行。在dd前可加上一个数字n,表示删除当前行及其后n-1行的内容。 
<br>
<br>D或d$:两命令功能一样,都是删除从光标所在处开始到行尾的内容。 
<br>
<br>d0:删除从光标前一个字符开始到行首的内容。 
<br>
<br>dw:删除一个单词。若光标处在某个词的中间,则从光标所在位置开始删至词尾。同dd命令一样,可在dw之前加一个数字n,表示删除n个指定的单词。 
<br>
<br>如果用户不小心进行了误删除操作,也不要紧,Vi提供了恢复误操作的命令,并且可以将恢复的内容移动,放在文本的任何地方。恢复命令用&amp;sup2; np,其中n为寄存器号。这是因为Vi内部有9个用于维护删除操作的寄存器,分别用数字1,2,&amp;frac14; ,9表示,它们分别保存以往用dd命令删除的内容。这些寄存器组成一个队列,例如最近一次使用dd命令删除的内容被放到寄存器1中;当下次再使用dd命令删除文本内容时,Vi将把寄存器1的内容转存到寄存器2中,而寄存器1中又将是最近一次dd命令删除的内容。以此类推,Vi可以保存有最近九次用dd命令删除的内容,而前面的用dd命令删除的内容则被抛弃。 
<br>
<br>[例18] 假设当前编辑文件为xu.c 
<br>
<br>/* this is a example */ 
<br>
<br>#include &lt;stdio.h&gt; 
<br>
<br>void main( ) 
<br>
<br>{ 
<br>
<br>int i , j ; 
<br>
<br>printf( “ please input a number : / n ” ); 
<br>
<br>scanf ( “ % d ” , &amp;i ) ; 
<br>
<br>j = i + 100 ; 
<br>
<br>printf ( “ /n j = % d /n ” , j ) ; 
<br>
<br>return ; 
<br>
<br>} 
<br>
<br>我们对其进行如下操作: 
<br>
<br>1. 将光标移至文件第一行,按dd命令,此时文件第一行的内容被删除,且被删除的内容保存在寄存器1中; 
<br>2. 按5j使光标下移至第一个printf语句行; 
<br>3. 按dd命令将该行删除,此时寄存器1中将保存刚刚被删除的内容: 
<br>
<br>printf (“ please input a number :\ n ” ); 
<br>
<br>而寄存器1原有的内容: 
<br>
<br>/* this is a example */ 
<br>
<br>则被保存到寄存器2中; 
<br>
<br>在最末行模式下,也可以对文件内容进行删除,但它只能删除整行,一次可将某个指定范围内(起始行号,终止行号)的所有行全部删除。需要注意的是,用此种方法进行删除时,Vi并不把所删内容放入寄存器中,因而当发生误删除操作时,不能用&amp;sup2; np命令恢复,只能用u命令进行有限的恢复。 
<br>
<br>最后提一下,如何在文本输入方式时将所输入文本删除。用户使用&lt;Ctrl+u&gt;组合键即可,此时光标将返回插入开始的位置,并且Vi仍处于文本输入方式。 
<br>
<br>  
<br>
<br>取消上一命令(Undo) 
<br>
<br>取消上一命令(Undo),也称复原命令,是非常有用的命令,它可以取消前一次的误操作或不合适的操作对文件造成的影响,使之回复到这种误操作或不合适操作被执行之前的状态。 
<br>
<br>取消上一命令有两种形式,在命令模式下键入字符u和U。它们的功能都是取消刚才输入的命令,恢复到原来的情况。小写u和大写U在具体细节上有所不同,二者的区别在于,大写U命令的功能是恢复到误操作命令前的情况,即如果插入命令后使用U命令,就删除刚刚插入的内容;如果删除命令后使用U命令,就相当于在光标处又插入刚刚删除的内容。这里把所有修改文本的命令都视为插入命令。也就是说,U命令只能取消前一步操作,如果用U命令撤消了前一步操作,当再按U键时,并不是撤消再前一步的操作,而是撤消了刚才U命令执行的操作,也就是又恢复到第一次使用U命令之前的状态,结果是什么都没做。而小写u命令的功能是把当前行恢复成被编辑前的状态,而不管此行被编辑了多少次。 
<br>
<br>  
<br>
<br>[例19] 原来屏幕显示内容为: 
<br>
<br>#include &lt;stdio.h&gt; 
<br>
<br>main ( ) 
<br>
<br>{ 
<br>
<br>} 
<br>
<br>在命令模式下输入命令o,插入一新行,输入需要插入的内容后再按&lt;Esc&gt;回到命令模式,屏幕显示内容为: 
<br>
<br>#include &lt;stdio.h&gt; 
<br>
<br>main ( ) 
<br>
<br>{ 
<br>
<br>printf ( “ How do you do ! ” ) ; 
<br>
<br>} 
<br>
<br>若想取消这一插入操作,请按命令U后,屏幕恢复到原来显示的情况。 
<br>
<br>注意:对于取消命令仍可以再使用取消命令。这时会产生一种“负负得正”的效果,文件状态将恢复到第一次执行取消命令之前的状态,如同没做任何操作一般。例如在上例中,再使用一次命令U,屏幕将显示的内容仍为插入后的内容。 
<br>
<br>  
<br>
<br>重复命令(Redo) 
<br>
<br>重复命令也是一个非常常用的命令。在文本编辑中经常会碰到需要机械地重复一些操作,这时就需要用到重复命令。它可以让用户方便地再执行一次前面刚完成的某个复杂的命令。 
<br>
<br>重复命令只能在命令模式下工作,在该模式下按“.”键既可。执行一个重复命令时,其结果是依赖于光标当前位置的。 
<br>
<br>[例20] 屏幕显示内容为: 
<br>
<br>#include &lt;stdio.h&gt; 
<br>
<br>main ( ) 
<br>
<br>{ 
<br>
<br>} 
<br>
<br>输入命令o,并输入一行内容后,再&lt; Esc &gt;返回到命令模式下,屏幕显示内容为: 
<br>
<br>#include &lt;stdio.h&gt; 
<br>
<br>main ( ) 
<br>
<br>{ 
<br>
<br>printf ( “ How do you do ! ” ) ; 
<br>
<br>} 
<br>
<br>此时输入命令“.”,屏幕显示内容为: 
<br>
<br>#include &lt;stdio.h&gt; 
<br>
<br>main ( ) 
<br>
<br>{ 
<br>
<br>printf ( “ How do you do ! ” ) ; 
<br>
<br>printf ( “ How do you do ! ” ) ; 
<br>_________________
<br>碧轩 
<br>人之初,性本色! 
<br><a href="http://www.ourlinux.net/">http://www.ourlinux.net/</a>
<br><a href="http://yum.ourlinux.net/">http://yum.ourlinux.net/</a>
<br><a href="http://apt.ourlinux.net/">http://apt.ourlinux.net/</a>
<br><a href="http://download.ourlinux.net/">http://download.ourlinux.net/</a>
<br>游戏交易:<a href="http://www.0579tt.com/">http://www.0579tt.com/</a>
<br> 
<br>返回页首            
<br> 
<br> 
<br>bixuan
<br>公社特别嘉宾
<br>
<br>
<br>
<br>注册: Nov 23, 2002
<br>文章: 1994
<br>位置: 浙江金华
<br> 发表于: 2003-04-12, 9:14am    发表主题:    
<br>
<br>--------------------------------------------------------------------------------
<br> 
<br>shell命令[转帖] 
<br>shell是用户和Linux操作系统之间的接口。Linux中有多种shell,其中缺省使用的是Bash。本章讲述了shell的工作原理,shell的种类,shell的一般操作及Bash的特性。 
<br>
<br> 什么是shell 
<br>
<br>Linux系统的shell作为操作系统的外壳,为用户提供使用操作系统的接口。它是命令语言、命令解释程序及程序设计语言的统称。 
<br>
<br>shell是用户和Linux内核之间的接口程序,如果把Linux内核想象成一个球体的中心,shell就是围绕内核的外层。当从shell或其他程序向Linux传递命令时,内核会做出相应的反应。 
<br>
<br>shell是一个命令语言解释器,它拥有自己内建的shell命令集,shell也能被系统中其他应用程序所调用。用户在提示符下输入的命令都由shell先解释然后传给Linux核心。 
<br>
<br>有一些命令,比如改变工作目录命令cd,是包含在shell内部的。还有一些命令,例如拷贝命令cp和移动命令rm,是存在于文件系统中某个目录下的单独的程序。对用户而言,不必关心一个命令是建立在shell内部还是一个单独的程序。 
<br>
<br>shell首先检查命令是否是内部命令,若不是再检查是否是一个应用程序(这里的应用程序可以是Linux本身的实用程序,如ls和rm,也可以是购买的商业程序,如xv,或者是自由软件,如emacs)。然后shell在搜索路径里寻找这些应用程序(搜索路径就是一个能找到可执行程序的目录列表)。如果键入的命令不是一个内部命令并且在路径里没有找到这个可执行文件,将会显示一条错误信息。如果能够成功找到命令,该内部命令或应用程序将被分解为系统调用并传给Linux内核。 
<br>  
<br>shell的另一个重要特性是它自身就是一个解释型的程序设计语言,shell程序设计语言支持绝大多数在高级语言中能见到的程序元素,如函数、变量、数组和程序控制结构。shell编程语言简单易学,任何在提示符中能键入的命令都能放到一个可执行的shell程序中。 
<br>
<br>当普通用户成功登录,系统将执行一个称为shell的程序。正是shell进程提供了命令行提示符。作为默认值(TurboLinux系统默认的shell是BASH),对普通用户用“$”作提示符,对超级用户(root)用“#”作提示符。 
<br>
<br>一旦出现了shell提示符,就可以键入命令名称及命令所需要的参数。shell将执行这些命令。如果一条命令花费了很长的时间来运行,或者在屏幕上产生了大量的输出,可以从键盘上按ctrl+c发出中断信号来中断它(在正常结束之前,中止它的执行)。 
<br>
<br>当用户准备结束登录对话进程时,可以键入logout命令、exit命令或文件结束符(EOF)(按ctrl+d实现),结束登录。 
<br>
<br>我们来实习一下shell是如何工作的。 
<br>
<br>$ make work 
<br>
<br>make:***No rule to make target ‘work’. Stop. 
<br>
<br>$ 
<br>
<br>注释:make是系统中一个命令的名字,后面跟着命令参数。在接收到这个命令后,shell便执行它。本例中,由于输入的命令参数不正确,系统返回信息后停止该命令的执行。 
<br>
<br>在例子中,shell会寻找名为make的程序,并以work为参数执行它。make是一个经常被用来编译大程序的程序,它以参数作为目标来进行编译。在“make work”中,make编译的目标是work。因为make找不到以work为名字的目标,它便给出错误信息表示运行失败,用户又回到系统提示符下。 
<br>
<br>另外,用户键入有关命令行后,如果shell找不到以其中的命令名为名字的程序,就会给出错误信息。例如,如果用户键入: 
<br>
<br>$ myprog 
<br>
<br>bash:myprog:command not found 
<br>
<br>$ 
<br>
<br>可以看到,用户得到了一个没有找到该命令的错误信息。用户敲错命令后,系统一般会给出这样的错误信息。 
<br>
<br>shell的种类 
<br>
<br>Linux中的shell有多种类型,其中最常用的几种是Bourne shell(sh)、C shell(csh)和Korn shell(ksh)。三种shell各有优缺点。Bourne shell是UNIX最初使用的shell,并且在每种UNIX上都可以使用。Bourne shell在shell编程方面相当优秀,但在处理与用户的交互方面做得不如其他几种shell。Linux操作系统缺省的shell是Bourne Again shell,它是Bourne shell的扩展,简称Bash,与Bourne shell完全向后兼容,并且在Bourne shell的基础上增加、增强了很多特性。Bash放在/bin/bash中,它有许多特色,可以提供如命令补全、命令编辑和命令历史表等功能,它还包含了很多C shell和Korn shell中的优点,有灵活和强大的编程接口,同时又有很友好的用户界面。 
<br>
<br>C shell是一种比Bourne shell更适于编程的shell,它的语法与C语言很相似。 Linux为喜欢使用C shell的人提供了Tcsh。Tcsh是C shell的一个扩展版本。Tcsh包括命令行编辑、可编程单词补全、拼写校正、历史命令替换、作业控制和类似C语言的语法,它不仅和Bash shell是提示符兼容,而且还提供比Bash shell更多的提示符参数。 
<br>
<br>Korn shell集合了C shell和Bourne shell的优点并且和Bourne shell完全兼容。Linux系统提供了pdksh(ksh的扩展),它支持任务控制,可以在命令行上挂起、后台执行、唤醒或终止程序。 
<br>
<br>Linux并没有冷落其他shell用户,还包括了一些流行的shell如ash、zsh等。每个shell都有它的用途,有些shell是有专利的,有些能从Internet网上或其他来源获得。要决定使用哪个shell,只需读一下各种shell的联机帮助,并试用一下。 
<br>
<br>用户在登录到Linux时由/etc/passwd文件来决定要使用哪个shell。例如: 
<br>
<br># fgrep lisa /etc/passwd 
<br>
<br>lisa:x:500:500:TurboLinux User:/home/lisa:/bin/bash 
<br>
<br>shell被列每行的末尾(/bin/bash)。 
<br>
<br>由于Bash是Linux上缺省的shell,本章主要介绍Bash及其相关知识。 
<br>
<br>shell命令 
<br>
<br>命令行c 
<br>
<br>用户登录到Linux系统时,可以看到一个shell提示符,标识了命令行的开始。用户可以在提示符后面输入任何命令及参数。例如: 
<br>
<br>$ date 
<br>
<br>二 11 23 01:34:58 CST 1999 
<br>
<br>$ 
<br>
<br>用户登录时,实际进入了shell,它遵循一定的语法将输入的命令加以解释并传给系统。命令行中输入的第一个字必须是一个命令的名字,第二个字是命令的选项或参数,命令行中的每个字必须由空格或TAB隔开,格式如下: 
<br>
<br>$ Command Option Arguments 
<br>
<br>1. 选项和参数 
<br>
<br>选项是包括一个或多个字母的代码,它前面有一个减号(减号是必要的,Linux用它来区别选项和参数),选项可用于改变命令执行的动作的类型。例如: 
<br>
<br>$ ls 
<br>
<br>motd passwd 
<br>
<br>$ 
<br>
<br>这是没有选项的ls命令,可列出当前目录中所有文件,只列出各个文件的名字,而不显示其他更多的信息。 
<br>
<br>$ ls -l 
<br>
<br>total 2 
<br>
<br>-rw-r--r-- 2 wzh book 22 Apr 20 20:37 motd 
<br>
<br>-rw-r--r-- 2 wzh book 796 Apr 20 20:37 passwd 
<br>
<br>$ 
<br>
<br>加入-l选项,将会为每个文件列出一行信息,诸如数据大小和数据最后被修改的时间。 
<br>
<br>大多数命令都被设计为可以接纳参数。参数是在命令行中的选项之后键入的一个或多个单词,例如: 
<br>
<br>$ ls -l text 
<br>
<br>-rw-r--r-- 2 wzh book 22 Apr 20 20:37 motd 
<br>
<br>-rw-r--r-- 2 wzh book 796 Apr 20 20:37 passwd 
<br>
<br>$ 
<br>
<br>将显示text目录下的所有文件及其信息。 
<br>
<br>有些命令,如ls可以带参数,而有一些命令可能需要一些最小数目的参数。例如,cp命令至少需要两个参数,如果参数的数目与命令要求不符,shell将会给出出错信息。例如: 
<br>
<br>$ cp -i mydata newdata 
<br>
<br>注意:命令行中选项先于参数输入。 
<br>2. 命令行特征 
<br>
<br>命令行实际上是可以编辑的一个文本缓冲区,在按回车之前,可以对输入的文本进行编辑。比如利用BACKSPACE键可以删除刚键入的字符,可以进行整行删除,还可以插入字符,使得用户在输入命令,尤其是复杂命令时,若出现键入错误,无须重新输入整个命令,只要利用编辑操作,即可改正错误。 
<br>
<br>利用上箭头可以重新显示刚执行的命令,利用这一功能可以重复执行以前执行过的命令,而无须重新键入该命令。 
<br>
<br>bash保存着以前键入过的命令的列表,这一列表被称为命令历史表。按动上箭头,便可以在命令行上逐次显示各条命令。同样,按动下箭头可以在命令列表中向下移动,这样可以将以前的各条命令显示在命令行上,用户可以修改并执行这些命令。这一特征将在10.4节中进行详细的论述。 
<br>
<br>在一个命令行中还可以置入多个命令,用分号将各个命令隔开。例如: 
<br>
<br>$ ls -F;cp -i mydata newdata 
<br>
<br>也可以在几个命令行中输入一个命令,用反斜杠将一个命令行持续到下一行。 
<br>
<br>$ cp –i 
<br>
<br>mydata 
<br>
<br>newdata 
<br>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -