Java教程

shell常用

本文主要是介绍shell常用,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1.Linux的体系结构

image-20211216174610105

2.Shell:命令解释器,可编程

没有图形文件之前,shell充当用户界面

常用指令(重要)

ls

cat 查看文件

less 查看文件

more 查看文件

tail 查看文件

vi 编辑文件

vim 编辑文件,更为流行

ps -ef

tail

3.查找特定文件?

find指令

在指定目录下查找文件
find -name "file.java"

全局搜索文件
find / -name "file.java"

查找所有以fil开头的文件  模糊查找文件
find ~ -name "fil*"				
	~ :就是进入home目录
	*:就是通配符的意思

同时忽略大小写,不区分大小写
find ~ -iname "fil*"		
	-:在-name中加上i,即iname

4.检索文件内容?

grep指令

grep:查找文件里符合条件的字符串

查找文件内容包含”AAA“以   BBB开头的文件
grep “AAA” 	BBB*

只会帅选出目标字符串所在的行

实战:

image-20211216180344160

管道操作符|

可将指令连接起来,前一个指令的输出作为后一个指令的输入

image-20211216180719932

find ~ | grep "target"
也就是先查找所有文件,然后在结果集中查找包含target的字段

注意:

1、只处理前一个命令正确输出,不处理错误输出

2、右边命令必须能够接受标准输入流,否则传递过程中数据会被摒弃

3、sed,awk,grep,cut,head,top,less,more,wc.join,sort,split等

find -dwdwwdw | grep “abc”  前一个命令错误,后面的grep就无效了!

查找日志文件中指定字符串

在bsc-data.info.log日志中查找包含 "partire[true]"字符串的日志记录
grep "partire\[true\]" bsc-data.info.log 

可以找到多个,但是每个日志打印的东西太多了,比如只想知道这次日志的用户openid是多少,一直用户的openid格式
是useropenid[dwu8u982289e28]   []里面是字符加数字,则可以用如下的方法来查找
-o 帅选出符合正则表达式的内容
grep "partire\[true\]" bsc-data.info.log | grep -o 'useropenid\[[0-9a-z]*\]'

查询某一个进程

比如查找tomcat进程

ps -ef | grep tomcat   这回把自己查询的进程也列出来
ps -ef | grep tomcat | grep -v "grep"  过滤包含grep字符串   这样就只找出tomcat的进程啦!
-v就是过滤相关字符串的内容

5.对文件内容做统计

这篇关于shell常用的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!