linux shell 脚本攻略学习4
1.cat命令详解
cat 是concatnate(拼接)的简写.
语法:
cat file1 file2 file3 ....
作用:将文件内容拼接在一起进行输出
具体应用:
1).压缩空白行
加上-s参数压缩连续的空白行
amosli@amosli-pc:~/learn$ cat mutil_blank.txt
this is blank!
amosli@amosli-pc:~/learn$ cat -s mutil_blank.txt #压缩连续的空白行
this is blank!
移除所有的空白行,
tr -s "\n"
amosli@amosli-pc:~/learn$ cat mutil_blank.txt | tr -s "\n"
this
is
blank!
2).将制表符显示为^|
-T 参数
amosli@amosli-pc:~/learn$ cat file.py
def function():
var = ;
next = ;
third = ; amosli@amosli-pc:~/learn$ cat -T file.py # 加上参数-T,即可将制表符标示出来!
def function():
^Ivar = ;
^I^Inext = ;
^Ithird = ;
3).显示行号
-n参数
amosli@amosli-pc:~/learn$ cat -n file.py #加上参数-n即可显示行号
def function():
var = ;
next = ;
third = ;
2.录制与回放终端会话
amosli@amosli-pc:~/learn$ script -t > timing.log -a output.session#开始录制
Script started, file is output.session
amosli@amosli-pc:~/learn$ hello1
No command 'hello1' found, did you mean:
Command 'hello' from package 'hello-debhelper' (main)
Command 'hello' from package 'hello' (main)
hello1: command not found
amosli@amosli-pc:~/learn$ who
amosli tty7 -- :
amosli pts/ -- : (:0.0)
amosli pts/ -- : (:0.0)
amosli@amosli-pc:~/learn$ time real 0m0.000s
user 0m0.000s
sys 0m0.000s
amosli@amosli-pc:~/learn$ date
2013年 12月 20日 星期五 :: CST
amosli@amosli-pc:~/learn$ exit
exit #结束录制
Script done, file is output.session
播放录制:
amosli@amosli-pc:~/learn$ scriptreplay timing.log output.session #按播放命令序列输出
amosli@amosli-pc:~/learn$ hello1
No command 'hello1' found, did you mean:
Command 'hello' from package 'hello-debhelper' (main)
Command 'hello' from package 'hello' (main)
hello1: command not found
amosli@amosli-pc:~/learn$ who
amosli tty7 -- :
amosli pts/ -- : (:0.0)
amosli pts/ -- : (:0.0)
amosli@amosli-pc:~/learn$ time real 0m0.000s
user 0m0.000s
sys 0m0.000s
amosli@amosli-pc:~/learn$ date
2013年 12月 20日 星期五 :: CST
amosli@amosli-pc:~/learn$ exit
amosli@amosli-pc:~/learn$
进行多个用户之间进行广播视频会话:打开两个终端
(1)在终端1中输入以下命令:
mkfifo scriptfifo
(2)在终端2中输入以下命令:
cat scriptfifo
(3)返回终端1,输入以下命令:
script -f scriptfifo
commands...
这样就实现了广播,在线课堂类的作用,非常神奇!!
我自己实验的输出:
终端1:
amosli@amosli-pc:~$ mkfifo scriptfifo
amosli@amosli-pc:~$ script -f scriptfifo
Script started, file is scriptfifo
amosli@amosli-pc:~$ who
amosli tty7 -- :
amosli pts/ -- : (:0.0)
amosli pts/ -- : (:0.0)
amosli pts/ -- : (:0.0)
amosli pts/ -- : (:0.0)
amosli pts/ -- : (:0.0)
amosli@amosli-pc:~$ 终端2:
amosli@amosli-pc:~$ cat scriptfifo
Script started on 2013年12月20日 星期五 01时21分19秒
amosli@amosli-pc:~$ who
amosli tty7 -- :
amosli pts/ -- : (:0.0)
amosli pts/ -- : (:0.0)
amosli pts/ -- : (:0.0)
amosli pts/ -- : (:0.0)
amosli pts/ -- : (:0.0)
amosli@amosli-pc:~$
linux shell 脚本攻略学习4的更多相关文章
- linux shell 脚本攻略学习20--awk命令入门详解
awk生于1977年,创始人有三个,分别为 Alfred Aho,Peter Weinberger, 和 Brian Kernighan,名称源于三个创始人的姓的首字母. 作用:处理文本文件. awk ...
- Linux Shell脚本攻略学习总结:一
终端打印 终端打印的常用命令有两个:echo和print 首先,我先介绍echo 1.echo echo这个命令接受三种形式的参数,实例如下: echo "Hello World" ...
- linux shell 脚本攻略学习19--sed命令详解
sed(意为流编辑器,英语“stream editor”的缩写)是Unix/linux常见的命令行程序.sed用来把文档或字符串里面的文字经过一系列编辑命令转换为另一种格式输出,即文本替换.sed通常 ...
- Linux Shell 脚本攻略学习--四
linux中(chattr)创建不可修改文件的方法 在常见的linux扩展文件系统中(如ext2.ext3.ext4等),可以将文件设置为不可修改(immutable).某些文件属性可帮助我们将文件设 ...
- linux shell 脚本攻略学习3
1.Bash中的READ命令 #读取n个字符存入变量 read -n number_of_chars variable_name 示例: amosli@amosli-pc:~$ read -n var ...
- linux shell 脚本攻略学习2
1.关于文件描述符和重定向: 文件描述符是与一个打开的文件或数据流相关联的整数.文件描述符0.1以及2是系统预留的. 0——stdin(标准输入) 1——stdout(标准输出) 2——stderr( ...
- Linux Shell脚本攻略学习总结:三
根据扩展名切分文件名 首先,我们先来看两个例子: file_jpg="sample.jgp" name=${file_jpg%.*} echo File name is : $na ...
- Linux Shell脚本攻略学习总结:二
比较与测试 程序中的流程控制是由比较和测试语句来处理的. 我们可以用if,if else 以及逻辑运算符来执行测试,而用一些比较运算符来比较数据项.另外,有一个test 命令也可以用来进行测试.让我们 ...
- linux shell 脚本攻略学习12--文件权限详解,chmod命令详解,chown命令详解,chattr命令详解
文件权限详解 一.chmod命令详解 文件权限和所有权是Unix/Linux文件系统最显著的特征之一.linux中的每一个文件都与多种权限类型相关联,在这些权限中主要分类为3种: 用户(User)是文 ...
- linux shell 脚本攻略学习18--grep命令详解
grep(global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是unix/linux中用于文本搜索 ...
随机推荐
- css3 animation 学习
css3中可以实现动画效果,主要是通过css3中新增加的属性(transform , transition,animation )来完成. 他们的详细解释可以参考 W3CSCHOOL 下面是效果图: ...
- Nginx如何启用ETag,提高访问速度
ETag全称EntityTags,HTTP协议规格说明中定义“ETag”为“被请求变量的实体值”. 我们也可以把ETag理解为是一个客户端与服务器关联的记号.这个记号告诉客户端,当前网页在上次请求之后 ...
- mysql 字符串按照数字类型排序
一个varchar,char的字段 存放 1+,12- ,11等字符串将字段*1或者+0可以将MySQL字符串字段按数值排序 order by 字段名称+0 desc/asc的形式进行排序 order ...
- Linq-批量删除方法
linq中批量删除用DeleteAllOnSubmit,里面的参数是数据集 传入某要删除的ID列表,使用对象的Contains方法与数据库中值比较,相同就删除. //批量删除 public void ...
- dubbo Framework pic
dubbo Framework pic
- 在linux 中wget 无法解析主机
vim /etc/resolv.cof 在里面加入节点 nameserver 8.8.8.8 / nameserver 8.8.4.4 即可 失败时: 成功时:
- python抓取数据,python使用socks代理抓取数据
在python中,正常的抓取数据直接使用urllib2 这个模块: import urllib2 url = 'http://fanyi.baidu.com/' stream = urllib2.ur ...
- asp.net给文件分配自己主动编号,如【20140710-1】
在开发办公软件的时候,须要给非常多文件什么的东西分配一个编号.是依照日期来的,比方2014.07.10的第一个文件编号就为20140710-1,这一天的第二个文件编号就为20140710-2,以此类推 ...
- seajs 使用文档
// seajs 的简单配置seajs.config({ base: "/scripts/", alias: { "jquery": ...
- jquery ready方法实现原理
先看这两句代码: window.addEventListener('load',loaded,false); document.addEventListener('DOMContentLoaded', ...