Linux命令及Shell脚本使用.docx_第1页
Linux命令及Shell脚本使用.docx_第2页
Linux命令及Shell脚本使用.docx_第3页
Linux命令及Shell脚本使用.docx_第4页
Linux命令及Shell脚本使用.docx_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1.cp命令拷贝整个目录下的文件 cp sample/* asmpl1 cp -i mm.c mm1.c /*如果mm1.c已经存在,则会给出提示*/2、mv的作用: (1)给文件重新命名:mv mm.c mm1.c /*将mm.c文件重新命名*/ (2)将文件移到其他目录下3、cd /*切换到登陆目录*/4、less rr.c /*分屏显示rr.c的命令,按空格键,显示下一屏;按PgOn和PgUp分别回到上一屏和下一屏;按下/可以查找所需内容,再按n可以到查找到的下一个内容*/5、grep -i 不区分大小写 -v 把没有的行显示出来 -c 统计满足条件的行并显示出来 grep -ivc max rr.c 统计出不带有不区分大小写max的行6、wc(word count)7、cat rr.c 创建一个新文件rr.c,若文件存在则覆盖原来文件的内容 cat rr.c 若文件rr.c已经存在,则在文件rr.c末尾中添加新内容;如果rr.c文件不存在,则创建新文件 cat rr1.c rr2.c rr.c 将rr1.c和rr.c文件的内容合并到rr.c中8、sort 对即将输入的内容进行排序 sort rr.c 对rr.c的文件进行排序并输出 sort list 将文件rr.c进行排序,将排序的内容输出到list文件中9、who | wc -l 统计登陆的用户数量10、帮助命令 (1)man wc 显示wc的完整信息 (2)whatis wc 显示wc的一行功能描述11、apropos copy 查找与copy(拷贝)有关的所有命令,这中间我们可以找到相关的命令,例如cp命令12、“&” : 命令行尾输入,表示将命令的执行过程放到后台处理 例如:cc rr.c &13、nohup:在退出系统后保持后台作业活动 一般的,如果退出系统,正在运行的后台作业就会终端,但是使用nohup命令就可以在退出系统后让作业继续运行,如: $nohup find . name “*.old” printold_file 2find.err&二、shell1、shell变量在shell程序中,或者是shell命令中,使用操作符$来对shell变量进行访问。例如,要显示某个变量时,可以输入: $ echo $LOGNAME (系统将会显示当前用户名)在某些场合下,为了明确表示对shell变量的引用,可以用花括弧或者双引号将变量括起来,例如: $ echo $LOGNAME $ echo $LOGNAMEAaaaaa $ echo “$ LOGNAME” is very good2、shell中引号的说明 单引号、 双引号“”、 反引号(a)单引号 :使用单引号时,shell将一对单引号之间的内容看成是纯粹的字符串信息,一对单引号之间可以包含更多的单引号。 you”kkk” echo this is just a test, can $you tell me the time ? 将会显示this is just a test, can $you tell me the time ?, 它不会将$you替换成“kkk“, 同时test也是作为字符串内容来处理的。 (b)双引号“ : 它将双引号之间的特殊字符作为shell中的含义来解释。 $ file=unixshell $ echo “the content of date is in $file” 这个例子将会显示 the content of wed Aug 16 16:20:12 is in unixshell,这个例子中,date被解释成了当前时间的返回值,$file被解释成了unixshell字符串(c)反引号 用它来赋值时,表示变量中保存的是执行对应命令的结果。 name=whoami echo $name 这个时候显示的不是字符串whoami,而是执行字符串whoami的返回结果,当然,要先保证字符串是一个合法的命令。3、变量的定义域同其他的编程语言如C,pascal一样,shell的变量也有局部变量和全局变量的区别。通常在一个shell程序中,通过形如var1=abc方式定义的都是局部变量,只能在该shell程序的进程中起作用,要定义全局变量,需要在局部变量定义之后使用export 命令来将这个变量声明为全局的: export $var1以下面的例子var.sh,我们来说明全局变量和局部变量的区别和使用 $ var1=csu $ echo $var1 $ sh $ echo $var1 $ exit $ echo $var1 $ export $var1 $ sh $ echo $var14、Shell预定义变量和环境变量UNIX系统中,在shell中除了用户可以定义变量外,还存在一些系统变量,称为预定义变量和环境变量。在Bshell中,用set对这些变量进行赋值,而在csh中,用setenv这个命令5、Shell中命令的位置变量Bshell变量CShell变量变量的作用$#$#argv位置参数的个数$*表示参数列表$?$status前一个命令返回的状态值$!最近访问的后台进程pid值$当前shell进程的pid值6、shell中的变量替换在shell编程中,有时候会遇到这种情况,一个变量在尚未赋值的时候,就被程序进行了输出处理,这样输出的变量将会得到一个空字符串的结果。为了避免这种情况的发生,shell中引入了变量替换的概念,在变量没有赋值的时候可以用一个预先定义的字符串来替换。替换的形式有三种,列举如下:$ var:-word 表示如果var已经被赋值,则取它的值;否则取word的值,但下面程序中var不改变。$ var:=word 表示如果var已经被赋值,则取它的值,否则取word的值;同时将word赋给 var,下面程序中就用这个值。$ var:+word 表示如果var已经被赋值,则取它的值,否则var变量置为空。 7、test命令的使用8、shell程序的调试shell程序可以使用 -v -x 选项对shell程序进行跟踪(1)-v当读入shell输入行时把它们显示出来,完成详细跟踪。Shell程序在完成这段程序执行时首先逐行读入执行的命令,并在标准输出上显示该命令要执行的实际内容,然后执行该命令。如果没有语法错误,执行将一直进行下去直到完成shell的执行。 假设有这么一个简单的shell,叫test1.sh date echo $PATH我们用-v参数来调试, 执行sh -v test1.sh那么输出就应该是: date Mon Sep 8 9:55:01 Linux9 2003 echo $PATH /usr/bin:/usr/ucb/bin:/home/user1shell在执行date前先显示该命令然后显示date的执行结果,接着显示echo $PATH以及它的执行结果。 (2)-x执行命令前先把命令和它们的参数显示出来 如果用-x参数来执行这个shell,执行 sh -x test1.sh则系统的输出将是: +date Mon Sep 8 9:55:01 Linux9 2003 +echo /usr/bin:/usr/ucb/bin:/home/user1 /usr/bin:/usr/ucb/bin:/home/user1 date这一行没有参数,所以只显示命令 echo这一行有参数$path,被直接替换成了参数的值。 (3)长程序段的调试 在调试一个比较大的shell时,没有必要对整个shell程序都进行跟踪,可以只对其中较为负责的部分进行跟踪,这时可以通过set v set +v或者set x set +x来把需要跟踪的部分包含进来。 you=mi youyuecho $you:+mmuecho $youset -xdataset +x执行结果: mmumi youyu+ data./mm.sh: line 8: data: command not found9、read当Bsh遇到一个read语句时,在标准输入文件中读取数据直到一个换行符。此时Shell在解释输入行时,不进行文件名或变量的替换,只是简单地删除多余的空格。然后Shell将输入行的第一个字的内容给变量1,第二个给变量2,直到所有变量都赋上值或是输入行为空。若输入行中字的个数超过变量个数,Shell将把输入行中剩余的所有字的内容都赋给最后一个变量。当变量个数多于输入行字的个数时候,多于的变量将赋一个空值。输入行的每一个字是由空格分隔的一个字母和数字组成的字符串。可以通过重定向的方式从文件中读字符串。10、tty用于显示正在使用的终端名称11、script用于记录一个交互式会话12、unameuname n :显示机器名称uname s:显示操作系统uname r:显示软件版本uname n:显示全部信息13、bc 计算命令:要启动计算器,只需简单键入bc命令,要结束时键入文件结束指令ctr+D (1)简单计算: $bc 4+5 9 (2)浮点运算: $bc 19/3 /*运算结果默认为整数*/ 6 scale=3 /*设置运算结果保留3位小数*/ 19/3 6.33 scale=6 /*设置运算结果保留6位小数*/ 19/3 6.333333 scale=0 /*设置运算结果为整数*/ 19/3 6 (3)算数数制运算14、cal显示日历;如果没有参数,显示的是当前月份的日历,而不是当前年份的日历;如果只提供一个参数,则该参数被当做年份;cal 9 1999;显示1999年9月的月历15、groups 确定用户的用户组。如果键入不带用户id(登陆用户名)的groups命令,则系统以您的用户组作响应;如果输入带用户id的groups命令,则返回该用户的用户组。 $groups staff $groups elink1 elink1:staff16、chmod:修改权限(1)符号代码方式:存在三组权限,用户权限、用户组权限和其他用户权限。每一组使用第一个字符作为助记标识符,u代表用户,g代表用户组,o代表其他用户。若想同时设置三组权限,则使用一组表示全部的a chmod u=rwx,g+x,o-x filename备注:chmod命令中的符号代码的采用支持用户设置、添加或删除单个权限(2)八进制代码方式:所有权限被完全重置 chmod 767 filename (3)chmod命令包含一个递归选项-R,从当前目录开始,它修改位于该目录的全部文件和目录的权限。然后它进入子目录并递归的改变他们的全部的权限。17、默认权限的设置 掩码最初是由

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论