linux入门

Linux介绍

  1. Linux怎么读:利尼克斯、里纽克斯、里纳克斯
  2. Linux是一款操作系统,免费、开源,安全、高效、稳定、处理高并发非常强悍,现在很多企业级的项目都部署到Linux/unix服务器上运行
  3. Linux创始人是林纳斯
  4. Linux的吉祥物是一只小企鹅,叫Tux
  5. Linux主要发行版本
    我们平时说的Linux主要是Linux内核,有很多厂商利用该Linux内核装应用软件进行二次开发,因此就有很多发行版本,用户可以直接使用。
    (CentOSE、Redhat)(Redhat公司)、ubuntu、Suse、红旗Linux。
  6. 目前主要操作系统
    Windows、Andriod、车载系统、ios、Mac、Linux等

Linux和Unix的关系

  1. Unix是怎么来的
    Unix是在贝尔实验室下由两个外国人用C语言完成的。

1610803406808.png

  1. Linux是怎么来的
    Reichard Stallman的伟大的GNU计划
    人->软件应用层->shell层->操作系统Linux->硬件
  2. Linux和Unix关系一览图

1610803406885.png

目录结构

目录结构介绍

  1. Linux系统只有一个根目录 ‘/’,在此目录下再创建其他目录,在根目录下有bin目录、home目录、root目录、boot目录等等,就像一课倒着的大树,在Linux世界里,一切皆文件,比如/dev
  2. 管理设备;/media Linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后, linux会把识别的设备挂载到这个目录下。 /opt 存放软件,到虚拟机中实践一下。

目录介绍

  1. /mnt[重点]
    系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将外部的存储挂载在/mnt/上,然后进入该目录就可以查看里的内容了。比如在windows系统下创建的共享文件夹(与linux进行共享)d:/ myshare,该文件夹就会挂载到CentOS的根目录下 /mnt文件夹下。
  2. /media
    Linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后, linux会把识别的设备挂载到这个目录下。
  3. /bin:
    bin是Binary的缩写, 这个目录存放着最经常使用的命令。
  4. /boot:
    这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。
  5. /dev :
    dev是Device(设备)的缩写, 该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。
  6. /etc:
    这个目录用来存放所有的系统管理所需要的配置文件和子目录。
  7. /home:
    用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
  8. /lib:
    这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。
  9. lost+found:
    这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
  10. /media:
    linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。
  11. /opt:
    这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。一般不安装在这个目录下,而是安装在/user/local
  12. /proc:
    这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
    这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器:
    echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
  13. /root:
    该目录为系统管理员,也称作超级权限者的用户主目录。
  14. /sbin:
    s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
  15. /selinux:
    这个目录是Redhat/CentOS所特有的目录,Selinux是一个安全机制,类似于windows的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的。
  16. /srv:
    该目录存放一些服务启动之后需要提取的数据。
  17. /sys:
    这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。
    sysfs文件系统集成了下面3种文件系统的信息:针对进程信息的proc文件系统、针对设备的devfs文件系统以及针对伪终端的devpts文件系统。该文件系统是内核设备树的一个直观反映。当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。
  18. /tmp:
    这个目录是用来存放一些临时文件的。
  19. /usr:
    这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。
  20. /usr/bin:
    系统用户使用的应用程序。
  21. /usr/sbin:
    超级用户使用的比较高级的管理程序和系统守护程序。
  22. /usr/src:
    内核源代码默认的放置目录。
  23. /var:
    这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。
  24. /run:
    是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run。

在 Linux 系统中,有几个目录是比较重要的,平时需要注意不要误删除或者随意更改内部文件。
/etc: 上边也提到了,这个是系统中的配置文件,如果你更改了该目录下的某个文件可能会导致系统不能启动。
/bin, /sbin, /usr/bin, /usr/sbin: 这是系统预设的执行文件的放置目录,比如 ls 就是在/bin/ls 目录下的。
值得提出的是,/bin, /usr/bin 是给系统用户使用的指令(除root外的通用户),而/sbin, /usr/sbin 则是给root使用的指令。
/var: 这是一个非常重要的目录,系统上跑了很多程序,那么每个程序都会有相应的日志产生,而这些日志就被记录到这个目录下,具体在/var/log 目录下,另外mail的预设放置也是在这里。
注意:/proc /src /sys 属于系统文件夹,一般Linux高手才动,其他人不要动,否则系统极有可能崩溃。

我们自己下载的应用程序必须放在/user/local目录下,其他地方不准放

总结一下

  1. Linux下有且只有一个根目录
  2. Linux的各个目录存放的内容是规划好的,不要乱放文件
  3. Linux是以文件的形式管理我们的设备,因此Linux系统,一切皆文件
  4. Linux的各个文件目录下存放什么内容,大家要有一个认识

CentOS终端使用与联网

  1. 桌面上单击右键,选择打开终端
  2. 自己配色:在菜单栏中选中编辑/首选相/颜色,内置方案根据你的喜好进行选择,这里选择黑底白字

1610803406931.png

  1. 配置联网
    点击右上角的开机/关机键,选择有线连接中的连接,即可连接网络。

1610803406966.png

VM和Linux(CentOS)系统安装

安装VM和CentOS

学习 Linux需要一个环境,我们需要创建一个虚拟机,然后在虚拟机上安装一个CentOS系统来学习

  1. 先安装 virtual machine(VM15)
  2. 再安装 Linux(CentOS7.6)
  3. 原理示意图,这里我们画图说明一下VM虚拟机和CentOS的关系

1610803406992.png

  1. 原理图解释
    安装VM15软件
    通过VM软件创建一个虚拟机空间
    通过VM软件在我们创建好的虚拟机空间上,安装CentOS操作系统
    使用CentOS
  2. CentOS下载地址:
    http://isoredirect.centos.org/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-1810.iso
  3. VM下载地址:
    https://my.vmware.com/cn/web/vmware/info/slug/desktop_end_user_computing/vmware_workstation_pro/15_0

VM软件的安装

  1. 去BIOS里修改设置开启虚拟化支持(一般为F2)
  2. 安装虚拟机软件VM ,修改安装路径,推荐选择D盘

1610803407040.png

  1. 将如下红框内的全部取消勾选

1610803407105.png

  1. 选择只在桌面创建快捷方式即可,根据自己需求进行抉择

1610803407148.png

  1. 最后选择安装

1610803407182.png

  1. 等待安装完成

1610803407221.png

  1. 输入许可证后点击输入,最后点击完成,软件安装完成

1610803407264.png

  • VM软件15.1版本的许可证密匙如下,一共有6个,只输入一个即可,如果不好使就换另一个进行输入。
    YG5H2-ANZ0H-M8ERY-TXZZZ-YKRV8
    UG5J2-0ME12-M89WY-NPWXX-WQH88
    UA5DR-2ZD4H-089FY-6YQ5T-YPRX6
    GA590-86Y05-4806Y-X4PEE-ZV8E0
    ZF582-0NW5N-H8D2P-0XZEE-Z22VA
    YA18K-0WY8P-H85DY-L4NZG-X7RAD

创建虚拟机空间

  1. 创建新的虚拟机

1610803407292.png

  1. 选择典型安装

1610803407336.png

  1. 选择稍后安装操作系统

1610803407381.png

  1. 选择Linux系统,版本选择CentOS7 64位

1610803407430.png

  1. 虚拟机名称自定义,这里区CentOS7 64位。安装位置推荐安装在VM软件的根目录下,便于管理

1610803407462.png

  1. 最大磁盘大小推荐20GB,选择将虚拟磁盘拆分成多个文件

1610803407511.png

  1. 最后点击完成

1610803407557.png

  1. 回到软件界面点击编辑虚拟机设置

1610803407600.png

  1. 内存推荐选择2GB

1610803407640.png

  1. 处理器数量选2个,内核数量4,处理器内核总数为8个,处理器内核数量最大不能超过自己本电脑的内核数量

1610803407680.png

  1. 查看自己电脑的处理器数量和每个处理器内核数量,打开任务管理器->性能,这时我们会看大一个处理器的内核为4个,逻辑处理器就是表示一共的内核数量为8,因此可以得出有两个CPU,也可以点击资源管理器->CPU,在右侧可以看到有多少个CPU,这里的一个CPU表示一个内核,可得一共有8个内核,为了Linux系统性能最好,选择使用2个处理器,4个内核。

1610803407721.png

1610803407772.png

  1. 硬盘空间设置,这里已经设置好了,为20GB

1610803407813.png

  1. 网络适配器选择NAT模式

1610803407851.png

难点:虚拟机的网络连接三种形式说明

  1. 桥连接:好处是Linux可以与其他系统通信,缺点,IP地址容易冲突;
    桥连接表示在同一个网络中,如果有一个叫张三的同学使用Windows系统电脑创建一个虚拟机并且安装Linux系统,如果Windows系统的IP为192.168.0.12,那Linux系统的IP地址就是192.168.0.17(17是自己取得),在同一个网络下IP地址的前缀192.168.0都一样,只是后缀不一样。
    这时在相同网络下又有一名叫李四的同学,利用Windows系统中VM虚拟机软件创建一个Linux系统,设Windows系统的IP为192.168.0.13.Linux系统的IP为192.168.0.89。
    由于IP地址的前缀一样,李四Windows以及Linux系统可以和张三的Windows和Linux系统相互通信,这有一个缺点,比如在一个网络中有200个同学,每个同学都创建一个Linux系统,然而在同一个网络中192.168.0.xxx,xxx的范围是1~254,因此这就造成IP地址的冲突。(见下图关系)
  2. NAT模式:网络地址转换方式,Linux可以访问外网,不会造成IP冲突;
    与桥连接完全不同,采用NAT模式时,如过李二利用他的Windows电脑创建一个Linux系统。设Windows系统在没有创建Linux时的IP为192.168.0.16,创建后的另一个IP为192.168.200.78,Windows一共有两个IP地址,那此时Linux系统的IP为192.168.200.23。
    李二电脑的Linux可以通过与本机Windows进行通信,也可以通过192.168.200.78->192.168.0.16与张三电脑的Windows和Linux进行通信,但是张三不能通过windows直接访问李二的Linux系统。
  3. 仅主机模式:Linux系统是一个独立的主机,不能访问外网;
    推荐选择NAT模式

网络连接三种形式说明图

1610803407888.png

CentOS安装

  1. 点击编辑虚拟机设置

1610803407933.png

  1. 选择CD/DVD,再选择使用ISO映像文件,点击浏览找到CentOS映像文件,推荐将映像文件放在软件目录下的CentOS 7.1 64bit文件夹下,有利于管理

1610803407978.png

  1. 回到主页点击开启此虚拟机

1610803408017.png

  1. 等待CentOS安装……
  2. 选择语言,选择中文

1610803408101.png

  1. 时间默认上海就可以,开始配置分区,点击安装位置,再点击我要配置分区,最后点击完成,接下开就是开始添加分区,一共需要添加3个分区,/boot分区,/swap分区,/(根分区).大小分别推荐为200MB,2048MB,使用剩下的全部空间。

1610803408152.png

1610803408201.png

  • 选择标准分区(现在改成Lvm,这是一个磁盘扩容技术)

1610803408243.png

  • 添加分区

1610803408277.png

  • /boot分区,一般200MB就够用了

1610803408314.png

  • Swap分区,推荐大小是2048MB->2GB

1610803408351.png

  • 根分区,使用剩下的全部空间

1610803408393.png

  • 点击左上角的完成,分区创建完成。

1610803408424.png

  1. 软件选择,每一个环境下都有相应的选项(右侧栏)

1610803408489.png

  • 最小安装
    选择调试工具和兼容性程序库,其余先不用选择
  • 计算节点
    选择调试工具和兼容性程序库,其余先不用选择
  • 基础设施服务
    选择调试工具和兼容性程序库,其余先不用选择
  • 文件及打印服务器
    选择调试工具和兼容性程序库,其余先不用选择
  • 基本网页服务器
    选择调试工具和兼容性程序库,其余先不用选择
  • 虚拟化主机
    选择调试工具和兼容性程序库,其余先不用选择
  • 带有GUI的服务器
    选择兼容性程序库,其余先不用选择
  • GNOME桌面
    选择GHOME应用程序和兼容性程序库,其余先不用选择
  • KDE Plasma Workspaces
    选择兼容性程序库,其余先不用选择
  • 开发及生成工作站
    选择兼容性程序库,其余先不用选择

最后点击左上角的完成……

  1. 由于是学习阶段,将kdump关闭,因为其会占用一些内存,在实际中必须打开。

1610803408531.png


1610803408579.png

  1. 等待安装源和软件选择检查完事后,点击开始安装

1610803408615.png

  1. 当安装完成后,设置ROOT密码,最后单击完成配置

1610803408653.png

  1. 等待配置完成后,点击重启

1610803408685.png

  1. 重启后要接受许可证,并点击右下角的完成配置

1610803408715.png

  1. 根据提示完成一些简单的配置
  2. 安装完成

1610803408768.png

安装vmtools

简介

  1. Vmtools安装后,可以让我们在windows下更好的管理VM虚拟机;
    可以直接使用粘贴命令在windows和centos系统之间
    可以设置windows和centos的共享文件夹

vmtools工具安装

  1. 在虚拟机中点击菜单栏的虚拟机选项->重新安装Vmware tools,如果你的Linux安装过,就会显示重新安装Vmware tools,点击即可,系统自动安装的Vmware tools,在进行共享文件夹时出现问题。
  2. 这时在桌面上点击Vmware Tools会查看到VMwareTools-10.3.10-12406962.tar.gz压缩包,先将该文件复制到桌面上。
  3. 然后将该压缩包复制到根目录下的opt文件夹,但是我们不能直接复制,因为需要权限,我们可以打开终端,获取root权限后复制到opt目录下。
  4. 获取root权限,打开终端输入sudo su 回车,然后输入自己的密码回车即可。
  5. 复制桌面文件到opt目录下,桌面也是一个文件,同样在根目录下,具体目录是 /home/用户名/桌面/VMwareTools-10.3.10-12406962.tar.gz,因此拷贝该文件到opt目录的指令如下:
    cp /home/crazyyang/桌面/VMwareTools-10.3.10-12406962.tar.gz /opt
  • 注意:源文件的路径结束后不能直接输入目标目录,应该加一个空格。
  1. 进入opt目录,在终端中输入cd /opt
  2. 输入ll指令查看,opt目录下的所有文件

1610803408798.png

  1. 解压Vmware tools压缩包,在终端中输入tar -zxvf VMwareTools-10.3.10-12406962.tar.gz,回车后输入ll,再次查看所有文件。

1610803408867.png

  1. 在终端中输入cd vmware-tools-distrib/,进入vmware-tools-distrib
  2. :在终端中输入./vmware-install.pl,开始安装vmware tools工具。
  3. 在后缀有[no]的输入y再回车,其余直接回车即可

1610803408867.png

  1. 安装成功标志

1610803408907.png

  1. 重新启动CentOS后vmware tools工具才能生效,在终端中输入reboot回车即可使Linux重新启动。

Vmware tools启动脚本未能正常运行

1610803408940.png

  打开终端,获取root权限,在终端中输入sudo su回车,然后输入你的密码并回车,最后在终端中输入vmware-uninstall-tools.pl回车卸载Vmware tools工具,最后重新安装。

这种办法有时也不好使,仅供参考。

共享文件夹的创建

基本介绍

  为了方便,可以设置一个共享文件夹,比如D:/MyShare,这样Windows和CentOS就可以共享文件了,但是在实际的公司开发中,文件的上传下载是需要使用远程方式实现的。

具体步骤

  1. 在VM软件下点击虚拟机/设置
  2. 点击选项,在左侧栏中选择共享文件夹,在右侧栏中勾选总是启用,然后把再点击添加,选择Windows下的共享文件夹的路径,并且起一个名称。

1610803408984.png


1610803409016.png


  1. 进入CentOS系统,进入到根目录下的mnt目录,再进入hgfs->MyShare,这个就是我刚才新建的共享文件夹,现在在Windows下的D:/MyShare中新建一个文本,并且输入Hello Linux!,保存后进入到CentOS中的/mnt/hgfs/MyShare,打开文本即可看到Hello Linux!

1610803409062.png

命令行下设置共享文件夹

首先,将虚拟机关掉,设置共享文件夹

1610803409103.png

  1. 启动虚拟机, 点击菜单栏中的虚拟机选中的”安装VMware Tools…”(如果已安装则显示重新”安装VMware Tools…”)
  2. 输入”mkdir /mnt/cdrom”在/mnt目录下新建一个名为cdrom的文件夹用来挂载光驱
  3. 输入“mount /dev/cdrom /mnt/cdrom”将cdrom挂载到/mnt/cdrom目录下
  4. 创建/usr/local/vmwaretools,目录
  5. 输入ls /mnt/cdrom, 查看/mnt/cdrom目录下的文件,输入cp /mnt/cdrom/VMwareTools-10.1.6-5214329.tar.gz /usr/local/vmwaretools,复制VMwareTools-10.1.6-5214329.tar.gz到/usr/local/vmwaretools目录下
  6. 切换到/usr/local/vmwaretools目录下,输入tar -zxvf VMwareTools-10.1.6-5214329.tar.gz 解压VMwareTools-10.1.6-5214329.tar.gz, 此时目录下会多出一个vmware-tools-distrb文件夹
  7. 输入“cd vmware-tools-distrib/”进入”vmware-tools-distri”目录,输入“./vmware-install.pl”安装,

注意:在安装的过程中,默认值有的是[no],不能直接回车,要修改成yes再回车,否则/mnt/hgfs/目录下不会出现自己设置的共享文件夹,其余一路回车即可

一些终端命令

  1. sudo su获取root权限
  2. rm -rvf /usr/lib/vmware-tools 删除vmware tools
  3. cp 源文件路径及文件全名(加后缀) 目标目录路径 拷贝一个文件到指定目录。
  4. reboot 重新启动Linux系统