RHCE认证考试培训笔记之Linux基础命令_第1页
RHCE认证考试培训笔记之Linux基础命令_第2页
RHCE认证考试培训笔记之Linux基础命令_第3页
RHCE认证考试培训笔记之Linux基础命令_第4页
RHCE认证考试培训笔记之Linux基础命令_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

RHCE培训笔记之Linux基础命令,有点凌乱,大家自己看看吧。1.卸载原有的输入法,fcitx或ibus。如卸载fcitx:sudo apt-get remove fcitx*(如不需保留配置文件用purge)sudo apt-get autoremove(自动卸载依赖软件)sudo apt-get upgradesudo dpkg -get-selections | grep fcitx(查询fcitx相关的软件包是否卸载)grep 多个条件查询 linux:$ lastlog | grep -E tty|ptszhangjianlin tty3 三 7月 10 20:54:34 +0800 2013wangjianjian pts/2 三 7月 10 20:50:33 +0800 2013 linux:$ lastlog | grep -e tty -e ptszhangjianlin tty3 三 7月 10 20:54:34 +0800 2013wangjianjian pts/2 三 7月 10 20:50:33 +0800 2013一、文件ls stat alias /bin/lspwd echo $HOME echo $USERalias ii =ls -l vi /./bashrc add alias ii = ls -l ps pstreeuseradd xxuseradd -s /bin/bash -g zhangjianlin -m wangjianjian 创建用户userdel -r wangjianjianpasswd xxmima:二、系统命令hostname: hostname ifconfig: echo 80Ubuntu:/etc/network/interfacesnetconfig ubuntu:有线:ifconfig 无线:iwconfigservice network restart 网卡服务重启uname 查看系统 脚本安装判断unix 还是linux uname -a -rid id -u -g if id -u != 0 不安装软件date +%m%d touch date +%m%d.log 创建日志文件calfile /bin/ls加盘mountmount /dev/sda1 /mnt/usb = / umount /mnt/usbtouch 1,2mount /dev/sdb1 /mnt sdb u盘 1分区mount -t vfat /dev/sdb1 /mnt fat32的u盘mount /dev/cdrom /mntmount -t iso9660 /dev/cdrom/mnt 挂载光盘mount //tools /mnt mount cifs //tools /mntmount -t cifs -o username=adminstrator / /root/mnt远程共享mount 54:/var/ftp/pub /mntisocat /dev/cdrom a.isomount -t iso9660 -0 loop a.iso /mnt /要用到弧还虚拟技术必须用-o loop思考:共享 ,不用ftpdu 看文件大小du aaa.tar.gz 看文件大小看文件夹实际大小du - s Desktopdf 显示分区的占用 df -hssh 3apt-get install openssh-server/etc/init.d/ssh restartservice sshd stopservice sshd start三条层次不同shutdown -h now 关机,会执行下面两个命令init 0 关掉服务halt -p -f 或poweroff 断电shutdown -r now 重启init 6reboot三、useradd passwd usedel groudadd grounddel gpasswdpasswd(用户) shadow(密码) group gshadow /home/ cp -r /ect/user/* /home/user/chown -R user.root /home/user 批量更改文件夹的拥有者安全who $userwskill -9 pts/3mesg Ywrite pts/2 root 发送消息wall lat finger zhangjianlin 公告每个用户lastlog 最后一次登陆last 最近登陆的流cat /dev/sda cat /etc/passwd /dev/sda毁盘勿用dd if=/dev/sda1(分区) of=/mnt/a.logecho 1 /dev/tty1ls -al /tmp/.font-unix/文件类型 -d l b c s p权限chmod guo+x file 相当于 chown a+xchmod a-x FILEchmod -R g+w /tmp/work/文件下的文件全部修改链接ln a b 硬链接 怕文件删除ln tem/a bstat a ls -l a bln -s /etc eee 软链接,可以链接文件夹,一般情况都用软链接chown zhangjianlin LInuxchown -R shrek.ttt /tmp/ 修改文件夹的拥有者ls-ld Desktopx cdrx cd lswx cd touch rm vi (self other)wxt cd touch rm(self) vi(self)chmod o+t testdir/ 不能修改其他用户touch testdir/a,b,clinux 目录结构umask 创建文件的默认权限 /etc/bashbc/bin 必不可少所有人能执行 officewhich ifconfig四、vimi o a sr 替换G last line gg first line10 x 连续向后删除10个字符ctrl + r redonddnyy p P 向下粘帖 向上粘帖set nu 显示行号set nonu:100光标到第100行:r /etc/group 读入:1,5 w aa.back 将第1行到第五行到aa.back:e! 替代多次安u的命令:1,$/nologin/bash/g从头到末尾替换:1,$/nologin/bash/gc替换前询问vim -o or -O /etc/passwd /etc/group换页ctrl + w五、文件查找压缩linux 系统文件查找与压缩文件搜索which查找 可执行文件 搜索path的 which xwhere 跟which 差不多,只是比which 多了帮助文件所在目录/不常用slocate ls which locate -l 查自己的数据库 跟updatedb相配的locate -r .newfile.*find 从当前目录开始查找 如 find / -name *file*find /etc -name network -exec file ; /查找到的路径find /etc -name network -ok file ; /查找到的路径询问find /etc -name network -ok rm ; /查找到的路径询问find /etc -user sherk -a(and) -group shark -ls /查找到的路径询问find /etc -user sherk -a(and) -group shark -a -type d /查找文件夹find / -user -type -name -group -perm -size -mtime -ok -ls - execfind / -perm -777 -type d -lshistorygrep grep -R linux ./* 递归查找 文本文件含有 linux的文件的行内容 grep -R -l zhangjianlin /etc 只列出文件名压缩gzip,gunzip 最广泛的压缩工具linux系统中标准的压缩工具对于文件夹能够达到很高压缩率bzip,bunzip2新版linux压缩工具比gzip拥有更高的压缩率gzip A 压缩时原文件删除了(非文夹夹)gzip -d *.gzbzip Als A* -lbunzip2 a.bz2bzip2 -d A.bz2tar 只是打包作用tar cvf /tmp/root/.tar . 创建打包tar cvf /tmp/root.tar /etc/passwd /etc/shadoe /etc/sysconfig/ 创建压缩包tar rvf /tmp/root.tar /etc/passwd /etc/shadoe /etc/sysconfig/加入文件tar xvf /tmp/root.tar -C /tmp/ddd/ 解压到某一个文夹夹tar xvf /tmp/root.tar 解压到当前包 tar cvf rvf xvf tvftar cvfz /tmp/root/tar.gz /root /etc/passwd /etc/showdowtar xvfz /tmp/root/tar.gztar xvfz /tmp/root/tar.gz -C /tmp/ddd/tar cvfj /tmp/root/tar.tar.bz2 /etc/passwd etc/shadow 解压.tar.bz2文件ls *.tar -l第六、文件的操作命令正则表达式grep /etc/passwdhead more less wchead -n 3tail -ftail -n 20grep -v(文件属性,POSIX) -l(反向,不包含) -R -c -A2 -B2tail tail -f /var/log/message 实时监控wc file 统计字数grep zhangjianlin /etc/passwd | cut -d: -f1,3,5 -d 分割符 -f fieldcut -d: -f2 /etc/passwd | grep zhangjianlingrep zhangjianlin /etc/passwd | cut -d: f7cut -c1-3 /etc/passwd 查看前三个字符sort -t: -k 3 -n /etc/passwd n num -t分割符 默认TAB 这里设置:为分割符sort -t: -k 3 -n /etc/passwd /tmp/asort -t: -k 3 -n -r /etc/passwd /tmp/a -r反向du | sort -n -r | head -n 3|cut -f2wc -l -w -c 几行 几个单词 多少个字符unit -i 忽略大小写字符的不同-c 进行计数sort -d: -f 2 /etc/passwd | uniq | wc -l 记几个不同diff a.txt b.txtecho s.*k,.任意一个字符,任意一个前面的字符grep s.*k /etc/passwdgrep shrek$ /etc/passwd $以shrek结尾grep shrek /etc/passwd 以shrek开始的 单单以a18 出现18次a的vim /user/share/dict/words linux linux单词字典grep c.18s$ /usr/share/dict/words 查看以s结尾的,以c开始的中间任意18个字符grep -v # /etc/bash.bashrc | grep -v $ | wc -l 查看以“除#开头,空行”后的内容grep a-x /etc/passwd 不是a到x开头的.表示任意一个单一字符.*表示零个或任意一个字符a 以a为首的行a$ 表示以a为尾行表示以sh结尾的单词abc表示当前位置a、b或cabc表示除了a、b或、c以外的字符a 表示空、a、aa、aaa、乃至更多个aa?表示一个或另个单独的aa+表示a、aa、aaa、乃至更多个a 如go+dan表示重复n次$ 空行# 不以#为开始的an,m 重复 n或m次扩展正则表达式| 或 如$|# egrep -v $# filea+表示a、aa、aaa、乃至更多个a 如go+da? 0个或1个a以上(abc)+ 多个abc 组合系统性能指标vmstat字段说明:r (run queue)可运行队列的线程数,这些线程都是可运行状态,只不过CPU暂时不可用;b,被blocked的进程数,正在等待IO请求;in,interrupts,被处理过的中断数cs,context switch,系统上正在做上下文切换的数目us,用户占用CPU的百分比sys,内核和中断占用CPU的百分比id,CPU完全空闲的百分比uptime00:44:22 up 1:17, 3 users, load average: 8.13, 5.90, 4,94 显示的是过去的1,5,15分钟内进程队列中的平均进程数量free -m磁盘IO1.良好状态指标cat /proc/meminfo这台机器总共有 256MB 物理内存(MemTotal),90MB 左右可用内存(MemFree),8MB左右用来做磁盘缓存(Buffers),40MB左右用来做文件缓存区(Cached)。sar -d 2 3await表示平均每次设备I/O操作的等待时间(以毫秒为单位)。svctm表示平均每次设备I/O操作的服务时间(以毫秒为单位)。%util表示一秒中有百分之几的时间用于I/O操作。如果svctm的值与await很接近,表示几乎没有I/O等待,磁盘性能很好,如果await的值远高于svctm的值,则表示I/O队列等待太长,系统上运行的应用程序将变慢。如果%util接近100%,表示磁盘产生的I/O请求太多,I/O系统已经满负荷的在工作,该磁盘可能存在瓶颈。iostatrrqm/s: 每秒进行 merge 的读操作数目。即 delta(rmerge)/swrqm/s: 每秒进行 merge 的写操作数目。即 delta(wmerge)/sr/s: 每秒完成的读 I/O 设备次数。即 delta(rio)/sw/s: 每秒完成的写 I/O 设备次数。即 delta(wio)/srsec/s: 每秒读扇区数。即 delta(rsect)/swsec/s: 每秒写扇区数。即 delta(wsect)/srkB/s: 每秒读K字节数。是 rsect/s 的一半,因为每扇区大小为512字节。(需要计算)wkB/s: 每秒写K字节数。是 wsect/s 的一半。(需要计算)avgrq-sz: 平均每次设备I/O操作的数据大小 (扇区)。delta(rsect+wsect)/delta(rio+wio)avgqu-sz: 平均I/O队列长度。即 delta(aveq)/s/1000 (因为aveq的单位为毫秒)。await: 平均每次设备I/O操作的等待时间 (毫秒)。即 delta(ruse+wuse)/delta(rio+wio)svctm: 平均每次设备I/O操作的服务时间 (毫秒)。即 delta(use)/delta(rio+wio)%util: 一秒中有百分之多少的时间用于 I/O 操作,或者说一秒中有多少时间 I/O 队列是非空的。即 delta(use)/s/1000 (因为use的单位为毫秒)如果 %util 接近 100%,说明产生的I/O请求太多,I/O系统已经满负荷,该磁盘可能存在瓶颈。idle小于70% IO压力就较大了,一般读取速度有较多的wait.同时可以结合vmstat 查看查看b参数(等待资源的进程数)和wa参数(IO等待所占用的CPU时间的百分比,高过30%时IO压力高)四、Network IO对于UDP1、良好状态指标接收、发送缓冲区不长时间有等待处理的网络包2、监控工具netstat对于UDP服务,查看所有监听的UDP端口的网络情况netstat -lumppacket receive errors 这一项数值增长了,则表明在丢包对于TCP1、良好状态指标对于TCP而言,不会出现因为缓存不足而存在丢包的事,因为网络等其他原因,导致丢了包,协议层也会通过重传机制来保证丢的包到达对方。所以,tcp而言更多的专注重传率。2、监控工具cat /proc/net/snmp | grep Tcp内核信息dmesgdmesg | grep -n -color=auto eth第七章 输入输出重定向cat过滤器cat:等待输入abc 创建文件,或清空cat a.txtcat b.txt 2 & tr a-mn-zA-MN-Z N-ZA-Mn-za-m 有趣的密码转换tr a-mn-zA-MN-Z N-ZA-Mn-za-m 1.txt 有趣的密码转换tr a-mn-zA-MN-Z N-ZA-Mn-za-m mail -s for you 发密邮给shrekctrl +D结束等待输入ls /etc/ -l | grep d |wc -l统计文件夹的数目- 多少个文件l 多少个连接tee Copy standard input to each FILE, and also to standard outputls /etc/ -l | grep d |tee /dev/ptd/2 |wc -l 输出在屏幕上tr a-zA-Z转换成大写tr a-zA-Z /tmp/findfile第8章LInux系统及进程控制/proc 内核的小窗户 通过/proc查看内核hostname 主机名/etc/hosts/etc/networklast内存使用清空freedu -sh /etccat /proc/*mount -t proc none /mnt 只有知道死proc就会自动加载/proc文件/proc/meminfo 只读/proc/sys/net/ipv4/proc/sys/net/ipv4系统日志/var/log/*/var/log/dmesg 核心启动日志/var/log/message 系统报错日志/var/log/maillog 邮件系统日志/var/log/boot.log系统引导过程日志/var/log/cron 记录守护进程派生子进程/var/log/syslog记录警告信息/var/log/wtmp永久记录用户登陆事件/var/log/xferlog记录FTP会话/var/log/secure安全信息ps -efps aux两种一样的ps auxf 所有进程树(附进程)kill -9 idkill -l kill 的功能参数killall -9 httpd 进程名称skill -9 wangjianjian 把用户为wangjianjian的所有进程结束 进程用户为wangjianjian或进程名称为wangzjianjianskill -9 pts/2 结束远程的pkill -u wangjianjian 精确kill用户名为wangjianjian的pstree第九章bash 变量快捷键ctrl + l 清屏ctrl + d 完成操作第10章set | grep HISvim /home/zhangjianlin/.bash_history.bash_logout shell退出时的初始化ctrl + r 调用历史 在history 中查询指令向上向下按钮!123 使用! 调用指令! !上一条命令!$ 上一条命令作为参数 $aaa变量值 *任意多个字符设置变量set普通变量env环境变量export变成环境变量unset 删掉普通变量设置命令alias unaliasbash中的运算符已经接触过的通配符* ? abc a,b,c!$echo *输出前部文件名echo abc* 以a或b或c开头的echo abc* 出了以a或b或c 开头的rm -rf * 强行删除touch a,b,c-1,2,3 随机选择 33#ls #注释aaa()函数 linux:$ aaa() echo this is a function test ls cd /tmp touch /tmp/aaaa touch a btouch a b无符号 单引号 双引号 反引号echo which is 原样输出echo a b $USER 号只屏空格符号echo a b $USER 屏蔽所有字符echo which ls 反引号 内容预先执行touch a b touch a b 创建两个文件a和b,创建一个文件a btouch logdate +%m%d 创建log0709文件 -f /etc/passwd echo $? 或 -f /etc/passwd 跟 两个空格 不同,两个字符是判断,如这里判断文件是否存在。这里死记 linux:$ -f /etc/passwd linux:$ echo $?0 linux:$ -f /etc/passwdddd & echo linux:$ -f /etc/passwd & echo linux:$ linux:$ -d /proc/bus/usb & echo linux:$ -d /Oracle & echo begin the insrall很常用 linux:$ -d /proc & echo begin the insrallbegin the linux:$ vim /etc/rc-l -b -c -x -r -w $USER = zhangjianlin & echo fuck you $USER = zhangjianlin & echo hello /判断字符是否相等fuck you zhangjianlin = zhangjianlin linux:$man bash 查询上述字符info 比man更好$1+3 $算数表达式定制bash开机执行的四个脚本/etc/profile系统全程的初始化文件,为登录的shell所执行(替换shell也算) su - wangjianjian/etc/bashrc定义系统级的别名和函数,为每个新开的shell所执行 su wangjianjian/.bash_profile个人的初始化文件,为登录的shell所执行/.bashrc个人的交互式shell的起始文件/.bash_logout个人登录shell的清理文件,当登录shell退出时执行su - wangjianjian 它将依次读取并执行以下文件:/etc/profile,/.bash_profile,/.bash_login,(/etc/bashrc 也执行)su wangjianjian 它将读取并执行/etc/bashrc, /.bashrclogin 时4个文件都执行使用su命令切换用户时,如果带-l 选项就是登录为login shell,执行/etc/profile,否则为非login shell,不执行/etc/profile/etc/profile会执行/etc/profile.d下的所有文件./bash_history 命令历史修改./bashrc export LANG=zh_CN.UTF-8 export LC_ALL=zh_CN.UTF-8xstart LC_ALL 桌面中文还是英文第11reset 重置bash可以使用参数来传递内容$1$2$3可以使用命令来进行交互read 读入数据给变量echo 输出数据printf输出数据#!/bin/bashecho $1 $2 ing .read -p please input you name: Aprintf $A is foolngrep -A2 -B2 查看上下两行 pstree | grep -A2 B2 pstree./b bash-bash-pstree 直接执行,新打开一个bash 如bash ./b. ./b bash-pstree .说明是当前sh应用 如在b中export aaa=shrek如果用第一种不会将aaa设置成环境变量,应为它在子sh中设置不会成效第12 bash脚本中的流程控制条件判断控制 & |if thenelif thencase循环控制whileutileforbreakcontinue abc abc ASCII码大于0返回大于0echo $?echo $USER = shrekk -x /etc/ & echo hello -f /usr/sbi/httpd & echo please install httpd with -force option & exitman bash /-w 查找各文件类型的调试脚本bash -v ./b -v 执行可见 显示脚本调试-v Display readline variable names and values in such a way that they can be linux:/mytest/linuxtest/linuxshell$ bash -v ./iftest#!/bin/bashread -p input you user: aaainput you user:zhangjianlinif $aaa = zhangjianlin then echo hello zhangjianlin elif $aaa = root then echo hello root! else echo get out here!fihello zhangjianlinbash -vx ./iftest 替换调试 linux:/mytest/linuxtest/linuxshell$ bash -vx iftest #!/bin/bashread -p input you user: aaa+ read -p input you user: aaainput you user:zhangjianlinif $aaa = zhangjianlin then echo hello zhangjianlin elif $aaa = root then echo hello root! else echo get out here!fi+ zhangjianlin = zhangjianlin + echo hello zhangjianlinhello linux:/mytest/linuxtest/linuxshell$ bash -v casetest#!/bin/bashread -p input you name: aaainput you name:zhangjianlincase $aaa in zhangjianlin ) #)加上 echo hello zhangjianlin echo nice to meet you ; #; 结束 root ) echo hello root echo i miss you too ; *) echo get out here ;esachello zhangjianlinnice to meet you数值进行比较的运算符相同 -eq =不同 -ne !=大于 -gt 小于 -lt为空 -z不为空 -n比如:比较变量 a 和 b 的值 是否相等就写作: $a = $b 判断变量a是否为空就写作: -z$a 判断整数变量a是大于b就写作 $a-gt$b #!/bin/bashbbb=pgrep ps #变量跟-号不要加空格 -z $bbb & echo ps is running & exit #加双引号,使空格无效for i in $bbb do kill -9 $i doneecho ps is killseq 1 100 产生100个数 应用,for 中循环100次for aaa in seq 1 100do echo $aaa;sleep 1donewhilewhile iii -lt 100 do iii=$iii+1 echo -n $iiidone until ! $iii -lt 100 #这里 可以写成$iii -gt 100 do iii=$iii+1 echo -n $iii donewhile true #死循环do read AAA if $AAA = ddd then break; fidoneunset AAAmyFunction() #取消变量 unset myFunction iii aaa AAA 避免跟上一次的变量冲突第十三 shell 脚本 sed-awk 流编辑器sed -e s/root/shark/g /etc/passwd /tmp/a 替换 -e excutesed -n -e /zhangjianlin/s/bash/nolog/ /etc/passwdsed -n -e /zhangjianlin/s/bash/nolog/p /etc/passwdsed -n -e /shrek/p /etc/passwd #打印sed -e -e /bash/d #删除cp /tmp/a /etc/passwdsed -e /#/d /etc/etc/passwd #删除以#开头的行sed -e /#/d -e /$/d /etc/etc/passwd #删除以#开头的行 ,删除空行sed -e /bash/s/root/shrek/g /etc/passwd 仅仅替换有bash的那一行使用sed进行替换set s/oldvalue/newvalue/多次替换set -e s/milk/todd/ -e s/good/better/sed /s/tiger/wolf/;s/before/after/cat /etc/passwd | sedsed -f commenfile /etc/passwd另类shell脚本编写#!/bin/sed -fs/root/shrek/s/bash/nologin/执行./sss /etc/passwd5. 元字符集锚定行的开始 如:/sed/匹配所有以sed开头的行。$锚定行的结束 如:/sed$/匹配所有以sed结尾的行。.匹配一个非换行符的字符 如:/s.d/匹配s后接一个任意字符,然后是d。*匹配零或多个字符 如:/*sed/匹配所有模板是一个或多个空格后紧跟sed的行。匹配一个指定范围内的字符,如/Ssed/匹配sed和Sed。匹配一个不在指定范围内的字符,如:/A-RT-Zed/匹配不包含A-R和T-Z的一个字母开头,紧跟ed的行。(.)保存匹配的字符,如s/(love)able/1rs,loveable被替换成lovers。&保存搜索字符用来替换其他字符,如s/love/*&*/,love这成*love*。锚定单词的开始,如:/锚定单词的结束,如/love/匹配包含以love结尾的单词的行。xm重复字符x,m次,如:/05/匹配包含5个o的行。xm,重复字符x,至少m次,如:/o5,/匹配至少有5个o的行。xm,n重复字符x,至少m次,不多于n次,如:/o5,10/匹配5-10个o的行。6. 实例删除:d命令*$ sed 2d example-删除example文件的第二行。*$ sed 2,$d example-删除example文件的第二行到末尾所有行。*$ sed $d example-删除example文件的最后一行。*$ sed /test/d example-删除example文件所有包含test的行。替换:s命令*$ sed s/test/mytest/g example-在整行范围内把test替换为mytest。如果没有g标记,则只有每行第一个匹配的test被替换成mytest。*$ sed -n s/test/mytest/p example-(-n)选项和p标志一起使用表示只打印那些发生替换的行。也就是说,如果某一行开头的test被替换成mytest,就打印它。*$ sed s//&localhost/ example-&符号表示替换换字符串中被找到的部份。所有以开头的行都会被替换成它自已加 localhost,变成localhost。*$ sed -n s/(love)able/1rs/p example-love被标记为1,所有loveable会被替换成lovers,而且替换的行会被打印出来。*$ sed s#10#100#g example-不论什么字符,紧跟着s命令的都被认为是新的分隔符,所以,“#”在这里是分隔符,代替了默认的“/”分隔符。表示把所有10替换成100。选定行的范围:逗号*$ sed -n /test/,/check/p example-所有在模板test和check所确定的范围内的行都被打印。*$ sed -n 5,/test/p example-打印从第五行开始到第一个包含以test开始的行之间的所有行。*$ sed /test/,/check/s/$/sed test/ example-对于模板test和west之间的行,每行的末尾用字符串sed test替换。多点编辑:e命令*$ sed -e 1,5d -e s/test/check/ example-(-e)选项允许在同一行里执行多条命令。如例子所示,第一条命令删除1至5行,第二条命令用check替换test。命令的执 行顺序对结果有影响。如果两个命令都是替换命令,那么第一个替换命令将影响第二个替换命令的结果。*$ sed -expression=s/test/check/ -expression=/love/d example-一个比-e更好的命令是-expression。它能给sed表达式赋值。从文件读入:r命令*$ sed /test/r file example-file里的内容被读进来,显示在与test匹配的行后面,如果匹配多行,则file的内容将显示在所有匹配行的下面。写入文件:w命令*$ sed -n /test/w file example-在example中所有包含test的行都被写入file里。追加命令:a命令*$ sed /test/a-this is a example example-this is a example被追加到以test开头的行后面,sed要求命令a后面有一个反斜杠。插入:i命令$ sed /test/inew line- example如果test被匹配,则把反斜杠后面的文本插入到匹配行的前面。下一个:n命令*$ sed /test/ n; s/aa/bb/; example-如果test被匹配,则移动到匹配行的下一行,替换这一行的aa,变为bb,并打印该行,然后继续。变形:y命令*$ sed 1,10y/abcde/ABCDE/ example-把1-10行内所有abcde转变为大写,注意,正则表达式元字符不能使用这个命令。退出:q命令*$ sed 10q example-打印完第10行后,退出sed。保持和获取:h命令和G命令*$ sed -e /test/h -e $G example-在sed处理文件的时候,每一行都被保存在一个叫模式空间的临时缓冲区中,除非行被删除或者输出被取消,否则所有被处理的行都将 打印在屏幕上。接着模式空间被清空,并存入新的一行等待处理。在这个例子里,匹配test的行被找到后,将存入模式空间,h命令将其复制并存入一个称为保 持缓存区的特殊缓冲区内。第二条语句的意思是,当到达最后一行后,

温馨提示

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

评论

0/150

提交评论