常用linux命令-me
不敢大言不惭的说这些是常用的linux命令,所以都了个小机灵,加了一个me,我只是整理了一下我自己常用的命令,有一些使用率会低一点,整理出来的话这样就可以很方便的回顾一下。
查看日志
查看指定时间的日志
首先看一下自己要查询的日志的日期格式,比如说我要查询的日志是这样的
[2021-11-18 15:33:00.004][czb-b2b-store][INFO][][scheduling-1] c.c.b.c.j.ScheduleTaskController jobRecoverSeckillProduct() end
讯享网
日期格式就是:2021-11-18 15:33:00.004
下面的语句即为查询15点33到15点35的日志
讯享网deploy@tuanyou06-test-ty--bj:/czb/server_logs/czb-b2b-store$ cat info.log |grep '2021-11-18 15:3[3,5]'
查看文件最后x行
deploy@tuanyou06-test-ty--bj:/czb/server_logs/czb-b2b-store$ tail -10f info.log at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:367) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:860) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1591) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:748)
如果来了新的日志,会在这10行的基础上继续打印,毕竟用的tail
查看指定关键字前后10行的日志
场景:刚刚出现的bug,但是你没有一直跟踪日志,但是日志就在文件的尾部一定。
讯享网deploy@tuanyou06-test-ty--bj:/czb/server_logs/czb-b2b-store$ cat info.log |grep -C 10 "java.lang.IndexOutOfBoundsException"
就会打印出所有java.lang.IndexOutOfBoundsException所在行的前后各10行日志。并且关键字会被标红展示
过滤多个关键字
与
就比如说我要所有东城区的加油站,那我要所有的数据既要有“东城区”又要有“加油站”的关键字
deploy@tuanyou06-test-ty--bj:/czb/server_logs/czb-b2b-store$ grep "加油站" info.log |grep "东城区"
当然还可以再加入一个关键字,就是符合三者的关系才可以
讯享网deploy@tuanyou06-test-ty--bj:/czb/server_logs/czb-b2b-store$ grep "加油站" info.log |grep "东城区"|grep "但是奋斗奋斗"
或
就比如说我要搜索付款或者退款的信息,满足任意一个关键字即可
deploy@tuanyou06-test-ty--bj:/czb/server_logs/czb-b2b-store$ egrep '江门|东城' info.log
再多一个关键字
讯享网deploy@tuanyou06-test-ty--bj:/czb/server_logs/czb-b2b-store$ egrep '江门|东城|秦皇岛' info.log
more
不推荐使用more,为什么,需要看看下面的less
deploy@tuanyou06-test-ty--bj:/czb/server_logs/czb-b2b-store$ more info.log
进入文件内容后
空格键是向下翻页,enter键是向下一行,q是推出,b有的人说是向上返回一页,但是我这里是直接回到第一页,不知道是不是不同的电脑不一样
less
1、 less 命令主要用于打开大文件。less 不会读取整个文件,相比于 vim 或 nano 等文本编辑器,加载时间会更快。
2、 less搜索文件内容更方便
3、 less上下翻页更方便
查看文件
空格:下一页
上箭头:向上一行
下箭头:向下一行
d:向后翻一页(我的记忆方法是,d,弟弟,是后出生的,就是向后,一直d,就到了文件的结尾)
b: 向前翻一页(我的记忆方法是b,brother,兄弟,兄,是前出生的,就是向前,一直b就到了文件的开头)
查找功能
向前查找
这里的前,是指新打印的日志在前面的前,而不是文件开头的那个前
/字符串 向前搜索关键字
n 继续向前搜索关键字,如果一直n,直到文件最后一次出现该关键字
N 向后搜索关键字,如果一直N,直到文件第一次出现该关键字
向后查找
?字符串 向前搜索关键字(需要将输入法切换到英文,然后输入?,再输入字符串即可)
n 继续向后搜索关键字,如果一直n,直到文件第一次出现该关键字
N 向前搜索关键字,如果一直N,直到文件最后一次出现该关键字
其他分页展示
讯享网[root@hecs-82454 ~]# ps -ef | less
打印出的内容就也可以分页操作了
head
查看文件的前多少行,不加-n 5,即为默认的10行
deploy@tuanyou06-test-ty--bj:/czb/server_logs/czb-b2b-store$ head -n 5 info.log [2021-11-18 21:00:00.002][czb-b2b-store][INFO][][scheduling-1] c.c.b.c.j.IntegralJob jobSearchIntegralES() start [2021-11-18 21:00:00.038][czb-b2b-store][INFO][][scheduling-1] c.c.b.m.i.IntegralESGoodsModel 需要创建索引的商品数量:0. [2021-11-18 21:00:00.048][czb-b2b-store][INFO][][scheduling-1] c.c.b.c.j.IntegralJob jobSearchIntegralES() end [2021-11-18 21:00:00.061][czb-b2b-store][INFO][][scheduling-1] c.c.b.c.j.ScheduleTaskController jobSystemDealAfterService() start [2021-11-18 21:00:00.085][czb-b2b-store][INFO][][scheduling-1] c.c.b.c.j.ScheduleTaskController jobSystemDealAfterService() end deploy@tuanyou06-test-ty--bj:/czb/server_logs/czb-b2b-store$
解压缩
-x :解开一个压缩文件的参数指令!
-c :建立一个压缩文件的参数指令(create 的意思)
-z :是否同时具有 gzip 的属性
-v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!
-f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!
解压
讯享网tar -zxvf file.tar.gz //解压tar.gz tar –xvf file.tar //解压 tar包 unzip file.zip //解压zip
压缩
tar cvf zhangyin.tar Idea //将Idea文件夹压缩成zhangyin.tar tar zcvf zhangyi.tar.gz Idea //将Idea文件夹压缩成zhangyi.tar.gz zip zhang.zip Idea //将Idea文件夹压缩成zhang.zip
上传文件
讯享网scp /Users/zc/Downloads/WechatIMG454.png :/usr/local/bin/myBlog/static/img/zhaohuabing.png
将本地的/Users/zc/Downloads/WechatIMG454.png 上传到xxx.xxx.xxx.xxx服务器通过root用户,到/usr/local/bin/myBlog/static/img/zhaohuabing.png,执行后会让你输入远程主机的密码
其实还有更方便的rz,但是需要远程主机安装这个命令
下载文件
scp :/usr/local/zhangyin.tar /Users/zc/Downloads/
将远程主机xxx.xxx.xxx.xxx的/usr/local/zhangyin.tar通过root用户下载到本地的/Users/zc/Downloads/,执行后会让你输入远程主机的密码
其实还有更方便的sz,但是需要远程主机安装这个命令
连接远程主机
ssh
比如说,你在自己的电脑上要连接公司的某一台主机或者连接一台堡垒机,你需要公司告诉你登陆的端口,默认是22,但是比如我们公司就是2222,还是要问一下的,然后还需要给你用户名密码和主机地址,才可以登陆远程主机
指令为
讯享网ssh -p端口 用户名@主机地址
第一次登陆
第一次登陆会有提示,只要输入yes即可,然后再输入密码就登陆成功了,之后就不会有提示了
deploy@tuanyou06-test-ty--bj:~$ ssh -p2222 The authenticity of host '[xxx.xxx.com]:2222 ([xx.x.x.xx]:2222)' can't be established. RSA key fingerprint is SHA256:CCURp4GyCCztcJus6n0v6dToqGzZd5piTBG4Eap1guY. Are you sure you want to continue connecting (yes/no/[fingerprint])? yes Warning: Permanently added '[xxx.xxx.com]:2222,[xx.x.x.xx]:2222' (RSA) to the list of known hosts. 's password:
自动登录脚本
顺便提一嘴,在Mac上这个软件很香,连接远程主机很方便,还免费,如果你没有那些类似于Termius的软件,那你可以自己写一个脚本,每次执行一下脚本就自动登录到主机了
讯享网#! /usr/bin/expect spawn ssh -p端口 用户名@主机地址 expect "password:" exp_send "密码\r" interact
操作文件夹和文件
mkdir zhangyin //直接在当前目录下创建zhangyin文件夹 mkdir /usr/local/zhangyin2 //在绝对路径/usr/local下新建zhangyin2文件夹 mkdir -p /usr/local/zhangsan/lisi //绝对路径/usr/local下没有zhangsan文件夹,递归创建zhangsan/lisi cp -r zhangsan/lisi /usr/local //比如说lisi下有一个1.txt文件,将当前目录下的zhangsan/lisi文件夹的lisi文件夹包括1.txt复制到/us/local下,/usr/local下新增一个lisi文件夹,并将1.txt也复制过来 cp -r zhangsan/lisi /usr/local/wangwu //与上面不一样的是复制过来的文件夹,在/usr/local下被命名为wangwu,且1.txt也被复制过来 rm -rf lisi //最牛的命令来了,不管lisi是文件夹,里面有没有内容,还是lisi是一个文件,直接删除,还不带提问的,f即为force强制的意思,如果想要不直接删除,而是一个一个检查的话,换成rm -r即可 mv zhangsan/lisi /usr/local/wangwu //比如说lisi下有一个1.txt文件,将lisi文件夹下的1.txt剪切到/usr/local/wangwu下,你可以理解成为将lisi文件夹重命名为了wangwu,并将1.txt剪切到wangwu下 mv zhangsan2/lisi /usr/local //将lisi文件夹和里面的文件剪切到/usr/local的lisi文件夹 mv zhangsan2 zhangsan3 //在当前目录剪切文件并重命名,其实就是改了zhangsan2的名字为zhangsan3 touch 1.txt //新建一个1.txt文件
讯享网[root@hecs-82454 local]# rm -r lisi rm: descend into directory ‘lisi’? y rm: remove regular empty file ‘lisi/1.txt’? y rm: remove directory ‘lisi’? y [root@hecs-82454 local]#
文件的权限修改
我们先来看一下文件的权限
[root@hecs-82454 local]# ll total drwxr-xr-x 13 root root 4096 Sep 3 12:39 apache-jmeter-5.3 drwxr-xr-x 6 root root 4096 Sep 26 14:24 apache-maven-3.8.2 -rw-r--r-- 1 root root Aug 5 03:16 apache-maven-3.8.2-bin.tar.gz -rw-r--r-- 1 root root Sep 3 11:03 arthas-boot.jar drwxr-xr-x 2 root root 4096 Sep 28 11:37 arthas-output drwxr-xr-x. 4 root root 4096 Oct 20 17:43 bin drwxr-xr-x. 2 root root 4096 Apr 11 2018 etc 。。。。。。。
| - | 代表文件 |
|---|---|
| d | 代表目录,也就是文件夹 |
| r | 代表对象是可读的 read |
|---|---|
| w | 代表对象是可写的 write |
| x | 代表对象是可执行的 |
rwx可以通过数字来代表
| 字母 | 说明 |
|---|---|
| r | 读取权限,数字代号"4" |
| w | 写入权限,数字代号"2" |
| x | 执行权限,数字代号"1" |
| - | 不具任何权限,数字代号"0" |
按照顺序为
- 文件所有者的权限
- 同组用户的权限
- 其他用户的权限
修改文件的权限chmod
讯享网
[root@hecs-82454 lisi]# ll total 0 -rw-r--r-- 1 root root 0 Nov 19 20:34 1.txt [root@hecs-82454 lisi]# chmod 777 1.txt [root@hecs-82454 lisi]# ll total 0 -rwxrwxrwx 1 root root 0 Nov 19 20:34 1.txt [root@hecs-82454 lisi]#
查找
whereis
whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。比如说我们找一下java的位置,比较好理解的说法就是,我们可以直接使用的指令(包括系统自带的,和你自己安装的,比如需要配置到*/etc/profile*的那些),都可以用whereis来查询
[root@hecs-82454 /]# whereis apache-jmeter apache-jmeter:[root@hecs-82454 /]# whereis java java: /usr/local/jdk1.8/bin/java [root@hecs-82454 /]# whereis jmeter jmeter: /usr/local/jmeter.log /usr/local/apache-jmeter-5.3/bin/jmeter /usr/local/apache-jmeter-5.3/bin/jmeter.bat /usr/local/apache-jmeter-5.3/bin/jmeter.properties /usr/local/apache-jmeter-5.3/bin/jmeter.sh /usr/local/apache-jmeter-5.3/bin/jmeter.log [root@hecs-82454 /]# whereis ls ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz [root@hecs-82454 /]# whereis nginx nginx: /usr/local/nginx
find
find查找是比较慢的,因为是实时递归查询的
讯享网[root@hecs-82454 /]# find -name "1.txt" ./var/lib/jenkins/workspace/NewCRUD/1.txt ./usr/local/lisi/1.txt
如果你知道在哪个文件夹下就会快一些
[root@hecs-82454 /]# find /usr/local -name "1.txt" /usr/local/lisi/1.txt
网络通信
ifconfig
查看网卡的信息
讯享网deploy@tuanyou06-test-ty--bj:~$ ifconfig eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 10.10.11.31 netmask 255.255.255.0 broadcast 10.10.11.255 inet6 fe80::5054:ff:fe1a:cfeb prefixlen 64 scopeid 0x20<link> ether 52:54:00:1a:cf:eb txqueuelen 1000 (Ethernet) RX packets bytes 50 (7.3 TB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets bytes 93 (4.5 TB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 1000 (Local Loopback) RX packets bytes 75 (2.0 TB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets bytes 75 (2.0 TB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ping
[root@hecs-82454 ~]# ping www.baidu.com PING www.a.shifen.com (110.242.68.3) 56(84) bytes of data. 64 bytes from 110.242.68.3 (110.242.68.3): icmp_seq=1 ttl=46 time=10.7 ms 64 bytes from 110.242.68.3 (110.242.68.3): icmp_seq=2 ttl=46 time=10.4 ms 64 bytes from 110.242.68.3 (110.242.68.3): icmp_seq=3 ttl=46 time=10.5 ms 64 bytes from 110.242.68.3 (110.242.68.3): icmp_seq=4 ttl=46 time=10.6 ms ^Z [1]+ Stopped ping www.baidu.com [root@hecs-82454 ~]#
curl
直接打印出对应地址的html信息
讯享网[root@hecs-82454 ~]# curl www.baidu.com <!DOCTYPE html> <!--STATUS OK--><html> <head><meta http-equiv=content-type content=text/html;charset=utf-8><meta http-equiv=X-UA-Compatible content=IE=Edge><meta content=always name=referrer><link rel=stylesheet type=text/css href=http://s1.bdstatic.com/r/www/cache/bdorz/baidu.min.css><title>百度一下,你就知道</title></head> <body link=#0000cc> <div id=wrapper> <div id=head> <div class=head_wrapper> <div class=s_form> <div class=s_form_wrapper> <div id=lg> <img hidefocus=true src=//www.baidu.com/img/bd_logo1.png width=270 height=129> </div> <form id=form name=f action=//www.baidu.com/s class=fm> <input type=hidden name=bdorz_come value=1> <input type=hidden name=ie value=utf-8> <input type=hidden name=f value=8> <input type=hidden name=rsv_bp value=1> <input type=hidden name=rsv_idx value=1> <input type=hidden name=tn value=baidu><span class="bg s_ipt_wr"><input id=kw name=wd class=s_ipt value maxlength=255 autocomplete=off autofocus></span><span class="bg s_btn_wr"><input type=submit id=su value=百度一下 class="bg s_btn"></span> </form> </div> </div> <div id=u1> <a href=http://news.baidu.com name=tj_trnews class=mnav>新闻</a> <a href=http://www.hao123.com name=tj_trhao123 class=mnav>hao123</a> <a href=http://map.baidu.com name=tj_trmap class=mnav>地图</a> <a href=http://v.baidu.com name=tj_trvideo class=mnav>视频</a> <a href=http://tieba.baidu.com name=tj_trtieba class=mnav>贴吧</a> <noscript> <a href=http://www.baidu.com/bdorz/login.gif?login&tpl=mn&u=http%3A%2F%2Fwww.baidu.com%2f%3fbdorz_come%3d1 name=tj_login class=lb>登录</a> </noscript> <script>document.write('<a href="http://www.baidu.com/bdorz/login.gif?login&tpl=mn&u='+ encodeURIComponent(window.location.href+ (window.location.search === "" ? "?" : "&")+ "bdorz_come=1")+ '" name="tj_login" class="lb">登录</a>');</script> <a href=//www.baidu.com/more/ name=tj_briicon class=bri style="display: block;">更多产品</a> </div> </div> </div> <div id=ftCon> <div id=ftConw> <p id=lh> <a href=http://home.baidu.com>关于百度</a> <a href=http://ir.baidu.com>About Baidu</a> </p> <p id=cp>©2017 Baidu <a href=http://www.baidu.com/duty/>使用百度前必读</a> <a href=http://jianyi.baidu.com/ class=cp-feedback>意见反馈</a> 京ICP证030173号 <img src=//www.baidu.com/img/gs.gif> </p> </div> </div> </div> </body> </html> [root@hecs-82454 ~]#

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/55287.html