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出多个文件名而已

 

posted @ 2018-03-29 09:59  天涯过者  阅读(334)  评论(0编辑  收藏  举报