下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2020/7/12,长江大学地物学院,1,第一讲 Unix操作系统的入门与基础,赵振龙,2020/7/12,长江大学地物学院,2,Unix操作系统概述,Unix操作系统是一种强大的多任务、多用户操作系统。 早在上世纪六十年代未,AT cp file1 tmp/file2; ls -l tmp Unix会顺序执行以上三条命令(群命令),要注意的是在命令间使用分隔符“;”,只代表命令执行的先后顺序。,2020/7/12,长江大学地物学院,63,(三)重定向符的使用,用户欲执行一个命令,当然是要先输入此命令,系统默认的标准输入设备是键盘,而执行命令后的结果通常显示在系统默认的标准输出设备显示器上。但
2、是,Unix系统具有重定向功能,即将标准输出重定向则可将命令的处理结果存入指定的文件,而非显示在屏幕上;将标准输入重定向则可把指定的数据文件作为输入源,而非从键盘输入数据。 重定向符如下: 重定向输出到一个文件或设备,如文件不存在则创建该文件,如文件已存在则覆盖该文件 重定向输出到一个文件或设备,并将输出信息追加到已存在文件的尾部,2020/7/12,长江大学地物学院,64,重定向符的使用举例,例: cal 5 2005 doc1.txt /将2005年5月份的日历保存在文件doc1.txt中 cal 6 2005 doc1.txt /将2005年6月份的日历保存在文件doc1.txt尾部此时
3、文件doc1.txt中保存了5、6两个月的日历 cat doc2.txt /将doc1.txt作为输入源,把其中的内容保存在doc2.txt中。 可以重定向到标准设备中。,2020/7/12,长江大学地物学院,65,(四)管道符“|”的使用,有时可能会需要将一个命令的标准输出发送给另一个命令使用,而非发送到一个目标文件,这时就需要使用Unix提供的管道符“|”在这两个命令间架起一条连接管道。管道符“|”的作用就是从“|”左边的命令接受输出数据并发送给“|”右边的命令作为输入数据。 如:ls -l /etc | more 管道符“|”的功能非常强大且很有用,利用它可以实现一些复杂的操作。在信息查
4、找命令部分,我们将会看到它的一些应用。,2020/7/12,长江大学地物学院,66,(五)其它特殊字符,美元符“$”是一个特殊操作符,当其置于变量名前面时,变量名会被变量值所代替。因此通常都是通过在变量名前加上“$”来引用该变量的值,“$”也常被称为变量取值符。 Unix中可以使用三种引号符: (1)单引号( ):功能是让系统原样输出单引号中所含的内容。 (2)双引号(“ ”):双引号中的字符串若含有通配符,则系统会先进行通配后再输出;若含有变量取值符“$”,则系统会先进行变量取值后再输出。 (3)反引号( ):反引号中所含的内容必须是一个命令,这样它会先执行此命令,然后把命令执行的结果返回输
5、出。 对于上述几个特殊字符,在Shell脚本编程部分大家会看到具体的应用例子。此外,常见的特殊字符还有“.”代表用户所在的当前目录,“.”代表用户所在的当前目录的父目录,“”代表用户登陆系统的主目录。,2020/7/12,长江大学地物学院,67,三 与查找比较相关的命令,文件放在哪个目录里?幸好,Windows为我们提供了“搜索”功能,在Unix系统中的文件又是怎样的命运呢?且看以下的命令功能: (一)利用find命令查找文件 find命令的功能是在指定目录及其子目录下查找符合条件的文件,命令格式如下: find path expression 参数path指欲开始查找的起始目录,find会遍
6、寻此目录以及其子目录,并且此参数可以有多个目录名称,只要在目录与目录之间用空格分开即可。 参数expression指明了诸如基于文件名、文件类型、文件所有者、最后一次修改时间等的查找规则,find命令将遵循此查找规则来查询指定目录以及子目录中的文件。,2020/7/12,长江大学地物学院,68,(一)利用find命令查找文件,常用的查找规则如下: -name filename指定要寻找的文件或目录名称。 -print将搜索到的符合条件结果以包含路径名的方式输出。 -type x以文件类型作为寻找条件,常用的文件类型x如下: d - 目录文件, f - 普通文件, b - 块设备文件, c -
7、字符设备文件, l - 链接文件。 -user user寻找用户user所拥有的文件,user可为用户名或uid号。 -atime n寻找n天之前曾被访问过的文件。 -mtime n寻找n天之前曾被修改过的文件。 -exec command ;用寻找到的文件作为执行command的对象,中保存执行command时所需的参数,注意必须以 ; 为结束。,2020/7/12,长江大学地物学院,69,利用find命令查找文件,一些具体的查找实例: 例1 在目录/home中查找名为javac的文件,并要显示出完整的路径名: find /home name javac -print 例2 在当前目录下查找
8、以doc开头,7天之前曾被修改过的文件: find . name “doc*” -mtime 7 例3 在目录/home中查找名为anray的目录,并显示出完整的路径: find /home name anray type d -print 例4 在目录/home中查找用户zcl所拥有的普通文件,并将其删除: find /home type f user zcl -exec rm ;,2020/7/12,长江大学地物学院,70,(二)使用grep命令查找字符串,使用grep( global regular expression print)命令在文本文件中查找指定的字符串,并将所有出现该字符串
9、的行打印显示出来。grep命令的格式如下: grep -iv 字符串 文件名 参数i代表查找字符串时忽略字母大小写; 参数v显示出所有不包含指定字符串的行。 如果在欲查找的字符串中包含有空格,那么应该用单引号将此字符串引起来。此外,如果是想同时在多个文件中查找指定的字符串,那么只需列出所有欲搜索的文件即可,这样grep命令会在所列出的匹配行前加上文件名。grep常与通配符、管道符一起搭配使用,这样可以实现一些特殊的查找功能。,2020/7/12,长江大学地物学院,71,grep命令举例,例1 在文件file1中查找字符串“Java Web”,并忽略大小写。 grep i Java Web fi
10、le1 或 cat file1 | grep i Java Web 或 grep i Java Web file1 例2 在当前目录中查找5月1日创建或修改过的文件。 ls la | grep i may 1,2020/7/12,长江大学地物学院,72,(三)比较两个文件的内容,在Windows系统中,不知你是否用过一款名为WinMerge的软件?此款软件一项非常强悍的功能,就是可以比较两个文件的内容有哪些不同之处,而且可谓是火眼金睛。记得笔者读研一的时候,听一位助教说他就是靠这款软件逮了不少抄袭作业的人:)而在Unix系统中,则无需借助第三方软件就可实现此项功能了。cmp命令可用于比较两个文
11、件,这两个文件可以是文本文件也可以是非文本文件。在默认情况下,cmp命令会显示两个文件第一次数据不同的位置;若两个文件内容相同,则不显示任何信息。cmp命令的格式如下: cmp -l 文件名1 文件名2 参数l代表标示出每个不同之处内容的行号。,2020/7/12,长江大学地物学院,73,diff命令比较,另外,还可以使用diff命令来比较两个文本文件或目录的不同之处,它会详细的列出文件1比文件2增多的内容、减少的内容以及改变了的内容。diff命令的格式如下: diff -r 文件1 文件2 如果比较两个目录的不同之处,加上参数r 在得到的结果中,d表示文件1比文件2增多的内容,a表示文件1比
12、文件2减少的内容,c表示文件1较文件2改变了的内容。,2020/7/12,长江大学地物学院,74,(四)使用wc命令进行统计,在Unix系统中,wc是个非常有用的命令。对于Word中的字数统计功能,大家应该非常熟悉,利用它可以统计出一篇文章中的页数、字数、字符数、行数等信息。而wc命令也同样实现了类似于Word的字数统计的功能,它把一个文件作为数据流读入,然后计算出此文件中的行数、单词数以及字符数,并输出这些统计数据。wc命令的格式如下: wc -lwc filename(s) 参数l代表统计行数, 参数w代表统计字数, 参数c代表统计字符数。,2020/7/12,长江大学地物学院,75,使用
13、wc命令进行统计,例 wc -l file1 file2 /统计文件file1和file2 的行数 grep wang /etc/passwd | wc l /统计目录/etc下的passwd文件中有多少个用户名为wang的用户,2020/7/12,长江大学地物学院,76,四 文件归档及压缩命令,(一)文件归档命令 用户在处理文件过程中,有时需要对某些目录及文件进行打包备份的操作,或有时需要将几个文件组合成一个文件以便于网络传送。 使用tar 命令,可以将多个文件或目录合并成为一个tar包以便于存储及传输。tar命令的常用格式是: tar cvf filename.tar file1 file
14、2 directory1 directory2 此处参数中c表示创建一个新的归档,v表示启动显示模式,tar会显示出所处理的每个文件名,f filename.tar表示使用指定的文件名作为归档文件。,2020/7/12,长江大学地物学院,77,tar 命令举例,例:要将/home/zcl/down目录中的文件全部归档为down.tar,可以使用如下命令 tar cvf down.tar /home/zcl/down 当用户想把已归档的文件复原,则可使用如下的命令格式: tar xvf filename.tar,2020/7/12,长江大学地物学院,78,(二)文件压缩命令,为了避免文件占用太多
15、的磁盘空间,用户会选择将文件压缩存放。通常压缩会和归档组合使用,使用户能够对整个目录以及目录中的文件同时进行压缩。对许多Windows用户来说,使用Winzip、Winrar等工具软件来压缩或解压文件是很平常的事,那么如何在Unix系统中对文件进行压缩与解压呢?下面介绍Unix系统中常用的三种压缩类型以及解压缩命令。 1 使用gzip/gunzip 命令解压缩文件 使用gzip命令压缩后的文件名称为“原文件名.gz”,它对应的解压命令是gunzip。命令格式如下: gzip filename gunzip filename.gz,2020/7/12,长江大学地物学院,79,gzip/gunzi
16、p 命令举例,例:要largefile.tar文件压缩成为largefile.tar.gz,则可以使用如下命令: gzip largefile.tar 如果要把largefile.tar.gz解压,则只需使用命令 gunzip largefile.tar.gz即可。,2020/7/12,长江大学地物学院,80,(二)文件压缩命令,2 使用compress/ uncompress命令解压缩文件 凡是经过compress命令压缩处理的文件,会在文件名后附加上“.Z”,它对应的解压命令是uncompress。命令格式如下: compress filenameuncompress filename.Z
17、 3 使用pack/unpack命令解压缩文件 凡是经过pack命令压缩处理的文件,会在文件名后附加上“.z”,它对应的解压命令是unpack。命令格式如下: pack f filenameunpack filename.z,2020/7/12,长江大学地物学院,81,五 进程管理与控制命令,“进程”顾名思义就是“正在进行着的程序”,在Unix系统中一个进程可视为一项正在执行的任务,这样一个命令也就是一个进程了。Unix系统具有检查和控制进程的相关命令,它们常被用于管理Unix系统。事实上,进程不仅包括用户所执行的命令,也包括了维持Unix系统正常运行的所有程序,且每一进程都有其唯一的代号,即
18、进程标识符。 要想查看系统当前正在运行的进程信息,可使用命令: ps -options 无参数时只显示当前用户在当前窗口中所运行的进程,如果系统提示ps为非法命令,则在csh中可使用/usr/bin/ps , bash中可使用/usr/ucb/ps来替代ps。 参数options:-e列出所有正在运行的进程 -f长列表显示进程的细节信息,一般与e一起使用 -u 用户名,显示指定用户正在运行的进程。,2020/7/12,长江大学地物学院,82,进程管理与控制命令,例 要求长列表显示所有与用户zcl相关的进程信息,命令如下: ps ef | grep zcl 此外,如果想要查看进程占用系统资源的情
19、况,可使用如下的两个命令: /usr/ucb/ps auwx /查看进程占CPU、内存等系统资源的情况 prstat /时时刷新当前系统的进程信息,并按所占系统资源大小排列,2020/7/12,长江大学地物学院,83,进程管理与控制命令,在某种特殊情况下,用户可能会无法正常的结束某一进程,这时就需要使用命令kill来杀掉这一进程,不过要注意的是用户只能杀掉由其自身创建的进程。命令格式如下: kill -signal process-id 或 pkill -signal process-name kill就像一名狙击手,实施的是精确的“点杀”,kill会精确的杀掉指定进程号的进程,如: kill
20、 12345 /“点杀”进程号为12345的进程,进程号可利用ps命令查出 kill -9 12480 /-9代表强制杀掉进程,但不会清理该进程所占的资源 pkill就像一名机枪手,实施的是威力巨大的“群杀”,pkill会杀掉所有指定的进程名的进程。如: pkill sleep /杀掉系统中所有名为sleep的进程,2020/7/12,长江大学地物学院,84,作业与控制命令,作业这一概念只有在需要对进程区分为前后台时方被使用,它等同于进程的概念。前台进程是指可以和用户直接进行人机交互的进程,它可以接收键盘输入并将结果显示在显示器上。缺省状态下用户启动的Unix程序都运行在前台。后台进程是指不直
21、接和用户进行交互的进程,用户一般是感觉不到后台进程的运行。要让某一程序在后台运行,只需在命令行的最后加上“&”符号。在Unix系统中可以同时在前台和后台运行多个进程,通常情况下,一般把需要和用户交互的程序放在前台执行,而把不需要以交互方式执行的程序置于后台运行。,2020/7/12,长江大学地物学院,85,用jobs命令查看正在执行的作业,使用jobs命令可以查看当前系统中正在执行的作业,如下图所示:,2020/7/12,长江大学地物学院,86,作业与控制命令,在图中,“ ”中的数字代表作业号,此作业号可以配合作业管理命令一起使用:,此外,还应掌握三个常用的键盘指令:,2020/7/12,长江
22、大学地物学院,87,作业与控制命令举例,例1 要求后台运行find命令,在当前目录及其子目录下查找文件名前缀为file的文件。 解:通常当在后台运行命令时,最好将其运行结果输出重定向到一个文件中,以便日后检查或校对。因此,此题可以使用如下的命令: find . -name “file*” myfind & 这样,我们就可以通过查看myfind文件来查看查找结果了。在运行此命令的同时,我们还可以继续输入其它命令来进行其它操作。 例2 要求前台运行find命令,在当前目录及其子目录下查找文件名前缀为file的文件,运行过程中挂起进程,并将其放入后台运行。 解:此题可以使用如下的命令: find .
23、 -name “file*” myfind z (按Ctrl + z) jobs /通过jobs命令来查看find进程的作业号,假设为1 bg %1,2020/7/12,长江大学地物学院,88,作业与控制命令使用技巧,在前台杀掉某一进程后,那么此进程的所有子进程都会同时被杀掉;而如果是在后台杀掉某一进程,那么此进程的所有子进程都将“过继”给“祖宗”进程(即进程号为1的进程)而继续运行。 有关进程处理常用的技巧: 用kill命令杀掉后台进程 UNIX命令 解释 kill 进程号 删除进程 kill -9 进程号 强制删除进程 停止失控进程步骤(1) 在未锁死的终端以root登录(2) 用ps -
24、ef和grep 关键字命令找到失控进程pid号(3) kill pid号,若杀不掉,再运行kill -9 pid号(4) 若还杀不掉,则shutdown,2020/7/12,长江大学地物学院,89,六 网络通信相关命令,对于现代人来说,若离开了网络,那就真要返回到“功能性文盲”状态了。当然,Unix系统也离不开网络,它的缺省网络协议即为当今网络架构基础的TCP/IP协议。TCP/IP协议由一系列协议组成,统称TCP/IP协议族。TCP/IP协议是TCP/IP协议族中的基本协议,协议族常用协议有: (1)传输控制协议/互联网络协议(TCP/IP - Transmission Control Pr
25、otocol/Internet Protocol)是协议族的基本协议。 (2)用户数据报协议(UDP - User Datagram Protocol)提供无连接的传输层协议,不保证传输的可靠性。 (3)远程登录协议(telnet)定义了远程登录的标准。 (4)文件传输协议(FTP - File Transfer Protocol)定义了不同系统间进行文件拷贝的标准。 下面再介绍基于TCP/IP协议族的Unix系统的相关命令:,2020/7/12,长江大学地物学院,90,1 Telnet命令,前文中我们曾经使用过telnet命令,该命令的主要功能是在用户使用的本地计算机上通过网络登陆远程Uni
26、x主机,把本地计算机当成远程主机的一个仿真终端,而此处的网络可以是任何采用了TCP/IP协议的网络,如LAN、WAN、Internet等。在本地计算机上运行的telnet或下文将要介绍的ftp程序,实际上都是telnet/ftp的客户端程序,它通过TCP/IP协议与远程主机中的服务端程序相连。当用户利用telnet完成与远程Unix主机的连接后,就能像是在Unix主机终端上操作一样了,不过此时用户所能使用的功能和资源将取决于该系统所赋予用户的使用权限。 telnet的命令格式如下: telnet IP地址或域名 端口号 此处的IP地址或域名是指远程Unix主机的IP地址或域名。当建立连接之后,
27、将会出现信息提示用户输入登陆的用户名及口令,正确输入后就可以进入Unix系统了。,2020/7/12,长江大学地物学院,91,2 FTP命令,FTP的主要功能是实现本地计算机与远程主机之间的文件传输,它可以将远程Unix系统上的一个或多个文件下载到本地计算机,也可以将本地计算机上的一个或多个文件上传到远程Unix系统上。 FTP的命令格式如下: ftp IP地址或域名 此处的IP地址或域名是指远程Unix主机的IP地址或域名。当建立连接之后,将会出现信息提示用户输入登陆的用户名及口令,正确输入后就会出现ftp提示符“ftp”,我们就可以在此提示符后输入ftp命令进行相关的操作了。,2020/7
28、/12,长江大学地物学院,92,FTP的常用命令及解释列表如下,2020/7/12,长江大学地物学院,93,FTP的常用命令举例,下面是一次模拟的FTP登陆实例。假设远程主机的IP地址为5,现在要求将本地计算机系统/home/zcl中的文件Calculator.java上传到远程主机/newusers/zcl目录中,同时将/newusers/zcl目录中所有的文件下载到本地计算机目录/home/zcl/down中。 解: ftp 5 Name: Password: (输入Unix用户名及口令) ftp asc ftp lcd d:/home/zcl ft
29、p cd /newusers/zcl ftp put Calculator.java ftp bin ftp lcd c:/home/zcl/down ftp mget * ftp bye,需要注意的是,可以将ASCII文件按二进制模式传输,但决不能将二进制文件按ASCII模式传输,否则二进制文件的内容会遭到破坏而无法使用。,2020/7/12,长江大学地物学院,94,3 用户间通讯命令,Unix提供了多种方式让用户相互通信,它允许以文本的方式给某个用户或所有用户传递信息,而信息来源可以是文本文件或直接由键盘输入的内容。 (1)使用write发送消息 使用write命令可以向任何已登录同一系统
30、的另一位用户发送消息,这时在对方用户终端上就会自动显示出信息,而对方也同样可以使用write 命令来回复消息,这样双方之间就能互相通信了。 write命令的格式如下: write user-name 此处user-name是将要与之通信的用户名,可以使用who 命令来查看系统中已登陆的用户名。输入write命令后,即可进入发送消息状态,这时就可以通过键盘输入消息,回车即可向对方发送此条消息了。要想退出发送消息状态,可以使用“Ctrl + d”退出write 命令回到shell。,2020/7/12,长江大学地物学院,95,write命令举例,例 UNIX上两用户alex 和jenny 通过wr
31、ite命令通信。在alex的所在终端上: $ writealex Hi Alex, are you there? o Message from Alex (tty11)Sat Jan 5 15:08. Yes Jenny, Im here. o Thank you ,Alex, bye! oo Ctrl-d $该例说明了使用write 命令实现Alex 和Jenny 的通信过程。首先Jenny 使用前两行向Alex发送了一条报文,接下来的两行是Alex 发送的报文Jenny 收到了,省略号表示他们的通信继续。最后,Jenny 用thank you,Alex,bye!oo 告诉Alex没有话要说
32、了,并在下一行开始键入ctrl-d 来退出write 并回到shell。,2020/7/12,长江大学地物学院,96,Talk命令,(2)使用talk进行双方对话 talk命令允许双方实现类似于MSN、QQ这样的实时对话,其命令格式如下: talk user-name 当用户向另一用户发送对话请求,只有在对方同意接受对话请求,即对方也使用talk命令后,双方的对话才会建立。这时双方终端上都会显示“connect established”,这样双方就可以从键盘输入文字,talk会把这些输入显示在对方的屏幕上,若任意一方按键就会退出对话状态。,2020/7/12,长江大学地物学院,97,wall命
33、令,(3)使用wall进行广播式消息传送 使用wall命令可以向所有用户广播通知信息,而所有登录系统的用户都可收到该消息。wall命令有以下几种格式: wall wall filename wall “send a message to all the people!”,2020/7/12,长江大学地物学院,98,mesg命令,(4)使用mesg允许或拒绝接收消息 当一位用户正在全身心的投入某项工作的时候,可能会不想被另外一位用户用上述方式突然发送来的消息打断思路,那么就可使用mesg命令来设置是否允许接收由其它用户发来的信息。mesg命令的格式如下: mesg n 或 mesg -y 其中,
34、y表示允许接收信息,n 表示拒绝接收信息。如果mesg后面没有跟参数,则报告当前的许可状态。,2020/7/12,长江大学地物学院,99,4 其它命令,(1)查看网上用户信息 使用finger命令可以显示当前正在使用Unix系统的所有用户信息,它的命令格式如下: finger 用户名主机域名或ip地址 如: finger /显示当前正在使用Unix系统的所有用户信息 finger anray5 /查看主机6上用户anray的信息 此外,常用的显示当前系统登陆用户信息的命令还有: who /可查看每个登陆用户的IP地址 w /可查看每个登陆用户的当前行为
35、who am i /查看使用者自己的信息,2020/7/12,长江大学地物学院,100,(2)查看网络的相关信息,hostname /显示主机名 cat /etc/hostname.hme0 /显示主机名 cat /etc/hosts /查看同一网段中存在的所有主机 cat /etc/services /查看当前系统所运行的所有程序的 /端口 ping 主机IP地址 /检测是否可以访问某个主机 netstat /列出系统中所有的网络连接 /usr/sbin/traceroute 主机IP地址 /显示从本地到目标IP所 /经过的所有路由器,2020/7/12,长江大学地物学院,101,七 文本编
36、辑器 vi 的使用简介,vi编辑器是一款强有力的文本文件编辑工具。 vi 提供了两种操作模式:文本输入模式和命令模式,前者用于文本输入,后者用于输入控制指令。要启动vi进行文本操作,用户可在Shell提示符后输入如下命令: vi 文件名 如果该名称的文件不存在,则系统会自动创建该文件。用户进入vi编辑器后,便自动处于命令模式,此时键入的任何字符皆被视为指令。此模式下可对文本进行删除、替换、拷贝、移动等操作,而对文本进行操作的前提是输入文本,那就先让我们进入输入模式吧。文本输入模式的进入,有以下的指令可供使用:,2020/7/12,长江大学地物学院,102,vi的常用指令,这些命令在vi的命令方
37、式下有效: a 将在光标所在位置之后插入文本 A将在光标所在行末插入文本 i将在光标所在位置之前插入文本 I将在光标所在行的第一个非空字符前插入文本 o将在光标所在行的下一行开始插入文本 O将在光标所在行的上一行开始插入文本,2020/7/12,长江大学地物学院,103,文本定位命令,首先应该按“ESC”键进入命令模式,然后可利用下面的指令移动光标位置进行准确定位: K 上移一个字符 J 下移一个字符 H 左移一个字符 L 右移一个字符 行号G 光标移到该指点行(如1G表示光标移到第一行) G光标移到文件结尾 接着就可以使用下述指令进行删除或替换操作了: x 删除光标所在字符 X删除光标所在的
38、前一字符 s删除光标所在的字符,并进入输入模式dd删除光标所在行 nd删除第n行的所有字符(n代表具体数字,下同) ndd删除从光标所在行开始往下的n行 :n,md删除从指定的n到m行之间的所有字符(如::5,10d 将会删除从第5行开始至第10行的内容) D删除光标所在处到行尾的字符 r用跟在此指令之后的字符替换光标所在的字符(如:ra 是以 a 替换光标所在的字符) C替换从光标到行尾的内容 cc替换整行的内容,2020/7/12,长江大学地物学院,104,拷贝 移动 粘贴功能,在vi编辑器当然也具备了一般编辑的拷贝、移动、粘贴功能:,上列表中第4、5项如::10,20co30 将第10行
39、至第20行的文本复制到第30行之后;:10,20mo30 将第10行至第20行的文本移动到第30行之后。,2020/7/12,长江大学地物学院,105,存盘退出vi,在完成所有的编辑工作之后,大家可要记得存盘退出vi 编辑器。在命令模式下使用下述指令:,2020/7/12,长江大学地物学院,106,再介绍一些较常使用的指令:,2020/7/12,长江大学地物学院,107,八 环境变量及其它设置,变量顾名思义就是值会变化的量,在使用变量之前必须先进行定义,变量名可以是任何符合命令规则的字母、下划线和数字的组合。对于为变量赋值,在csh与bash中的操作方式会略有不同。在csh中为变量赋值的格式如
40、下: setenv variable value 在bash中可以使用赋值操作符“=”来为一个变量进行赋值,格式如下: variable=value export variable 注意在“=”的周围不应该有任何的空格,使用export命令是为了使此变量在所有嵌套的Shell中都有效。一旦为一个变量赋值之后,就可以通过在变量名之前放置“$”来引用该变量的值了。如果想要查看某个变量的值,则可以使用echo命令,命令格式为: echo $variable,2020/7/12,长江大学地物学院,108,变量使用,如在csh中键入如下命令,将当前系统的主机名赋值给变量WTO,并输出变量WTO的值: s
41、etenv WTO uname n echo $WTO 在bash中的操作方式如下: WTO=uname n export WTO echo $WTO,2020/7/12,长江大学地物学院,109,变量使用,变量的使用用途较广,经常的用法是将其作为某个命令的参数。如将某一经常用到的目录路径名赋值给一个变量,这样就可以避免一遍又一遍地反复敲入同样的内容了。看下面一个例子,要将当前目录中的文件myfile1、myfile2拷贝到目录/home/anray/mydocument中,就可以使用如下的命令(以bash为例): mydir=/home/anray/mydocument cp myfile1
42、 $mydir cp myfile2 $mydir 如果想了解所有已定义的变量情况,则可以使用set命令。当用户不再需要某一个变量时,可以用unset命令来删除此变量,格式如下: unset variable,2020/7/12,长江大学地物学院,110,环境变量的作用范围,值得注意的是,当前所定义变量的作用域范围是当前正在使用的Shell环境,即一旦退出Shell后再次登录,则此前所设置的所有变量都将失效。如果需要再次使用这些变量的话,都必须重新进行定义。 要想使定义的变量在每次登入系统时都有效,则需将其定义成为环境变量。环境变量可以用于定制用户的工作环境,即使用环境变量可以保存用户对系统进
43、行设置的信息。环境变量被定义在“初始化文件”中。,2020/7/12,长江大学地物学院,111,环境变量的作用范围,csh的初始化文件是.cshrc文件,bash的初始化文件是.bashrc(或.bash_profile,两者等效)。在每次系统启动时,系统会自动读取初始化文件中的内容来配置相应的工作环境。 常见的环境变量有HOME、PATH、SHELL等。HOME变量的值是用户主目录的路径名。PATH变量的值包含了各种命令所在目录的路径名,路径名之间用冒号隔开,当用户执行某一命令时,系统就将会自动在这些目录下查询此命令并执行,若未查询到则会提示命令没有找到。SHELL变量的值代表了用户登陆系统
44、时默认的Shell环境。当然用户也可以定义自己所需的环境变量,定义方法与普通变量定义相同,两者的不同之处在于环境变量被定义在初始化文件中。通常在定义环境变量之后,需要重新进入系统才会生效。,2020/7/12,长江大学地物学院,112,环境变量的作用范围,如果想在不重启系统的情况下立即使当前的配置生效: csh中可以使用如下的命令: source .cshrc bash中可以使用如下的命令: . .bashrc 要想查看系统已定义的所有环境变量的情况,可以使用setenv命令。,2020/7/12,长江大学地物学院,113,Unix系统中的一些其它设置,1 计划任务的设置 Unix系统允许在指
45、定的时刻执行指定的任务,这一功能是靠cron进程来实现的。cron进程会检查系统的计划任务文件,并在指定的时间执行这些指定的操作。计划任务文件内容格式如下: minhourdaymonthday_of_weekcommand 0-59 0-231-31 1-12 0-6(Sunday=0) 每行中字段分别代表:分、时、日、月、星期、要执行的命令。每个字段取值举例:,2020/7/12,长江大学地物学院,114,计划任务设置,例如: 30 0 * * * /usr/tmp/a.exe 0 7 * 1,3,6,8 1-5 /usr/tmp/makefile 第一行表示在每天的午夜0:30启动/us
46、r/tmp/a.exe文件运行,第二行表示每当1、3、6和8月的周1到周五,启动/usr/tmp/makefile文件运行。 计划任务文件是不能直接通过vi等编辑工具进行修改的,要对计划任务文件进行操作可使用crontab命令。crontab命令的常用格式如下:,2020/7/12,长江大学地物学院,115,计划任务设置,crontab e命令在默认情况下会使用编辑器ed来编辑计划任务文件。此编辑器的操作非常烦琐,因此最好是通过设置环境变量EDITOR来指定编辑器,方法如下: setenv EDITOR vi 此外,也可通过先将计划任务文件的内容读入某一临时文件,编辑完成后再覆盖原计划任务文件
47、的方式来修改计划任务。,2020/7/12,长江大学地物学院,116,计划任务举例,例 在原计划任务文件基础上增加如下任务:每月1日凌晨3时运行/usr/tmp/run程序。 解: (1) 运行 crontab -l temp (2) 对temp文件进行编辑,追加下面一行: 0 3 1 * * /usr/tmp/run (3) 运行 crontab temp,2020/7/12,长江大学地物学院,117,2 别名的设置,可以使用alias命令来为一个命令创建一个别名,它的命令格式如下: alias alias-name value 比如,熟悉DOS的用户可能会一下子不习惯ls这个命令,那么就可以使用如下的方法来为ls命令取个别名: alias dir ls 此外,还可以用一个别名来代替
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 穆斯林的葬礼读后感15篇
- 《移动通信》课程标准
- 26年机构护理规范考核课件
- 2026春浙美版(新教材)小学美术二年级下册第四单元多姿多彩编出来《11.编织“小花衣”》教学课件
- 紫云台大厦物业管理服务合同二篇
- 肾移植患者血浆瘦素与骨密度的关联解析:动态变化与临床意义
- 护理课件购买平台分享
- 肾动脉闭塞8例腔内治疗疗效分析与临床启示
- 肺结核合并肺部真菌感染的临床特征、诊疗与预后分析
- 肺癌患者肺叶切除术后脑梗死危险因素的深度剖析与临床启示
- 羊奶店卫生制度格
- 机关网络安全教育培训课件
- 高标准农田管护与维护服务协议(2025年)
- 2025年考研历史学学硕历史专业基础综合313真题(试卷+解析)
- 2025年副高消化内科试题及答案
- 特色烧烤摊合伙协议书
- 泥水安全培训课件
- 意识形态网评员培训课件
- 无人机飞行教学场地与设施建设方案
- 中枢组胺能与去甲肾上腺素能神经系统对前庭下核神经元活动调控的深度剖析
- 小升初语文复习讲义:阅读理解答题技巧答题公式
评论
0/150
提交评论