Shell使用指南PPT参考课件

上传人:仙*** 文档编号:166045441 上传时间:2022-10-31 格式:PPT 页数:56 大小:517.50KB
返回 下载 相关 举报
Shell使用指南PPT参考课件_第1页
第1页 / 共56页
Shell使用指南PPT参考课件_第2页
第2页 / 共56页
Shell使用指南PPT参考课件_第3页
第3页 / 共56页
点击查看更多>>
资源描述
1授课:XXX主要内容主要内容 1.在在Linux命名行模式下有效地工作命名行模式下有效地工作 2.设计一个自己定制的环境设计一个自己定制的环境 3.解释命令和实用程序解释命令和实用程序 4.在命令行中使用基本的在命令行中使用基本的linux命令命令 5.以单独或组合的方式使用以下命令:以单独或组合的方式使用以下命令:ls,cd,more,less,cp,mv,mkdir,rm,rmdir,ln,file,grep,sed和和awk。6.描述普通的描述普通的shell编辑命令。编辑命令。2授课:XXXShell的作用的作用hardwaremultitaskingdeviceinterfacesvishlsbashkernelTCP/IPstackshellgccdiffgrepwcwhocatutilities3授课:XXX7.1 Linux的基本命令的基本命令操作操作命令命令改变当前工作目录到改变当前工作目录到/usrcd /usr改变当前工作目录到改变当前工作目录到HOME目录目录cd拷贝文件拷贝文件cp oldfile newfile拷贝文件到另一个目录拷贝文件到另一个目录cp oldfile dirname拷贝多个文件到一个目录下拷贝多个文件到一个目录下cp file*newfile拷贝所有文件和子文件夹拷贝所有文件和子文件夹cp -r *newfile删除文件删除文件rm filename重新命名文件重新命名文件mv oldname newname5授课:XXX7.1 Linux的基本命令的基本命令操作操作命令命令移动文件到另一个目录移动文件到另一个目录mv filename dirname列出所有文件列出所有文件ls列出文件并显示大小和时间列出文件并显示大小和时间ls-l列出隐藏文件列出隐藏文件ls-al列出文件,如果屏满这暂停列出文件,如果屏满这暂停ls|more查看文本文件查看文本文件less textfile建立连接建立连接ln-s sourcefile linkfile为目录下的所有文件建立连接为目录下的所有文件建立连接ln-s dirname/*linkfile6授课:XXX7.1 Linux的基本命令的基本命令操作操作命令命令合并两个文件合并两个文件cat file1 file2newfile比较两个文件比较两个文件diff file1 file2查阅在线帮助书查阅在线帮助书man command|more修改密码修改密码passwd显示当前工作目录显示当前工作目录pwd查找文件查找文件find.-name filename-print退出退出exit or Ctrl-D7授课:XXX7.1.1 在线帮助在线帮助查看查看ls命令的用法命令的用法$man ls如果要列出指定程序或者命令的全部帮助,使用如果要列出指定程序或者命令的全部帮助,使用whatis命令。命令。$whatis proc可以通过圆括号中的数字或者字母来选择需要显可以通过圆括号中的数字或者字母来选择需要显示的帮助示的帮助$man 5 proc为了得到一个特定字的命令列表,请使用为了得到一个特定字的命令列表,请使用apropos命令或用带选项命令或用带选项-k的的man命令命令$man-k time$apropos time8授课:XXX7.2 SHELL环境环境 Shell是一个可以从终端输入行读入并执是一个可以从终端输入行读入并执行命令的程序解释器行命令的程序解释器 Shell也是一种编程语言也是一种编程语言 最早的最早的shell出现在出现在UNIX系统中,是系统中,是Bourne shell.-sh9授课:XXX7.2.1 其他其他Shells Linux中都包括哪些中都包括哪些shell 在伯克利大学,在伯克利大学,Bill Joy 写了一个类似写了一个类似C语法的语法的C shell.-csh GNU Bourne-Again SHell(bash)由自由软件基金组织由自由软件基金组织创建,它向后兼容创建,它向后兼容Bourne shell,是大多数是大多数Linux厂商的厂商的首选首选-bash 还有一种扩展还有一种扩展Extended C Shell(tcsh),是是C shell的一种的一种克隆。克隆。-tcsh korn shell-ksh10授课:XXX7.2.1 其他其他Shells 使用使用bash的原因的原因 包含有高级程序语言的结构包含有高级程序语言的结构(if,while,select,etc.)对文件和目录有强有力的支持对文件和目录有强有力的支持 支持算术运算支持算术运算 开发程序快开发程序快 交互式的命令历史机制模仿两个最流行的交互式的命令历史机制模仿两个最流行的Linux编辑器编辑器(vi and emacs)支持函数支持函数 先进的模式匹配和分析复杂句子的能力先进的模式匹配和分析复杂句子的能力 在所有现代的在所有现代的 Linux,UNIX,各其他操作系统都可用。各其他操作系统都可用。在在Linux中是默认的中是默认的shell11授课:XXX7.2.1 其他其他Shells UNIX系统包括工具系统包括工具(utility)和内核和内核(kernel)关机后,关机后,kernel and utility 保存在硬盘中保存在硬盘中 开机后,开机后,kernel一直在内存,一直在内存,utility只有在执行时才只有在执行时才载入内存,而且会在内存停留一段时间,所以短时载入内存,而且会在内存停留一段时间,所以短时间内第二次执行相同命令时,要快一些。间内第二次执行相同命令时,要快一些。用户登录后用户登录后shell要进行初始化要进行初始化 执行执行$HOME目录下目录下的的.profile,.bash_profile,/etc/profile等等 初始化各种变量的定义,如初始化各种变量的定义,如TERM,PATH,MANPATH,PS1等等12授课:XXXenvbashbashenvbashbashPID=XXPID=YYenv viviPID=YYchild processparent process7.2.2 The Shell Environment 父进程和子进程父进程和子进程 当我们登录的时候,就产生一个唯一进程当我们登录的时候,就产生一个唯一进程PID=xx的的shell,每,每当我们执行一个外部命令如当我们执行一个外部命令如vi,shell创建自己的挎贝作为子进创建自己的挎贝作为子进程程pid=yy,它的父进程为它的父进程为pid=xx,一旦新的命令被激活,它将替一旦新的命令被激活,它将替代子进程的代子进程的shell pid=yy运行,一旦命令结束,子进程运行,一旦命令结束,子进程shell也也结束,返回到父进程结束,返回到父进程pid=xx.13授课:XXX7.2.3 The Shell EnvironmentShell 环境环境 Shell受它的环境影响受它的环境影响 每个程序都有一个自己的环境,以保持一定的环境定义每个程序都有一个自己的环境,以保持一定的环境定义 程序从它的父程序(调用程序)继承环境,在多数情况下,程序从它的父程序(调用程序)继承环境,在多数情况下,这个调用程序就是这个调用程序就是shell.类似程序也可以把它的环境传递给调用它的任何其他程序,类似程序也可以把它的环境传递给调用它的任何其他程序,程序可以修改自己的环境,但这种情况不会影响到它的父环程序可以修改自己的环境,但这种情况不会影响到它的父环境。境。子进程开始时,从父进程拷贝环境,之后父进程环境的改变子进程开始时,从父进程拷贝环境,之后父进程环境的改变不会影响到已运行的子进程不会影响到已运行的子进程 子进程中定义的变量都是局部变量,除非它通过子进程中定义的变量都是局部变量,除非它通过export命令添命令添加到环境中。加到环境中。export定义的变量也只会影响到自己及其子进程,定义的变量也只会影响到自己及其子进程,不会影响到父进程。不会影响到父进程。14授课:XXX7.2.4 Shell变量的定义变量的定义 Shell有一个内置的变量处理机构有一个内置的变量处理机构 变量是用来保存可以被替换为命令行的字符串变量是用来保存可以被替换为命令行的字符串 变量名可以包含变量名可以包含letters(字母)(字母),digits(数字)(数字),or underscore characters(下划线)(下划线);但必须以字母开头。但必须以字母开头。当当shell替换命令行中的变量时,首先读取替换命令行中的变量时,首先读取”$”后面的字母和数字以后面的字母和数字以取得变量名。可以用大括号括起来。如取得变量名。可以用大括号括起来。如$TEST=“test”$echo$TESTstring#shell认为变量名为认为变量名为TESTstring,所以取得所以取得错误的错误的null值值$echo$TEST string 当字符串含有空格,当字符串含有空格,TAB,换行符等特殊字符时,用,换行符等特殊字符时,用”括起来。括起来。15授课:XXX 实例:处理变量实例:处理变量$TERM=vt220$EXINT=“set showmode”$export TERM EXINT 在双引号中变量可以被替换掉的在双引号中变量可以被替换掉的$HI=“Hello”$echo“$HI World”$echo$HI World 16授课:XXXThe Shell Environment 典型变量定义,在典型变量定义,在/home/user/.bash_profile中中JAVA_HOME=/root/bea/jdk141_02CLASSPATH=/root/bea/jdk141_02/lib:/root/bea/jdk141_02/jre/lib:/opt/jakarta-tomcat-4.1.24/common/lib/servlet.jar:.PATH=$PATH:/root/bea/jdk141_02/binexport JAVA_HOME CLASSPATH PATH通过通过export一次输出多个变量值。查看当前定义变量值可一次输出多个变量值。查看当前定义变量值可用命令用命令n env,declare,set 等命令查看等命令查看shell内置的系统变量内置的系统变量17授课:XXXThe Shell Environment定义定义shell变量变量 标准的标准的shell变量,用变量,用set可以查看可以查看HOMEHome directoryPWDCurrent working directoryOLDPWDPrevious working directoryPATHSearch commands pathPS1指定主提示符指定主提示符PS2指定次提示指定次提示HISTFILE记录历史的文件名记录历史的文件名HISTSIZE记录历史命令数记录历史命令数ENVbash environment file18授课:XXX7.2.5 查找路径查找路径 Shell从从PATH变量所指出的路径内查找命令变量所指出的路径内查找命令 如果某个命令不在如果某个命令不在PATH变量所指定的路径内,命变量所指定的路径内,命令将找不到令将找不到 在在PATH指定目录中第一个匹配的程序将被执行指定目录中第一个匹配的程序将被执行 圆点圆点(.)代表当前路径代表当前路径 用用type,which 命令可以查找某个命令所在的位置命令可以查找某个命令所在的位置$type vi$which tty Root用户的用户的PATH设置在设置在/etc/rc.d/rc.sysinit及及/etc/profile 和和/root/.bash_profile及及/etc/.bashrc中中19授课:XXX7.2.6 Shell 提示符提示符 Shell的提示符是一个变量,它可以包括机器名、设的提示符是一个变量,它可以包括机器名、设备名、当前路径等其他信息。备名、当前路径等其他信息。Shell允许你自定义命令提示符允许你自定义命令提示符,主要的提示符是主要的提示符是 PS1变量变量,PS2用作用作shell提示符的附加提示符变量提示符的附加提示符变量。PS1=uh W$PS2=PS2作为一个二级提示符,该提示符指示前面行尚未结束,并且作为一个二级提示符,该提示符指示前面行尚未结束,并且当当 前行为前一行的续行前行为前一行的续行。在在bash中中,$为普通用户提示符,为普通用户提示符,#为超级用户提示为超级用户提示符符20授课:XXX 提示符特殊字符代码字符含义:提示符特殊字符代码字符含义:!显示该命令的历史记录编号。显示该命令的历史记录编号。#显示当前命令的命令编号。显示当前命令的命令编号。$显示显示$符作为提示符,如果用户是符作为提示符,如果用户是root的话,则显示的话,则显示#号。号。显示反斜杠。显示反斜杠。d 显示当前日期。显示当前日期。h 显示主机名。显示主机名。n 打印新行。打印新行。nnn 显示显示nnn的八进制值。的八进制值。s 显示当前运行的显示当前运行的shell的名字。的名字。t 显示当前时间。显示当前时间。u 显示当前用户的用户名。显示当前用户的用户名。W 显示当前工作目录的名字。显示当前工作目录的名字。w 显示当前工作目录的路径。显示当前工作目录的路径。21授课:XXX7.2.7 环境文件环境文件 Shell环境依赖于多个文件的设置环境依赖于多个文件的设置。当当shell被调用时,它从两个初始文件读取命令:被调用时,它从两个初始文件读取命令:/etc/profile,它由它由root维护维护 普通用户的启动信息文件普通用户的启动信息文件($HOME/.bash-profile)profile文件只有在用户登录的时候才运行文件只有在用户登录的时候才运行,另一个另一个典型配置文件是典型配置文件是($HOME/.bashrc)。当系统管理员创建用户时,当系统管理员创建用户时,.bash_profile,.bashrc和其他和其他公共环境文件模板在公共环境文件模板在/etc/skel目录下。目录下。别名一般都定义在别名一般都定义在.bashrc中中。alias dir=ls alias lf=ls FC22授课:XXX查看环境查看环境可以使用可以使用set 或或env 查看环境变量查看环境变量set 列出所有环境变量列出所有环境变量set-o 显示当前显示当前shell的选项的选项set-o option 使选项有效使选项有效set+o option关掉某个选项关掉某个选项$set-o vi设置设置vi为命令行的编辑器为命令行的编辑器$set-o allexport 自动传递所有新变量自动传递所有新变量$set-o ignoreeof禁止使用禁止使用D来退出来退出shell,必须用,必须用logout命令来阻退出。命令来阻退出。使用使用unset 命令可以取消环境变量的值命令可以取消环境变量的值 23授课:XXX更换目录的快捷方式更换目录的快捷方式操作操作命令命令$cd$cd$HOME$cd-$cd$OLDPWD$ls$ls$HOME$ls user$ls$HOME$ls-$ls$OLDPWD$ls +$ls$PWD24授课:XXX7.3.1 命令行扫描命令行扫描 当我们在命令提示符下输入命令时,可以不受每当我们在命令提示符下输入命令时,可以不受每一行长度的限制,直到我们敲入回车给一行长度的限制,直到我们敲入回车给shell输入输入一行新命令。一行新命令。一旦一旦shell接收了新的命令行接收了新的命令行(),它就会解析整个它就会解析整个行,从左到右一个字符一个字符地扫描。行,从左到右一个字符一个字符地扫描。shell每每解释一个字符整个命令行都会被重新构造。解释一个字符整个命令行都会被重新构造。$ls -l$HOME/tmp*$ls -l /home/laura/tmpins.log /home/tmplogfile.txt Tab键的使用演示键的使用演示25授课:XXX7.3.2 扩展通配符扩展通配符 一些特殊的字符,例如星号一些特殊的字符,例如星号(*)代表一个或多个字母,代表一个或多个字母,它们被叫做它们被叫做“通配符通配符”,用来匹配多个文件名或目,用来匹配多个文件名或目录名。录名。注意:注意:shell可以用可以用“*”匹配跨越匹配跨越“.”的文件名。的文件名。my*my myfile my.word my.lodword 在在UNIX和和Linux下下“.”只是文件名的一个字符。只是文件名的一个字符。26授课:XXX7.3.3 文件名的生成文件名的生成 Linux的通配符的含义:的通配符的含义:*匹配任意个匹配任意个(包括包括0个个)字符字符?匹配任意单个字母匹配任意单个字母 list匹配字符串列表中的其中一个字母匹配字符串列表中的其中一个字母!list匹配字符串列表之外的其中一个字母匹配字符串列表之外的其中一个字母 以以“.”开头的文件名通常都不会被开头的文件名通常都不会被ls列出,这种文件被称为列出,这种文件被称为隐藏文件。隐藏文件。$ls -d *#列出当前目录下除了以句点开头的所有文件名列出当前目录下除了以句点开头的所有文件名$ls -d .*#列出所有以句点开头的文件名列出所有以句点开头的文件名27授课:XXX7.3.3 文件名的生成文件名的生成 Linux最常用的通配符:最常用的通配符:*匹配任意个匹配任意个(包括包括0个个)字符字符?匹配任意单个字母匹配任意单个字母 范例范例 myfileabc myfilea-z myfilea-eABCDE myfile!a-eABCDE myfile*?28授课:XXX7.3.4 引号引号 引号是用来屏蔽特殊字符的,避免引号是用来屏蔽特殊字符的,避免shell对其进对其进行处理的。行处理的。单引号可以屏蔽所有特殊字符单引号可以屏蔽所有特殊字符“双引号可以屏蔽多数的特殊字符双引号可以屏蔽多数的特殊字符 反斜杠屏蔽后面字符的特殊含义反斜杠屏蔽后面字符的特殊含义 引号可以用来保留空格和引号可以用来保留空格和Tab。$echo *.c$echo *.c$echo Fred Bloggs$echo Fred Bloggs29授课:XXX7.3.4 引号引号 反斜杠反斜杠()使后面紧跟的字符解释成普通字符。使后面紧跟的字符解释成普通字符。输入连续的命令行时可以使用输入连续的命令行时可以使用“反斜杠反斜杠+回回车车”来断行。来断行。单引号可以用来屏蔽所有的特殊字符,在单引号可以用来屏蔽所有的特殊字符,在单引号之间的每一个字符被认为是单个变单引号之间的每一个字符被认为是单个变量。量。双引号可以屏蔽大部分的特殊字符,以下双引号可以屏蔽大部分的特殊字符,以下除外。除外。“$30授课:XXX7.3.5 bash的别名的别名 别名是别名是shell提供的,可以包括除提供的,可以包括除shell的特殊的特殊字符之外的所有字符。字符之外的所有字符。$alias dir=ls$alias lf=ls -Fl rm=rm -i cp=cp-i 别名只能应用在当前的别名只能应用在当前的shell,随着,随着shell的结的结束而失效。可以修改束而失效。可以修改.bashrc 和和.bash_profile进行永久保存使用。进行永久保存使用。31授课:XXX7.3.6 命令历史命令历史 shell的命令历史记录机制可以让我们在命令的命令历史记录机制可以让我们在命令行中调出以前使用过的命令。行中调出以前使用过的命令。$history32授课:XXX7.3.7 重复调用命令重复调用命令 可以通过数字或者命令名重新调用命令。可以通过数字或者命令名重新调用命令。$!n$!str 范例范例$pwd$ls$!pwd 可以使用可以使用fc命令来调用历史命令文件。命令来调用历史命令文件。33授课:XXX7.3.8 重复调用命令重复调用命令 本节和本节和7.3.9、7.3.10将在第九章里进行讲解。将在第九章里进行讲解。7.3.11 emacs模式的编辑不属于认证内容。模式的编辑不属于认证内容。34授课:XXX7.4 功能强大的实用工具功能强大的实用工具 7.4.1 命令命令diff#diff file1 file2n1 a n3,n4 在在file1的每一行之后加进了的每一行之后加进了file2的第的第n3行至行至n4行行n1,n2 d n3 删除了原属于删除了原属于file1的第的第n1至至n2行,(即行,(即file2的第的第n3行行)n1,n2 c n3,n4 file1的第的第n1至至n2行变成了行变成了file2的的n3至至n4行行行,行行,行 命令命令 行行行行 file1 file235授课:XXX7.4.2 find实用程序实用程序 find Find是目录树查找和执行命令。它能根据要求在目录是目录树查找和执行命令。它能根据要求在目录及其子目录中查找文件,并且可以对匹配的文件运行及其子目录中查找文件,并且可以对匹配的文件运行命令和命令和shell脚本。脚本。Find directories options action Options 常用如下常用如下-name name查找名字为查找名字为name的文件的文件-user name查找属于用户查找属于用户name的文件的文件-type fdlcb查找指定类型的文件(查找指定类型的文件(“d”代表目代表目录录,“l”代表连接代表连接)-size+/-nck查找指定大小的文件查找指定大小的文件(如如+10k意指大意指大于于10 KB)36授课:XXX 1.查找查找txt结尾的文件并输出到屏幕上结尾的文件并输出到屏幕上#find.-name“*.txt”-print 2.查找查找/cmd目录下所有目录下所有sh文件,并输出文件,并输出#find /cmd -name .sh -print 3.查找当前目录下权限为查找当前目录下权限为755的文件,并输出的文件,并输出#find .-perm 755 -print 4.查找当前目录下属主为查找当前目录下属主为root的文件,并输出的文件,并输出#find pwd -user root print范范 例例37授课:XXX范范 例例 5.查找当前目录下所属主是查找当前目录下所属主是sunwill的文件的文件#find ./-group sunwill-print 6.查找查找/var目录下更改时间为目录下更改时间为5天内的所有文件天内的所有文件#find /var -mtime -5 -print 7.查找查找/var目录下更改时间为目录下更改时间为5天以前的所有文件天以前的所有文件#find /var -mtime +5 -print 8.查找查找/var目录下比目录下比myfile1新,但是比新,但是比myfile2旧的所有文旧的所有文件。件。#find/var-newer myfile1!-newer myfile2 print 38授课:XXX 9.查找查找/var目录下所有目录目录下所有目录#find/var-type d-print 10.查找查找/var目录下所有的符号链接文件。目录下所有的符号链接文件。#find/var-type l-print 11.查找当前目录下大于查找当前目录下大于1000000字节的文件字节的文件#find.-size+1000000c-print 12.查找根目录下有无查找根目录下有无“con.file”,若无则在其子目录若无则在其子目录中查找中查找#find/-name con.file-depth-print 13.查找当前目录下是否有普通文件,若有则执行查找当前目录下是否有普通文件,若有则执行ls-l#find.-type f-exec ls-l ;39授课:XXX7.4.3 grep实用程序实用程序 grep 功能:功能:grep 查找文件内容;查找文件内容;grep 输出任何匹配输出任何匹配的行;可以用的行;可以用 grep 做做 为一个过滤器,找出符合为一个过滤器,找出符合要求的行。要求的行。参数:参数:-v只显示包含不匹配字符串的行只显示包含不匹配字符串的行-c显示匹配的行显示匹配的行-i 忽略大小写忽略大小写-n加上行号加上行号-x 只显示整行严格匹配的行只显示整行严格匹配的行40授课:XXX 范例范例 root test root#grep root/var/log/secure root test root#grep“*a-d*”/var/log/secure 1.想知道想知道/var/log/messages这个文件里所有跟这个文件里所有跟kernel有关的文字。有关的文字。root test root#grep kernel/var/log/messages 2.想知道想知道/etc/下含有下含有boot字眼的文件。字眼的文件。root test root#grep boot/etc/*41授课:XXX7.4.4 正则表达式正则表达式 linux定义了一个使用正则表达式的模式定义了一个使用正则表达式的模式识别机制。识别机制。正则表达式使用了一些特殊字符,所以正则表达式使用了一些特殊字符,所以所有的正则表达式都必须单引号括起来。所有的正则表达式都必须单引号括起来。42授课:XXX 正则表达式的模式匹配字符包括:正则表达式的模式匹配字符包括:.匹配单个任意字符匹配单个任意字符 list 匹配字符串列表中的其中一个字符匹配字符串列表中的其中一个字符 range 匹配指定范围中的一个字符匹配指定范围中的一个字符 range 匹配指定字符串或指定范围中以外匹配指定字符串或指定范围中以外的一个字符的一个字符43授课:XXX 配合使用的量词包括:配合使用的量词包括:*匹配前一个字符零次或多次匹配前一个字符零次或多次 n 匹配前一个字符匹配前一个字符n次次 n,匹配前一个字符至少匹配前一个字符至少n次次 n,m 匹配指定字符串或指定范围中以匹配指定字符串或指定范围中以外的一个字符外的一个字符44授课:XXX 控制字符包括:控制字符包括:只在行头匹配正则表达式只在行头匹配正则表达式$只在行末匹配正则表达式只在行末匹配正则表达式 应用特殊字符应用特殊字符45授课:XXX正则表达式范例正则表达式范例 范例:范例:help 匹配包含匹配包含help的行的行.$匹配倒数第二个字符是句点的行匹配倒数第二个字符是句点的行.*$匹配所有的行(匹配所有的行(.*一起代表任意个字符)一起代表任意个字符)$匹配只有匹配只有3个字符的行个字符的行 0-930-9 匹配以匹配以3个数字开头跟着是非数字字符的行个数字开头跟着是非数字字符的行(A-ZA-Z)*$匹配只包含偶数个大写字母的行匹配只包含偶数个大写字母的行(a-zA-Z )*匹配一组命令行参数,例如匹配一组命令行参数,例如-,一个字符,然后一个一个字符,然后一个空格,重复不断下去空格,重复不断下去46授课:XXX7.4.5 sed实用程序实用程序 sed的命令形式:的命令形式:sed 选项选项 sed命令命令 输入文件输入文件 sed 选项选项-n 禁止自动将样式打印出来禁止自动将样式打印出来-e 多点命令行执行,一行中可以包含多个多点命令行执行,一行中可以包含多个sed命令命令-f 增加脚本内容到命令行执行增加脚本内容到命令行执行-I N 指定限定行的长度指定限定行的长度-r 在脚本中使用扩展规则在脚本中使用扩展规则-help 帮助命令帮助命令-version 版本信息版本信息47授课:XXX#sed 21q country.txt 列出指定文件的前列出指定文件的前21行,然后退出行,然后退出#sed /Poland/q country.txt 一直向标准输出打印各行,直到遇到以一直向标准输出打印各行,直到遇到以“Poland”开头开头的行为止的行为止#sed -n/Brutus/p caesar.txt 列出含有列出含有Brutus的行,并打印的行,并打印48授课:XXX#sed 1,10s/Caesar/the boss/g caesar.txtnew.poem#sed -n/France/,/Japan/s/,.*$/p country.txt#sed -n/enddata$/q country.txt#sed -n s/data/datum/g country.txtnewfile49授课:XXX#sed-e 1,3d-e s/netmask/mymask/interface c 执行多个命令执行多个命令#sed/auto/r aa interface bb 在每一个匹配的串下插入在每一个匹配的串下插入aa的内容的内容#sed-n/auto/w a interfaces 将将interface 中含有中含有 auto的行写到的行写到a 中中50授课:XXX7.4.6 awk awk -F re parameter.prog-f progfilein_file.参数说明:参数说明:-F re:允许允许awk更改其字段分隔符。更改其字段分隔符。parameter:该参数帮助为不同的变量赋值。该参数帮助为不同的变量赋值。prog:awk的程序语句段。这个语句段必须用单括号:的程序语句段。这个语句段必须用单括号:和和括起,以防被括起,以防被shell解释。这个程序语句段的标准形式为:解释。这个程序语句段的标准形式为:pattern action 51授课:XXX实例讲解实例讲解$awk print$1,$2,$3,$4,$5 names 当当 AWK 读取输入内容时,整条记录被分配给变量读取输入内容时,整条记录被分配给变量$0。每个字段以字段分隔符分开,被分配给变量每个字段以字段分隔符分开,被分配给变量$1、$2、$3 等等。一行在本质上可以包含无数个字段,通过字等等。一行在本质上可以包含无数个字段,通过字段号来访问每个字段。(段号来访问每个字段。(t制表符分隔)制表符分隔)awk print$1t$2t$3t$4t$5 emp_names 选择第二个和第三个字段进行打印选择第二个和第三个字段进行打印$awk print$2,$3 emp_names 只对那些居住在阿拉巴马州的员工只对那些居住在阿拉巴马州的员工$awk/AL/print$3,$2 emp_names52授课:XXX范例范例 对那些居住在阿拉巴马州的员工进行选择,然后在一行对那些居住在阿拉巴马州的员工进行选择,然后在一行中打印姓名,而在另一行中打印城市和州名中打印姓名,而在另一行中打印城市和州名$awk/AL/print$3,$2;print$4,$5 emp_names 结果非常不便于阅读,可以使其稍微更清晰一些。首先,结果非常不便于阅读,可以使其稍微更清晰一些。首先,在城市与州之间插入一个空格和逗号。然后,在每两行在城市与州之间插入一个空格和逗号。然后,在每两行显示之后放置一个空行显示之后放置一个空行:awk/AL/print$3,$2;print$4,$5n emp_names 找到每个阿拉巴马州和印第安那州居民的匹配记录找到每个阿拉巴马州和印第安那州居民的匹配记录 awk /AL|IN/emp_names53授课:XXX 将搜索与特定字段联系起来。通过利用代字号将搜索与特定字段联系起来。通过利用代字号()以及对特定字段的说明,可以达到这一目的以及对特定字段的说明,可以达到这一目的$awk$5 /AZ/emp_names$awk$5!/AZ/emp_names 区分两个字段的字段分隔符不一定始终是空格;区分两个字段的字段分隔符不一定始终是空格;它可以是任何可识别的字符它可以是任何可识别的字符$awk print$2 emp_name_bak.txt$awk FS=:print$2 emp_name_bak.txt$awk-F:print$2 emp_name_bak.txt 默认的显示默认的显示/输出字段分隔符是空格。通过使用输输出字段分隔符是空格。通过使用输出字段分隔符出字段分隔符(OFS)变量,可以在程序中更改此变量,可以在程序中更改此特性特性$awk-F:OFS=-print$1,$2,$3,$4,$5 emp_names54授课:XXX 在打印时为每行编号,可以采用以下方式使用在打印时为每行编号,可以采用以下方式使用 NR 变量变量$awk-F:print NR,$1,$2,$3 emp_name_bak.txt 找出员工号码处于找出员工号码处于 46012 和和 46015 之间的所有之间的所有行行$awk-F:/46012-5/emp_name_bak.txt http:/
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!