学会这张Linux脑图,可你帮你解决90%的问题,加薪都是小事

最近老有读者跟我商量说,看了你那么多的体系架构图,能不能给我xmind格式的架构图啊,而个人回应通常是不给,因此当有一个读者跟我说不给算了这句话的时候,内心挺不舒服的linux

首先,在这里跟你们说声抱歉(今天的内容我会给到xmind格式的文件),老规矩,先上架构图程序员

今天除了讲知识以外,也和你们解释一下,我为何不给你们xmind文件,最后说,先看知识点编程


不知道你们在看到我上面的那张图以后,有什么感受,有没有很low,很乱的感受,感受什么都有,这是我第一张思惟导图,不少年不少年了,后期也没有在继续在上面更新内容,看成是一个鞭策或者鼓励吧,先来看知识点vim

1、Linux的简介

1.Linux的概述

Linux是基于Unix的开源免费的操做系统,因为系统的稳定性和安全性几乎成为程序代码运行的最佳系统环境。Linux是由Linus Torvalds(林纳斯·托瓦兹)起初开发的,因为源代码的开放性,如今已经衍生出了千上百种不一样的Linux系统。Linux系统的应用很是普遍,不只能够长时间的运行咱们编写的程序代码,还能够安装在各类计算机硬件设备中,好比手机、平板电脑、路由器等。尤为在这里说起一下,咱们熟知是Android程序最底层就是运行在linux系统上的。centos

2.Linux的分类

(1)Linux根据市场需求不一样,基本分为两个方向:1)图形化界面版:注重用户体验,相似window操做系统,但目前成熟度不够2)服务器版:没有好看的界面,是以在控制台窗口中输入命令操做系统的,相似 于DOS,是咱们假设服务器的最佳选择tomcat

(2)Linux根据原生程度,又分为两种:1)内核版本:在Linus领导下的内核小组开发维护的系统内核的版本号2)发行版本:一些组织或公司在内核版基础上进行二次开发而从新发行的版本安全

(3)Linux发行版本不一样,又能够分为n多种:服务器

2、Linux的安装

1.虚拟机的安装由于Linux也是一个系统,本质上跟咱们电脑的Window没有区别,因此咱们要学习Linux就首先将咱们电脑的Window系统换成Linux系统,或者在咱们电脑上安装双系统,听上去是否是很可怕。其实咱们能够在咱们电脑上安装一个软件,这个软件能够模拟一台或多台虚拟的电脑机器,这就是虚拟机虚拟器经常使用的有两种:网络

VMware(威睿)公司的虚拟机软件,功能强大,收费产品架构

VitrualBox 虚拟机软件 Oracle公司的虚拟机软件,免费商品

因为市场上VMware使用率很高,因此咱们安装VMware

2.CentOS的安装CentOS是一个Linux的发行版本,是目前企业中用来作应用服务器系统的主要版本,CentOS的安装,实际上是将该系统安装到VMware虚拟机软件中,让VMware虚拟机软件模拟出一台Linux系统的电脑。安装详细步骤看我以前写的文章

推荐阅读:centos安装以及网络环境配置

3、Linux的基本命令

服务器版的Linux安装完毕了,但没有图形化界面,咱们只能经过控制台去操做系统,咱们就要使用相似DOS命令的Linux命令去操做系统,那么下面咱们就进行Linux的命令的学习。Linux命令成百上千,课程不能一一涉及,也没有必要一一涉及,根据咱们程序员在平常工做中的需求,总结出以下几种供学习。

1.目录切换命令

window中经过图形化界面和鼠标能够任意切换须要进入的目录,但Linux必须经过cd命令切换目录。但在学习cd命令以前,咱们有必要分清Linux的目录结构(linux目录结构详细说明)

cd usr 切换到该目录下usr目录cd …/ 切换到上一层目录cd / 切换到系统根目录cd ~ 切换到用户主目录cd - 切换到上一个所在目录

2.目录的操做命令(增删改查)

(1)增长目录操做(增)

命令:mkdir 目录名称示例:在根目录 / 下 mkdir test,就会在根目录 / 下产生一个test问目录

(2)查看目录(查)

命令:ls [-al] 父目录示例:在根目录 / 下使用ls,能够看到该目录下的全部的目录和文件

示例:在根目录 / 下使用ls -a,能够看到该目录下的全部文件和目录,包括隐藏的

示例:在根目录 / 下使用ls -l,能够看到该目录下的全部目录和文件的详细信息

注意:ls -l 能够缩写成ll

(3)寻找目录(查)

命令:find 目录 参数示例:查找/root下的与test相关的目录(文件) find /root -name ‘test*’

(4)修改目录的名称(改)

命令:mv 目录名称 新目录名称示例:test目录下有一个oldTest目录,使用mv oldTest newTest命令修改

注意:mv的语法不只能够对目录进行重命名并且也能够对各类文件,压缩包等进行 重命名的操做

(5)移动目录的位置—剪切(改)

命令:mv 目录名称 目录的新位置示例:在test下将newTest目录剪切到 /usr下面,使用mv newTest /usr

注意:mv语法不只能够对目录进行剪切操做,对文件和压缩包等均可执行剪切操做

(6)拷贝目录(改)

命令:cp -r 目录名称 目录拷贝的目标位置 -----r表明递归拷贝示例:将/usr下的newTest拷贝到根目录下的test中,使用cp -r /usr/newTest /test

注意:cp命令不只能够拷贝目录还能够拷贝文件,压缩包等,拷贝文件和压缩包时不 用写-r递归

(7)删除目录(删)

命令:rm [-rf] 目录示例:删除/usr下的newTest,进入/usr下使用rm -r newTest

示例:删除/test下的newTest而不须要询问强制删除,在/test下使用rm -rf newTest

注意:rm不只能够删除目录,也能够删除其余文件或压缩包,为了加强你们的记忆, 不管删除任何目录或文件,都直接使用rm -rf 目录/文件/压缩包

3.文件的操做命令(增删改查)

(1)文件的建立(增)

命令:touch 文件名称 ----- 空文件示例:在test目录下建立一个空文件 touch aaa.txt

(2)文件的查看(查)

命令:cat/more/less/tail 文件示例:使用cat查看/etc/sudo.conf文件,只能显示最后一屏内容

示例:使用more查看/etc/sudo.conf文件,能够显示百分比,回车能够向下一行, 空格能够向下一页,q能够退出查看

示例:使用less查看/etc/sudo.conf文件,可使用键盘上的PgUp和PgDn向上 和向下翻页,q结束查看

示例:使用tail -10 查看/etc/sudo.conf文件的后10行,Ctrl+C结束

注意:命令 tail -f 文件 能够对某个文件进行动态监控,例如tomcat的日志文件, 会随着程序的运行,日志会变化,可使用tail -f catalina-2016-11-11.log 监控 文 件的变化

(3)修改文件的内容(改)

命令:vim 文件示例:编辑/test下的aaa.txt文件,使用vim aaa.txt

但此时并不能编辑,由于此时处于命令模式,点击键盘i/a/o进入编辑模式,能够 编辑文件

编辑完成后,按下Esc,退回命令模式

此时文件虽然已经编辑完成,可是没有保存,需输入冒号:进入底行模式,在底行模 式下输入wq表明写入内容并退出,即保存;输入q!表明强制退出不保存。

总结:vim编辑器是Linux中的强大组件,是vi编辑器的增强版,vim编辑器的命令和快捷方式有不少,但此处不一一阐述,你们也无需研究的很透彻,使用vim编辑修改文件的方式基本会使用就能够了。附:《vi使用方法介绍》和《vim命令合集》

关于vim使用过程:在实际开发中,使用vim编辑器主要做用就是修改配置文件vim 文件------>进入文件----->命令模式------>按i进入编辑模式----->编辑文件 ------->按Esc进入底行模式----->输入:wq/q!

(4)删除文件(删)同目录删除:熟记 rm -rf 文件 便可

4.压缩文件的操做命令

(1)打包并压缩文件Linux中的打包文件通常是以.tar结尾的,压缩的命令通常是以.gz结尾的。而通常状况下打包和压缩是一块儿进行的,打包并压缩后的文件的后缀名通常.tar.gz。命令:tar -zcvf 打包压缩后的文件名 要打包压缩的文件其中:z:调用gzip压缩命令进行压缩c:打包文件v:显示运行过程f:指定文件名示例:打包并压缩/test下的全部文件 压缩后的压缩包指定名称为xxx.tar.gztar -zcvf xxx.tar.gz aaa.txt bbb.txt ccc.txt或:tar -zcvf xxx.tar.gz /test/*

(2)解压压缩包(重点)命令:tar [-xvf] 压缩文件其中:x:表明解压示例:将/test下的xxx.tar.gz解压到当前目录下tar -xvf xxx.tar.gz

示例:将/test下的xxx.tar.gz解压到根目录/usr下tar -xvf xxx.tar.gz -C /usr------C表明指定解压的位置

5.其余命令

(1)显示当前所在位置pwd

(2)搜索命令命令:grep 要搜索的字符串 要搜索的文件示例:搜索/usr/sudu.conf文件中包含字符串to的行

示例:搜索/usr/sudu.conf文件中包含字符串to的行 to要高亮显示

(3)管道命令命令:| 将前一个命令的输出做为本次目录的输入示例:查看当前系统中全部的进程中包括system字符串的进程

(4)查看进程命令:ps -ef示例:查看当前系统中运行的进程

(5)杀死进程命令:kill -9 进程的pid

(6)网络通讯命令查看当前系统的网卡信息:ifconfig

查看与某台机器的链接状况:ping

查看当前系统的端口使用:netstat -an

6.Linux的权限命令

权限是Linux中的重要概念,每一个文件/目录等都具备权限,经过ls -l命令咱们能够 查看某个目录下的文件或目录的权限示例:在随意某个目录下ls -l

第一列的内容的信息解释以下:

文件的类型:d:表明目录-:表明文件l:表明连接(能够认为是window中的快捷方式)后面的9位分为3组,每3位置一组,分别表明属主的权限,与当前用户同组的 用户的权限,其余用户的权限r:表明权限是可读,r也能够用数字4表示w:表明权限是可写,w也能够用数字2表示x:表明权限是可执行,x也能够用数字1表示

修改文件/目录的权限的命令:chmod示例:修改/test下的aaa.txt的权限为属主有所有权限,属主所在的组有读写权限,其余用户只有读的权限chmod u=rwx,g=rw,o=r aaa.txt

上述示例还可使用数字表示:chmod 764 aaa.txt


技术点讲完了,结合最开始给出的知识图谱,不知道你有什么感慨呢,乱吗?少东西吗?好像跟你想的不太同样?这也是我为何不分享xmind了,主要有如下几点

一、这份文档是根据个人习惯和想法进行整理的,不必定适合全部人,固然最重要的缘由,可能就是我以为有点low,本身看看就好,哈哈哈哈

二、这也是最重要的一点:我一直坚信,不是本身的实际操做,不仅是印象不够深入,还会给大家形成眼高手低的问题,由于不少的知识点,其实凭借经验或者其余的什么方式都好,你是很容易理解的,毕竟全部的编程思想基本大同小异,那这样,没有实际操做,很容易进入一个误区,好像这些玩意我都会,可是你真的都会吗?不见得,由于这些知识图谱我在整理的时候,也有不少是从网上百度或者看书记录下来的,不是全部的的我都会,都用过,怕的就是当某一天我真的用到了,手忙脚乱不知道怎么处理

三、最后一点,都是程序员,拿到这份导图以后,甚至是其余的资料,可能就是在网盘里面永久封存了,那这样,有什么意义的,想学习的人,我不给他xmind我相信他同样会根据个人图去搜集资料整理造成他本身的知识体系,不想学习的人,对不起,我真的不太想本身的劳动成果被忽视

为何要让你们本身作知识谱图呢?今天的这张知识图谱是个人第一张,也是刚工做的时候接触的

今天的linux是个人第一份图,后面有一段时间我没在从事开发工做,在从新回归以后,我发现好多技术都忘了,除了cd这样的命令,而后就一直百度着用,本身也很着急,有一天忽然想起来这张图,而后就看了一夜,由于有基础,基本会想起来了经常使用的一些操做,基本没什么问题,也正是这一次的帮助,我才有了整理知识图谱的习惯。毕竟咱们不是全部的技术能常常用到,总归会有一些技术用不到容易被遗忘,也但愿你们在遗忘的时候也可以快速的回想起来

好了,今天就这样吧,谢谢你们能耐心的看到这里

但愿个人努力能带给你们一些帮助,有以为我有技术点理解有问题的地方,也欢迎你们在下方评论区指出

好了,老规矩,点赞+关注+转发,素质三联,而后想要架构图的

关注公众号:Java架构师联盟

相关文章
相关标签/搜索