linux 常用命令
日志的查找方式
windows查看端口和删除进程
netstat -aon | findstr 8081 taskkill /pid 4632 /F
查看端口
lsof -i:443
netstat -anput | grep 443
ll /proc/pid
看程序一些细节
场景1: 日志实时监控 tail -f fdata.log 场景2:查询最后20行,并且查找关键字 结果 tail -n 20 fdata.log | grep '结果' 场景3:查询最后20行,并且查找关键字 结果(文字标红) tail -n 20 fdata.log | grep '结果' --color 场景4:查询最后20行,并且查找关键字 结果(文字标红),上下扩展2行 tail -n 20 fdata.log | grep '结果' --color -a2
tail -n 10 test.log 查询日志尾部最后10行的日志;
tail -n +10 test.log 查询10行之后的所有日志;
head -n 10 test.log 查询日志文件中的头10行日志;
head -n -10 test.log 查询日志文件除了最后10行的其他所有日志;
场景1: 按行号查看---过滤出关键字附近的日志
因为通常时候我们用grep拿到的日志很少,我们需要查看附近的日志.
我是这样做的,首先: cat -n test.log |grep "地形" 得到关键日志的行号
<3>得到"地形"关键字所在的行号是102行. 此时如果我想查看这个关键字前10行和后10行的日志:
cat -n test.log |tail -n +92|head -n 20
tail -n +92表示查询92行之后的日志
head -n 20 则表示在前面的查询结果里再查前20条记录
场景2:那么按日期怎么查呢? 通常我们非常需要查找指定时间端的日志
sed -n '/2014-12-17 16:17:20/,/2014-12-17 16:17:36/p' test.log
特别说明:上面的两个日期必须是日志中打印出来的日志,否则无效.
关于日期打印,可以先 grep '2014-12-17 16:17:20' test.log 来确定日志中是否有该时间点,以确保第4步可以拿到日志
这个根据时间段查询日志是非常有用的命令.
6
如果我们查找的日志很多,打印在屏幕上不方便查看, 有两个方法:
(1)使用more和less命令, 如: cat -n test.log |grep "地形" |more 这样就分页打印了,通过点击空格键翻页
(2)使用 >xxx.txt 将其保存到文件中,到时可以拉下这个文件分析.如:
cat -n test.log |grep "地形" >xxx.txt
这几个日志查看方法应该可以满足日常需求了.
tailf /data/www/logs/rpc-member-benefits-service-inst0/supervisor.log|grep "CouponConsumeWorker"
打印前后2行
tailf /data/www/apps/mic-member-promotion-service/inst0/logs/supervisor.log|grep -C 2 '推送限时抽奖任务的'
执行操作命令 sudo su rz -bye 上传文件 sz 下载文件 ps -ef | grep ubi-cron-1.0.jar 查看相关进程 ctrl + c 退出 kill -9 pid 等于kill -s 9 pid,表示强制,尽快终止一个进程。多半admin会用这个命令。 cat <文件名> | grep <关键字> 文件和目录 cd /home 进入 '/ home' 目录' cd .. 返回上一级目录 cd ../.. 返回上两级目录 cd 进入个人的主目录 mkdir dir1 创建一个叫做 'dir1' 的目录' mkdir dir1 dir2 同时创建两个目录 mkdir -p /tmp/dir1/dir2 创建一个目录树 rm -f file1 删除一个叫做 'file1' 的文件' rmdir dir1 删除一个叫做 'dir1' 的目录' rm -rf dir1 删除一个叫做 'dir1' 的目录并同时删除其内容 rm -rf dir1 dir2 同时删除两个目录及它们的内容 cp -a dir1 dir2 复制一个目录 将一个文件夹复制并重命名 cp dir/* . 复制一个目录下的所有文件到当前工作目录 ls 查看目录中的文件 ls -F 查看目录中的文件 ls -l 显示文件和目录的详细资料 ls -a 显示隐藏文件 1、vi 文件名.txt; 2、touch 文件名.txt 看版本 python --version 看安装路径 which python netstat -apn|grep <端口号>
在linux执行http请求
curl http://10.1.8.153:20892/test/day
curl -s "http://10.1.8.153:20892/test/day?u=1&a=2"
Linux中zip压缩和unzip解压缩命令详解
1、把/home目录下面的mydata目录压缩为mydata.zip zip -r mydata.zip mydata #压缩mydata目录 2、把/home目录下面的mydata.zip解压到mydatabak目录里面 unzip mydata.zip -d mydatabak 3、把/home目录下面的abc文件夹和123.txt压缩成为abc123.zip zip -r abc123.zip abc 123.txt 4、把/home目录下面的wwwroot.zip直接解压到/home目录里面 unzip wwwroot.zip 5、把/home目录下面的abc12.zip、abc23.zip、abc34.zip同时解压到/home目录里面 unzip abc\*.zip 6、查看把/home目录下面的wwwroot.zip里面的内容 unzip -v wwwroot.zip 7、验证/home目录下面的wwwroot.zip是否完整 unzip -t wwwroot.zip 8、把/home目录下面wwwroot.zip里面的所有文件解压到第一级目录 unzip -j wwwroot.zip 主要参数 -c:将解压缩的结果 -l:显示压缩文件内所包含的文件 -p:与-c参数类似,会将解压缩的结果显示到屏幕上,但不会执行任何的转换 -t:检查压缩文件是否正确 -u:与-f参数类似,但是除了更新现有的文件外,也会将压缩文件中的其它文件解压缩到目录中 -v:执行是时显示详细的信息 -z:仅显示压缩文件的备注文字 -a:对文本文件进行必要的字符转换 -b:不要对文本文件进行字符转换 -C:压缩文件中的文件名称区分大小写 -j:不处理压缩文件中原有的目录路径 -L:将压缩文件中的全部文件名改为小写 -M:将输出结果送到more程序处理 -n:解压缩时不要覆盖原有的文件 -o:不必先询问用户,unzip执行后覆盖原有文件 -P:使用zip的密码选项 -q:执行时不显示任何信息 -s:将文件名中的空白字符转换为底线字符 -V:保留VMS的文件版本信息 -X:解压缩时同时回存文件原来的UID/GID
1. 使用tar压缩文件
tar -zcvf test.tar.gz ./test/
该命令表示压缩当前文件夹下的文件夹test,压缩后缀名为test.tar.gz
如果不需要压缩成gz,只需要后缀为tar格式的,那么输入如下命令:
tar -cvf test.tar ./test/
2. 使用tar解压文件
tar -xzvf test.tar.gz
该命令表示把后缀为.tar.gz的文件解压到当前文件夹下。
如果压缩文件的后缀是.tar,没有gz,则使用命令:
tar -xvf test.tar
解压jdk到指定文件夹:
tar -xzvf jdk-8u131-linux-x64.tar.gz -C /usr/local/java
supervisor查看命令
supervisor
supervisord -c /etc/supervisor/supervisord.conf 启动命令
supervisorctl reload 重新加载配置文件
jvm
top –p pid
功能:可以显示当前系统正在执行的进程的相关信息,包括进程ID、
内存占用率、CPU占用率等。
查询进程<pid>的垃圾收集情况,每250毫秒查询一次,一共查询20次:
jstat -gc pid 250 20
输出上次GC原因:jstat –gccause pid
查看堆内存(histogram)中的对象数量及大小:jmap –histo pid
将内存使用的详细情况输出到文件:jmap -dump:format=b,file=/tmp/x.hprof pid
root赋值sam权限 chown -R sam:sam /data/elasticseach
赋值文件所有权限
chmod 777 文件
linux下批量替换文件内容
1、网络上现成的资料 格式: sed -i "s/查找字段/替换字段/g" `grep 查找字段 -rl 路径` linux sed 批量替换多个文件中的字符串 sed -i "s/oldstring/newstring/g" `grep oldstring -rl yourdir` 例如:替换/home下所有文件中的www.admin99.net为admin99.net sed -i "s/www.admin99.net/admin99.net/g" `grep www.admin99.net -rl /home` exp:sed -i "s/shabi/$/g" `grep shabi -rl ./` 2、自己额外附加 2.1 将文件1.txt内的文字“garden”替换成“mirGarden” # sed -i "s/garden/mirGarden/g" 1.txt //sed -i 很简单 2.2 将当前目录下的所有文件内的“garden”替换成“mirGarden” ## sed -i "s/garden/mirGarden/g" `ls` //其实也就是ls出多个文件名而已
我们度尽的年岁,好像一声叹息,不过是劳苦愁烦,转眼成空