心路历程————LinuxBash

2024-04-14 17:08
文章标签 心路历程 linuxbash

本文主要是介绍心路历程————LinuxBash,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

接触计算机至今十余载,算不上什么绝世高手,但磕磕绊绊也算还在这路上奔跑着。
细细回忆,故事挺多,心潮澎湃就有了写下来的想法。
一则养成记录、总结的习惯,自读书来不比人笨,但疏于记录与总结(解题方法,错题这类)
二来锻炼一下文笔,工作以后发现写东西不烂,还有钱拿,这种级别的文章写出来应该有人看的吧。
最后也许多年以后再看起来也会觉得很有意思呢?


一、Windows时代的CMD
2002前的386DOS时代


第零个生存的命令:cd


从马尾到福州上小学以后,学校比较前卫,有进行信息化教育,开设计算机课。
身为一个从“农村”来的孩子,第一次见到这东西,是又怕动它,又想动它。
这里只扯CLI相关的,其他经历后续撰文再表。
那会只有老师的电脑是windows 95,GUI,屌的不行。
所以我们每个学生必须:硬着头皮上CLI,也就是那一堆头大的命令。
HCI从最早的拨弄开关、到打孔纸带、再到键盘的CLI、鼠标的GUI、语音的Siri、体感的Kinect。
现在回头看CLI还是很有用,再怎么苦逼难学也不至于去拨开关和打纸带孔的地步。
这个硬着头皮上,还是要一些代价的,第一堂课开始没多久我就被罚不准动电脑。
原因很简单,我没像其他同学那样课前做好“预习”,也就是把每一步都记在一张纸上,
到上课的时候按这个流程逐步操作:开机顺序,输入命令顺序,以及何时要等待老师下一步指挥。
我想,这多不爽啊,怎么也要按自己的style来搞吧,结果就是搞出问题。
这让刚毕业几年来到这里带小屁孩的女老师的脸更臭了,把我说的一无是处,然后干巴巴的看别人操作了一节课。
我就暗下决心,屌什么屌啊,不就是个电脑嘛,看我以后玩转它!


那会就是只要知道cd命令打开指定路径,然后找到你的程序执行就好了。


第一个有用的命令:copy


家里在2001年的时候,老娘觉得这计算机以后会是一个趋势,1000块买了个二手386机。
1000块什么概念,01年福州的房价很像才2000多软妹币吧。一年平均每平方米涨了119元算是房价飙升。
所以还是很感激老妈独具慧眼,做了一笔重要投资。
当然当时搞的IBM PC是因为它最便宜了,那会Apple II的天价是不可能考虑的。
对这个东西我是爱不释手,虽然跑的是DOS,带了一个WPS也算是让我见识了一下伪“GUI”。
有了自己的计算机,就可以不用墨守陈规的按学校的规矩操作了,所以我很快就发现了一个报复老师的命令:copy


那会学校机房里面有很多游戏,RO(雪人),scorched earth(焦土),PONG(打砖块),worms(百战天虫)
这些东西如果你要拿回去玩,是要找臭屁的老师用软盘去拷的,win 95就直接拖到“A盘(软驱默认盘符)”就行了
并不是每个人去找臭屁老师拷贝都能成的,比如我。
后来从同学那借了一张从老师那拷的软盘回来玩,结果很惊奇的发现用copy命令复制一份里面的东西就行了!
开心的不行唉(很白痴有木有,那会对程序没概念的)
而且其实是不用放在软盘上玩的,我拷出来也能玩(继续白痴吧。。。)
结果嘛,臭屁的老师突然发现去求她拷东西的孩子少了,为啥?不就一个copy命令嘛,我也会!


2002-2005的个人电脑普及


第二个神奇的命令:win


家里最早添的计算机怎么也是一台二手386,磁盘小,内存少,机器还会嘎嘎响。后来折价卖掉了,贱卖真的是贱卖。
02年小升初,走了很大一段插曲和坎坷,但最后老妈还是应允,能上这所初中就赏一台新电脑。
这台电脑价格5000。。。老妈以身作则的言而有信,一直潜移默化的影响我。


电脑装的是windows 98,启动默认是DOS,所以这次见到了一个很酷的命令:win
输入之后你以为你赢了,其实你没有,win 98的GUI是噩梦的开始,新时代产物:蓝屏诞生了
但不得不说这是个神奇的命令,神奇在于,你的GUI和CLI切换是那样的不自然,也造就了这个命令的转瞬即逝。


第三个破解的命令:debug


初中照样有计算机课,不爽的是机器上有远程监控和还原卡。
远程监控比较好搞,启动的时候选对时机打开任务管理器,biu的一下杀掉就行了。
老师那边最多看你不上线,会说远程显示不了的同学和旁边的一起看一下。
后来自己一炫耀,这事情被太多同学知道就不好使了,老师会走过来盯着你重启机器,不让你杀进程。
当然后面发现另一种bug可以搞定这货,但得在主控机控制你之前,有了上次的经验,这个就没让太多同学知道。
还原卡比较恶心,经常是一节课好不容从FTP或者外网拖了一个CS(counter-strike),装好,没玩几把就下课了。
所以就想方设法想破这货,因为它是硬件相关,所以我很自然的想到了老朋友CLI。
只要能进BIOS,就能关掉这个设备,但是BIOS要密码,清除这个密码最笨的方法是主板放电。
这老师肯定会防范的,防范的方法就是机箱上锁。
所以只能从软件级别入手了,大概能找到的东西,现在大多没了踪影
http://kipirvine.com/asm/debug/Debug_Tutorial.pdf
还有一些CMOS、BIOS相关的资料,《电脑爱好者》、《电脑报》、《黑客防线》这类书上看的
最后还真被我破解了:

debug
-o 70 10
-o 71 10


经过上述操作(不同的CMOS芯片输入的数值略有差别)如此一来,进入BIOS设置就不需要密码
pia一下把还原卡关了,然后进系统把远程监控给卸了,再进BIOS把还原卡开起来
嗯,作为贪玩的我呢,是肯定不会忘记同时把CS也拷一份在机器里一起做备份的!
老师这下纳闷了,怎么开机了那么久,远程监控软件还没启动?
而且游戏永远存在于机房,删也删不光的感觉。
当然老师是充分怀疑我的,但是看我那么傻逼的样子,又拿不到什么证据,证明是我干的。

就这样一直相安无事,老师也就睁一只闭一只眼

直到有一次一个同学(少数几个知道的啊。。。)在关了还原卡的机器上A站,导致机房中毒。。。

事情弄的很大,因为那会整个学校的出口带宽就那2M,办公网络也直接受影响了!
在年段长(这个好像是福建才有的概念?我问了同事都不知道啥叫:段长)的感化下,我算是招供了。
段长人很好(叫商平,我现在还记得),对这个事情既往不咎,只是嘱咐我心思要放在正道上之类的。
这件事之后我也参加了NOI的培训,然后就是一堆“公益”事业,后续另撰文再表。


2005-2008的脚本小子


到了高一,丫的居然还有计算机课,教的一些超级基础的东西(Office使用,网页制作,FoxPro)
而且!还是初中的那个老师。。。还要参加一个叫会考的考试(确定大家都会考?)
不过这次我比较老实,自己搞定了就一边打游戏去了,同学要是有问题也帮老师解答一下
当然当时的机房让我发现了更大的天地————网络世界


第四个网络的命令:ping、netstat、tracert、nslookup


那会有个计算机实习老师,叫蔡宗明,大概也属于那种不安分守己的人,我们聊的很投机
他带我初探了网络世界,嗯,神秘而庞大的网络世界啊。。。
还给我一些所谓抗遗忘记忆法的东西,里面很多观点还是很受用的(其实后来发现就是艾宾浩斯的记忆曲线)

ping可以检查网络,也可以ping死机器(死亡之ping,大意是发送的数据包非常大,导致windows的接收缓冲区爆掉)
ping -s 65535 主机ip (当然,现在的系统肯定已经修复这个漏洞了。。。)

netstat告诉你机器上开了哪些窗户(端口),哪些窗户(端口)是不安全的(状态异常)
netstat -an
输出大致如下:
Active Internet connections
Proto Recv-Q Send-Q  Local Address          Foreign Address        (state)    
tcp4       0      0  192.168.0.10.62105     74.125.128.17.443      SYN_SENT   
tcp4       0      0  192.168.0.10.62100     74.125.128.18.443      SYN_SENT   
tcp4       0      0  192.168.0.10.62101     74.125.235.22.443      SYN_SENT   
tcp4       0      0  192.168.0.10.62098     173.194.127.112.443    ESTABLISHED


那么这些命令的存在是干啥用的呢?装酷嘛?有一点,更关键是:排查问题!
就在这里顺带提一下TCP SYN Flood攻击吧
原理大概是:利用的是TCP三次握手中第二次SYN ACK之后,客户端不再答复ACK,此时会导致服务器存在大量的半开链接
这样后面正常的客户请求就会被拒绝(denial of service)
http://en.wikipedia.org/wiki/SYN_flood
管理员在这里通过netstat就可以看出 state 一列,有大量的:SYN-RECEIVED
解决方法就是放低半开连接数和SYN-RECEIVED的超时时间。

tracert用来跟踪数据包的每一跳
tracert www.google.com
这个来看你的数据包是如何跳转的(比如有没有被block——被发送了RST包)
想想看,网络这种如果是汇集在几个出口节点才出去的,是很明显的树形结构
那么分布在各地的叶子节点肯定是有公共祖先的(LCA Least Common Ancestors,嗯,btw,这类题也是面试喜欢问的!)
于是乎,有蛋疼的人利用分布式的tracert,定位出了可疑的墙的几个位置
是github上的一个python project
https://github.com/mothran/mongol


nslookup用来反查dns信息
输出大致如下:
nslookup www.google.com
Server: 8.8.8.8
Address: 8.8.8.8#53


Non-authoritative answer:
Name: www.google.com
Address: 74.125.128.147
这个又有什么用呢?有一种攻击叫做钓鱼攻击(Phishing,不是Fishing哈。。。)
http://en.wikipedia.org/wiki/Phishing
大概就是,攻击者模拟一个假的淘宝,支付宝这类网站,诱使受害者点击,套取密码的过程
主要是通过一些比较弱智的域名,弄的和真的很像,通过邮件发送。
这怎么也都不显得高大上吧,渐渐的被邮箱越来越强大的反垃圾邮件。
这里多扯一下反垃圾邮件吧,bayes公式的绝妙应用,有一个keypoint:允许漏判,不允许误判(打住,再扯又远了。。。)
由此看来呢,发邮件这招似乎不好使了,于是就有了:DNS hijacking
http://en.wikipedia.org/wiki/DNS_hijacking
DNS可以说是最早的分布式系统啦
但也正是因为它最早,所以它把网络世界想的太安全太安全(有一句名言:网络本来是安全的,就是有了研究安全的人才使得它不安全)
它是不保证数据一致性的,而且任何一台机器都可以提供所谓的DNS服务,而不能确保它提供的信息是准确的
也就是说,www.taobao.com原先是指向 1.1.1.1 的,可能被欺骗到2.2.2.2上!
而你的浏览器显示的域名还是丝毫没有变化的。。。
现在很多电信运营商弹广告神马的就是在干这个劫持!
还有伟大的墙。。。早期对部分网站的屏蔽也是这个原理(但基本都可以通过改本机上的host文件绕过,基本无用)
当然最近还有一种针对家庭路由器的攻击,修改其中的DNS,也算是万变不离其宗吧。
所以nslookup的作用就体现在这里了,你可以手动查询信任的DNS服务器,对比返回的结果,识破骗局。


第五个入侵的命令:net、telnet


第六个防御的命令:attrib、arp


二、初识Linux Shell


2008-2009 入侵的艺术,网络很安全?
第七个窃取密码的“命令”:bt3


第八个知己知彼的命令:tcpdump
Be conservative in what you do, be liberal in what you accept from others


2010-2013 Shell的威力,大数据时代!
第九个自动化的命令:fg bg jobs nohup kill ps top mpstat 管道 流


三、进阶Linux Shell

跋 在路上

第十个 并分十全十美的UNIX哲学


未完待续。。。靠,感觉自己挖了好大一个坑,慢慢填了

今天先填到这里,整理一下Hadoop的环境搭建去!

这篇关于心路历程————LinuxBash的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/903540

相关文章

UneMeta创始人讲述自己在Web3+IP领域创业的心路历程

昨日,UneMeta创始人,@Ann_tyrion在X分享了一篇推文,分享了自己在探索Web3与IP产业结合过程中的心路历程,她并没有像很多项目方那样一味的讲述宏大的叙事,而是字里行间透露出对这个行业的探索和不断给自己充实信念,真诚地讲述了面对质疑、挑战时的坚持与思考,这种真挚的态度让人感到格外动容。 对于文化IP这一相对“小众”的赛道,她在文中说到“IP不仅仅是用经济衡量的数字,更是记忆、羁绊

飞控学习从入坑到放弃心路历程 ——————致敬无名小哥

大一开始接触单片机,一个老乡带我进入的学校实验室,然后开始学习c语言,51单片机,做了一个蓝牙小车,大一暑假电赛老师做的高频题目,一脸懵逼,后面师兄建议我学习下32,我记得当时老师来了一句你明天是不是就要学64了,感觉当时很无语,(老师貌似喜欢做硬件的)还是一边玩一边学了下32,后面电赛测试的时候就没去了,因为什么都没做出来,也是当时才知道原来有无人机的控制题目可以选,但是老师并不同意我们

碎碎念和心路历程

1.24 kmp算法有点难理解,我还不知道怎么用代码实现kmp算法。 线性代数算不上难,可是我算数的时候总是要心算好多遍,而且还出错,以后要加强线性代数的习题训练

【心路历程】初次参加蓝桥杯实况

送给大家一句话: 寂静的光辉平铺的一刻,地上的每一个坎坷都被映照得灿烂。 – 史铁生 《我与地坛》 初次参加蓝桥杯有感 一点小小的震撼难评的做题过程A题 艺术与篮球问题描述解题 B 题 五子棋问题描述解题 C题 训练士兵问题描述解题 D题 团建解题 E题 成绩统计问题描述解题 F题 因数统计问题描述解题 G题 零食采购问题描述解题 H题 魔法盒子问题描述解题 总结Thanks♪(・

【总结】2019春季甲级PAT考试的心路历程(炮灰经历)

寒假开始准备PAT,看的晴神宝典,考前大略过了百分之八十,还剩图和后面的内容没来得及看。题库刷了84道,每道题都发了博客记录,其中有一半都是参考别人的思路,还经常有不能理解题目意思的时候。综上,考前我就有预感,这是一次炮灰经历了。前几天抱佛脚复习时开始回顾发过的博客,发现记录真是一件美妙的事情,它让成长的轨迹实现了真正意义上的有迹可循。所以这次再炮灰也决定记录下来,以便作为未来的笑料以及现

一个白盒测试菜鸟的心路历程

人呐就都不知道,自己不可以预料。一个人的命运啊,当然要靠自己奋斗,但是也要考虑到历史的行程。我绝对不知道,我作为一个普通挨踢民工,怎么就上公众号发文章了呢。所以组委会负责的同学同我说“组委会都决定了,今天就你来发文章”,后来我念了两句诗,叫“苟利搜狗生死以,岂因祸福避趋之。” 所以今天我就发篇文章讲讲最近做白盒测试感受。 问题一:辛辛苦苦做完一个模块的单元测试没发

学习前端的心路历程------Web综合实践用户信息管理

Web综合实践之用户信息管理 前言登录功能界面展示后端代码思路分析前端代码分析 增加功能界面展示后端代码思路分析前端代码分析 删除功能删除单个联系人相关代码删除选中相关代码 修改功能代码思路分析相关代码 分页查询功能代码思路分析前端代码展示 前言   在Web阶段也学习了近一个月左右,对于这些知识点也有了一些了解,关于前后端的一个交互有了初步认识,这一篇博客是用来总结自

学习前端web的心路历程------Request对象和Response对象

Request对象和Response对象 Request对象request功能:1. 获取请求消息数据2. 其他功能: Response对象功能:设置响应消息案例: ServletContext对象 Request对象 request对象和response对象的原理 request和response对象是由服务器创建的。我们来使用它们request对象是来获取请求消息

学习前端web的心路历程------JSP, EL表达式 与 JSTL标签

JSP, EL表达式 与 JSTL标签 JSP指令内置对象 EL表达式使用: JSTL标签常用的JSTL标签 扩展MVC开发模式优缺点: 三层架构:软件设计模式 JSP 概念: Java Server Pages: java服务器端页面 可以理解为:一个特殊的页面,其中既可以指定定义html标签,又可以定义java代码用于简化书写!!! 原理:JSP本质上就是一个

学习前端web的心路历程------会话技术Cookie与Session

web前端会话技术 会话技术概念Cookie快速入门:cookie的细节:案例:记住上一次访问时间 Session快速入门:session的细节:session与Cookie的区别: 会话技术概念   会话:一次会话中包含多次请求和响应。   一次会话:浏览器第一次给服务器资源发送请求,会话建立,直到有一方断开为止。   功能:在一次会话的范围内的多次请求间,共享数