• 查看文件大小

du -h -d 1 debug.14.log

  • 压缩 tar czvf mydb.tar tmp8_28mydb.sql

  • 解压 tar -xf LibVNCServer-0.9.9.tar.gz

  • ls 命令 ll ls -lht 文件按照时间排序 ls target/ibd-data-api.jar ls特定文件 ls wangxc/ibd.yaml | awk -f’/’ ‘{print$2}’ ls特定文件,并以‘/’进行分割打印

  • 当前目录

pwd

  • log文件操作
    1. 如果你只想看文件的前5行,可以使用head命令,如: head -5 /etc/passwd
    2. 如果你想查看文件的后10行,可以使用tail命令,如: tail -10 /etc/passwd 或 tail -n 10 /etc/passwd tail -f /var/log/messages //参数-f使tail不停地去读最新的内容,这样有实时监视的效果 用Ctrl+c来终止!
    3. 筛选文件内容
      grep 'decode.failure' debug.20170428.0.log |more
      grep 工单 debug.log|grep 22:16:16.054 //多次搜索
      grep ERROR debug.* |wc -l //查询到的行数
      grep -10 ERROR ibd-data-api.app.debug.20170622.log //输出grep到数据的 前后10行
      kubectl get pod --all-namespaces -o wide | grep   -e api-data -e data-jobs  -e msg-server -e gather-api //匹配多个条件
      
    4. 通过grep ERROR log.*定位到文件后,需要查看详细的错误
      less debug.6.log.bak 打开定位到的文件
      -N 打开行号
      输入 /doJobstat error 跳转到错误信息
      n 查找下一个匹配的文本
      N 查找下一个匹配的文本
      回车向下拉信息
      q 退出less
      G 跳转到文件末尾
      g 跳转到文件头部
      
  • last 该命令用来列出目前与过去登录系统的用户相关信息。指令英文原义:show listing of last logged in users last -n 5 //仅输出前五行

  • awk awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。 last -n 5 | awk ‘{print $1}’ //只是显示最近登录的5个帐号 ls wangxc/ibd*.yaml | awk -f’/’ ‘{print$2}’ ls特定文件,并以‘/’进行分割打印

  • 变量

jarFile=ls target/ibd-data-api*.jar | awk -F'/' '{print$2}' 设置变量 echo $jarFile 打印变量 date 打印日期

  • 更新进程的一系列操作
    //查询java进程
    ps -elf | grep java
    ps -eo pid,user,comm,args,%cpu,%mem,rss,vsz,sz //查看内存占用
    jps 查看java进程 列出所有的jvm实例
    // 杀死查询到的进程
    kill -9  $pid
    //删除老文件
    rm ibd-gather-api-1.1-SNAPSHOT.jar
    // 重命名文件
    mv ibd-gather-api-1.1-SNAPSHOT.jar.0 ibd-gather-api-1.1-SNAPSHOT.jar
    //运行新的jar
    java -jar $jar-name "--spring.profiles.active=local" &
    //查询历史执行操作
    history
    history | grep "data-api"
    
  • 获取当前系统内存占用情况 top
  • 获取多个文件的过滤信息 grep “analysis hbase” debug.* *IP 获取当前电脑ip地址
  • 查找文件
    find */*/*log // 查找当前目录下2级目录中,以log结尾的文件
    find /*/log //查询根目录下级目录为log的文件
    find -atime -2 // 查找2个小时内修改过的文件  -amin -10 为10分钟内
    find . -name *ibd-data //查找当前目录以下的文件
    find . -size +1000c -print //查找当前目录以下大于1k的文件
    find / -type f -name *scheduler*//搜索全部文件
    
  • 特殊字符
    $ echo 'pwd' // 结果 pwd
    $ echo `pwd` // 结果 /home/zhangyc
    
  • 打印当前path
    echo $PATH | sed 's/:/\n/g'
    
  • 命令帮助 “man + 命令”了解这个命令能确切是做什么的。

  • 常用命令

free //内存 df //硬盘 type ls //查询命令的真实执行 clear //清空屏幕 gunzip //解压缩 cp ibd-msg-server.app.debug.20170831.0.20170831.log.gz /tmp gunzip ibd-msg-server.app.debug.20170831.0.20170831.log.gz gunzip -c ibd-gather-api.app.gather_data_info.20171023.log.gz > /tmp/xx.log

  • 下载 利用SecureCRT上传、下载文件(使用sz与rz命令) 借助securtCRT,使用Linux命令sz可以很方便的将服务器上的文件下载到本地,使用rz命令则是把本地文件上传到服务器。 sz -e ibd-gather-api.app.gather_data_info.20171009.log

  • 导出文件 将搜索结果到处到文件. mysql -h **.aliyuncs.com -u user01 -P 3306 -p ‘ibd_cm’ -e “select now()” > ./test.txt

  • 重命名 mv refreshOperation.txt refreshOperation.sh

  • 拷贝到 cp -rf ibd-data-api/deploy.sh ibd-data-docking/deploy.sh

  • 增加权限 chmod 777 refreshOperation.sh

  • pid [zhangyc@litao ~]$ echo $$ 24206 [zhangyc@litao ~]$ echo $!

[zhangyc@litao ~]$ echo $0 -bash [zhangyc@litao ~]$

  • curl 进行post请求 curl -l -H “Content-type: application/json” -X POST -d ‘{“tenantId”:”72321437475850240”,”beginTimeStamp”:”1500998400000”,”endTimeStamp”:”1501084800000”}’ http://10.0.4.50:3100/sapi/v1/production_plan/job_plan_num
  • curl 带空格转换为+,如果不能正常请求,需要把网址用双引号括起来 curl “http://172.16.8.118:9604/sapi/v1/dataApi/doJobStat?startTime=2017-08-03+00:00:00&endTime=2017-08-04+00:00:00”
  • curl 带请求时间 curl -w “time_connect: %{time_connect}\ntime_starttransfer: %{time_starttransfer}\ntime_total: %{time_total}\n” -o /dev/null -s -L http://172.16.11.219:9604/sapi/v1/dataApi/status
  • curl 注意 curl 请求网址必须带双引号,不然多次请求会出现并行请求等问题
  • 数据可编程对象(阿里云支持功能可以结合触发器,做数据库定时任务) CREATE PROCEDURE proc_delete_job_run_info( in_date DATE ) BEGIN DECLARE var_cnt INT DEFAULT 0; DECLARE var_cnt_del INT DEFAULT 0; DECLARE var_msg VARCHAR(100) DEFAULT ‘’; DECLARE var_date_before_3 DATE DEFAULT NULL;

    SET var_date_before_3 = DATE_ADD(in_date,INTERVAL -3 DAY);

    SELECT COUNT(1) INTO var_cnt FROM backend_job_run_info WHERE jobStartAt >= var_date_before_3;

    IF var_cnt > 0 THEN DELETE FROM backend_job_run_info WHERE jobStartAt < var_date_before_3; SET var_cnt_del = ROW_COUNT(); END IF;

    SET var_msg = CONCAT(‘in_date=’, in_date, ‘,3_day_cnt=’, var_cnt, ‘,del_cnt=’, var_cnt_del);

    INSERT INTO backend_op_log (op, msg) VALUES (‘proc_delete_job_run_info done’, var_msg); END

  • 查看连接信息 SELECT * FROM information_schema.PROCESSLIST p WHERE p.HOST LIKE ‘%10.28.143.1%’

  • 登录初始化 /etc/profile,/etc/bashrc 是系统全局环境变量设定 ~/.profile,~/.bashrc用户家目录下的私有环境变量设定

  • ps -A 连接android虚拟机查看进程信息 u0_a30 2617 1901 3699092 162952 0 0 S com.android.launcher3 u0_a55 2661 1901 3559996 78624 0 0 S com.android.printspooler system 2679 1901 3558280 76188 0 0 S com.android.keychain u0_a46 2706 1901 3566412 87908 0 0 S com.android.calendar u0_a7 2736 1901 3559312 86300 0 0 S com.android.providers.calendar u0_a58 2769 1901 3570360 91868 0 0 S com.android.email u0_a33 2799 1901 3558520 78504 0 0 S com.android.managedprovisioning u0_a66 2819 1901 3569736 99860 0 0 S com.android.messaging
  • ps –help 帮助

  • ps -T -p 2617 查看某个进程的全部线程信息

  • 批量更改文件名称 ~ rename ‘s/old/new/’ *.files