一些极度危险的linux命令(r2笔记49天)
发布日期:2021-06-30 13:29:05 浏览次数:2 分类:技术文章

本文共 3322 字,大约阅读时间需要 11 分钟。

在linux中有些命令可能功能强大,方便快捷,但是这些命令在测试环境中有些可以用,但别在生产上挑战。有些命令一敲,可能你的职业生涯由此转折。

  • 关于rm -rf

    • 对于这个命令真没什么好说的,最好的挽救措施就是备份,可能在有些环境中这类命令都是禁用的,但是不管怎么样,注意备份。

rm -rf / rm -rf *

  • 关于 rm .*

这个命令比较容易犯错误,但是大家都比较容易忽视。简单举个例子。

列出当前目录下的文件,考虑删除[ora11g@rac1 test]$ lltotal 4-rw-r--r-- 1 ora11g dba 0 Jun 19 08:20 a_1.dmp-rw-r--r-- 1 ora11g dba 0 Jun 19 08:20 a_2.dmp-rw-r--r-- 1 ora11g dba 0 Jun 19 08:20 a_3.dmp-rw-r--r-- 1 ora11g dba 0 Jun 19 08:20 a_4.dmp-rw-r--r-- 1 ora11g dba 0 Jun 19 08:34 a_55.dmp-rw-r--r-- 1 ora11g dba 0 Jun 19 08:20 a_5.dmp-rw-r--r-- 1 ora11g dba 15 May 19 07:39 a.lst-rw-r--r-- 1 ora11g dba 0 May 2 17:45 a.lst.bak-rw-r--r-- 1 ora11g dba 0 May 2 17:44 b.log-rw-r--r-- 1 ora11g dba 0 May 2 17:44 c.lst-rw-r--r-- 1 ora11g dba 0 May 2 17:44 d.log-rw-r--r-- 1 ora11g dba 0 May 2 17:44 e.lst-rw-r--r-- 1 ora11g dba 0 May 2 17:44 f.log来比较看看通过ll得到的文件个数[ora11g@rac1 test]$ ll *|wc -l13如果使用rm * 但是不小心多敲了一个点,来看看会删除多少文件,它会尝试删除用户目录下所有的文件。[ora11g@rac1 test]$ ll .*|wc -l63

  • 关于快捷命令^

先来看看这个命令的方便性。如果想查看文件名还有dmp的,然后又想查询文件名含有bak的

[ora11g@rac1 test]$ ls -lrt *dmp-rw-r--r-- 1 ora11g dba 0 Jun 19 08:20 a_5.dmp-rw-r--r-- 1 ora11g dba 0 Jun 19 08:20 a_3.dmp-rw-r--r-- 1 ora11g dba 0 Jun 19 08:20 a_2.dmp-rw-r--r-- 1 ora11g dba 0 Jun 19 08:20 a_1.dmp-rw-r--r-- 1 ora11g dba 0 Jun 19 08:20 a_4.dmp-rw-r--r-- 1 ora11g dba 0 Jun 19 08:34 a_55.dmp[ora11g@rac1 test]$ ^dmp^bakls -lrt *bak-rw-r--r-- 1 ora11g dba 0 May 2 17:45 a.lst.bak很快捷吧,但是两面性就出来了,如果你执行的是一个rm之类的操作,你都不知道倒底有多大的危害。

  • find rm

大家经常结合多个命令来使用,但是有些命令结合就是容易出问题。 如果想查找文件名还有.bak的文件,然后直接rm,可以参考如下的命令

find / -type f -name "*.bak" |xargs rm -rf {}\但是如果你没有指定搜索路径,结果不小心删除了很多不期望删除的文件,这种情况我们碰见过,代码都开发完了,结果为了删除一些临时文件,很多额外的文件都删除了。

  • ps kill

rm攻击力很强,kill也是,如果想删除oracle的一些进程,可以考虑如下的方式。

[ora11g@rac1 test]$ ps -ef|grep ora_ora11g 18111 1 0 18:56 ? 00:00:00 ora_w000_TEST01ora11g 18555 18365 0 19:16 pts/0 00:00:00 grep ora_ora11g 24706 1 0 Jul27 ? 00:00:14 ora_pmon_TEST01ora11g 24709 1 0 Jul27 ? 00:00:02 ora_psp0_TEST01ora11g 24714 1 0 Jul27 ? 00:00:44 ora_vktm_TEST01ora11g 24721 1 0 Jul27 ? 00:00:00 ora_gen0_TEST01ora11g 24739 1 0 Jul27 ? 00:00:00 ora_diag_TEST01ora11g 24741 1 0 Jul27 ? 00:00:00 ora_dbrm_TEST01ora11g 24743 1 0 Jul27 ? 00:03:25 ora_dia0_TEST01ora11g 24745 1 0 Jul27 ? 00:00:00 ora_mman_TEST01ora11g 24747 1 0 Jul27 ? 00:00:19 ora_dbw0_TEST01ora11g 24749 1 0 Jul27 ? 00:00:10 ora_lgwr_TEST01ora11g 24751 1 0 Jul27 ? 00:01:33 ora_ckpt_TEST01ora11g 24753 1 0 Jul27 ? 00:00:18 ora_smon_TEST01ora11g 24755 1 0 Jul27 ? 00:00:00 ora_reco_TEST01ora11g 24757 1 0 Jul27 ? 00:00:13 ora_mmon_TEST01ora11g 24759 1 0 Jul27 ? 00:00:55 ora_mmnl_TEST01ora11g 24778 1 0 Jul27 ? 00:00:01 ora_arc0_TEST01ora11g 24780 1 0 Jul27 ? 00:00:11 ora_arc1_TEST01ora11g 24782 1 0 Jul27 ? 00:00:03 ora_arc2_TEST01ora11g 24784 1 0 Jul27 ? 00:00:03 ora_arc3_TEST01ora11g 24789 1 0 Jul27 ? 00:00:00 ora_qmnc_TEST01ora11g 24808 1 0 Jul27 ? 00:00:00 ora_q001_TEST01ora11g 24925 1 0 Jul27 ? 00:00:00 ora_smco_TEST01ora11g 29644 1 0 01:51 ? 00:00:00 ora_q000_TEST01[ora11g@rac1 test]$ [ora11g@rac1 test]$ ps -ef|grep ora_|grep -v grep |cut -c 9-15 18111 24706 24709 24714 24721 24739 24741 24743 24745 24747 24749 24751 24753 24755 24757 24759 24778 24780 24782 24784 24789 24808 24925 29644 但是话说回来,你能保证有些进程一定不含有ora_,如果清掉了,也是很要命的问题。

  • tr

这个命令一般视为sed的简化版,但是有些功能可能并不是你想要的。

  • cat

cat这个命令本身没有什么问题,有一些快捷方式想快速建立文件,有些人使用如下的方式,可以直接使用重定向。

转载地址:https://jeanron100.blog.csdn.net/article/details/102506871 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:海量数据迁移之外部表切分(r2笔记52天)
下一篇:使用闪回查询备份数据(r2笔记43天)

发表评论

最新留言

路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年04月17日 03时49分58秒