Shell学习笔记...未完待续...
来源:互联网 发布:韩国人觉得中国人知乎 编辑:程序博客网 时间:2024/05/15 23:49
一、cat的用法总结:
cat是一个简单而通用的命令,用来显示内容,创建文件,还可以用来显示控制字符;但是在使用cat是请注意,它不会在文件分页符处停下来,它会一下显示完整个文件。
如果希望每次显示一页,可以使用more或者cat命令的输出通过管道传递到另外一个具有分页功能的命令中:
cat myfile | more
或者是:
cat myfile | pg
cat的一般命令形式是
cat [options] filename1 ... filename2 ...
cat的最有用常见命令是:
-v 显示控制字符;
如果希望可以显示名为myfile的文件,可以用:
cat myfile
那么希望可以显示多个文件,那么可以用 :
cat myfile1 myfile2 myfile3 ...
那么假如希望将多个文件中的内容全部输入到另外一个文件中,那么就需要使用重定向:
cat myfile1 myfile2 myfile3 > bigfile
cat还有一中比较好玩的方式,就是如果你想要去使用一个简单的文字编辑器,那么直接如下命令:
cat >filename
PS:如果想退出,直接Crtl+Z即可;
二、管道
管道的定义:可以通过管道把一个命令的输出传递给另一个命令作为输入。管道用竖杠“|”表示。
它的一般形式是:
命令1 | 命令2
命令1的输出作为命令2的输入,就像一个管道一样,左边部分的出口是右边部分的入口,如下图:
ls | grep quarter1.doc
sed、awk和grep都很适合用管道,特别是在简单的一行命令中。
接下来使用awk作为例子:
who | awk '{print $1"\t"$2}'
如果你希望列出系统中所有的文件系统,可以使用管道把df命令的输出传递给awk命令,awk命令显示出其中的第一列。
你还可以再次使用管道把awk的结果传递给grep命令,去掉最上面的filesystem。
$ df -k | awk '{print $1}' | grep -v "filesystem"
/dev/sda2
/dev/sda3
如果你还希望将前面的额“/dev/”去掉,那么在最后再次加入一个管道,并使用sed命令:
df -k | awk '{print $1}' | grep -v "Filesystem" | sed "s/\/dev\///g"
sda2
sda3
三、tee命令
tee命令作用可以用字母T来形象的表示。它把输出的一个副本书送到标准输出,另一个副本拷贝到相应的文件中。
如果希望在看到输出的同时,也将其存入另一个文件,那么这个命令再适合不过了。
它的一般形式是:
tee -a filenames
其中,-a表示追加到文件末尾
例如:我们将who的命令结果,输出到终端屏幕上,同时保存到文件who.out:
who | tee who.out
使用图来表示这个例子就是:
我们还可以使用-a来将不同的命令使用同一个日志文件:
echo "test" | tee -a who.out
echo "test2" | tee -a who.out
test
test2
PS:未完待续.....
- Shell学习笔记...未完待续...
- javascript学习笔记(未完待续)
- jQuery 学习笔记(未完待续)
- 51学习笔记<未完待续>
- Shell编程笔记(未完待续)
- Ajax学习笔记总结(未完待续)
- 个人JDBC学习笔记(未完待续)
- struts2 学习笔记(未完待续)
- Oracle学习笔记(未完待续)
- dreamweaver学习笔记(未完待续)
- css学习笔记(未完待续)
- LPC1765 UART模块学习笔记(未完待续)
- angular2学习笔记(未完待续)
- 进程学习笔记(未完待续)
- sql注入学习笔记(未完待续)
- DeepLab笔记(未完待续)
- 深度学习(三十五)对抗网络学习笔记-未完待续
- C语言学习第四章笔记,未完待续
- VS2010/MFC编程入门之一(利用MFC向导生成单文档应用程序框架)
- Hibernate缓存
- oc创建项目
- TermCriteria
- 一个适用于层级目录结构的makefile模版
- Shell学习笔记...未完待续...
- 获取请求的远程浏览器的ip地址
- 笔记本设置wifi热点
- tomcat server.xml 配置详解请求处理过程
- java的GC
- javaEE之war文件
- MySQL触发器之审计功能
- leveldb之Compaction的过程
- android onNewIntent原理