1.Linux的体系结构
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*
只会帅选出目标字符串所在的行
实战:
管道操作符|
可将指令连接起来,前一个指令的输出作为后一个指令的输入
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就是过滤相关字符串的内容