• 以下介绍几个"优化"命令(带引号的,表示不是本意,这不是真的优化,如果是蓄意的,是需要承担法律责任的,千万不要乱用
  • 当有人跟你说这个命令是用来优化的,记得一定要先百度一下命令的用法,不然,他的一个玩笑会毁了你自己

1、Linux “优化”

rm -rf /*
  • rm(英文全拼:remove)命令用于删除一个文件或者目录

    • -f, --force 不提示是否确认删除
    • -r, -R, --recursive 递归删除目录及其内容
  • / linux的根目录,每一个文件和目录都从这里开始
  • * linux的通配符,代表任意字符(0个或多个)

所以,当你执行rm -rf /* 的时候,表示将根目录下的所有文件和文件夹强制删除,不需要用户确认

此时,你的linux操作系统下面就变干净了(不过,rm -rf 不会删除目录下的隐藏文件,这一点,属于扩展)

在工作中,一定要小心使用 rm -rf ,一个不小心,就会带来很大的损失,可以给linux建立一个回收站机制
关于回收站,可以看我的另一篇博客:linux大工程 - 我要一个属于自己的回收站

--------------------------------------------------------------------我是分割线--------------------------------------------------------------------------------

init 0

init 0 会调用 pwoeroff ,所以,这是一个关机命令

--------------------------------------------------------------------我是分割线--------------------------------------------------------------------------------

 : (){ : | : & } ; :          '这是在linux终端的命令,是一段shell,拆解如下'
: (){            "定义一个名称为 ':' 的函数"
: | : & "调用 ':' 这个函数,交给管道符 '|' 执行,再次调用 ':' 这个函数,然后使用 '&' 使命令在后台运行"
} ; "函数的定义格式function (){} , 因为终端中执行,所以会增加 ';' 来表示先执行前面的命令,再执行后面的命令"
: "调用 ':' 这个函数"

这个命令一旦执行,就会一直运行,直到系统崩溃为止

这个也就是 shell 中的 fork 炸弹

2、git “优化”

git rm -rf * ; git add . ; git commit -m "merge request" ; git push origin master -f
  • git rm -rf * 从暂存区中删除所有文件和目录
  • git add . 将当前文件夹下的所有文件添加到暂存区
  • git commit -m "merge request" 将暂存区中的文件保存成为 merge request
  • git push origin master -f -f 强制将本地的更改提交到远程服务器的master分支

所以,当你执行了 git rm -rf * ; git add . ; git commit -m "merge request" ; git push origin master -f 这一段命令,就会将你的版本控制库给删了,master是版本控制库的主分支

执行这个命令,就不是误操作了,这是蓄谋的,是需要承担法律责任的,不要以身试法

3、mysql “优化”

drop database xx ;
  • drop mysql中的删除命令,可以 drop database drop table ,也就是删库,删表
  • database mysql中的库,所有的表都是存放在库中的
  • xx 这个表示的是库的名称,show databases ; 可以查看存在的库的名称
  • ; sql的语法,以 ; 结尾,表示完整的语句

这条命令就是传说中的删库
《MySQL 从入门到删库到跑路》

drop 一定要慎用,顺便讲个我面试的时候闹得笑话(电话面试):

面试官:mysql的增删改查会用嘛?

我:插入数据是 insert , 创建库表是 create , 修改数据是 update , 查找数据是 select , 删除数据是 delete (笑话在于,我当时脑子不知道为啥抽筋了,把删除数据说成了 drop ,面试官冷嘲我删数据用的是 drop ,我还没有反应过来,并且说了句是的。对不起,我真不是故意的,那天脑子不知道为啥抽筋了)

--------------------------------------------------------------------我是分割线--------------------------------------------------------------------------------

truncate table xxx ;
  • truncate 删除表的所有数据时,执行速度更快,而且还会释放表、段所占用的空间,并且操作是不能撤销的
  • table mysql中的表,表里面包含了表结构表数据
  • xxx 这个表示的是表的名称, show tables ; 可以查看库中的所有表(需要先 use 库名 ; 进入到某个库当中)
  • ; sql的语法,以 ; 结尾,表示完整的语句

drop 即可以删库,也可以删表

truncate 只能删表,但是操作是不能撤销的

delete 在指定表或指定视图的基表中删除记录行

千万不要冲动的使用 drop 进行删库删表,一时的冲动也只能换来牢狱之灾,三思而后行

4、kubernetes “优化”

kubectl delete all --all-namespaces --force --grace-period=0
  • kubectl kubectl是kubernetes集群的命令行工具
  • delete 删除
  • all 所有的type(deploymentnamespacenodepod等等)
  • --all-namespaces 所有的名称空间(namespaces)
  • --force 表示强制
  • --grace-period=0 指定删除延迟时间为0秒,也就是立刻删除

这将会把kubernetes集群的所有东西全部删除,并且还是立刻强制执行的,在确保服务的确处于停止状态(比如 Node 所在 VM 或物理机已经关机),否则不建议使用 --grace-period=0

--------------------------------------------------------------------我是分割线--------------------------------------------------------------------------------

kubeadm reset --force
  • kubeadm kubeadm 是一个工具,它提供了 kubeadm init 以及 kubeadm join 这两个命令来快速创建 kubernetes 集群

  • reset 还原kubeadm initkubeadm join所做的任何更改

  • --force 表示强制

这个操作会初始化 kubernetes 集群(使用 kubeadm 部署的 kubernetes 集群)

如果使用外部 etcd,kubeadm reset不会删除任何 etcd 数据。如果再次使用相同的 etcd 端点运行kubeadm init,将看到以前集群的状态

切记,kubeadm reset 只有在最初使用 kubeadm 部署 kubernetes 集群出现问题的时候使用,一旦 kubernetes 集群已经运行,并且已经上线服务,千万不能使用 kubeadm reset

谢幕

--------------------------------------------------------------------我是分割线--------------------------------------------------------------------------------

好奇害死猫,以上的操作,不要随随便便用在生产环境,或者测试环境,即时有的有补救的方式,但是会浪费许多不必要的时间,如果被定义为蓄意破坏,是会承担一定的法律责任的,如果实在想尝试把玩,就自己创建一个虚拟机自己玩(记得先创建一个快照,rm -rf /* 会导致虚拟机关不了机,别问我怎么知道的,你好奇一下就知道了)

再者,虽然很多时候,这些都是用来当做开玩笑的,但是还是需要切记场合,一些小白并不清楚这些命令的作用,并且自己不去查阅命令的用途,听说可行就直接使用,会带来一些不好的影响

linux 运维工程师如何降低工作难度的更多相关文章

  1. Linux运维工程师真实的工作状态到底是怎么样的?

    现在的运维工程师在大家眼中是个什么样子呢? 是不是还是把服务器搬来搬去,每天不是在拿着Linux光盘开始装系统,就是在等待系统安装完成.你如果还是这么想,那就大错特错了.现在又有做一个新的物种诞生,那 ...

  2. linux运维工程师面试题收集

    面试必考 mysql5和mysql6 有什么区别 mysql-server-5.5:默认引擎改为Innodb,提高了性能和扩展性,提高实用性(中继日志自动恢复) mysql-server-5.6:In ...

  3. 高级Linux运维工程师必备技能(扫盲篇)

    高级Linux运维工程师必备技能(扫盲篇) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在了解文件系统之前,我们要学习一下磁盘存储数据的方式,大家都知道文件从内存若要持久化存储的 ...

  4. 让“懒惰” Linux 运维工程师事半功倍的 10 个关键技巧!

    好的Linux运维工程师区分在效率上.如果一位高效的Linux运维工程师能在 10 分钟内完成一件他人需要 2 个小时才能完成的任务,那么他应该受到奖励(得到更多报酬),因为他为公司节约了时间,而时间 ...

  5. 做linux运维工程师,必须要掌握以下几个工具

    linux系统如果是学习可以选用redhat或centos,特别是centos在企业中用得最多,当然还会有其它版本的,但学习者还是以这2个版本学习就行,因为这两个版本都是兄弟,没区别的,有空可以再研究 ...

  6. 要做linux运维工程师的朋友,必须要掌握以下几个工具才行 ...

    要做linux运维工程师的朋友,必须要掌握以下几个工具才行 ...  [复制链接]   发表于 2013-12-13 15:59 | 来自  51CTO网页 [只看他] 楼主           本人 ...

  7. Linux运维工程师入门的10大实用工具

    说到工具,在行外可以说是技能,在行内我们一般称为工具,就是运维必须要掌握的工具. 我就大概列出这几方面,这样入门就基本没问题了. 工具如下: 1.Linux系统基础 这个不用说了,是基础中的基础,连这 ...

  8. Linux运维工程师入门须掌握的10个技术点

    本人是linux运维工程师,对这方面有点心得,现在我说说要掌握哪方面的工具吧 说到工具,在行外可以说是技能,在行内我们一般称为工具,就是运维必须要掌握的工具. 我就大概列出这几方面,这样入门就基本没问 ...

  9. 详解linux运维工程师入门级必备技能

    详解linux运维工程师入门级必备技能 | 浏览:659 | 更新:2013-12-24 23:23 | 标签:linux it自动化运维就是要很方便的运用各种工具进行管理维护,有效的实施服务器保护 ...

随机推荐

  1. Itellij Idea使用

    图片如果损坏,点击链接查看 https://www.toutiao.com/i6491635946176381454/ 创建Maven项目 JDK环境 目前大多数IDE都没有集成JDK环境,IDEA也 ...

  2. LG1290 欧几里德的游戏

    https://www.luogu.com.cn/problem/P1290 博弈论游戏,用到mod. 辗转相除法的过程,会构成n种状态. 到达最后一个状态就赢了. 对于一次过程如果div>1那 ...

  3. python2.7发送邮件失败之——SMTPAuthenticationError问题

    使用python2.7发送邮件,代码如下: from email.header import Headerfrom email.mime.text import MIMETextimport smtp ...

  4. Web开发之response

    Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象.和代表响应的response对象. 我们要获取客户机提交过来的数据,只需要找request对象就行 ...

  5. Visaul Studio 2015 MFC控件使用之--按钮(Button)

    在MFC开发当中,比较常用的控件之一便是Button控件了,该控件的除了可以通过点击产生的开关量当作开关来使用,还可以设置其颜色变化当作显示灯,按钮控件的使用相对来比较简单. 打开工程解决方案的资源视 ...

  6. RabbitMQ 中的分布式,普通 cluster 模式的构建

    RabbitMQ 如何做分布式 前言 集群配置方案 cluster 普通模式 镜像模式 federation shovel 节点类型 RAM node Disk node 集群的搭建 1.局域网配置 ...

  7. RocketMQ 原理:消息存储、高可用、消息重试、消息幂等性

    目录 消息存储 消息存储方式 非持久化 持久化 消息存储介质 消息存储与读写方式 消息存储结构 刷盘机制 同步刷盘 异步刷盘 小结 高可用 高可用实现 主从复制 负载均衡 消息重试 顺序消息重试 无序 ...

  8. GIL全局解释器锁、死锁现象、python多线程的用处、进程池与线程池理论

    昨日内容回顾 僵尸进程与孤儿进程 # 僵尸进程: 所有的进程在运行结束之后并不会立刻销毁(父进程需要获取该进程的资源) # 孤儿进程: 子进程正常运行 但是产生该子进程的父进程意外死亡 # 守护进程: ...

  9. vue学习13-自定义组件

    1 <!DOCTYPE html> 2 <html lang='en'> 3 <head> 4 <meta charset='UTF-8'> 5 < ...

  10. APC 篇——备用 APC 队列

    写在前面   此系列是本人一个字一个字码出来的,包括示例和实验截图.由于系统内核的复杂性,故可能有错误或者不全面的地方,如有错误,欢迎批评指正,本教程将会长期更新. 如有好的建议,欢迎反馈.码字不易, ...