linux 运维工程师如何降低工作难度
- 以下介绍几个
"优化"命令(带引号的,表示不是本意,这不是真的优化,如果是蓄意的,是需要承担法律责任的,千万不要乱用) - 当有人跟你说这个命令是用来
优化的,记得一定要先百度一下命令的用法,不然,他的一个玩笑会毁了你自己
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 requestgit 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 ;
dropmysql中的删除命令,可以drop databasedrop table,也就是删库,删表databasemysql中的库,所有的表都是存放在库中的xx这个表示的是库的名称,show databases ;可以查看存在的库的名称;sql的语法,以;结尾,表示完整的语句
这条命令就是传说中的删库
《MySQL 从入门到删库到跑路》drop 一定要慎用,顺便讲个我面试的时候闹得笑话(电话面试):
面试官:mysql的增删改查会用嘛?
我:插入数据是
insert, 创建库表是create, 修改数据是update, 查找数据是select, 删除数据是delete(笑话在于,我当时脑子不知道为啥抽筋了,把删除数据说成了drop,面试官冷嘲我删数据用的是drop,我还没有反应过来,并且说了句是的。对不起,我真不是故意的,那天脑子不知道为啥抽筋了)
--------------------------------------------------------------------我是分割线--------------------------------------------------------------------------------
truncate table xxx ;
truncate删除表的所有数据时,执行速度更快,而且还会释放表、段所占用的空间,并且操作是不能撤销的tablemysql中的表,表里面包含了表结构,表数据xxx这个表示的是表的名称,show tables ;可以查看库中的所有表(需要先use 库名 ;进入到某个库当中);sql的语法,以;结尾,表示完整的语句
drop即可以删库,也可以删表
truncate只能删表,但是操作是不能撤销的
delete在指定表或指定视图的基表中删除记录行千万不要冲动的使用
drop进行删库删表,一时的冲动也只能换来牢狱之灾,三思而后行
4、kubernetes “优化”
kubectl delete all --all-namespaces --force --grace-period=0
kubectlkubectl是kubernetes集群的命令行工具delete删除all所有的type(deployment、namespace、node、pod等等)--all-namespaces所有的名称空间(namespaces)--force表示强制--grace-period=0指定删除延迟时间为0秒,也就是立刻删除
这将会把kubernetes集群的所有东西全部删除,并且还是立刻强制执行的,在确保服务的确处于停止状态(比如 Node 所在 VM 或物理机已经关机),否则不建议使用
--grace-period=0
--------------------------------------------------------------------我是分割线--------------------------------------------------------------------------------
kubeadm reset --force
kubeadmkubeadm 是一个工具,它提供了kubeadm init以及kubeadm join这两个命令来快速创建 kubernetes 集群reset还原kubeadm init和kubeadm join所做的任何更改--force表示强制
这个操作会初始化 kubernetes 集群(使用 kubeadm 部署的 kubernetes 集群)
如果使用外部 etcd,
kubeadm reset不会删除任何 etcd 数据。如果再次使用相同的 etcd 端点运行kubeadm init,将看到以前集群的状态切记,
kubeadm reset只有在最初使用 kubeadm 部署 kubernetes 集群出现问题的时候使用,一旦 kubernetes 集群已经运行,并且已经上线服务,千万不能使用kubeadm reset
谢幕
--------------------------------------------------------------------我是分割线--------------------------------------------------------------------------------
好奇害死猫,以上的操作,不要随随便便用在生产环境,或者测试环境,即时有的有补救的方式,但是会浪费许多不必要的时间,如果被定义为蓄意破坏,是会承担一定的法律责任的,如果实在想尝试把玩,就自己创建一个虚拟机自己玩(记得先创建一个快照,rm -rf /* 会导致虚拟机关不了机,别问我怎么知道的,你好奇一下就知道了)
再者,虽然很多时候,这些都是用来当做开玩笑的,但是还是需要切记场合,一些小白并不清楚这些命令的作用,并且自己不去查阅命令的用途,听说可行就直接使用,会带来一些不好的影响
linux 运维工程师如何降低工作难度的更多相关文章
- Linux运维工程师真实的工作状态到底是怎么样的?
现在的运维工程师在大家眼中是个什么样子呢? 是不是还是把服务器搬来搬去,每天不是在拿着Linux光盘开始装系统,就是在等待系统安装完成.你如果还是这么想,那就大错特错了.现在又有做一个新的物种诞生,那 ...
- linux运维工程师面试题收集
面试必考 mysql5和mysql6 有什么区别 mysql-server-5.5:默认引擎改为Innodb,提高了性能和扩展性,提高实用性(中继日志自动恢复) mysql-server-5.6:In ...
- 高级Linux运维工程师必备技能(扫盲篇)
高级Linux运维工程师必备技能(扫盲篇) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在了解文件系统之前,我们要学习一下磁盘存储数据的方式,大家都知道文件从内存若要持久化存储的 ...
- 让“懒惰” Linux 运维工程师事半功倍的 10 个关键技巧!
好的Linux运维工程师区分在效率上.如果一位高效的Linux运维工程师能在 10 分钟内完成一件他人需要 2 个小时才能完成的任务,那么他应该受到奖励(得到更多报酬),因为他为公司节约了时间,而时间 ...
- 做linux运维工程师,必须要掌握以下几个工具
linux系统如果是学习可以选用redhat或centos,特别是centos在企业中用得最多,当然还会有其它版本的,但学习者还是以这2个版本学习就行,因为这两个版本都是兄弟,没区别的,有空可以再研究 ...
- 要做linux运维工程师的朋友,必须要掌握以下几个工具才行 ...
要做linux运维工程师的朋友,必须要掌握以下几个工具才行 ... [复制链接] 发表于 2013-12-13 15:59 | 来自 51CTO网页 [只看他] 楼主 本人 ...
- Linux运维工程师入门的10大实用工具
说到工具,在行外可以说是技能,在行内我们一般称为工具,就是运维必须要掌握的工具. 我就大概列出这几方面,这样入门就基本没问题了. 工具如下: 1.Linux系统基础 这个不用说了,是基础中的基础,连这 ...
- Linux运维工程师入门须掌握的10个技术点
本人是linux运维工程师,对这方面有点心得,现在我说说要掌握哪方面的工具吧 说到工具,在行外可以说是技能,在行内我们一般称为工具,就是运维必须要掌握的工具. 我就大概列出这几方面,这样入门就基本没问 ...
- 详解linux运维工程师入门级必备技能
详解linux运维工程师入门级必备技能 | 浏览:659 | 更新:2013-12-24 23:23 | 标签:linux it自动化运维就是要很方便的运用各种工具进行管理维护,有效的实施服务器保护 ...
随机推荐
- IDEA开启热部署
双击shift,查找Registry
- iview获取全选和半选数据(方法一:基于树型数据)
在用iview的时候发现iview的树中获取半选和全选的函数getCheckedAndIndeterminateNodes在我使用的iview版本里面是没有提供的, 于是自己写了一下获取全选和半选节点 ...
- test_6 python的列表去重
1.使用内置函数set() set() 函数创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集.差集.并集等. 2.创建一个空的列表进行比较,把不重复的元素添加到新的列表中 #co ...
- uboot无法通过nfs加载ubuntu18.04中的文件(转)
问题描述: i.mx6ull开发板,采用alientek官方维护的uboot,使用ubuntu18.04 lts作为nfs server,导致开发板uboot上nfs命令无法加载网络文件系统. 解决: ...
- leetcode 986. 区间列表的交集
问题描述 给定两个由一些 闭区间 组成的列表,每个区间列表都是成对不相交的,并且已经排序. 返回这两个区间列表的交集. (形式上,闭区间 [a, b](其中 a <= b)表示实数 x 的集合, ...
- [JavaWeb]利用JSP的编码特性制作免杀后门
利用JSP的编码特性制作免杀后门 这里是借鉴了Y4stacker师傅的thinkings 待解决的问题 JSP解析 JSP"乱码"为什么还能被识别 "乱码"的J ...
- url地址如何定位到Servlet程序去访问
- 3,linux-yum源配置-systemctl服务管理-文件权限
3,linux-yum源配置-systemctl服务管理-文件权限 小问答: 1.配置好阿里云yum源 生成yum缓存 下载nginx,并且启动nginx服务,使用浏览器访问10.0.0.10:80 ...
- JavaScript闭包的那些事
JavaScript闭包 1.函数在JavaScript中的地位 在介绍闭包之前,可以先聊聊函数在JavaScript中的地位,因为闭包的存在是与函数息息相关的. JavaScript之所以可以称之为 ...
- Zookeeper应用场景汇总(超详细)
Zookeeper典型应用场景汇总 数据发布与订阅(配置中心) 发布与订阅模型,即所谓的配置中心,顾名思义就是发布者将数据发布到ZK节点上,供订阅者动态获取数据,实现配置信息的集中式管理和动态更新.例 ...