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 join命令的使用及说明

《Linuxjoin命令的使用及说明》`join`命令用于在Linux中按字段将两个文件进行连接,类似于SQL的JOIN,它需要两个文件按用于匹配的字段排序,并且第一个文件的换行符必须是LF,`jo... 目录一. 基本语法二. 数据准备三. 指定文件的连接key四.-a输出指定文件的所有行五.-o指定输出

Linux jq命令的使用解读

《Linuxjq命令的使用解读》jq是一个强大的命令行工具,用于处理JSON数据,它可以用来查看、过滤、修改、格式化JSON数据,通过使用各种选项和过滤器,可以实现复杂的JSON处理任务... 目录一. 简介二. 选项2.1.2.2-c2.3-r2.4-R三. 字段提取3.1 普通字段3.2 数组字段四.

Linux kill正在执行的后台任务 kill进程组使用详解

《Linuxkill正在执行的后台任务kill进程组使用详解》文章介绍了两个脚本的功能和区别,以及执行这些脚本时遇到的进程管理问题,通过查看进程树、使用`kill`命令和`lsof`命令,分析了子... 目录零. 用到的命令一. 待执行的脚本二. 执行含子进程的脚本,并kill2.1 进程查看2.2 遇到的

MyBatis常用XML语法详解

《MyBatis常用XML语法详解》文章介绍了MyBatis常用XML语法,包括结果映射、查询语句、插入语句、更新语句、删除语句、动态SQL标签以及ehcache.xml文件的使用,感兴趣的朋友跟随小... 目录1、定义结果映射2、查询语句3、插入语句4、更新语句5、删除语句6、动态 SQL 标签7、ehc

Python版本信息获取方法详解与实战

《Python版本信息获取方法详解与实战》在Python开发中,获取Python版本号是调试、兼容性检查和版本控制的重要基础操作,本文详细介绍了如何使用sys和platform模块获取Python的主... 目录1. python版本号获取基础2. 使用sys模块获取版本信息2.1 sys模块概述2.1.1

Python版本与package版本兼容性检查方法总结

《Python版本与package版本兼容性检查方法总结》:本文主要介绍Python版本与package版本兼容性检查方法的相关资料,文中提供四种检查方法,分别是pip查询、conda管理、PyP... 目录引言为什么会出现兼容性问题方法一:用 pip 官方命令查询可用版本方法二:conda 管理包环境方法

Linux云服务器手动配置DNS的方法步骤

《Linux云服务器手动配置DNS的方法步骤》在Linux云服务器上手动配置DNS(域名系统)是确保服务器能够正常解析域名的重要步骤,以下是详细的配置方法,包括系统文件的修改和常见问题的解决方案,需要... 目录1. 为什么需要手动配置 DNS?2. 手动配置 DNS 的方法方法 1:修改 /etc/res

Linux创建服务使用systemctl管理详解

《Linux创建服务使用systemctl管理详解》文章指导在Linux中创建systemd服务,设置文件权限为所有者读写、其他只读,重新加载配置,启动服务并检查状态,确保服务正常运行,关键步骤包括权... 目录创建服务 /usr/lib/systemd/system/设置服务文件权限:所有者读写js,其他

Linux下利用select实现串口数据读取过程

《Linux下利用select实现串口数据读取过程》文章介绍Linux中使用select、poll或epoll实现串口数据读取,通过I/O多路复用机制在数据到达时触发读取,避免持续轮询,示例代码展示设... 目录示例代码(使用select实现)代码解释总结在 linux 系统里,我们可以借助 select、

Linux挂载linux/Windows共享目录实现方式

《Linux挂载linux/Windows共享目录实现方式》:本文主要介绍Linux挂载linux/Windows共享目录实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录文件共享协议linux环境作为服务端(NFS)在服务器端安装 NFS创建要共享的目录修改 NFS 配