命令行学习
- 查看文件大小
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文件操作
- 如果你只想看文件的前5行,可以使用head命令,如: head -5 /etc/passwd
- 如果你想查看文件的后10行,可以使用tail命令,如: tail -10 /etc/passwd 或 tail -n 10 /etc/passwd tail -f /var/log/messages //参数-f使tail不停地去读最新的内容,这样有实时监视的效果 用Ctrl+c来终止!
- 筛选文件内容
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 //匹配多个条件
- 通过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