Yes

Keep It Simple, Stupid.

LearnGameEngine-c5

Posted at — Dec 7, 2020

认识环境

终端

在这个世纪,已经很少有人用终端了。图形化界面搭鼠标的电脑使用方法,被Windows推广的很好,但是终端+键盘的古老方式依然非常好用,这也是电影中黑客们总是只用键盘和黑窗口(终端)的原因。

这里不会教大家去系统的学习终端知识,背诵之类,这是枯燥的。在后续的教程中会逐渐学会各种好用的终端命令,掌握好终端命令,这将会受益一生!

Windows终端

很多人叫它dos, 叫cmd,叫bat,叫terminal。没关系,反正就是黑窗口就是了。
我们可以使用快捷键win+r输入cmd运行Windows终端,接着我们在终端里输入dir并回车运行:

12/06/2020  05:55 AM    <DIR>          .
12/06/2020  05:55 AM    <DIR>          ..
10/15/2020  05:18 PM    <DIR>          .android
09/22/2020  06:59 PM    <DIR>          .ccache
...

可以看到一堆文件和目录出现了,dir命令就是用于查看当前目录下的文件和目录列表的。
但是在我们环境中不会去运行dir命令,而是使用ls命令。
ls命令除了windows系统其他的系统都能运行。
但是windows环境部署篇里,我们安装了环境,它是一个Linux模拟环境,可以让Window虚拟成Linux。
我们右键桌面打开Terminal终端,这个终端和cmd终端是完全不同的,这款终端所有的平台都能通用,且除了window其他系统都自带,免安装。

让我们认识下这款流行的终端吧。

认识bash终端

首先我们创建一个属于自己用的工作目录,右键桌面,打开Terminal终端。
让终端进度根目录/:

cd /

使用ls命令查看当前目录下的文件

ls .

创建一个我们的工作目录,用于后面存放代码之类的东西。
创建文件夹 data:

mkdir data

进入data文件夹(修改当前目录为data)

cd data

看下当前文件夹里是不是空的

ls .

创建一个code目录,后面用来保存代码文件

mkdir code

进入code目录

cd code

使用pwd查看当前路径

pwd

执行pwd可以看到输出了当前所在目录

$ pwd
/data/code

创建一个教程章节目录,用于储存本章的代码,本章节名c5

mkdir c5

进入c5目录

cd c5

每次都要mkdir 再 cd好麻烦,能不能一句命令创建一个/data/code/c5目录并进入c5目录?可以,我们先删除/data文件夹。

在windows平台我们直接删除/data是删除不了的,应该你当前位置处于/data/code/c5/data占用了,需要先把进程从房屋里赶走再拆房子。
如何让进程离开目录或者文件呢?
第一种方法是彻底关闭终端,然后用windows自带的文件管理器删除它:
打开windows文件管理器:

explorer .

我们可以看到目前就打开了C:\msys64\data\code目录,对于我们的终端C:\msys64\就是系统根目录/
我们使用explorer进程删除掉data文件夹,发现也删除不了,因为我们的终端占用着它的子目录c5
关闭我们的终端,再删除一次。 好了这下删除了。 第二种删除办法是: 我们进入到了/data/code/c5 可以通过进入根目录的方式退出data目录,

cd /

然后执行删除命令rm

rm -rf /data

注意千万不要打错rm后面的命令,你可能经常在新闻上看到这个术语: [图1]


说个个人经历: 以前我的上级发了我一个代码,让我运行。 运行结束后整个电脑都被删空了,重新安装好系统进行BUG定位,找到了代码里包含了一句

rm -rf ${dir}/
${dir}/ 意思是取变量dir的内容再与/拼接,但是变量dir为空的时候代码就变成了 rm -rf /

[图2]


使用rm命令,我们把/data成功删除了,接着创建并进入/data/code/c5/目录:

mkdir -p /data/code/c5/ && cd /data/code/c5/

执行pwd看看我们当前的目录 可以看到输出了

$ pwd
/data/code/c5

&&两个and符号意思就是符号字面意思,and 并且的意思,mkdir 并且 cd。 一行命令可以写很多and,伪代码: 进入目录&&删除某文件&&创建文件&&``` 命名文件

来尝试下进入/data/code/c5/目录,创建一个空文件main,改名main为main.txt,并显示当前目录的所有文件

cd /data/code/c5/ && touch main && mv main main.txt && ls .
main.txt

使用find命令搜索文件: 我们用explorer(文件管理器Win+E)进入D盘的任意的目录,右键空白处 运行终端 然后输入pwd 可以看到我们当前目录的路径

$ pwd
/d/packet
/d/就是我们的D盘目录

现在在D盘搜索 小说.txt

find /d/ 小说.txt

运行结果:

$ find /d/ -name "小说.txt"
/d/小说.txt

这样就找到了我们的要的路径。

使用grep命令查找/d/(D盘)包含“关键字”文本的文件:

grep -rn "关键字" /d/

grep的用法很多,还能这样:

find /d/ | grep "abc"

组合起来,先find得到D盘文件的所有文件名字。 再把一行一行的结果输出给grep用,通过 | 符号。 grep把结果进行过滤,最后就输出包含abc的文本行

$ find /d/ | grep "abc"
/d/packet/aaaaabc.txt
/d/music/abc字母歌.mp3

总结

我们必会的命令是这些,你需要能够默写这些命令,注意大小写: 复制 cp -rf /dir1/aaa /dir2/bbb 复制/dir/aaa/dir2/bbb 移动 mv /dir1/aaa /dir2/bbb 移动或叫重命令 /dir1/aaa/dir2/bbb
删除 rm -rf /dir1 删除目录或文件/dir1
创建空目录 mkdir /dir1/dir2 在目录/dir1/下创建空目录dir2
创建空文件 touch /dir1/abc 在目录/dir1下创建空文件abc
编辑文件 Code abc.txt 编辑abc.txt文件(本教程使用的Code,在所有平台大家都用自带系统自带的vim或者emacs)

日常Tips

find和grep可以帮助我们日常使用,场景:
我要搜索一本小说名字忘记了,但是我记得我的电脑的D盘里是有的,这里就可以右键打开Terminal(终端),执行命令:

grep -rn "恐怖如斯" /d/

得到运行结果:

$ grep -rn "恐怖如斯" /d/
/d/packet/New folder/小说.txt:14:这家伙居然这么厉害恐怖如斯
/d/packet/New folder/斗破苍穹.txt:11513:    震惊的望着虚空上的残影,萧炎半晌无语,他没想到,药老的速度,竟然恐怖如斯。
/d/packet/New folder/斗破苍穹.txt:22863:    明亮的山洞之中。青色火焰。剧烈的翻腾着。随着那簇簇火苗的腾烧。火焰周围的空间。明显是出现了许些显眼的扭曲痕迹。没想到。莲的心火的温度。竟然恐怖如斯…
/d/packet/New folder/斗破苍穹.txt:25206:    “嘶…”望着那一缕火焰竟然恐怖如斯。大厅之内。所有人都是倒吸了一口凉气。旋即将那震撼的目光。投向柜台处脸色淡然的黑袍少年。
/d/packet/New folder/斗破苍穹.txt:36701:    凌影一击之下,几乎是将整个云岚宗,搞得陷入了一种瘫痪状态,斗皇强者,居然强悍至此,恐怖如斯!
...
下面的篇幅原因删除
...

这里我们看到有26个结果,有25个结果是斗破苍穹.txt的,第一次恐怖如斯出现在/d/packet/New folder/小说.txt:14:就是第14行,第二次出现在斗破苍穹.txt:11513: 第11513行。

grep能否这样用?

grep -rn "密码" /d/

可以,这方法,我试了下,挂机了很长时间,搜索到了公司一些密码,而我的个人密码一个没搜索到,这是合格的,知道保护隐私的人不会用”密码”字样保存在文件,最多的时候可能会用mm或者pw取代”密码”。

搜索期间,grep进程一直在占用磁盘,任务管理器可以看到。
持续占用磁盘的APP到底再干些什么?不用猜了,就在偷东西。
你可能不知道程序偷你东西到底有什么用,或者认为自己:我根本没东西可偷。
能偷的东西很多,例如偷走个人信息,生日,隐私图文音频,运气好密码也能偷走,自己用不上这些可以卖给中介,大数据,给广告商等等。

这些他们拿到这些信息又有什么用?中介就打电话咯。
手里有大家的密码或者视频文件又有什么用?
随便找个新闻作为例子:
链接:360获取Bilibili的视频和用户资料
链接:360通过摄像头偷偷上传大量用户做爱视频
上面泄漏的密码或者视频,基本是随时都能下载到,还有其他国产大厂干这种事,这也是我在前面的教程说,不要使用国产软件的原因,如果要用尽量少用,或者用完就关闭它。 拓展阅读: 360作了哪些恶
其他国产大厂也有,懒的发了。

除了上述用法还有很多用法可以自己挖掘,比如搜索图片,有的网站不给下载图片,可以按时间排序搜索*.jpg,然后在刷新网页的一瞬间,把文件全复制出来。
以下省略一万中奇技淫巧。


这篇纯属虚构,不接受正义国企360的律师函