2025年常用linux命令-me

常用linux命令-me常用 linux 命令 me 不敢大言不惭的说这些是常用的 linux 命令 所以都了个小机灵 加了一个 me 我只是整理了一下我自己常用的命令 有一些使用率会低一点 整理出来的话这样就可以很方便的回顾一下 查看日志 查看指定时间的日志 首先看一下自己要查询的日志的日期格式

大家好,我是讯享网,很高兴认识大家。

常用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&amp;tpl=mn&amp;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>&copy;2017&nbsp;Baidu&nbsp;<a href=http://www.baidu.com/duty/>使用百度前必读</a>&nbsp; <a href=http://jianyi.baidu.com/ class=cp-feedback>意见反馈</a>&nbsp;京ICP证030173号&nbsp; <img src=//www.baidu.com/img/gs.gif> </p> </div> </div> </div> </body> </html> [root@hecs-82454 ~]#  
小讯
上一篇 2025-01-06 12:28
下一篇 2025-02-27 17:43

相关推荐

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