linux常用实战命令(亲测血的教训,持续总结更新)

2024-02-24 21:58

本文主要是介绍linux常用实战命令(亲测血的教训,持续总结更新),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.开防火墙的url访问端口:
cd /sbin
iptables -I INPUT -p tcp --dport 8080 -j ACCEPT     (好像在任意目录下直接运行此行命令即可)

参考:http://man.linuxde.net/iptables

 

2.查本机IP:

ifconfig

找到第二行的inet后面的ip


3.查看当前目录下文件的大小:
du -ah --max-depth=1

(a表示显示目录下所有的文件和文件夹(不含子目录),h表示以人类能看懂的方式,max-depth表示目录的深度)

3.1查看指定文件的大小:

du -sh test.txt


4.查看当前目录总大小:
du -sh
注:
  -h:以人类可读的方式显示
  -a:显示目录占用的磁盘空间大小,还要显示其下目录和文件占用磁盘空间的大小

  -s:显示目录占用的磁盘空间大小,不要显示其下子目录和文件占用的磁盘空间大小

 

5.清空日志:

先cd进入tomcat的logs目录,再输入命令:

>catalina.out

 

6.在指定目录下模糊查找文件(使用通配符*):

find /root -name '*log.txt'   -- 在root目录下找类似于xxlog.txt的文件,

在根目录下查找:find / -name '*log.txt' 

在当前目录下查找:find . -name 'sysconfig.pro*'  -- 在当前目录下(包括所有层级的子目录)查找sysconfig.properties文件

 

7.查找当前目录下所有文件里指定的字符串:

grep -rn 'exception' *

 

* : 表示当前目录所有文件,也可以是某个文件名

-r 是递归查找

-n 是显示行号

-R 查找所有文件包含子目录

-i 忽略大小写

给出查询结果作为例子:

localhost.2017-08-31.log:5:31-Aug-2017 20:06:39.620 严重 [http-nio-8080-exec-7] org.apache.catalina.core.StandardWrapperValve.invoke Servlet.service() for servlet [webxmlServlet] in context with path [/demoProj] threw exception

解释:红色高亮显示的就是从文件里搜索的字符串;

文件名在开头,为localhost.2017-08-31.log;

绿色显示的就是要搜索的字符串“exception”在文件中的行号,为5;

 

8.查找指定文件里指定字符串:

grep -rn 'exception' catalina.out   --  查找catalina.out文件里的“exception”

此时与第7条不同的是,行号在最开始显示:

53:[ctvit] 2017-09-27 18:15:52,524 [http-nio-8080-exec-2] INFO  (com.aboss.sensitiveWord.action.SensitiveWordsAction:117) - 敏感词列表查询成功

 

9.重命名文件名

可使用两个命令mv,rename

mv sw.xlsx sws.xlsx   -- 把sw.xlsx文件重命名为sws.xlsx

rename 敏感词 sw *.xlsx   -- 只把当前目录下的所有敏感词.xlsx文件重命名为sw.xlsx,而不是所有的xlsx文件重命名。

其中通配符可为* 和?

?    可替代单个字符
*    可替代多个字符

 

10.当前目录下的文件按从小到大的顺序输出

ls -s|sort -n

 

11.在根目录下查找指定文件中指定字符串

find / -type f -name "*.log" | xargs grep "ERROR"   -- 在根目录下查找有ERROR的日志文件

参考:http://blog.csdn.net/linuxheik/article/details/52594307

 

12.查看当前目录下的隐藏文件

ll -a显示当前目录所有文件、文件夹的详细信息,包括权限、大小、用户、组等

ls -a显示当前目录下所有文件、文件夹的简略信息,只有文件(夹)的名称,以"."开头的都是隐藏文件。

l.(这是个命令别名,实际命令为ls -d .* --color=auto)显示当前目录下的所有隐藏文件,只显示名称,不显示详情

在你要查隐藏目录下,按快捷键:Ctrl+H

 

13.删除当前目录下的所有文件(夹)

rm -rf ./*   (慎用,千万别少一点

(千万不要用rm -rf /* ,我曾经用这个命令搞崩过一台服务器,此命令是从根目录开始删全系统!!!这是血的教训。少了一点,点代表当前目录,加上这一点就安全了。)

 

14.查看任意文件内容

more 文件名

用more不要用vi或vim

 

15.启动tomcat(注意了)

如果不在tomcat的bin目录,输入绝对路径来启动:

[root@localhost /]# /usr/local/apache-tomcate-8.0.46/bin/startup.sh

也可:

[root@localhost /]#/usr/local/apache-tomcate-8.0.46/bin/./startup.sh      (注意多了./)

如果就在bin目录:

[root@localhost bin]#./startup.sh         (只能这么写,必须带./ ,表示当前目录启动)

 

16.grep多关键字满足匹配

grep 同时满足多个关键字和满足任意关键字

① grep -E "word1|word2|word3"   file.txt

   满足任意条件(word1、word2和word3之一)将匹配。

② grep word1 file.txt | grep word2 |grep word3

   必须同时满足三个条件(word1、word2和word3)才匹配

找出含有一个或这个指定字符串的文件:

  1. 我想把同时有aaa又含有bbb的找出来
    ls | grep aaa|grep bbb
  2. 我想找出含有aaa或者bbb其中一项或多项的文件列出来
    ls | grep -e aaa -e bbb

1、或操作

grep -E '123|abc' filename  // 找出文件(filename)中包含123或者包含abc的行
egrep '123|abc' filename    // 用egrep同样可以实现
awk '/123|abc/' filename   // awk 的实现方式

2、与操作

grep pattern1 files | grep pattern2 //显示既匹配 pattern1 又匹配 pattern2 的行。

3、其他操作

grep -i pattern files   //不区分大小写地搜索。默认情况区分大小写,
grep -l pattern files   //只列出匹配的文件名,
grep -L pattern files   //列出不匹配的文件名,
grep -w pattern files  //只匹配整个单词,而不是字符串的一部分(如匹配‘magic’,而不是‘magical’),
grep -C number pattern files //匹配的上下文分别显示[number]行,

17.grep同时排除多关键字

例如需要排除 abc.txt 中的  mmm   nnn

   grep -v 'mmm\|nnn' abc.txt 

18.grep的-A  -B  -C参数

-A -B -C 后面都跟阿拉伯数字 
-A是显示匹配后和它后面的n行。 
-B是显示匹配行和它前面的n行。 
-C是匹配行和它前后各n行。 
总体来说,-C覆盖面最大。这3个开关都是关于匹配行的上下文的(context)。

  grep -A 4 wikipedia 密码文件.txt 
就是搜索密码文件,找到匹配“wikipedia”字串的行,显示该行后后面紧跟的4行。

 

grep -1 keyword filename

找出filename中带有keyword的行,输出中除显示该行外,还显示之前的一行(before 1)和显示之后的一行(After 1).其中,数字可以变。

19.grep查字符串高亮显示(便于查看)

在使用grep命令之前运行:

export GREP_OPTIONS='--color=auto'

 

 

这篇关于linux常用实战命令(亲测血的教训,持续总结更新)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/743484

相关文章

Linux换行符的使用方法详解

《Linux换行符的使用方法详解》本文介绍了Linux中常用的换行符LF及其在文件中的表示,展示了如何使用sed命令替换换行符,并列举了与换行符处理相关的Linux命令,通过代码讲解的非常详细,需要的... 目录简介检测文件中的换行符使用 cat -A 查看换行符使用 od -c 检查字符换行符格式转换将

Linux系统配置NAT网络模式的详细步骤(附图文)

《Linux系统配置NAT网络模式的详细步骤(附图文)》本文详细指导如何在VMware环境下配置NAT网络模式,包括设置主机和虚拟机的IP地址、网关,以及针对Linux和Windows系统的具体步骤,... 目录一、配置NAT网络模式二、设置虚拟机交换机网关2.1 打开虚拟机2.2 管理员授权2.3 设置子

Linux系统中卸载与安装JDK的详细教程

《Linux系统中卸载与安装JDK的详细教程》本文详细介绍了如何在Linux系统中通过Xshell和Xftp工具连接与传输文件,然后进行JDK的安装与卸载,安装步骤包括连接Linux、传输JDK安装包... 目录1、卸载1.1 linux删除自带的JDK1.2 Linux上卸载自己安装的JDK2、安装2.1

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis

MyBatis 动态 SQL 优化之标签的实战与技巧(常见用法)

《MyBatis动态SQL优化之标签的实战与技巧(常见用法)》本文通过详细的示例和实际应用场景,介绍了如何有效利用这些标签来优化MyBatis配置,提升开发效率,确保SQL的高效执行和安全性,感... 目录动态SQL详解一、动态SQL的核心概念1.1 什么是动态SQL?1.2 动态SQL的优点1.3 动态S

Pandas使用SQLite3实战

《Pandas使用SQLite3实战》本文主要介绍了Pandas使用SQLite3实战,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录1 环境准备2 从 SQLite3VlfrWQzgt 读取数据到 DataFrame基础用法:读

Linux卸载自带jdk并安装新jdk版本的图文教程

《Linux卸载自带jdk并安装新jdk版本的图文教程》在Linux系统中,有时需要卸载预装的OpenJDK并安装特定版本的JDK,例如JDK1.8,所以本文给大家详细介绍了Linux卸载自带jdk并... 目录Ⅰ、卸载自带jdkⅡ、安装新版jdkⅠ、卸载自带jdk1、输入命令查看旧jdkrpm -qa

Linux samba共享慢的原因及解决方案

《Linuxsamba共享慢的原因及解决方案》:本文主要介绍Linuxsamba共享慢的原因及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux samba共享慢原因及解决问题表现原因解决办法总结Linandroidux samba共享慢原因及解决

新特性抢先看! Ubuntu 25.04 Beta 发布:Linux 6.14 内核

《新特性抢先看!Ubuntu25.04Beta发布:Linux6.14内核》Canonical公司近日发布了Ubuntu25.04Beta版,这一版本被赋予了一个活泼的代号——“Plu... Canonical 昨日(3 月 27 日)放出了 Beta 版 Ubuntu 25.04 系统镜像,代号“Pluc

MySQL新增字段后Java实体未更新的潜在问题与解决方案

《MySQL新增字段后Java实体未更新的潜在问题与解决方案》在Java+MySQL的开发中,我们通常使用ORM框架来映射数据库表与Java对象,但有时候,数据库表结构变更(如新增字段)后,开发人员可... 目录引言1. 问题背景:数据库与 Java 实体不同步1.1 常见场景1.2 示例代码2. 不同操作