grep命令
Linux系统中grep命令是一种强大的文本搜索工具,全程是Global Regular Expression Print,全局正则表达式。它使用正则表达式搜索文本,并把匹配到的行打印出来.
例如:在OUTCAR文件中搜索“费米能级”“E-fermi”。
grep “E-fermi” OUTCAR
例如:显示文件foo中含有TH1F的每一行
grep TH1F foo
例如:在一个文件夹下,有很多文件中可能包含某个函数,比 如Fit_Landau(),需要找到函数的定义及使用
grep -srn “Fit_Landau” /home/analyzer/mywork
即用grep命令递归查找/home/analyzer/mywork目录里面的所有文件,打印 出所有包含“Fit_Landau”字符串的文件名称,以及该字符串出现的行号和 该行的内容。其中-srn是grep的参数,s表示忽略文件不存在或无法读取等 错误信息,r表示在文件夹中递归查找,n表示打印出字符串出现的行号。 这些参数可以组合使用。
参考
清理linux系统冗余垃圾的命令
软件安装结束后,以.deb为后缀的软件包就不再需要了。我们可以使用下面的命令,删除所有存储在本地计算机的软件安装包。实际上删除了/var/cache/apt/archives目录下所有以.deb结尾的文件
sudo apt-get clean
有选择地删除软件包,删除再也不能够从软件仓库中下载到该软件包的当前版本或更新版本,即删除不再可用的软件安装包
sudo apt-get autoclean
删除特定软件
sudo apt-get remove 软件名
删除软件“残余”。purge是remove命令的另一个版本,它可以在删除软件本身的同时,删除软件包的残余设置(该软件的配置文件)。执行命令:
sudo apt-get purge 软件名
参考:
https://www.cnblogs.com/meaningful/p/5263356.html
##ldd命令
查看程式运行所需要的共享库,常常用来解决程序运行缺少某个库文件而不能运行的一些问题。如果库找不到,这个命令可以迅速找到缺少的库
ldd 程序(例如pbnd.x)
##ldconfig命令
ldconfig是一个动态链接库管理命令,为了让动态链接库为系统所共享,还需运行动态链接库的管理命令–ldconfig。
ldconfig 命令的用途,主要是在默认搜寻目录(/lib和/usr/lib)以及动态库配置文件/etc/ld.so.conf内所列的目录下,搜索出可共享的动态 链接库(格式如前介绍,lib*.so*),进而创建出动态装入程序(ld.so)所需的连接和缓存文件.缓存文件默认为 /etc/ld.so.cache,此文件保存已排好序的动态链接库名字列表.
ldconfig部分命令参数说明:(详细参数,参考2博客介绍)
1、 -v或–verbose:用此选项时,ldconfig将显示正在扫描的目录及搜索到的动态链接库,还有它所创建的连接的名字.
2、-n :用此选项时,ldconfig仅扫描命令行指定的目录,不扫描默认目录(/lib,/usr/lib),也不扫描配置文件/etc/ld.so.conf所列的目录.
3、-N :此选项指示ldconfig不重建缓存文件(/etc/ld.so.cache).若未用-X选项,ldconfig照常更新文件的连接.
4、-X : 此选项指示ldconfig不更新文件的连接.若未用-N选项,则缓存文件正常更新.
参考:
http://www.jb51.net/article/100233.htm
https://blog.csdn.net/chenzixun0/article/details/56278632
wc命令
功能 :打印输出文件的 行数,字数或者字节数。当没有文件的时候,从标准输入读取。
参数介绍:
- -c 。字节数的和 。bytes counts
- -m。字符数的和。charac counts
- -l。行数的和。 newline counts
例如:利用重定向符号 < 使用wc统计文件的行数。
who | tee output #将who得到的输出复制到output文件中
wc -l < output #统计output文件的行数
其他命令汇总
- more foo:显示名称foo的文件(回车键换行,空格键换页)
- less foo: 显示foo文件,比more更加强大,支持往回翻页
- chmod 755 <file_name>更改文件file_name的属性,1:x 2:w 4:r 5:rx 7:rwx(其中rwx分别代表可以读写执行操作)
- diff file1 file2 比较两个文件的不同
- date:显示系统当前时间
- sleep 10:暂停10秒钟
- file file1:显示文件file1的属性
- locate foo:在所有目录中寻找有文件名foo的路径
- du:显示当前目录所用空间大小
- find . -name “*.txt” -print
- find . -name “[A-Z]*” -print #查以大写字母开头的文件
其中find命令可以用来做一些有用的事情,比如
在某文件夹下有很多文件和子文件夹,需要将所有的 .cpp文件中的Charge_int改成Charge_float
解决办法
find . -name “*.cpp” -exec sed -i ‘s/Charge_int/Charge_float/g’ {} ;
即用find命令在当前目录寻找(递归)所有的cpp文件,找到后执行sed命令, 其中-name和-exec是find命令的参数,分别表示按文件名寻找和执行指令。 sed指令在文件中寻找(s)字符串“Charge_int”,替换为“Charge_float”。 find后面的“.”表示在当前目录寻找,也可以改成其它想寻找的目录,比如 /home/analyzer/mywork