Bshell与Cshell详解

Bshell与Cshell详解
Bshell与Cshell详解

Linux主要shell命令详解

shell是用户和Linux操作系统之间的接口。Linux中有多种shell,其中缺省使用的是Bash。本章讲述了shell的工作原理,shell的种类,shell的一般操作及Bash的特性。

什么是shell

Linux系统的shell作为操作系统的外壳,为用户提供使用操作系统的接口。它是命令语言、命令解释程序及程序设计语言的统称。

shell是用户和Linux内核之间的接口程序,如果把Linux内核想象成一个球体的中心,shell就是围绕内核的外层。当从shell或其他程序向Linux传递命令时,内核会做出相应的反应。

shell是一个命令语言解释器,它拥有自己内建的shell命令集,shell也能被系统中其他应用程序所调用。用户在提示符下输入的命令都由shell先解释然后传给Linux

核心。

有一些命令,比如改变工作目录命令cd,是包含在shell内部的。还有一些命令,例如拷贝命令cp和移动命令rm,是存在于文件系统中某个目录下的单独的程序。对用户而言,不必关心一个命令是建立在shell内部还是一个单独的程序。

shell首先检查命令是否是内部命令,若不是再检查是否是一个应用程序(这里的应用程序可以是Linux本身的实用程序,如ls和rm,也可以是购买的商业程序,如xv,或者是自由软件,如emacs)。然后shell在搜索路径里寻找这些应用程序(搜索路径就是一个能找到可执行程序的目录列表)。如果键入的命令不是一个内部命令并且在路径里没有找到这个可执行文件,将会显示一条错误信息。如果能够成功找到命令,该内部命令或应用程序将被分解为系统调用并传给Linux内核。

shell的另一个重要特性是它自身就是一个解释型的程序设计语言,shell程序设计语言支持绝大多数在高级语言中能见到的程序元素,如函数、变量、数组和程序控制结构。shell编程语言简单易学,任何在提示符中能键入的命令都能放到一个可执行的shell程序中。

当普通用户成功登录,系统将执行一个称为shell的程序。正是shell进程提供了命令行提示符。作为默认值(TurboLinux系统默认的shell是BASH),对普通用户用“$”作提示符,对超级用户(root)用“#”作提示符。

一旦出现了shell提示符,就可以键入命令名称及命令所需要的参数。shell将执行这些命令。如果一条命令花费了很长的时间来运行,或者在屏幕上产生了大量的输出,可以从键盘上按ctrl+c发出中断信号来中断它(在正常结束之前,中止它的执行)。

当用户准备结束登录对话进程时,可以键入logout命令、exit命令或文件结束符(EOF)(按ctrl+d实现),结束登录。

我们来实习一下shell是如何工作的。

$ make work

make:***No rule to make target ‘work’. Stop.

$

注释:make是系统中一个命令的名字,后面跟着命令参数。在接收到这个命令后,shell便执行它。本例中,由于输入的命令参数不正确,系统返回信息后停止该命令的执行。

在例子中,shell会寻找名为make的程序,并以work为参数执行它。make是一个经常被用来编译大程序的程序,它以参数作为目标来进行编译。在“make work”中,make 编译的目标是work。因为make找不到以work为名字的目标,它便给出错误信息表示运行失败,用户又回到系统提示符下。

另外,用户键入有关命令行后,如果shell找不到以其中的命令名为名字的程序,就会给出错误信息。例如,如果用户键入:

$ myprog

bash:myprog:command not found

$

可以看到,用户得到了一个没有找到该命令的错误信息。用户敲错命令后,系统一般会给出这样的错误信息。

shell的种类

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中的优点,有灵活和强大的编程接口,同时又有很友好的用户界面。

C shell是一种比Bourne shell更适于编程的shell,它的语法与C语言很相似。Linux为喜欢使用C shell的人提供了Tcsh。Tcsh是C shell的一个扩展版本。Tcsh包括命令行编辑、可编程单词补全、拼写校正、历史命令替换、作业控制和类似C语言的语法,它不仅和Bash shell是提示符兼容,而且还提供比Bash shell更多的提示符参数。

Korn shell集合了C shell和Bourne shell的优点并且和Bourne shell完全兼容。Linux系统提供了pdksh(ksh的扩展),它支持任务控制,可以在命令行上挂起、后台执行、唤醒或终止程序。

Linux并没有冷落其他shell用户,还包括了一些流行的shell如ash、zsh等。每个shell都有它的用途,有些shell是有专利的,有些能从Internet网上或其他来源获得。要决定使用哪个shell,只需读一下各种shell的联机帮助,并试用一下。

用户在登录到Linux时由/etc/passwd文件来决定要使用哪个shell。例如:

# fgrep lisa /etc/passwd

lisa:x:500:500:TurboLinux User:/home/lisa:/bin/bash

shell被列每行的末尾(/bin/bash)。

由于Bash是Linux上缺省的shell,本章主要介绍Bash及其相关知识。

shell命令

命令行c

用户登录到Linux系统时,可以看到一个shell提示符,标识了命令行的开始。用户可以在提示符后面输入任何命令及参数。例如:

$ date

二 11 23 01:34:58 CST 1999

$

用户登录时,实际进入了shell,它遵循一定的语法将输入的命令加以解释并传给系统。命令行中输入的第一个字必须是一个命令的名字,第二个字是命令的选项或参数,命令行中的每个字必须由空格或TAB隔开,格式如下:

$ Command Option Arguments

1. 选项和参数

选项是包括一个或多个字母的代码,它前面有一个减号(减号是必要的,Linux 用它来区别选项和参数),选项可用于改变命令执行的动作的类型。例如:

$ ls

motd passwd

$

这是没有选项的ls命令,可列出当前目录中所有文件,只列出各个文件的名字,而不显示其他更多的信息。

$ ls -l

total 2

-rw-r--r-- 2 wzh book 22 Apr 20 20:37 motd

-rw-r--r-- 2 wzh book 796 Apr 20 20:37 passwd

$

加入-l选项,将会为每个文件列出一行信息,诸如数据大小和数据最后被修改的时间。

大多数命令都被设计为可以接纳参数。参数是在命令行中的选项之后键入的一个或多个单词,例如:

$ ls -l text

-rw-r--r-- 2 wzh book 22 Apr 20 20:37 motd

-rw-r--r-- 2 wzh book 796 Apr 20 20:37 passwd

$

将显示text目录下的所有文件及其信息。

有些命令,如ls可以带参数,而有一些命令可能需要一些最小数目的参数。例如,cp命令至少需要两个参数,如果参数的数目与命令要求不符,shell将会给出出错信息。例如:

$ cp -i mydata newdata

注意:命令行中选项先于参数输入。

2. 命令行特征

命令行实际上是可以编辑的一个文本缓冲区,在按回车之前,可以对输入的文本进行编辑。比如利用BACKSPACE键可以删除刚键入的字符,可以进行整行删除,还可以插入字符,使得用户在输入命令,尤其是复杂命令时,若出现键入错误,无须重新输入整个命令,只要利用编辑操作,即可改正错误。

利用上箭头可以重新显示刚执行的命令,利用这一功能可以重复执行以前执行过的命令,而无须重新键入该命令。

bash保存着以前键入过的命令的列表,这一列表被称为命令历史表。按动上箭头,便可以在命令行上逐次显示各条命令。同样,按动下箭头可以在命令列表中向下移动,这样可以将以前的各条命令显示在命令行上,用户可以修改并执行这些命令。这一特征将在10.4节中进行详细的论述。

在一个命令行中还可以置入多个命令,用分号将各个命令隔开。例如:

$ ls -F;cp -i mydata newdata

也可以在几个命令行中输入一个命令,用反斜杠将一个命令行持续到下一行。

$ cp –i

mydata

newdata

上面的cp命令是在三行中输入的,开始的两行以反斜杠结束,把三行作为一个命令行。

shell中的特殊字符

shell中除使用普通字符外,还可以使用一些具有特殊含义和功能的特殊字符。在使用它们时应注意其特殊的含义和作用范围。下面分别对这些特殊字符加以介绍。

1. 通配符

通配符用于模式匹配,如文件名匹配、路经名搜索、字符串查找等。常用的通配符有*、?和括在方括号[]中的字符序列。用户可以在作为命令参数的文件名中包含这些通配符,构成一个所谓的“模式串”,在执行过程中进行模式匹配。

* 代表任何字符串(长度可以不等),例如:“f*”匹配以f打头的任意字符串。但应注意,文件名前的圆点(.)和路经名中的斜线(/)必须显式匹配。例如“*”不能匹配.file,而“.*”才可以匹配.file。

? 代表任何单个字符。

[]代表指定的一个字符范围,只要文件名中[]位置处的字符在[]中指定的范围之内,那么这个文件名就与这个模式串匹配。方括号中的字符范围可以由直接给出的字符组成,也可以由表示限定范围的起始字符、终止字符及中间的连字符(-)组成。例如,f [a- d]与f [abcd]的作用相同。Shell将把与命令行中指定的模式串相匹配的所有文件名都作为命令的参数,形成最终的命令,然后再执行这个命令。

下面我们给出表10-1说明这些通配符的具体含义。

表10-1 通配符含义举例

模式串

意义

*

当前目录下所有文件的名称。

*Text*

当前目录下所有文件名中包含有Text的文件的名称。

[ab-dm]*

当前目录下所有以a、b、c、d、m开头的文件的名称。

[ab-dm]?

当前目录下所有以a、b、c、d、m开头且后面只跟有一个字符的文件的名称。

/usr/bin/??

目录/usr/bin下所有名称为两个字符的文件的名称。

特别需要注意的是,连字符“-”仅在方括号内有效,表示字符范围,如在方括号外面就成为普通字符了。而*和?只在方括号外面是通配符,若出现在方括号之内,它们也失去通配符的能力,成为普通字符了。例如,模式“- a[*?]abc”中只有一对方括号是通配符,*和?均为普通字符,因此,它匹配的字符串只能是- a*abc和- a?abc。

最后说明一下使用通配符时需要注意的一些问题。由于*、?和[]对于shell来说具有比较特殊的意义,因此在正常的文件名中不应出现这些字符。特别是在目录名中不要出现它们,否则Shell匹配起来可能会无穷的递归下去。另外要注意的一点是:如果目录中没有与指定的模式串相匹配的文件名,那么Shell 将使用此模式串本身作为参数传给有关命令。这可能就是命令中出现特殊字符的原因所在。

2. 引号

在shell中引号分为三种:单引号,双引号和反引号。

* 单引号‘

由单引号括起来的字符都作为普通字符出现。特殊字符用单引号括起来以后,也会失去原有意义,而只作为普通字符解释。例如:

$ string=’$PATH’

$ echo $string

$PATH

$

可见$保持了其本身的含义,作为普通字符出现。

* 双引号“

由双引号括起来的字符,除$、、’、和”这几个字符仍是特殊字符并保留其特殊功能外,其余字符仍作为普通字符对待。对于$来说,就是用其后指定的变量的值来代替这个变量和$;对于而言,是转义字符,它告诉shell不要对其后面的那个字符进行特殊处理,只当作普通字符即可。可以想见,在双引号中需要在前面加上的只有四个字符$,,’和”本身。而对”号,若其前面没有加,则Shell会将它同前一个”号匹配。

例如,我们假定PATH的值为.:/usr/bin:/bin,输入如下命令:

$ TestString=”$PATH”$PATH”

$ echo $TestString

.:/usr/bin:/ bin”$PATH

$

读者可以自己试一下在第二个双引号之前不加会产生什么结果。

* 反引号 `

反引号(`)这个字符所对应的键一般位于键盘的左上角,不要将其同单引号(’)混淆。反引号括起来的字符串被shell解释为命令行,在执行时,shell首先执行该命令行,并以它的标准输出结果取代整个反引号(包括两个反引号)部分。例如:

$ pwd

/home/xyz

$ string=”current directory is `pwd`”

$ echo $string

current directour is /home/xyz

$

shell执行echo命令时,首先执行`pwd`中的命令pwd,并将输出结果/home/xyz 取代`pwd`这部分,最后输出替换后的整个结果。

利用反引号的这种功能可以进行命令置换,即把反引号括起来的执行结果赋值给指定变量。例如:

$ today=`date`

$ echo Today is $today

Today is Mon Apr 15 16:20:13 CST 1999

$

反引号还可以嵌套使用。但需注意,嵌套使用时内层的反引号必须用反斜线()将其转义。例如:

$ abc=`echo The number of users is `who| wc-l``

$ echo $abc

The number of users is 5

$

在反引号之间的命令行中也可以使用shell的特殊字符。Shell为得到``中命令的结果,它实际上要去执行``中指定的命令。执行时,命令中的特殊字符,如$,”,?等又将具有特殊含义,并且``所包含的可以是任何一个合法的Shell命令,如:

$ ls

note readme.txt Notice Unix.dir

$ TestString=”`ech o $HOME ` ` ls [nN]*`”

$ echo $TestString

/home/yxz note Notice

$

其他情况,读者可自行试之。

1. 注释符

在shell编程中经常要对某些正文行进行注释,以增加程序的可读性。在Shell 中以字符“#”开头的正文行表示注释行。

此外还有一些特殊字符如:用于输入/输出重定向与管道的<、>、<<、> >和|;执行后台命令的&;命令执行操作符&&和||及表示命令组的{}将在下面各小节中加以介绍。

标准输入/输出和重定向

1. 标准输入与输出

我们知道,执行一个shell命令行时通常会自动打开三个标准文件,即标准输入文件(stdin),通常对应终端的键盘;标准输出文件(stdout)和标准错误输出文件(stderr),这两个文件都对应终端的屏幕。进程将从标准输入文件中得到输入数据,将正常输出数据输出到标准输出文件,而将错误信息送到标准错误文件中。

我们以cat命令为例,cat命令的功能是从命令行给出的文件中读取数据,并将这些数据直接送到标准输出。若使用如下命令:

$ cat config

将会把文件config的内容依次显示到屏幕上。但是,如果cat的命令行中没有参数,它就会从标准输入中读取数据,并将其送到标准输出。例如:

$ cat

Hello world

Hello world

Bye

Bye

<ctrl+d>

$

用户输入的每一行都立刻被cat命令输出到屏幕上。

另一个例子,命令sort按行读入文件正文(当命令行中没有给出文件名时,表示从标准输入读入),将其排序,并将结果送到标准输出。下面的例子是从标准输入读入一个采购单,并将其排序。

$ sort

bananas

carrots

apples

<ctrl+d>

apples

bananas

carrots

$

这时我们在屏幕上得到了已排序的采购单。

直接使用标准输入/输出文件存在以下问题:

输入数据从终端输入时,用户费了半天劲输入的数据只能用一次。下次再想用这些数据时就得重新输入。而且在终端上输入时,若输入有误修改起来不是很方便。

输出到终端屏幕上的信息只能看不能动。我们无法对此输出作更多处理,如将输出作为另一命令的输入进行进一步的处理等。

为了解决上述问题,Linux系统为输入、输出的传送引入了另外两种机制,即输入/输出重定向和管道。

2. 输入重定向

输入重定向是指把命令(或可执行程序)的标准输入重定向到指定的文件中。也就是说,输入可以不来自键盘,而来自一个指定的文件。所以说,输入重定向主要用于改变一个命令的输入源,特别是改变那些需要大量输入的输入源。

例如,命令wc统计指定文件包含的行数、单词数和字符数。如果仅在命令行上键入:

$ wc

wc将等待用户告诉它统计什么,这时shell就好象死了一样,从键盘键入的所有文本都出现在屏幕上,但并没有什么结果,直至按下<ctrl+d>,wc才将命令结果写在屏幕上。

如果给出一个文件名作为wc命令的参数,如下例所示,wc将返回该文件所包含的行数、单词数和字符数。

$ wc /etc/passwd

20 23 726 /etc/passwd

$

另一种把/etc/passwd文件内容传给wc命令的方法是重定向wc的输入。输入重定向的一般形式为:命令<文件名。可以用下面的命令把wc命令的输入重定向为

/etc/passwd文件:

$ wc < /etc/passwd

20 23 726

$

另一种输入重定向称为here文档,它告诉shell当前命令的标准输入来自命令行。here文档的重定向操作符使用<<。它将一对分隔符(本例中用delim表示)之间的正文重定向输入给命令。下例将一对分隔符delim之间的正文作为wc命令的输入,统计出正文的行数、单词数和字符数。

$ wc<<delim

>this text forms the content

>of the here document,which

>continues until the end of

>text delimter

>delim

4 17 98

在<<操作符后面,任何字符都可以作为正文开始前的分隔符,本例中使用delim作为分隔符。here文档的正文一直延续到遇见另一个分隔符为止。第二个分隔符应出现在新行的开头。这时here文档的正文(不包括开始和结束的分隔符)将重新定向送给命令wc作为它的标准输入。

由于大多数命令都以参数的形式在命令行上指定输入文件的文件名,所以输入重定向并不经常使用。尽管如此,当要使用一个不接受文件名作为输入参数的命令,而需要的输入内容又存在一个文件里时,就能用输入重定向解决问题。

1. 输出重定向

输出重定向是指把命令(或可执行程序)的标准输出或标准错误输出重新定向到指定文件中。这样,该命令的输出就不显示在屏幕上,而是写入到指定文件中。

输出重定向比输入重定向更常用,很多情况下都可以使用这种功能。例如,如果某个命令的输出很多,在屏幕上不能完全显示,那么将输出重定向到一个文件中,然后再用文本编辑器打开这个文件,就可以查看输出信息;如果想保存一个命令的输出,也可以使用这种方法。还有,输出重定向可以用于把一个命令的输出当作另一个命令的输入(还有一种更简单的方法,就是使用管道,将在下面介绍)。

输出重定向的一般形式为:命令>文件名。例如:

$ ls > directory.out

$ cat directory.out

ch1.doc ch2.doc ch3.doc chimp config mail/ test/

$

将ls命令的输出保存为一个名为directory.out的文件。

注:如果>符号后边的文件已存在,那么这个文件将被重写。

为避免输出重定向中指定文件只能存放当前命令的输出重定向的内容,shell提供了输出重定向的一种追加手段。输出追加重定向与输出重定向的功能非常相似,区别仅在于输出追加重定向的功能是把命令(或可执行程序)的输出结果追加到指定文件的最后,而该文件原有内容不被破坏。

如果要将一条命令的输出结果追加到指定文件的后面,可以使用追加重定向操作符>>。形式为:命令>>文件名。例如:

$ ls *.doc>>directory.out

$ cat directory.out

ch1.doc ch2.doc ch3.doc chimp config mail/ test/

ch1.doc ch2.doc ch3.doc

$

和程序的标准输出重定向一样,程序的错误输出也可以重新定向。使用符号2>(或追加符号2>>)表示对错误输出设备重定向。例如下面的命令:

$ ls /usr/tmp 2> err.file

可在屏幕上看到程序的正常输出结果,但又将程序的任何错误信息送到文件err.file中,以备将来检查用。

还可以使用另一个输出重定向操作符(&>)将标准输出和错误输出同时送到同一文件中。例如:

$ ls /usr/tmp &> output.file

利用重定向将命令组合在一起,可实现系统单个命令不能提供的新功能。例如使用下面的命令序列:

$ ls /usr/bin > /tmp/dir

$ wc –w < /tmp/dir

459

统计了/usr/bin目录下的文件个数。

管道

将一个程序或命令的输出作为另一个程序或命令的输入,有两种方法,一种是通过一个临时文件将两个命令或程序结合在一起,例如上个例子中的/tmp/dir文件将ls和wc 命令联在一起;另一种是Linux所提供的管道功能。这种方法比前一种方法更好。

管道可以把一系列命令连接起来,这意味着第一个命令的输出会作为第二个命令的输入通过管道传给第二个命令,第二个命令的输出又会作为第三个命令的输入,以此类推。显示在屏幕上的是管道行中最后一个命令的输出(如果命令行中未使用输出重定向)。

通过使用管道符“|”来建立一个管道行。用管道重写上面的例子:

$ ls /usr/bin|wc -w

1789

再如:

$ cat sample.txt|grep "High"|wc -l

管道将cat命令(列出一个文件的内容)的输出送给grep命令。grep命令在输入里查找单词High,grep命令的输出则是所有包含单词High的行,这个输出又被送给wc命令,wc命令统计出输入中的行数。假设sample.txt文件的内容如下:

Things to do today:

Low:Go grocery shopping

High:Return movie

High:Clear level 3 in Alien vs. Predator

Medium:Pick up clothes from dry cleaner

那么该管道行的结果是2。

命令替换

命令替换和重定向有些相似,但区别在于命令替换是将一个命令的输出作为另外一个命令的参数。常用命令格式为:

command1 `command2`

其中,command2的输出将作为command1的参数。需要注意的是这里的`符号,被它括起来的内容将作为命令执行,执行后的结果作为command1的参数。例如:

$ cd `pwd`

该命令将pwd命令列出的目录作为cd命令的参数,结果仍然是停留在当前目录下

C shell 命令描述

C shell 提供以下内置命令:

alias [Name [WordList]] 如果不指定任何参数,则显示所有别名。否则,命令显示所指定 Name 的别名。如果指定 WordList,则此命令将 WordList 的值指定给别名 Name。指定的别名 Name 不能是 alias 或 unalias。

bg [%Job ...] 将当前作业或 Job 指定的作业置于后台,如果它停止则继续此作业。break 在最近圈起的 foreach 或 while 命令的 end 后,继续运行。

breaksw 从 switch 命令中断;在 endsw 命令后继续。

case Label: 在 switch 命令中定义 Label。

cd[Name] 等价于 chdir 命令(请参阅以下描述)。

chdir [Name] 家当前目录更改到 Name 变量指定的那个目录。如果不指定 Name,则命令更改为您的主目录。如果 Name 变量的值不是当前目录的子目录,并且不以 /、./、或 ../ 开始,则 shell 检查 cdpath shell 变量的每个组件以查看它是否具有匹配 Name 变量的子目录。如果 Name 变量是含以 / 开始的值的 shell 变量,则 shell 尝试此操作以查看它是否是目录。chdir 命令等价于 cd 命令。

continue 在最近圈起的 while 或 foreach 命令的 end 处,继续运行。

default: 标注 switch 语句中的 default 情况。default 应在所有其它 case 标号后出现。

dirs 显示目录堆栈。

echo 将字符串写入 shell 的标准输出。

else 运行 if (Expression) then ...else if (Expression2) then ... else ... endif 命令序列中第二个 else 后的命令。

end 继续将 Name 变量设置为由 List 变量指定的每个成员,并运行 foreach 与匹配的end 语句之间的 Commands 序列。foreach 和 end 语句必须单独出现在独立的行上。

使用 continue 语句继续循环,使用 break 语句提前结束循环。当 foreach 命令从终端读取时,C shell 使用 ? 提示以允许输入 Commands。循环中的命令(由 ? 提示)不放入历史列表。endif 如果 Expression 变量为真,则运行跟随第一个 then 语句的 Commands。如果else if Expression2 为真,则运行跟随第二个then 语句的 Commands。如果else if Expression2 为假,则运行跟随 else 的 Commands。任何 else if 的对数都是可能的。只需要一个 endif 语句。else 段是可选的。字 else 和 endif 只能在输入行的开始使用。if 段必须单独出现在其输入行上或在 else 命令后。

endsw 继续将每个 case 标号与 string 变量的值匹配。string 是首先展开的命令和文件名。在 case 标号中使用模式匹配字符 *、? 和 [ . . . ],它们是变量扩展的。如果在 default 标号前没有找到标号匹配,则执行在 default 标记后开始。case 标号和 default 标号必须出现在行的开始。breaksw 命令导致执行在 endsw 命令后继续。否则,控制可能对 case 和default 标号无效,如在 C 编程语言中一样。如果没有标号匹配,并且没有 default,则在 endsw 命令后执行继续。

eval Parameter . . . 在输入至 shell 时读 Parameter 变量的值,并在当前 shell 的上下文中运行结果命令。使用此命令以运行作为命令或变量替换的结果生成的命令,因为语法分析在这些替换前发生。

C shell学习笔记(一)综合

1 #!/bin/csh

2 可用set与env命令查看环境变量与当前值

3 @、set xxx=xxx 设置局部数值变量/变量;setenv 设置全局变量

eg. set name 赋空值

set name = (John Doe)

setenv name “John Doe”

4 命令替换

eg. set command = `pwd`

echo “The … is : $command”

显示:The … is : /…/…

5 所有UNIX命令在执行成功时传回一个退出状态0,在失败时传回非0。一个命令传回的状态值被保存在只读环境变量$?中,可以由调用进程检查。

6 从标准输入读

set xxx=$<

或者set xxx=`head –l`

eg. #!/bin/csh

echo –n “Enter input:”

set line=`head –l`

echo “You entered: $line”

exit 0

7 unset xxx

unsetenv xxx

8 向脚本传递参数 eg:

#!/bin/csh

echo “The command name is : $0”

echo “The number of command line arguments are $#argv”

echo –n “The value of the command line arguments are:”

echo “$argv[1] $argv[2] …”

echo “Another way to display value of all of the arguments : $argv[*]”

exit 0

9-1 if (…) then

else if (…) then

else if (…) then

else

endif

9-2 foreach variable (argument list)

command list

end

9-3 while (expression)

…(真时)

end(假时)

9-4 switch (“$string”)

case “yangfeng”:

breaksw

case “panye”:

breaksw

default:

breaksw

endsw

10 数值变量

eg. @ a=10

@ b=15

@ difference = ( $a - $b ) sum = ( $a + $b )

@ a++

@ a+=1

@ area = $a*$b

11 数组set xxx = (…………………………)

$#xxx元素个数$?xxx是否初始化(返回1表示已初始化)

$xxx $xxx[i]

用set命令对任何shell变量赋以多个值,将会使其成为一个数组

12 连接多个字符串eg.set thisfile=”$directory”/”$file[$index]”

C Shell Programming Introduction

Shell:命令行解释器,在Unix系统中一般用来做为调用其他程序的媒介。Commands:命令,一般由命令名+参数构成。

输出到文件:命令一般地从终端接受输入和输出结果,使用重定向符>可以将输出写入文件。例如data > now,将输出写入now中。

从文件输入:使用<可以从文件读入作为命令的输入。例如 sort < data 将data 文件内容排序。

通配符:*能匹配任何字符串;?能匹配一个任意字符; [a....b]将匹配[ ]中的任意一个字符;[a-b]将匹配从a到b之间的任意一个字符。(注意:上面的通配符不能匹配'.'及'!')

~表示当前用户的主目录。

转义字符:\将使其后的字符成为普通字符。

chsh命令:改变使用的shell类型

终止当前执行任务: ^ C:中断信号; ^ D:End of file信号; ^ Z:将当前任务挂起, fg可继续执行挂起的命令。

!$ 表示上一条命令的最后一个参数

! 重复执行上一条指令

!c 重复执行上一条以c开头的指令

alias 起别名,可以给一个经常使用的很长的命令起一个别名,以免重复输入很长的命令。可以加到shell的启动配置文件中.bashrc/.cshrc。

command >& file 将诊断输出和标准输出到文件file

command >> file 将输出追加到已存在的file尾部

如果在命令的最后加上&号则将在后台运行该命令

在后台执行的任务不会受到键盘上任意输入信号如^C等的影响。

可以使用stop % num命令挂起当前在后台运行的程序。num为要终止的后台程序的编号。

可以使用^Z挂起当前前台运行程序然后使用bg命令恢复并改为后台执行。

Shell控制结构与Shell脚本

1、变量替换

$?name:当name有值时该表达式的值为1,否则为0

$#name:值为name中的元素个数

$n:n为一个整数表示$argv[n],argv的第n个参数。区别:使用$argv[n]时如果n的值越界会产生错误,而$n不会。

$*:表示$argv

$$:表示当前shell的进程号

$<:会被shell标准输入中输入的下一行取代(不是从脚本文件中)

2、表达式

在shell脚本中C语言中所有的算术运算都可以使用,如==,!=等。另外还有=~,!~跟==与!=意义类似,不过=~、!~右边的表达式可以有通配符,检测左边的字符串是否是右边字符串的模式。

-?filename: 文件查询。例如-e filename意思是filename是否存在。

使用{}把command括起来可以知道该command是否正常执行结束(返回1或者0) 3、控制结构

if(expression)then

command

....

endif

注意,以下两种表示是无效的

if(expression)

then

command

....

endif

及if(expression)then command endif

另外,if(expression)command也可以写成

if(expression) \

command

command不能包含'|','&',';',也不能是其他的控制语句。

:修饰符用来从一个文件名中分出文件名主体和扩展名。例如,假设i的值为

/mnt/foo.bar,那么

% echo $i $i:r $i:e

/mnt/foo.bar /mnt/foo bar

#号为注释符

其他的控制结构:

while(expression)

commands

end

switch(word)

case str1:

commands

breaksw

...

case strn:

commands

breaksw

default:

commands

breaksw

endsw

loop:

commands

goto loop

现代汉语语法特点

现代汉语语法特点 本节课的内容(参考P232,P7) ?分析现代汉语语法的主要特点 ?重点:用具体的语言事实理解现代汉语语法的特点。 ?思考题(1-3) ? 1.对比下面的材料,理解汉英两种语言在语法方面的差异。 ?(1)a child;two children ?一个小孩;两个小孩 ?(2)She is always ready to help us. 他随时都在准备帮助我们。 ?We are always ready to help her. 我们随时都在准备帮助他。 ?理解:语法方面的差异是什么? ? 2.对比下面的材料,理解汉英两种语言在语法方面的差异。 ?(1)He criticized my taking risks. 他批评了我的冒险活动。 ?(2)His criticism doesn't worry me. ?他的批评不会使我不安。 (3)I don't like to read his literary criticism. 我不喜欢读他的文学批评。 ?理解:语法方面的差异是什么? ?小结:“汉英语语法方面的差异” ?(1)汉语有个体量词,而英语没有。 ?(2)英语这一类的印欧语言有丰富的形态变化,而汉语没有。英语用不同的形态来表示相应的语法意义,比如英语的名词有数的变化(a book:two books),代词有主格宾格的变化(I:me;he:him;she:her),动词有时、体、态的变化(study,studies,studying,studied),等等。 ?思考题 ? 3.观察下面这段文字,体会句子的差异是由什么造成的。 ?辣妹子从小辣不怕辣妹子长大不怕辣辣妹子嫁人怕不辣 辣妹子从来辣不怕辣妹子生性不怕辣辣妹子出门怕不辣 体会意义:不怕辣辣不怕怕不辣 ?类似的例子不怕难难不怕怕不难 做人难难做人人难做 想吃饭想饭吃饭想吃 ?小结:“汉语语法方面的特点” ?语序可以表达不同的意义,可以造成不同的结构。语序在汉语中的地位十分重要。 ?分析方法现代汉语汉语语法特点只有在对比中发现,比如和印欧语对比。主要有5个方面的特点。 ?现代汉语语法的特点 ?(一)汉语没有严格意义的形态变化 ?(二)语序和虚词是汉语主要的语法手段 ?(三)汉语中词类与句法成分之间不是简单的对应关系 ?(四)汉语中词、短语和句子的结构方式基本一致 ?(五)汉语里有丰富的量词和语气词

语法:语法知识运用

语法:语法知识运用 高二()班姓名 一、在病句中的运用 碰到一个结构比较复杂的句子,找出它的主干,不仅有助于弄清句子的基本结构,准确理解它所表达的意思,而且有助于检查句子的结构和句子成分的搭配有没有毛病。 例如: (1)南极洲恐龙化石的发现,为支持地壳在进行缓慢但又不可抗拒的运动这一理论,提供了另一个强有力的证据。 (2)今天的青年担负着在本世纪把我国建成现代化的社会主义强国。 病句中的搭配不当 1、主谓搭配不当: 江西贵溪县一头原本默默耕田的母牛,最近因勇斗野猪救主人而被广为流传。(《人民日报》1993年6月11日) 蚂蚁治疗类风湿专科门诊开诊不久……小小蚂蚁的神效开始走向世界。(《生活与健康报》1991年1月29日) 冬季天寒,乘客迅猛增大。(《北京交通安全》1990年10月15日) 2、动宾搭配不当: (l)一动词带一宾语: 广东湛江市举行首届教育艺术节。(《戏剧电影报》1995年2月) 据广州中心气象台资料显示:广州市……创1984年以来广州春节的最高气温。(《新民晚报》1999年2月18日) (2)一动词带多个宾语: 在娘娘庙前感受了旺盛的香火和虔诚的气氛。(《北京青年报》1990年2月20日) 他们之所以激动,是因为他们终于看到了他们经历过的、听说过的、想象过的感受和状态。(《文汇报》1995年3月17日) 3、定中搭配不当: 这里大有藏龙卧虎的人才啊!(《青年报》1991年2月1日) 4、状中搭配不当: 人们众口一辞地认为……(《北京广播电视报》1990年3月6日) 【巩固训练】 搭配不当训练:: 1 本世纪初,是我国实现进入WTO的目标。 2 中国人民的解放在民族关系起了基本的变化。 3 我觉得这个答复,和对这些问题的调查处理,都是一种不负责任的态度。 4 我国棉花的生产,过去不能自给。

英语语法与作文

历年中考英语常考英语语法250例(一) 2012-02-17 14:17:43 [来源]:互联网[作者]:佚名 大中小 1 (see 、hear 、notice 、find 、feel 、listen to 、 look at (感官动词)+do eg:I like watching monkeys jump 2 (比较级 and 比较级)表示越来越怎么样 3 a piece of cake =easy 小菜一碟(容易) 4 agree with sb 赞成某人 5 all kinds of 各种各样 a kind of 一样 6 all over the world = the whole world 整个世界 7 along with同……一道,伴随…… eg : I will go along with you我将和你一起去 the students planted trees along with their teachers 学生同老师们一起种树 8 As soon as 一怎么样就怎么样 9 as you can see 你是知道的 10 ask for ……求助向…要…(直接接想要的东西) eg : ask you for my book 11 ask sb for sth 向某人什么 12 ask sb to do sth 询问某人某事 ask sb not to do 叫某人不要做某事 13 at the age of 在……岁时 eg:I am sixteen I am at the age of sixteen 14 at the beginning of …………的起初;……的开始 15 at the end of +地点/+时间最后;尽头;末尾 eg : At the end of the day 16 at this time of year 在每年的这个时候 17 be /feel confident of sth /that clause +从句感觉/对什么有信心,自信 eg : I am / feel confident of my spoken English I feel that I can pass the test 18 be + doing 表:1 现在进行时 2 将来时 19 be able to (+ v 原) = can (+ v 原)能够…… eg : She is able to sing She can sing 20 be able to do sth 能够干什么 eg :she is able to sing 21 be afraid to do (of sth 恐惧,害怕……eg : I'm afraed to go out at night I'm afraid of dog 22 be allowed to do 被允许做什么 eg: I'm allowed to watch TV 我被允许看电视I should be allowed to watch TV 我应该被允许看电视 23 be angry with sb 生某人的气eg : Don't be angry with me 24 be angry with(at) sb for doing sth 为什么而生某人的气 25 be as…原级…as 和什么一样eg : She is as tall as me 她和我一样高

linux查看磁盘剩余空间

1. du -sh 查看当前文件夹大小 2. du -sh * | sort -n 列出当前文件夹下的所有文件夹及其大小,并按照文件夹大小排序 du - sh * //查看当前文件夹下所有文件的大小 3. du -sh文件夹/文件 du -sk文件夹/文件 du -sm文件夹/文件 查看指定文件或者文件夹的大小 sh/sk/sm的区别: sh根据文件大小显示为nK/nM/nG eg. [4.0K xxx.log] sk根据文件大小显示为nK eg. [4.3K xxx.log] sm根据文件大小显示为nM eg. [7M xxx.log] df命令是linux系统以磁盘分区为单位查看文件系统,可以加上参数查看磁盘剩余空间信息,命令格式: df -hl 显示格式为: 文件系统容量已用可用已用% 挂载点 Filesystem Size Used Avail Use% Mounted on /dev/hda2 45G 19G 24G 44% / /dev/hda1 494M 19M 450M 4% /boot /dev/hda6 4.9G 2.2G 2.5G 47% /home /dev/hda5 9.7G 2.9G 6.4G 31% /opt none 1009M 0 1009M 0% /dev/shm /dev/hda3 9.7G 7.2G 2.1G 78% /usr/local /dev/hdb2 75G 75G 0 100% / /dev/hdb2 75G 75G 0 100% / 以上面的输出为例,表示的意思为: HD硬盘接口的第二个硬盘(b),第二个分区(2),容量是75G,用了75G,可用是0,因此利用率是100%,被挂载到根分区目录上(/)。 下面是相关命令的解释: df -hl 查看磁盘剩余空间 df -h 查看每个根路径的分区大小 du -sh [目录名] 返回该目录的大小

韩语语法大全

韩国语实用语法 一语法和句法 1、语法学习的内容语法是词的变化规则和用词造句的规则的综合。语法学习的两个基本内容就是 词法和句法。 2、词法词法研究的对象是词的构成、词的分类和各种词类在句子中的形态变化。 3、句法句法是研究句子中词与词之间的关系、句子的结构和种类的。 二词、词素和词的构成 1、词和词素词是语言里能独立运用、有一定意义的最小单位。如“??(学校)”、“?(我)”、“??(最)”、 “?(新)”等。有些词还可以加以分析,分析词时所得的最小的具有词汇意义或语法意义的单位,叫做词素。如???(轻工业)就是由“?”和“??”两个词素构成的一个词。 2、接头词附加于词根前,构成新词的词素叫接头词。如: ?(长)-???(长子), ??(长女) ?(相对)-???(相对而立), ???(对视) ?(浓艳)-????(深红), ????(深黑) 3、词根词根是一个词里不可缺少的、表示核心意思的词素。如: ??(儿子)-???(长子), ???(亲儿子), ???(养子) ???(摇动)-????(猛摇), ?????(摇摇晃晃) 4、接尾词附加于词根后,主要构成新词的词素叫接尾词。如: ?(的)-???(和平的), ???(兄弟的) ?(性)-???(实用性), ???(科学性) ?(真正,无愧)-????(真正的英雄), ????(真正的青年) 5、复合词和派生词韩国语的词有的只由一个词根构成,如“?(事)”“?(日子)”等,这些词与词根是 一致的。有的词是由两个或两以上的词根结合在一起构成的,这叫复合词。如“?(石头)”和“??(桥)”结合在一起构成新的复合词“???(石桥)”。有的则是在词根前后附加上接头词、接尾词构成新词,这叫派生词。如: ???(现时代), ???(打场), ??(践踏), ??(溢出), ???(重复) *注:韩国语的动词、形容词都必须在末尾附加上基本阶终结词尾“?”,才能构成它们的基本形。如:???, ???。 三词类 词类韩国语的词按其意义、形态和在句子中的职能分为八大类。即:名词、代词、数词、动词、形容词、冠形词、副词、感叹词。 四句子的构成和句子成分 1、句子词按一定的语法规律组合起来,表达一个完整的意思,两头有较长的停顿的叫句子。 2、句子成分根据词在句子中所处的地位和所起的作用,可以把句子划分成几个组成部分。这些构 成句子的组成部分,叫句子成分。韩国语的句子成分有如下几种:主语、谓语、宾语、定语、状语、独立语 五词序 词序词序就是句子成分在句子中的排列顺序。 1) 主语的位置在句子的前面。如:???????????. 我们在学校学习 2) 谓语的位置在句子的最后。如:???????????. 我们在学校学习 3) 宾语的位置在谓语前面。如:???????????????. 我们在学校学习韩国语。 4) 定语的位置在被修饰的名词、代词之前。如:????????????. 中国是伟大的文 明古国。 5) 状语的位置在被修饰的动词、形容词或副词之前。如:??????????. 我们用心地 学习。

语法讲义.docx

《语法讲义》读后感 本学期在老师的推荐下,我读了朱德熙先生的《语法讲义》。在读这本书的时候,总是会忍不住想做笔记梳理知识点,作为一个中文系的学生来讲,这可能是由于在大一时期长期处于被《现代汉语》支配的恐惧所造成的。朱德熙先生的《语法讲义》是语法学界最有权威的一部语法学著作,读这本书时,大部分是熟悉的内容,尽管熟悉,但是以前这些语法知识,我头脑中是混乱不成体系的,因为我一直对语法方面不太敏感。读这本著作时,每读一部分,就会梳理清楚一些。读完之后,虽然忘记的也很多,但是我还是觉得收获不小。本篇读后感我想从这些内容的归纳,收获以及启示、还有存疑的地方这三点来完成。 一、语法讲义的主要内容 《语法讲义》这本著作分为了十八章来讲,分别就语法单位、词的构造、词类、句型等内容做了多方面,具体的阐释。下面主要是对一些主要章节具体内容的归纳阐释。 第一章为语法单位,从语素、词、词组、句子等最基本的语法内容讲起。在这一章里我了解到了语素作为语法系统里的基本符号,有单音节语素、多音节语素;自由语素、粘着语素;定位语素、不定位语素、成词语素、不成词语素等不同方向上的分类。词是比语素高一级的单位,它可以分为单纯词和合成词。在区分是不是词的时候,朱德熙先生归纳了目前存在的三种方法,我们可以根据能不能单独成句、语言成分活动能力的强弱、扩展法等三种方法来判定是不是词,朱德熙先生指出,这三种方法其实是有着各自不同的缺陷的,比如在划分“铁路”、“白菜”、“理发”等词语时,都不能根据其中单一的标准来划分,否则就会出现歧义。所以我们在划分一个词的时候,需要综合运用多种分类方法,具体问题具体分析。在本章中,朱德熙先生还讲到了词组,并具体阐释了词组的几大类型:偏正结构、述宾结构、述补结构、主谓结构、连谓结构。并通过举例“我们班有许多外国留学生”来介绍了层次分析的具体应用以及二分法。在本章中,朱德熙先生还指出任何句法结构都可以从两个不同的方面来观察,一个看句子的内部结构,一个看语法功能。本章的第四节是句子。本节中介绍了句子的分类,从结构上分为单句和复句两大类,单句又可分为主谓句和非主谓句。从句子的功能上看,又可以把它分成陈述句、疑问句、祈使句、称呼句、感叹句五类,朱德熙先生指出,形式与功能之间的关系是错综的,因此这五类句子有交叉的情形。 第二章的主要内容为词的构造,主要讲了几种词的构造的主要类型。如重叠式、附加式、前缀、后缀、复合式等类型的词的构成方式,并细化了其中的一些分类,比如重叠式副词中的基式,附加式中区分一些附加式词语与复合词的辨析,后缀中的副词后缀、状态形容词后缀、“的”与“得”的区别等。并对一些复杂的合成词,以及特殊的复合词中的紧缩式与减缩式进行了区分。并对并立式复合词进行了具体阐释。 第三章从大的层面上讲述了词类的知识。本章首先介绍了划分词类的几大依据:词的意义、语法功能、形态变化三大方面划分,但朱德熙先生指出,实际上根据词的意义来划分词类的方法是行不通的,虽然词的语法功能和意义之间有着密切联系,但是我们在划分词类的时候,只能根据词的语法功能来划分。在印欧语系中,比较适合运用词的形态变化来划分词类,而汉语由于缺乏形态变化,只能通过词的语法功能来进行分类。除此之外,本章还讲到了词的共性与个性,词的兼类等内容。朱德熙先生还指出,汉语的词分为实词与虚词两大类,并具体阐

linux查看文件大小命令

linux查看文件大小命令 linux系统不像windows系统,查看文件可以随时点击右键,linux中碳钢命令来查看文件大小,下面由小编为大家整理了linux查看文件命令的相关知识,希望对大家有帮助! linux查看文件命令详解 du [-abcDhHklmsSx] [-L <符号连接>][-X <文件>][--block-size][--exclude=<目录或文件>] [--max-depth=<目录层数>][--help][--version][目录或文件] 常用参数: -a或-all 为每个指定文件显示磁盘使用情况,或者为目录中每个文件显示各自磁盘使用情况。 -b或-bytes 显示目录或文件大小时,以byte为单位。 -c或–total 除了显示目录或文件的大小外,同时也

显示所有目录或文件的总和。 -D或–dereference-args 显示指定符号连接的源文件大小。 -h或–human-readable 以K,M,G为单位,提高信息的可读性。 -H或–si 与-h参数相同,但是K,M,G是以1000为换算单位,而不是以1024为换算单位。 -k或–kilobytes 以1024 bytes为单位。 -l或–count-links 重复计算硬件连接的文件。 -L<符号连接>或–dereference<符号连接> 显示选项中所指定符号连接的源文件大小。 -m或–megabytes 以1MB为单位。 -s或–summarize 仅显示总计,即当前目录的大小。

现代汉语“语法、语用”要点

1语法概说 1.1语法和语法学 语法√、语法学√ 1.2语法单位 语素√(语素的检验方法(替代法)、自由语素和不自由语素、定位语素和不定位语素)词√ 短语√(短语和词的分界)(扩展法) 句子√ 2词的分类 2.1词类概说 划分词类的标准(词的语法功能,词的语法功能就是词的组合能力)、 词类(词的语法类别);词性(词的语法特征) 词类系统表5-1 2.2实词(能充当句法成分,既有词汇意义又有语法意义的词) 2.2.1体词√ 2.2.1.1名词 名词的语法特点(1.名词可以受量词修饰,一般不能直接受数词修饰,要在 数词之后加上量词,才可以修饰名词 2.一般不受副词“不,很”修饰 3.名次经常用做主语,定语、宾语(包括介词宾语),一般不能做状语。 【4.名词无单复数之分,不论单数复数,形式上是一样的←严格意义上不算 名词特点,是汉语特点】) 名词的特殊用法(部分名词可以充当谓语、状语、可以重叠) 名词的附类:方位词(是名词的一个附类,单纯/合成,黏着、定位、封闭) 2.2.1.2数词(是用来表示数目的,但数词不同于数目) 数词(有限的、封闭的 eg.一、二、三、十、百、千)、数目(无限的、开放 的 eg.十一、二十三、四百零五) (数词是用来表示数目的,但数词不同于数目。) 2.2.1.3量词(表示计量的单位) 物量词(名词前)、动量词(动词后)、时量词(兼有物量词和动量词的特点) 2.2.2谓词√(主要充当谓语,有时也可以做主语、宾语) 2.2.2.1动词 动词的语法特点(A绝大多数动词可以带宾语,不能带宾语的和只能带施事宾 语的是不及物动词 B多数动词可重叠。【单音节AA(第二音节轻声) 双音节ABAB(第二、四音节轻声)】【动词重叠表示动作的短暂,如“你休息 休息就会好的”;同时也表示尝试,如“这辆车让我先骑骑”】 C动词 前一般不能加“很”等程度副词 D大多数动词可以受“不,没(有)”修饰, 构成“V不V”或“V没V”肯定否定重叠形式 E动词经常加上“了、着、

语法

1,Leave/fly/come/go /move这些表示位置移动的动词常用现在进行时表将来时。注意与be going to+v-原区分 2,mind doing sth介意做某事 3,spend (time)doing sth花时间做某事。 4,Have great fun doing sth高兴做某事 5,enjoy doing sth喜欢做某事 6,地点副词前面不用介词(there/here/home) 7,say sorry to sb for sth为某事向某人道歉 8,keep sb doing sth让某人一直不停地做某事 9,be sure of sth/sb相信某事、人、be sure to do sth一定会做某事Be sure to do sth务必要做某事。 10小心,当心be careful /watch out /look care/look out 11, had better ( not ) to do sth 12 , help sb (to) do sth/help sb with sth 13, one…..the other一个·····另一个 14其它的other+名词=疑问代词、副词+else 15It takes sb (time) to do sth 16,take sth to sb把某物带给某人 1, look up the word in the dicationary 2, pass sb sth=pass sth to sb 3,thank you sb for doing sth感谢某人做某事 4,good at doing sth擅长与做某事 5,would like to do sth 6, what about doing sth 7,much不能直接修饰形容词或副词的原级,可以修饰比较级;more+多音节adj/adv原级8,must否答needn’t/don’t have to 9,take off脱下take out把······拿出来put on穿上put off推迟 10,may情-v+v-原May be也许是Maybe也许adv修饰v或adj 11, I’d better=I had better I’d like=I would like 12,否定句中some改成any 13, call sb=phone sb=give sb a call=give sb a phone 14,不接触的over the desk在·····上方(垂直) Above the desk在·····上方(斜) 接触的on在······上面 15,through(从中间)穿过 Across(从表面)穿过介词(与动词搭配成为动词) 1,动词cross/pass穿过=go across 2,动名词v-ing 3,到达arrive in/at=get to=reach 4,During在····期间among在·····中间between``````and```在·····之间 5,By+交通工具=on one’s+交通工具 6,Cry哭,哭声sound声音(泛指任何声音)noise吵闹的voice(指人的)说话声

linux查看目录大小命令

Du(Disk Usage)命令功能说明:统计目录(或文件)所占磁盘空间的大小。 语 法:du [-abcDhHklmsSx] [-L <符号连接>][-X <文件 >][--block-size][--exclude=<目录或文件>] [--max-depth=<目录层数 >][--help][--version][目录或文件] 常用参数: -a或-all 为每个指定文件显示磁盘使用情况,或者为目录中每个文件显示各自磁盘使用情况。 -b或-bytes 显示目录或文件大小时,以byte为单位。 -c或–total 除了显示目录或文件的大小外,同时也显示所有目录或文件的总和。 -D或–dereference-args 显示指定符号连接的源文件大小。 -h或–human-readable 以K,M,G为单位,提高信息的可读性。 -H或–si 与-h参数相同,但是K,M,G是以1000为换算单位,而不是以1024为换算单位。 -k或–kilobytes 以1024 bytes为单位。 -l或–count-links 重复计算硬件连接的文件。 -L<符号连接>或–dereference<符号连接> 显示选项中所指定符号连接的源文件大小。 -m或–megabytes 以1MB为单位。 -s或–summarize 仅显示总计,即当前目录的大小。 -S或–separate-dirs 显示每个目录的大小时,并不含其子目录的大小。 -x或–one-file-xystem 以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。 -X<文件>或–exclude-from=<文件> 在<文件>指定目录或文件。 –exclude=<目录或文件> 略过指定的目录或文件。 –max-depth=<目录层数> 超过指定层数的目录后,予以忽略。 –help 显示帮助。 –version 显示版本信息。 Linux中的du命令使用示例: 1> 要显示一个目录树及其每个子树的磁盘使用情况 du /home/linux 这在/home/linux目录及其每个子目录中显示了磁盘块数。 2> 要通过以1024字节为单位显示一个目录树及其每个子树的磁盘使用情况 du -k /home/linux 这在/home/linux目录及其每个子目录中显示了 1024 字节磁盘块数。 3> 以MB为单位显示一个目录树及其每个子树的磁盘使用情况

语用与语法的关系

语用与语法的关系 语用与语法的关系一直以来备受人们的广泛关注,而探究它们之间的关系无疑会对我们当代的教育教学以及研究方面产生很大的影响。在这里,简要分析一下他们两者之间的关系: 首先,语用与语法之间存在着种属关系,并相互促进对方的发展。近二三十年来,我国语法学者越来越重视在语法研究中加强跟句法相关的语义与语用的研究,认为语法研究有句法、语义、语用三个方面。句法方面包括传统语法的句法及词法;语义方面研究隐藏在句法结构里的语义成分、语义指向、语义特征等;语用方面研究说话的语境和句子的语调、语气、口气以及句法结构的变化等。把语法中的句法、语义、语用区分开来又结合起来研究,可使语法研究更加深入、细致、全面,使语法的静态研究和动态研究更加明确,加强了对语法规律的解释力,更有利于人们从理性上认识语法结构规律,从而利用它来指导我们的语言实践。 其次,语法和语用是相互作用的关系,语法是手段,语用是在使用中的具体实现。简单地来说,语用就是能在一定的语境中正确、合理、妥帖地进行表达,并将已学过的字、词、句、篇等内容根据语境的需要加以规范、恰当、个性地运用。由此可知,语用是以交际为目的的具体语言情境下的语言使用,而实现某一交际目的需要借助语法手段。语用是以上下文里的句子为对象,探索句子的不同的语用功能。相应的语法是语言内部关系组成的抽象结构。语用是意义的表达,需要通过语法这一结构形式实现。例如“演员的表情抓住了每个观众的视线。”此句在语法结构上是主谓句,而将语法融入在具体的语境中,我们就会明白其所要表达的含义。因而在具体情境中,某一具体的表达形式必须具有一个抽象的语法形式,这样才能达到交际目的。 再次,语用和语法二者之间还是相辅相成、密不可分的关系。在实际的语言交际过程中,任何句子都不是孤立存在的,而有一个赖以生存语境。然而在我国,语法教学不同时期采用了不同的教学方式,但却不约而同地将语法教学脱离语用的目的,以至于使语法教学枯燥、单调。所以我们在学习语法规则时,不仅要能够造出结构正确,意义表达完整的句子,还要关注句子使用的语境。而进行语法

WIKI语法简介

WIKI语法简介 本文仅针对在Fitnesse页面编辑中涉及的WIKI语法进行简介。主要分为三部分:字符排版编辑,列表表格编辑以及链接编辑。 一、字符排版编辑 1.文本样式编辑 主要有:''斜体'' ,'''加粗''',''''加粗斜体'''',字体变大字体变小,等用法。具体效果见表格-1。 编辑输入实际输出注释 ''斜体'' 斜体这些用于改变字体, '''加粗''' 加粗前三个都是单引号, ''''加粗斜体'''' 加粗斜体不是双引号,尤其 !style_note[note] note四个单引号 !style_left[left]left显示在左边 !style_right[right]right显示在右边 表格-1 2.字符编辑 主要有:--删除线--,字符颜色,字符底纹,等用法。具体效果见表格-2。 编辑输入实际输出注释 --删除线-- 删除线 !style_red[red] red !style_error(an error) an error !style_code[code] code !style_code(!style_red[code red]) code red 也可以嵌套使用 表格-2 3. 标题排版编辑主要有:标题分为三级,排版时,输入过程中,另起一行在显示时表示为一个空格,空一行表示是另起一个段落。"====="表示是分割线"-------"。 具体效果见表格-3。 编辑输入实际输出注释 !1 标题1 标题1 !2 标题2 标题2 !3 标题3 标题3 ------------------------- -------------------- 分割线(但是会加粗) 表格-3

命令大全

Liunx 常用命令 1.ifconfig 用于配置和显示Linux内核中网络接口的网络参数 2.type 用来显示指定命令的类型,判断给出的指令是内部 令还是外部指令 3.man Linux下的帮助指令,通过man指令可以查看Linux 中的指令帮助、配置文件帮助和编程帮助等信息 4.help 用于显示shell 内部命令的帮助信息 5.ls 列表显示文件及目录 6.du 查看文件或目录所占磁盘空间大小 7.touch 创建新文件,修文件时间戳 8.stat 用于显示文件的状态信息 9.mkdir 创建新目录 10.cp 复制文件或目录 11.rm 删除文件或目录 12.mv 移动文件或目录,同一目录下重命名 13.which 查看命令所在位置 14.find 精细查找文件所在位置 15.hostname 用于显示和设置系统的主机名称 16.cat 查看文件中的内容 17.tac 倒序查看文件内容 18.nl 查看文件内容=cat –n(空行不标号)

19.more 分页查看文件内容 20.less 与more 类似,比他功能更多 21.head 查看文件开头内容(默认显示10 行) 22.tail 查看文件结尾内容(默认显示10 行) 23.wc 查看文件中单词数 24.grep 过滤文件中的内容 25.egrep 精细过滤 26.gzip 压缩,格式为.gz 27.gunzip 解压缩 28.bzip2 压缩,格式为.bz2 29.bunzip2 解压缩 30.tar 制作归档、释放归档文件 31.vi 进入vi 编辑器 32.mount 用于加载文件系统到指定的加载点 33.umount 卸载已经加载的文件系统 34.md5sum 采用MD5 报文摘要算法(128 位)计算和检查文件的校验和 35.rpm RPM 软件包的管理工具

现代汉语语法使用

初高中语文语法知识衔接 一、词类 词可分实词与虚词两大类。 (1)实词:表示实在意义,能作短语或句子得成分,一般能独立成句。实词包括名词、动词、形容词、数词、量词、代词。 (2)虚词:一般不表示实在得意义,基本用途就是表示语法关系。虚词包括副词、介词、连词、助词、叹词与拟声词。 (一)实词 1.名词:表人与事物得名称。 (1)表人与事物得名称得,如:学生、书、瓜、菜、计算机 (2)表时间得叫时间名词,如:早、晚、上午、清晨 (3)表方位得叫方位名词,如:上、下、左、右、前、后、中、东、西、南、北、前面、后边、东边、南面、中间 (4)表专用名称得叫专用名词,如:云南、上海、李白 (5)表抽象事物得名称得叫抽象名词,如:范畴、思想、质量、品德、友谊、方法 (6)表处所得叫处所名词,如:墙上、书屋 2.动词:表人或事物得动作、行为、发展、变化。 (1)表动作、行为得,如:来、去、说、走、跑、学习、起飞、审查、认识 (2)表发展、变化得,如:变化、生长 (3)表存现得,如:有、无、消失、存在 (4)表使令得,如:使、让、叫 (5)表判断得,如:就是 (6)表相似得,如:象、似 (7)表心理活动,如:爱、想、喜欢、重视、注重、尊敬、了解、相信、佩服、惦念(8)表能够、愿意得,叫能愿动词,如:能、会、要、应、肯、敢、能够、应该、应当、愿意、可以、可能、必须 3.形容词:表人或事物得形状、样式、性质 (1)表事物得形状,如:高、矮、胖、瘦、大、小 (2)表事物得性质,如:美、丑、恶、甜、苦、好、坏、奢侈 (3)表事物得状态,如:快、慢、迅速 4.数词:表人或事物数目得词。 (1)表确数得,如:一、十、亿、半 (2)表概数得,如:几、一些、上万 (3)表序数得,如:第一、老九 (4)表分数得,如:三分之一、七成 5.量词:表人、事物得单位或动作、行为得单位得词。 (1)表物量得,如:个、张、只、支、寸、吨 (2)表动量得,如:次、下、回、趟、场 6.代词:起代替或指示作用得词。 (1)表人称代词得,如:我、您、她、她、它、我们、您们、她们、咱们、自己、人家

雅思阅读语法方面三大注意事项

雅思阅读语法方面三大注意事项 雅思阅读测试就像一团大线球,只要你找到线头,一切就迎刃而解。然后,这个线头在哪里呢?想在雅思阅读中得到一个比较良好的成绩,考生需要具备哪几方面的硬件呢? 1. 词汇;不管是在雅思阅读还是托福阅读,考查语言水平的一个基本方面就是词汇。而在雅思阅读当中,考生不仅仅需要一定量的词汇,而且在注重词汇的多样性,即同意转化。特别是考生在记一些雅思考试的高频词汇的时候,就更强调这个词相对应的英文同义词。总所周知,中英是有差异的。 2. 语法;语法和词汇一样是考查语言水平的一个基本方面。然后这个方面在雅思阅读考试中相对比较重要。 3. 题型;雅思的题型当然也就是雅思阅读的最重要的特点。考生只有熟知各个题型的特点,换句话说,考生只有了解游戏规则,才能成为最后的赢家。 雅思阅读的语法方面到底要注意哪几个方面呢? 一.长句的处理 总所周知,雅思阅读的三篇文章都比较长,而且单词也相对比较难。然后最让考生头 痛的就是几乎一半以上的句子都是长句。而所谓的对长句的处理就是指能清楚地知道这个长句的主干在是什么呢,基本上指的就是这个长句的主谓宾或主谓表是什么。这样的话,就大大减轻了考生的负担和压力。因为主干的单词往往都相对而言比较简单,并且,主干上的意思基本上就是作者的要表达的意义。当然,还有一个点是能弄懂长句的比较有立竿见影的好处就是出题者的出题特点。 我们先来看几个例子 1. 题目:Research completed in 1982 found that in the United States soil erosion……(C3T2P2) A reduced the productivity of farmland by20 per cent B was almost as severe as in India and China C was causing significant damage to 20 per cent of farmland

Linux中查找文件技术大全

Linux中查找文件技术大全 每一种操作系统都是由成千上万个不同种类的文件所组成的。其中有系统本身自带的文件,用户自己的文件,还有共享文件等等。我们有时候经常忘记某份文件放在硬盘中的哪个地方。在微软的WINDOWS操作系统中要查找一份文件是相当简单的事情,只要在桌面上点击“开始”-“搜索”中就能按照各种方式在本地硬盘上,局域网络,甚至在INTERNET上查找各种文件,文档。 可是使用Linux的用户就没有那么幸运了,在Linux上查找某个文件确实是一件比较麻烦的事情。毕竟在Linux中需要我们使用专用的“查找”命令来寻找在硬盘上的文件。 Linux下的文件表达格式非常复杂,不象WINDOWS,DOS下都是统一的AAAAAAA.BBB格式那么方便查找,在WINDOWS中,只要知道要查找的文件的文件名或者后缀就非常容易查找到。Linux中查找文件的命令通常为“find”命令,“find”命令能帮助我们在使用,管理Linux的日常事务中方便的查找出我们需要的文件。对于Linux新手来说,“find”命令也是了解和学习Linux文件特点的方法。因为Linux发行版本繁多,版本升级很快,在Linux书籍上往往写明某个配置文件的所在位置,往往Linux新手按图索骥还是不能找到。比如说REDHAT Linux 7.O和REDHAT Linux 7.1中有些重要的配置文件所在的硬盘位置和文件目录就有了很大的改变,如果不学会使用“find”命令,那么在成千上万的Linux文件中要找到其中的一个配置文件是相当困难的,笔者在没有精通“find”命令之前就吃过这样的

苦头。好,下面就详细为大家介绍强大的“find”命令的全部使用方法和用途。 通过文件名查找法: 这个方法说起来就和在WINDOWS下查找文件一样容易理解了。如果你把这个文件放在单个的文件夹里面,只要使用常见的“ls"命令就能方便的查找出来,那么使用“find”命令来查找它就不能给你留下深刻的印象,毕竟“find”命令的强大功能不止这个。如果知道了某个文件的文件名,而不知道这个文件放到哪个文件夹,甚至是层层套嵌的文件夹里。举例说明,假设你忘记了httpd.conf这个文件在系统的哪个目录下,甚至在系统的某个地方也不知道,则这是可以使用如下命令: find / -name httpd.conf 这个命令语法看起来很容易就明白了,就是直接在find后面写上 -name,表明要求系统按照文件名查找,最后写上httpd.conf这个目标文件名即可。稍等一会系统会在计算机屏幕上显示出查找结果列表:etc/httpd/conf/httpd.conf 这就是httpd.conf这个文件在Linux系统中的完整路径。查找成功。如果输入以上查找命令后系统并没有显示出结果,那么不要以为系统没有执行 find/ -name httpd.conf命令,而可能是你的系统中没有安装

Linux基础教程 linux下如何不解压tar.gz文件查看其中的文件大小

Linux基础教程linux下如何不解压tar.gz文件查看其中的文件大小如何不解压tar.gz文件查看其中的文件大小 tartvf my_file.tar.gz 输出形如: -rwxr-xr-x root/root 2348366 2010-10-26 11:09:46 File_1.txt -rwxr-xr-x root/root 2383552 2010-10-26 12:52:45 File_2.txt -rw-r–r– root/root 89106866 2010-12-20 14:30:01 File_3.txt 从左起第三列数据就是文件大小(单位:字节),第6列就是文件名。如果要看得更清楚一点,用awk 来过滤一下输出的结果: tartvf my_file.tar.gz | awk '{print $3, $6}' 这样就只输出第3和第6列,输出形如: 2348366 File_1.txt 2383552 File_2.txt 89106866 File_3.txt 如果要以KB/MB/GB来显示文件大小,可以用第3列除N个1024,例如,如果要显示为GB,则: tartvf my_file.tar.gz | awk '{print $3/1024/1024/1024, $6}' 字节数连除3个1024,就是GB了,输出形如: 0.00218708 File_1.txt 0.00221985 File_2.txt 0.0829872 File_3.txt 如果对一个超大的文件(例如,上百G),并且压缩包里包含很多文件的话,这个过程将很漫长,让shell 命令在后台执行,并将结果输出到一个文件中是一个比较合理的做法,如下: nohup tar tvf my_file.tar.gz | awk '{print $3/1024/1024/1024, $6}' > /root/result.txt &

语法术语 各用词英语表达

常用语法术语表 语法grammar 句法syntax 词法morphology 结构structure 层次rank 句子sentence 从句clause 词组phrase 词类part of speech 单词word 实词notional word 虚词structrural word 名词noun 专有名词proper noun 普通名词common noun 可数名词countable noun 不可数名词uncountable noun 抽象名词abstract noun 具体名词concret noun 物质名词material noun 集体名词collective noun 个体名词individual noun 介词preposition 连词conjunction 动词verb 主动词main verb 及物动词transitive verb 不及物动词intransitive verb 系动词link verb 助动词auxiliary verb 情态动词modal verb 规则动词regular verb 不规则动词irregular verb 短语动词phrasal verb 限定动词finite verb 非限定动词infinite verb 使役动词causative verb 感官动词verb of senses 动态动词event verb 静态动词state verb 感叹词exclamation 形容词adjective 副词adverb

方式副词adverb of manner 程度副词adverb of degree 时间副词adverb of time 地点副词adverb of place 修饰性副词adjunct 连接性副词conjunct 疑问副词interogative adverb 关系副词relative adverb 代词pronoun 人称代词personal pronoun 物主代词possesive pronoun 反身代词reflexive pronoun 相互代词reciprocal pronoun 指示代词demonstrative pronoun 疑问代词interrogative pronoun 关系代词relative pronoun 不定代词indefinite pronoun 物主代词possecive pronoun 名词性物主代词nominal possesive prnoun 形容词性物主代词adjectival possesive pronoun 冠词article 定冠词definite article 不定冠词indefinite article 数词numeral 基数词cardinal numeral 序数词ordinal numeral 分数词fractional numeral 形式form 单数形式singular form 复数形式plural form 限定动词finite verb form 非限定动词non-finite verb form 原形base form 从句clause 从属句subordinate clause 并列句coordinate clause 名词从句nominal clause 定语从句attributive clause 状语从句adverbial clause 宾语从句object clause 主语从句subject clause 同位语从句appositive clause 时间状语从句adverbial clause of time 地点状语从句adverbial clause of place

相关文档
最新文档