学会这张Linux脑图,却能帮你解决90%的问题。加薪是小事。架构图,而我的反应一般是不给的,所以当有读者告诉我不要忘记这句话的时候,我心里很不是滋味。首先在这里跟大家说声对不起(今天的内容我给大家的是xmind格式的文件),老规矩,先上传架构图。今天除了讲解知识,还要给大家讲解一下为什么不给大家xmind文件。最后,我们先来看知识点。我不知道你是否正在阅读它。看完上图,你有什么感想?是不是有种很low很凌乱的感觉?感觉一切都在那里。这是我的第一张思维导图。已经很多年了,后期也没有继续。上面更新的内容应该算是一种鞭策或者鼓励。先来看知识点一、Linux简介一、Linux概述Linux是一个基于Unix的开源免费操作系统。由于系统的稳定性和安全性,几乎成为程序代码运行的最佳系统环境。Linux最初是由林纳斯·托瓦兹(LinusTorvalds)开发的。由于源代码的开放性,衍生出数百种不同的Linux系统。Linux系统被广泛使用。它不仅可以长时间运行我们编写的程序代码,还可以安装在各种计算机硬件设备中,比如手机、平板电脑、路由器等。这里特别提到,我们知道底层是Android程序运行在linux系统上。二、Linux的分类(1)Linux根据市场需求的不同基本上分为两个方向:1)图形界面版:注重用户体验,类似于window操作系统,但目前还不够成熟2)服务器版:暂无界面好看,操作系统基于在控制台窗口输入命令,类似DOS,是我们假设的服务器的最佳选择(2)Linux按照原生程度分为两种:1)内核version:Linus领导下的内核团队开发和维护的系统内核的版本号2)Releaseversion:一些组织或公司在内核版本二次开发的基础上重新发布版本(3)Linux发行版版本不同,可分为n种:2.Linux安装1.虚拟机的安装是因为Linux也是一个系统,本质上和我们电脑的Windows没有区别。因此,我们要想学习Linux,首先要将自己电脑的Windows系统换成Linux系统,或者在自己的电脑上安装双系统。听起来并不可怕。其实我们可以在自己的电脑上安装一个软件。该软件可以模拟一台或多台虚拟计算机。这是虚拟机。常用的虚拟机有两种:VMware的虚拟机软件,功能强大,收费产品VitrualBox虚拟机软件Oracle的虚拟机软件,免费产品由于市场上VMware的使用率较高,我们安装VMware2.0。CentOS安装CentOS是Linux的一个发行版,是目前企业应用服务器系统的主要版本。CentOS的安装其实就是把系统安装到VMware虚拟机软件中,让VMware虚拟机软件模拟出一台装有Linux系统的电脑。详细的安装步骤可以看我之前写的文章推荐阅读:centos的安装与网络环境配置三、Linux的基本命令安装了服务器版的Linux,但是没有图形界面。我们只能通过控制台进入操作系统。要使用类似于DOS命令的Linux命令进入操作系统,那么下面我们就来学习Linux命令。Linux命令成百上千条,课程无法一一覆盖,也没有必要一一覆盖。根据我们程序员在日常工作中的需要,总结如下,以供学习。1、目录切换命令在window中,可以通过图形界面和鼠标任意切换进入的目录,而在Linux中,必须通过cd命令来切换目录。但是在学习cd命令之前,我们需要先区分一下Linux的目录结构(linux目录结构详解)cdusr切换到本目录下的usr目录cd.../切换到上层目录cd/切换到系统根目录cd~switch进入用户家目录cd-切换到上一级目录2、目录操作命令(增删改查)(1)添加目录操作(增加)命令:mkdir目录名示例:mkdir在根目录/下测试,会在根目录/下生成一个测试目录(2)查看目录(Check)命令:ls[-al]父目录示例:在根目录/下使用ls,可以看到所有该目录下的目录和文件示例:在根目录/下使用ls-a,可以看到该目录下的所有文件和目录,包括隐藏示例:在根目录/下使用ls-l,可以看到详细目录下所有目录和文件的信息注:ls-l可以简写为ll(3)查找目录(检查)命令:find目录参数示例:查找/root下与test相关的目录(文件)find/root-name'test*'(4)修改目录名称(change)命令:mv目录名称新目录名称示例:test目录下有一个oldTest目录,使用mvoldTestnewTest命令修改注意:语法mv不仅可以重命名目录,还可以重命名各种文件、压缩包等。(5)移动目录位置—剪切(更改)命令:mv目录名目录新位置示例:将测试下的newTest目录剪切到/usr,使用mvnewTest/usr注意:mv语法不仅可以切割目录,还可以对文件、压缩包等进行切割操作。(6)复制目录(更改)命令:cp-r目录名目录复制目标位置-----r代表递归复制例子:复制/usr下的newTest到根目录下测试,使用cp-r/usr/newTest/test注意:cp命令不仅可以复制目录,还可以复制文件、压缩包等,不要递归写-r(7)复制文件和压缩包时删除目录(删除)命令:rm[-rf]目录示例:删除/usr下的newTest,进入/usr后使用rm-rnewTest示例:deletenewTestunder/test不要求强制删除,在/test下使用rm-rfnewTest注意:rm不仅可以删除目录,还可以删除其他文件或压缩包,为了加强大家的记忆,不管删除什么目录或者文件,直接使用rm-rf目录/文件/压缩包3.文件操作命令(增删改查)(1)文件创建(添加)命令:touch文件名-----空文件示例:在test目录下新建一个空文件touchaaa.txt(2)查看文件(Check)命令:cat/more/less/tail文件示例:使用cat查看/etc/sudo.conf文件,只能显示最后一屏内容例:使用more查看/etc/sudo.conf文件,可以显示百分比,回车下一行,空格下一页,qtoexit查看示例:使用less查看/etc/sudo.conf文件,可以使用键盘上的PgUp和PgDn上下翻页,qtoend查看示例:使用tail-10查看/etc/sudo.conf文件的最后10行,Ctrl+C结束注意:命令tail-ffile可以动态监控一个文件,比如tomcat的日志文件,它会跟随程序的运行,log会发生变化,可以使用tail-fcatalina-2016-11-11.log来监听文件的变化(3)修改文件内容(change)命令:vim文件示例:编辑aaa.txt文件/test下,使用vimaaa.txt此时不能编辑,因为此时是命令模式,点击键盘i/a/o进入编辑模式,可以编辑文件编辑完成后,按Esc回到命令模式,此时文件虽然已经编辑,但是没有保存,需要输入冒号:进入底线模式,在底线模式下输入wq写入内容退出,即保存;输入q!强制退出而不保存总结:vim编辑器是Linux中一个强大的组件,是vi编辑器的增强版。vim编辑器的命令和快捷键很多,这里就不一一说明了。附:《vi使用方法介绍》和《vim命令合集》关于vim的使用:在实际开发中,使用vim编辑器的主要功能是修改配置文件vim文件------>进入文件----->命令模式------->按i进入编辑模式----->编辑文件------>按Esc进入底行模式----->输入:wq/问!(4)删除文件(Delete)从同一目录删除:记住rm-rf文件。4.压缩文件操作命令(1)打包压缩文件Linux中的打包文件一般以.tar结尾,压缩命令一般以.gz结尾。一般情况下,打包和压缩是一起进行的,打包压缩后的文件后缀一般为.tar.gz。命令:tar-zcvfpackandcompressthefilename打包压缩文件其中:z:调用gzip压缩命令进行压缩c:打包文件v:显示运行进程f:指定文件名示例:打包压缩/test下的所有文件压缩后的压缩包指定名称为xxx.tar.gztar-zcvfxxx.tar.gzaaa.txtbbb.txtccc.txt或者:tar-zcvfxxx.tar.gz/test/*(2)解压压缩包(重要)命令:tar[-xvf]压缩文件其中:x:代表解压示例:将/test下的xxx.tar.gz解压到当前目录tar-xvfxxx.tar.gz示例:extract/test解压xxx.tar.gz到根目录/usrtar-xvfxxx.tar.gz-C/usr------C代表指定位置解压5.其他命令(1)显示当前位置pwd(2)搜索命令命令:grepStringtosearchFiletosearch例子:在/usr/sudu.conf中搜索包含字符串的行例子:搜索/usr/包含字符串的行sudu.conf文件中的to要高亮显示(3)管道命令命令:|将上一条命令的输出作为该目录的输入示例:查看当前系统中所有进程包括系统字符串(4)查看进程命令:ps-ef示例:查看当前系统中正在运行的进程(5)杀掉进程命令:kill-9processpid(6)网络通讯命令查看当前系统网卡信息:ifconfigview与某台机器的连接:ping查看当前系统端口使用:netstat-an6。Linux权限命令权限是Linux中的一个重要概念。每个文件/目录都有权限。通过ls-l命令,我们可以查看某个目录下的文件或目录的权限例子:任意目录下的ls-l第一栏信息解释如下:文件类型:d:代表目录-:代表文件l:表示链接(可以认为是窗口中的快捷方式)后面的9位分为3组,每3个位置一个组,分别代表所有者的权限,同组用户的权限作为当前用户,以及其他用户的权限。数字2表示x:表示权限可执行,x也可以用数字1表示修改文件/目录权限的命令:chmod例子:修改/test下aaa.txt的权限为所有者拥有所有权限,并且所有者位于该组具有读写权限,其他用户只有读权限。chmodu=rwx,g=rw,o=raaa.txt上面的例子也可以用数字来表示:chmod764aaa.txt技术点说完了,结合最初的不知道大家觉得如何知识图谱制作出来了,是不是很乱?遗漏了什么?好像和你想的不太一样?这就是我不分享xmind的原因。主要有以下几点:1.本文档是根据我的习惯和想法整理的,不一定适合所有人。当然,最主要的原因可能是我的心情有点低落。随便看看,哈哈哈哈2.这也是最重要的一点:我一直认为这不是我的实际操作,不仅印象不够深刻,而且还会给你造成眼高手低的问题手贱,因为很多知识点,其实靠经验或者其他什么方法都可以,你很容易理解,毕竟所有的编程思路基本都是一样的,所以没有实际操作,很容易误入歧途,好像这些事我都知道,但你真的知道吗?不一定,因为我在整理这些知识图谱的时候,很多都是从百度或者网上看书记录下来的。并非所有这些都是我知道和使用过的。怕哪天真的用到的时候,手忙脚乱。知道怎么处理3.最后一点,都是程序员。得到这张地图后,甚至其他资料都可能被永久封存在网盘中。那么,这样做的意义何在?想学习的人,如果我不给他xmind,我相信他还是会根据我的图搜集资料,整理自己的知识体系。对于那些不想学习的人,我很抱歉。我真的不想让我的分娩结果被忽视。为什么要让大家自己做?知识图谱呢?今天的知识图谱是我的第一张,也是我今天第一次接触Linux时的第一张图谱。有一段时间没有从事开发工作了。回来后发现很多技术我都忘记了,除了cd之类的命令,然后一直在百度上用,也很着急。有一天,我突然想起了这张照片,然后看了一晚上。因为有基础,基本都会记住一些常用的。操作基本没有问题,也正是有了这次的帮助,才养成了整理知识图谱的习惯。毕竟不是所有的技术都可以经常使用。毕竟会有一些技术用不到,容易被遗忘。当您忘记它时,您可以快速回忆起它。今天就到此为止。感谢您的耐心等待。希望我的努力能给你带来一些帮助。如果大家觉得我有技术点和理解上的问题,也欢迎大家指正。大家在下方评论区指出一下,老规矩,like+follow+forward,质量三倍,然后想关注架构图公众号:Java架构师联盟
