一些极度危险的linux命令

简介: 在linux中有些命令可能功能强大,方便快捷,但是这些命令在测试环境中有些可以用,但别在生产上挑战。有些命令一敲,可能你的职业生涯由此转折。 关于rm -rf   对于这个命令真没什么好说的,最好的挽救措施就是备份,可能在有些环境中这类命令都是禁用的,但是不管怎么样,注意备份。
在linux中有些命令可能功能强大,方便快捷,但是这些命令在测试环境中有些可以用,但别在生产上挑战。有些命令一敲,可能你的职业生涯由此转折。

  • 关于rm -rf  
    • 对于这个命令真没什么好说的,最好的挽救措施就是备份,可能在有些环境中这类命令都是禁用的,但是不管怎么样,注意备份。
        rm -rf /  
        rm -rf *
  • 关于 rm .*  
这个命令比较容易犯错误,但是大家都比较容易忽视。简单举个例子。
列出当前目录下的文件,考虑删除
[ora11g@rac1 test]$ ll
total 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 -l
13
如果使用rm *  但是不小心多敲了一个点,来看看会删除多少文件,它会尝试删除用户目录下所有的文件。

[ora11g@rac1 test]$ ll .*|wc -l
63

  • 关于快捷命令^
先来看看这个命令的方便性。如果想查看文件名还有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^bak
ls -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_TEST01
ora11g   18555 18365  0 19:16 pts/0    00:00:00 grep ora_
ora11g   24706     1  0 Jul27 ?        00:00:14 ora_pmon_TEST01
ora11g   24709     1  0 Jul27 ?        00:00:02 ora_psp0_TEST01
ora11g   24714     1  0 Jul27 ?        00:00:44 ora_vktm_TEST01
ora11g   24721     1  0 Jul27 ?        00:00:00 ora_gen0_TEST01
ora11g   24739     1  0 Jul27 ?        00:00:00 ora_diag_TEST01
ora11g   24741     1  0 Jul27 ?        00:00:00 ora_dbrm_TEST01
ora11g   24743     1  0 Jul27 ?        00:03:25 ora_dia0_TEST01
ora11g   24745     1  0 Jul27 ?        00:00:00 ora_mman_TEST01
ora11g   24747     1  0 Jul27 ?        00:00:19 ora_dbw0_TEST01
ora11g   24749     1  0 Jul27 ?        00:00:10 ora_lgwr_TEST01
ora11g   24751     1  0 Jul27 ?        00:01:33 ora_ckpt_TEST01
ora11g   24753     1  0 Jul27 ?        00:00:18 ora_smon_TEST01
ora11g   24755     1  0 Jul27 ?        00:00:00 ora_reco_TEST01
ora11g   24757     1  0 Jul27 ?        00:00:13 ora_mmon_TEST01
ora11g   24759     1  0 Jul27 ?        00:00:55 ora_mmnl_TEST01
ora11g   24778     1  0 Jul27 ?        00:00:01 ora_arc0_TEST01
ora11g   24780     1  0 Jul27 ?        00:00:11 ora_arc1_TEST01
ora11g   24782     1  0 Jul27 ?        00:00:03 ora_arc2_TEST01
ora11g   24784     1  0 Jul27 ?        00:00:03 ora_arc3_TEST01
ora11g   24789     1  0 Jul27 ?        00:00:00 ora_qmnc_TEST01
ora11g   24808     1  0 Jul27 ?        00:00:00 ora_q001_TEST01
ora11g   24925     1  0 Jul27 ?        00:00:00 ora_smco_TEST01
ora11g   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的简化版,但是有些功能可能并不是你想要的。
比如我们创建一个文件,只有一行内容。
[ora11g@rac1 ~]$ cat a
this is a test for tr command, abc
然后我们想把abc替换为xyz
[ora11g@rac1 ~]$ cat a|tr "abc" "xyz"
this is x test for tr zommxnd, xyz
结果发生了不期望发生的结果。

  • cat
cat这个命令本身没有什么问题,有一些快捷方式想快速建立文件,有些人使用如下的方式,可以直接使用重定向。
首先输出文件内容,有两行
[ora11g@rac1 ~]$ cat a
this is a test for tr command, abc
this a a test
然后快速创建文件
[ora11g@rac1 ~]$ cat > a
this is not a test
^C
[ora11g@rac1 ~]$ cat a
this is not a test

可以看到如果文件已经存在,会直接覆盖掉,这种类似的操作在写shell脚本中尤其要注意。
目录
相关文章
|
21天前
|
Linux 应用服务中间件 Shell
二、Linux文本处理与文件操作核心命令
熟悉了Linux的基本“行走”后,就该拿起真正的“工具”干活了。用grep这个“放大镜”在文件里搜索内容,用find这个“探测器”在系统中寻找文件,再用tar把东西打包带走。最关键的是要学会使用管道符|,它像一条流水线,能把这些命令串联起来,让简单工具组合出强大的功能,比如 ps -ef | grep 'nginx' 就能快速找出nginx进程。
246 1
二、Linux文本处理与文件操作核心命令
|
6天前
|
存储 安全 Linux
Linux卡在emergency mode怎么办?xfs_repair 命令轻松解决
Linux虚拟机遇紧急模式?别慌!多因磁盘挂载失败。本文教你通过日志定位问题,用`xfs_repair`等工具修复文件系统,三步快速恢复。掌握查日志、修磁盘、验重启,轻松应对紧急模式,保障系统稳定运行。
87 2
|
16天前
|
缓存 监控 Linux
Linux内存问题排查命令详解
Linux服务器卡顿?可能是内存问题。掌握free、vmstat、sar三大命令,快速排查内存使用情况。free查看实时内存,vmstat诊断系统整体性能瓶颈,sar实现长期监控,三者结合,高效定位并解决内存问题。
56 0
Linux内存问题排查命令详解
|
21天前
|
安全 Ubuntu Unix
一、初识 Linux 与基本命令
玩转Linux命令行,就像探索一座新城市。首先要熟悉它的“地图”,也就是/根目录下/etc(放配置)、/home(住家)这些核心区域。然后掌握几个“生存口令”:用ls看周围,cd去别处,mkdir建新房,cp/mv搬东西,再用cat或tail看文件内容。最后,别忘了随时按Tab键,它能帮你自动补全命令和路径,是提高效率的第一神器。
461 2
|
1月前
|
Unix Linux 程序员
Linux文本搜索工具grep命令使用指南
以上就是对Linux环境下强大工具 `grep` 的基础到进阶功能介绍。它不仅能够执行简单文字查询任务还能够处理复杂文字处理任务,并且支持强大而灵活地正则表达规范来增加查询精度与效率。无论您是程序员、数据分析师还是系统管理员,在日常工作中熟练运用该命令都将极大提升您处理和分析数据效率。
116 16
|
28天前
|
Linux
linux命令—stat
`stat` 是 Linux 系统中用于查看文件或文件系统详细状态信息的命令。相比 `ls -l`,它提供更全面的信息,包括文件大小、权限、所有者、时间戳(最后访问、修改、状态变更时间)、inode 号、设备信息等。其常用选项包括 `-f` 查看文件系统状态、`-t` 以简洁格式输出、`-L` 跟踪符号链接,以及 `-c` 或 `--format` 自定义输出格式。通过这些选项,用户可以灵活获取所需信息,适用于系统调试、权限检查、磁盘管理等场景。
|
3月前
|
监控 Linux 网络安全
Linux命令大全:从入门到精通
日常使用的linux命令整理
684 13
|
4月前
|
Linux 网络安全 数据安全/隐私保护
使用Linux系统的mount命令挂载远程服务器的文件夹。
如此一来,你就完成了一次从你的Linux发车站到远程服务器文件夹的有趣旅行。在这个技术之旅中,你既探索了新地方,也学到了如何桥接不同系统之间的距离。
612 21
|
4月前
|
JSON 自然语言处理 Linux
linux命令—tree
tree是一款强大的Linux命令行工具,用于以树状结构递归展示目录和文件,直观呈现层级关系。支持多种功能,如过滤、排序、权限显示及格式化输出等。安装方法因系统而异常用场景包括:基础用法(显示当前或指定目录结构)、核心参数应用(如层级控制-L、隐藏文件显示-a、完整路径输出-f)以及进阶操作(如磁盘空间分析--du、结合grep过滤内容、生成JSON格式列表-J等)。此外,还可生成网站目录结构图并导出为HTML文件。注意事项:使用Tab键补全路径避免错误;超大目录建议限制遍历层数;脚本中推荐禁用统计信息以优化性能。更多详情可查阅手册mantree。
linux命令—tree
|
2月前
|
Linux 网络安全 开发工具
技术栈:这50条最常用的 Linux 命令你一定要会!
建议多在终端中实践,遇到不懂的命令就用 man 或 --help 了解详情!
428 0