|||
一直不会用Linux系统,也很难有时间系统学习。本着实用主义的原则,就先把自己用到的一些命令记录下来。不至于再遇到的时候重复google或者再次打扰同事。
一个比较全的参考网址:http://linux.chinaitlab.com/special/linuxcom/
管道命令|与重定向<、>
管道命令操作符是:"|",它仅能处理经由前面一个指令传出的正确输出信息,也就是 standard output 的信息,对于 stdandard error 信息没有直接处理能力。然后,传递给下一个命令,作为标准的输入 standard input.
管道命令使用说明:
先看下下面图:
command1正确输出,作为command2的输入 然后comand2的输出作为,comand3的输入 ,comand3输出就会直接显示在屏幕上面了。
通过管道之后:comand1,comand2的正确输出不显示在屏幕上面
注意:
1、管道命令只处理前一个命令正确输出,不处理错误输出
2、管道命令右边命令,必须能够接收标准输入流命令才行。
管道命令与重定向的区别是:
1、左边的命令应该有标准输出 | 右边的命令应该接受标准输入
左边的命令应该有标准输出 > 右边只能是文件
左边的命令应该需要标准输入 < 右边只能是文件
2、管道触发两个子进程执行"|"两边的程序;而重定向是在一个进程内执行
一般如果是命令间传递参数,还是管道的好,如果处理输出结果需要重定向到文件,还是用重定向输出比较好。
我用到的实例
1、将脚本文件compile_test传给IDL执行后退出IDL。
idl < compile_test
2、对于文本的处理
cat table6.txt | grep III > table6_III.txt
上面语句实现的功能是:找出table6.txt文件中含有III的行,并将这些行输出到table6_III.txt文件中。
cat table6.txt | grep -v III | grep II >table6_II.txt
上面语句实现的功能是:找出table6.txt文件中含有II的行且不含油III的行,并将这些行输出到table6_II.txt文件中。(意思是要剔除掉含有III的行,只保留含有II的行。因为在找的过程中,含有III的行也符合含有II的条件)
参考网址:http://www.cnblogs.com/chengmo/archive/2010/10/21/1856577.html
.bashrc - The individual per-interactive-shell startup file.
这个文件主要保存个人的一些个性化设置,如命令别名、路径等。每次修改.bashrc后,使用source ~/.bashrc(或者 . ~/.bashrc,这里的第一个.相当于source)就可以立刻加载修改后的设置,使之生效。一般会在.bash_profile文件中显式调用.bashrc。登陆linux启动bash时首先会去读取~/.bash_profile文件,这样~/.bashrc也就得到执行了,个性化设置也就生效了。
参考网址:http://zhidao.baidu.com/question/129164766.html
grep 查找文件里符合条件的字符串
进入到所查找文件所在的路径执行grep命令。
如在当前路径下的所有IDL过程中查找xsize关键字:grep xsize *.pro
网络资源:grep指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设grep指令会把含有范本样式的那一列显示出来。
常用参数:
-c或--count 计算符合范本样式的列数。
-d<进行动作>或--directories=<进行动作> 当指定要查找的是目录而非文件时,必须使用这项参数,否则grep指令将回报信息并停止动作。
-H或--with-filename 在显示符合范本样式的那一列之前,表示该列所属的文件名称。
-i或--ignore-case 忽略字符大小写的差别。
-l或--file-with-matches 列出文件内容符合指定的范本样式的文件名称。
-v或--revert-match 反转查找,实际上是不查找。
参考网址:http://www.linuxso.com/command/grep.html
rm 删除文件或目录
参数:
-i 删除前逐一询问确认。(i->interactive)
-f 即使原文件属性设为只读,亦直接删除,无需逐一确认。(f->force)
-r 将目录及目录下的文件逐一删除。(r->recursive [ri'kə:siv] [计]递归的;循环的)
这些参数可以配合使用,如将 directory 目录下的子目录及子目录中所有文件删除,并且无需逐一确认,则使用如下命令:rm -rf directory。
为了避免误删,删除某个文件一般使用 rm -i filename。也可以在配置文件.bashrc中添加命令别名来实现。如在.bashrc中加入 alias rm='rm -i'语句,则再执行rm filename时相当于执行了 rm -i filename。(alias ['eiliæs] 别名,化名)。此时如果想删除一批文件每次询问显得繁琐,可以在保证不误删的前提下使用rm -f filename。
vi 编辑器
删除至行尾:d$(将光标移至起始删除处敲 d$ 则删除至行尾)
参考网址:http://www.eepw.com.cn/article/48018.htm
在Windows系统下使用vi可以对文件进行块操作,具体指令如下:
ctrl+q 块操作
Y 拷贝
P 粘贴
O 新开一行
gg 到文件头
G 到文件尾
V 按行选
d 删除
移动光标: 左(h)、右(l)、上(k)、下(j)
U 取消操作
wget 用于下载网络资源
基本语法:wget [参数列表] URL
参考网址:http://linux.blogbus.com/logs/46636997.html
声明:以上内容大部分参考了网络上的资源,但大都不是原文拷贝,且参考网址较多,抱歉不能一一列出。
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-9-1 16:15
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社