本文主要是介绍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)才匹配
找出含有一个或这个指定字符串的文件:
- 我想把同时有aaa又含有bbb的找出来
ls | grep aaa|grep bbb - 我想找出含有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常用实战命令(亲测血的教训,持续总结更新)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!