扩展:
linux常用命令:
ls 显示文件或目录
pwd 显示当前目录
cd 切换目录
touch 创建空文件
注意:创建的是文件,不是文件夹
rm 删除文件
mkdir 创建目录(目录是我理解的文件夹)
tree 树形结构显示目录,需要安装tree包
cp 拷贝
mv 移动或重命名
cat 查看文件内容
more 分页显示文本文件内容
grep 在文本文件中查找某个字符串
echo 创建带有内容的文件
- Linux修改环境变量
查看PATH:echo $PATH
以添加mongodb server为列
修改方法一:
export PATH=/usr/local/mongodb/bin:$PATH
//配置完后可以通过echo $PATH查看配置结果。
生效方法:立即生效
有效期限:临时改变,只能在当前的终端窗口中有效,当前窗口关闭后就会恢复原有的path配置
用户局限:仅对当前用户
修改方法二:
通过修改.bashrc文件:
vim ~/.bashrc
//在最后一行添上:
export PATH=/usr/local/mongodb/bin:$PATH
生效方法:(有以下两种)
1、关闭当前终端窗口,重新打开一个新终端窗口就能生效
2、输入“source ~/.bashrc”命令,立即生效
有效期限:永久有效
用户局限:仅对当前用户
修改方法三:
通过修改profile文件:
vim /etc/profile
/export PATH //找到设置PATH的行,添加
export PATH=/usr/local/mongodb/bin:$PATH
生效方法:系统重启
有效期限:永久有效
用户局限:对所有用户
修改方法四:
通过修改environment文件:
vim /etc/environment
在PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"中加入“:/usr/local/mongodb/bin”
生效方法:系统重启
有效期限:永久有效
用户局限:对所有用户
- Linux常用指令,sort grep等
sort功能说明:将文本文件内容加以排序,sort可针对文本文件的内容,以行为单位来排序。
- shell里面写查询一个服务器日志文件中访问最多的那个ip
问题描述:一个日志文件里逐行存储着 时间 ip 这种形式的日志,现在需要让你使用linux命令查找出日志文件中访问量最大的10个ip。
cat ip.txt|awk -F" " '{print $2}'|sort|uniq -c|sort -nrt " "|awk -F" " '{print $2}'|head -10 # 格式:时间 ip
更简单的:cat test.txt|awk '{print $1}'|sort|uniq -c # 格式:ip
每一步命令解释:
cat ip.txt 将ip.txt文件内容输出到终端
| 通过管道符|将左边命令输出作为右边命令输入(后面|功能类似)
awk -F" " ‘{print $2}’
-F 指定输入文件折分隔符 -F" ": 以空格分隔
{print $2} 分隔后每一行就分成了时间戳和ip两个单元$1指时间$2指ip print $2 即输出ip
sort 对输出ip进行排序
uniq -c 检查及删除文本文件中重复出现的行列 -c或–count 在每列旁边显示该行重复出现的次数。
此时输出的数据格式为:出现次数 ip
sort -nrt " " 对输出结果排序 -n : 依照数值的大小排序 -r : 以相反的顺序来排序 -t : <分隔字符> 指定排序时所用的栏位分隔字符
接着继续用awk 将数据第二列ip输出
head -10 取前十条数据
命令执行结果:
一些分析日志的shell用法
awk(awk是一个非常好用的数据处理工具。相较于sed常常一整行处理,awk则比较倾向于一行当中分成数个“字段”处理)——linux中awk工具的使用
1、查看当天有多少个IP访问: awk '{print $1}' log_file|sort|uniq|wc -l 2、查看某一个页面被访问的次数; grep "/index.php" log_file | wc -l 3、查看每一个IP访问了多少个页面: awk '{++S[$1]} END {for (a in S) print a,S[a]}' log_file 4、将每个IP访问的页面数进行从小到大排序: awk '{++S[$1]} END {for (a in S) print S[a],a}' log_file | sort -n 5、查看某一个IP访问了哪些页面: grep ^111.111.111.111 log_file| awk '{print $1,$7}' 6、去掉搜索引擎统计当天的页面: awk '{print $12,$1}' log_file | grep ^\"Mozilla | awk '{print $2}' |sort | uniq | wc -l 7、查看2009年6月21日14时这一个小时内有多少IP访问: awk '{print $4,$1}' log_file | grep 21/Jun/2009:14 | awk '{print $2}'| sort | uniq | wc -l
- 查看cpu
- 查看内存
- 查看进程命令
- 查看端口使用情况