Linux新员工入职培训准备的手册

Linux操作系统培训专用(20200716版)

1.Linux介绍

1.1 Linux历史
  • 早在Linux出现之前的二十年(大约在1970年代) ,就有一个相当稳定而成熟的作业系统存在了!那就是Linux的老大
    哥[Unix」

  • 1969年以前:-个没有完成的梦想: Bell, MIT与GE的「MulticsJ系统

  • 1969年: Ken Thompson的小型file server system

  • 1973年: Unix 的正式诞生, Ritchie 等人以C语言写出第一个正式Unix核心

  • 1977年:重要的Unix分支: BSD的诞生

  • 1979年:一个措手不及的版权宣告!

  • 1984年之一: x86架构的Minix诞生

  • 1984年之二: GNU与FSF计画的成立

  • 1988年:图形介面XFree86计画

  • 1991年:芬兰大学生Linus Torvalds的一则简讯: 1991年,芬兰的赫尔辛基大学的Linus Torvalds在BBS.上面贴了一则消息,宣称他以bash, gcc等工具写了一个小小的核心程式,这个核心程式可以在Intel的386机器上面运作,让很多人很感兴趣!从此开始了Linux平凡的路程!

    image-20200715091024491

2.认识Linux
  • Linux和windows- -样,就是一个操作系统,这个操作系统里头含有最主要的kernel以及kernel提供的工具,他提供了一个完整的作业系统当中最底层的硬体控制与资源管理的完整架构,这个架构是沿袭Unix良好的传统来的
    所以相当的稳定而功能强大!

    image-20200715091551087

image-20200716091043521

3.Linux发展史
  • 1993年,大约有100余名程序员参与了Linux内核代码编写/修改工作,此时Linux 0.99的代码有大约有十万行,用
    户大约有10万左右
  • 1994年3月, Linux1.0发布,代码量17万行, Linux的代码中也充实了对不同硬件系统的支持,大大的提高了跨平
    台移植性
  • 1995年,此时的Linux可在Intel.、Digital 以及Sun SPARC处理器上运行了,用户量也超过了50万
  • 1996年6月, Linux 2.0内核发布,此内核有大约40万行代码,并可以支持多个处理器。此时的Linux 已经进入了实
    用阶段
  • 1997年夏,大片《泰坦尼克号》在制作特效中使用的160台Alpha图形工作站中,有105台采用了Linux操作
  • 1998年是Linux迅猛发展的一年。小红帽高级研发实验室成立。4月Moilla 代码发布,成为linux图形界面上的王牌浏览器。Redhat 宣布商业支持计划,网络了多名优秀技术人员开始商业运作,Oracle 和Informix两家数据库厂商明确表示不支持Linux ,这个决定给予了Mysql数据库充分的发展机会。同年10月, InteI和Netscape宣布小额投资红帽软件,这被业界视作Linux获得商业认同的信号。
  • 1999年, 1BM宣布与Redhat公司建立伙伴关系,以确保Redhat在IBM机器上正确运行。三月,第一届 LinuxWorld大会的召开,象征Linux时代的来临。7月IBM启动对Linux的支持服务和发布了Linux DB2 ,从此结束了Linux得不到支持服务的历史,这可以视作Linux真正成为服务器操作系统一员的重 要里程碑
    2000年初始, Sun公司在Linux的压力下宣布Solaris8降低售价。事实上Linux对Sun造成的冲击远比对Windows来得大。2月Red Hat发布了嵌入式Linux的开发环境, Linux在嵌入式行业的潜力逐渐被发掘出来。在4月,拓林思公司宣布了推出中国首家Linux工程师认证考试,从此使Linux操作系统管理员的水准可以得到权威机构的资格认证,此举大大增加了国内Linux爱好者学习的热情
  • 2001年, Oracle宣布在OTN上的所有会员都可免费索取Oracle 9i的Linux版本,从几年前的"绝不涉足Linux系统"到
  • 如今的主动献媚,足以体现Linux的发展迅猛
  • 2003年1月, NEC宣布将在其手机中使用Linux操作系统,代表着linux成功进军手机领域
  • 2004年的第1月,本着"天下事分久必合,合久必分"之天理, SuSE嫁到了Novell , SCO继续顶着骂名四处强行"化缘
  • Asianux,MandrakeSoft也在五 年中首次宣布季度赢利
4.十大Linux发行版本

image-20200715092046461

5.国内Linux发行版本介绍
  • 发行套件版本

    • Redhat/centos

    • openSuse

    • Debian/ubuntu

      image-20200715092803080

2.Linux系统安装

2.1环境介绍:
  • 软件:VMware Workstation
  • 镜像文件:CentOS-7.4-x86_64-DVD-1708.iso
  • xshell远程连接工具
    • Xshell 是一个强大的安全终端模拟软件,它支持SSH1, SSH2, 以及Microsoft Windows 平台的TELNET 协议。Xshell 通过互联网到远程主机的安全连接以及它创新性的设计和特色帮助用户在复杂的网络环境中享受他们的工作。
2.1.1 VMware Workstation安装
  1. 下载软件

  2. 进入安装界面,单击【下一步】

    img

  3. 选择“我接受许可协议中的条款”, 单击【下一步】

    img

  4. 自定义程序的安装路径,路径不允许出现中文和空格,单击【下一步】

    img

  5. 取消勾选启动时检查产品更新和加入VMware客户体验提升计划,并单击【下一步】

    img

  6. 自定义创建VMware Workstation的快捷方式,并单击【下一步】

    img

  7. 单击【安装】

    img

8.等待安装完成,单击【许可证】,输入密钥【YA3W2-DEX5Q-481VY-MGXZC-XA8WA】,并单击【输入】。

img

img

  1. 单击【完成】,到此VMware Workstation就安装完成了。

    img

2.2 安装操作系统
  1. 下载镜像

  2. 安装操作系统

    • 新建虚拟机 => 选择自定义(高级) => 下一步

      img

  3. 选择安装来源 => 稍后安装操作系统(s) => 下一步

    image-20200715095129245

  4. 选择客户机操作系统 => Linux(L) => 下一步

    img

  5. 填写虚拟机名称 => 填写虚拟机安装位置 => 下一步

    img

  6. 处理器配置(根据电脑配置设置) => 下一步

    img

  7. 虚拟机内存配置(根据电脑配置设置) => 下一步

    img

  8. 设置网络类型 => 使用网络地址转换(NAT)(E) => 下一步

    img

  9. 选择I/O控制器类型 => LSI Logic(L) (推荐) => 下一步

    img

  10. 磁盘类型 => SCSI(S) (推荐) => 下一步

    img

  11. 磁盘设置 => 创建新虚拟磁盘 => 下一步

    img

  12. 磁盘大小设置(根据电脑配置设置) => 将虚拟磁盘拆分成多个文件(M) => 下一步

    img

  13. 磁盘重命名

    img

  14. 自定义硬件确认 => 完成

    img

  15. 虚拟机安装完成

    img

  16. 启动虚拟机 => 弹框点击是(Y)

    img

  17. 选中虚拟机 => 右键 => 设置

    img

18 . 选中下载好的ISO映像文件 => 确定

img

  1. 重新启动客户机(E)

    img

  2. 确定

    img

  3. 选中中间选项 Test thismedia & install CentOS 7

    img

  4. 加载安装数据

    img

  5. 选择安装过程中使用的语言 => 简体中文(中国) => 继续

    img

  6. 设置本地化 => 日期和时间(T) => 键盘(K) => 语言支持(L)

    img

  7. 软件 => 软件选择 => GNOME 桌面(注:最小安装是没有桌面,黑窗口) => 完成

    img

  8. 软件安装源机软件选择设置完成

    img

  9. 设置系统 => 安装位置 => 分区 => 自动配置分区 => 完成

    img

  10. 安装位置设置完毕

    img

  11. 设置网络和主机名(N) => 以太网打开 => 主机名设置

    img

  12. 所有设置完成后的界面 => 点击开始安装

    img

  13. 系统正在安装中 => 用户设置

    img

  14. 设置ROOT密码

    img

  15. 创建一个管理员用户

    img

  16. 用户设置完成 => 等待安装完成....

    img

  17. 安装完成 => 重启

    img

  18. 初始化设置

    img

  19. 接受许可协议

    img

  20. 完成配置

    img

  21. 点击头像登录

    img

  22. 输入密码 => 登录

    img

  23. 语言设置 => 前进(N)

    img

  24. 键盘设置 => 前进(N)

    img

  25. 键盘设置 img

  26. 隐私设置 => 前进(N)

    img

  27. 开始使用Centosimg

3.Linux常用命令

3.1 基本命令介绍:
  • cd

    • 使用方式: cd [dirName]

    • 说明:变换工作目录至dirName。其中dirName表示法可为绝对路径或相对路径。若目录名称省略,则变换至使用者的home directory (也就是刚login时所在的目录)。

    • 另外, ~表示为home directory的意思, .则是表示目前所在的目录, ..则表示目前目录位置的上一层目录。
      比如:

      • 切换用户

        su root
        
      • 绝对路径:

      cd /usr/src
      
      • 相对路径:
      cd ../usr/
      cd ~
      cd ..
      
  • pwd

    • 用于显示当前目录print work dir
      例如:

      [root@localhost ~]# pwd
      /root
      [root@localhost ~]# 
      
  • Is

    • 功能: |s命令是linux下最常用的命令。|Is命令 就是list的缩写
      缺省下|s用来打印出当前目录的清单。

      • 语法: Is [选项] [目录名]

        • 常用选项:

          -a, -all列出目录下的所有文件,包括以.开头的隐含文件
          -d, -directory将目录象文件-样显示,而不是显示其下的文件。
          -h, -human-readable以容易理解的格式列出文件大小(例如1K 234M 2G)
          -|除了文件名之外,还将文件的权限、所有者、文件大小等信息详细列出来。
          这些选项可以组合使用,比如ls -ahl /root/
          
          [root@localhost ~]# ls -a
          .   anaconda-ks.cfg  .bash_logout   .bashrc  CentOS-bk.tar.gz  .cshrc  Desktop    Downloads  .ICEauthority         iso     Music      Pictures  Public  .tcshrc    Videos    .Xauthority
          ..  .bash_history    .bash_profile  .cache   .config           .dbus   Documents  .esd_auth  initial-setup-ks.cfg  .local  nohup.out  .pki      .ssh    Templates  .viminfo
          
          #ls -d (只显示当前文件夹)
          [root@localhost ~]# ls -d
          .
          
          #ls -ld(只显示当前文件夹具体信息) 
          [root@localhost ~]# ls -ld
          dr-xr-x---. 17 root root 4096 Jul 15 10:27 .
          
          
          #ld -hl 
          #with -l, print sizes in human readable format
                                         (e.g., 1K 234M 2G)
                                         
          [root@localhost ~]# ls -hl
          total 5.9M
          -rw-------. 1 root root 2.0K Apr 23 09:00 anaconda-ks.cfg
          -rw-r--r--. 1 root root 2.4K Apr 23 10:11 CentOS-bk.tar.gz
          drwxr-xr-x. 2 root root    6 Apr 23 09:17 Desktop
          drwxr-xr-x. 2 root root    6 Apr 23 09:17 Documents
          drwxr-xr-x. 2 root root    6 Apr 23 09:17 Downloads
          -rw-r--r--. 1 root root 2.0K Apr 23 09:08 initial-setup-ks.cfg
          drwxr-xr-x. 2 root root   82 Jun 29 14:28 iso
          drwxr-xr-x. 2 root root    6 Apr 23 09:17 Music
          -rw-------. 1 root root 5.9M Apr 23 22:30 nohup.out
          drwxr-xr-x. 2 root root    6 Apr 23 09:17 Pictures
          drwxr-xr-x. 2 root root    6 Apr 23 09:17 Public
          drwxr-xr-x. 2 root root    6 Apr 23 09:17 Templates
          drwxr-xr-x. 2 root root    6 Apr 23 09:17 Videos
                                         
          
          
  • cat

    • 用于一次显示整个文件。
      例如:

      [root@localhost ~]# cat /etc/yum.repos.d/epel.repo 
      [epel]
      name=Extra Packages for Enterprise Linux 7 - $basearch
      baseurl=http://mirrors.aliyun.com/epel/7/$basearch
      failovermethod=priority
      enabled=1
      gpgcheck=0
      gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
      
      
  • mkdir

    • 功能:用来创建目录。

      mkdir xxx

    • 语法: mkdir [-p]

      -p参数:
      

      如果目录路径中的某些部分不存在,该命令会自动创建。

      如果目录路径中的某些部分不存在,该命令会自动创建。

      [root@localhost ~]# ls
      anaconda-ks.cfg  CentOS-bk.tar.gz  Desktop  Documents  Downloads  initial-setup-ks.cfg  iso  Music  nohup.out  Pictures  Public  Templates  Videos
      [root@localhost ~]# mkdir test
      [root@localhost ~]# ls
      anaconda-ks.cfg  CentOS-bk.tar.gz  Desktop  Documents  Downloads  initial-setup-ks.cfg  iso  Music  nohup.out  Pictures  Public  Templates  test  Videos
      
      
  • rm

    • 功能:删除文件。该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除。

      • 常用参数:

        -d直接把欲删除的目录的硬连接数据删成0 ,删除该目录。
        -f强制删除文件或目录。
        -i删除既有文件或目录之 前先询问用户。
        -r 递归处理,将指定目录下的所有文件及子目录一 并处理。
        
        [root@localhost ~]# rm -r test
        rm: remove directory ‘test’? y
        [root@localhost ~]# ls
        anaconda-ks.cfg  CentOS-bk.tar.gz  Desktop  Documents  Downloads  initial-setup-ks.cfg  iso  Music  nohup.out  Pictures  Public  Templates  Videos
        
  • mv

    • 语法:mv
      [选项]源文件或目录目标文件或目录

    • 功能:视mv命令中第二个参数类型的不同 (是目标文件还是目标目录),
      当第二个参数类型是目录时, mv命令将目录重命名或将其移至一个新的目录
      中。是文件时, mv命令完成文件重命名。

      • 参数:
      f : force强制的意思,如果目标文件已经存在,不会询问而直接覆盖。
      
  • cp mv

    • 语法: cp [options] <源文件或目录> <目标文件或目录>

    • 功能: cp命令可以将指定路径下的文件(目录)拷贝到(成)另-文件或目录中。

      • 选项:

        • + a保留链接和文件属性,递归拷贝目录,相当于下面的d、P、 r三个选项组合。
          + f覆盖已经存在目标文件而不提示。
          + p复制源文件内容后,还将把其修改时间和访问权限也复制到新文件中。
            -r若源文件是一目录文件,此时cp将递归复制该目录下所有的子目录和文件
          
  • chmod

    • 功能:用于改变文件或目录的访问权限。

      • 语法:
      chmod [选项]目标文件
      权限:r可读,w可写,x可执行。
      例如,对文件添加执行权限:
      chmod +x /root/run.sh
      
  • grep

    • 功能: grep命令用于查找文件里符合条件的字符串,并把匹配的行打
      印出来。

      • 语法: grep [选项]要查找的字符串要查找的文件

        选项: -i忽略大小写
        例如: grep -i home /root/test.txt
        
  • 管道符

    • 语法:

      command1| command2
      功能:把第一个命 令command1执行的结果作为command2的输
      入传给command2
      例子:
      Is /root| grep -i test
      
  • vi

    • vi是linux系统下的一个文本编辑工具,它有2种模式:

      • -般模式:可以查看、查找、替换、删除等操作(通过"vi 文件名’命令打开文件,默
          认进入一般模式)
          dd命令:删除光标所在行;
          dw命令:删除光标所在的词;
          yy命令:复制光标所在行;
          p命令:粘贴所复制的行到光标的下- -行;
          :w命令:保存当前文件;
          :wq命令:保存文件并退出;
          :q!命令:不保存退出。
        编辑模式:可以编辑文件内容(在一般模式下输入a或i或等进入编辑模式,按Esc键
          离开编辑模式,进入一般模式)
        

4.Linux常用操作

  • 查看硬件信息

    [root@localhost ~]# lspci
    00:00.0 Host bridge: Intel Corporation 440BX/ZX/DX - 82443BX/ZX/DX Host bridge (rev 01)
    00:01.0 PCI bridge: Intel Corporation 440BX/ZX/DX - 82443BX/ZX/DX AGP bridge (rev 01)
    00:07.0 ISA bridge: Intel Corporation 82371AB/EB/MB PIIX4 ISA (rev 08)
    00:07.1 IDE interface: Intel Corporation 82371AB/EB/MB PIIX4 IDE (rev 01)
    00:07.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 08)
    00:07.7 System peripheral: VMware Virtual Machine Communication Interface (rev 10)
    00:0f.0 VGA compatible controller: VMware SVGA II Adapter
    00:11.0 PCI bridge: VMware PCI bridge (rev 02)
    
    
  • 磁盘分区

    • 磁盘分区:
    [root@localhost ~]# fdisk /dev/sda parted
    WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
    switch off the mode (command 'c') and change display units to
    sectors (command 'u').
    Command (m for help):
    
    • 输入p查看当前分区:

      image-20200715110331999

    • 输入n新建分区:

      image-20200715110404707

    image-20200715110429502

  • 查看CPU信息

    [root@localhost ~]# lscpu
    Architecture:          x86_64
    CPU op-mode(s):        32-bit, 64-bit
    Byte Order:            Little Endian
    CPU(s):                4
    On-line CPU(s) list:   0-3
    Thread(s) per core:    1
    Core(s) per socket:    1
    Socket(s):             4
    NUMA node(s):          1
    Vendor ID:             GenuineIntel
    CPU family:            6
    Model:                 85
    Model name:            Intel(R) Xeon(R) Silver 4114 CPU @ 2.20GHz
    Stepping:              4
    CPU MHz:               2194.844
    BogoMIPS:              4389.68
    Hypervisor vendor:     VMware
    Virtualization type:   full
    L1d cache:             32K
    L1i cache:             32K
    L2 cache:              1024K
    L3 cache:              14080K
    NUMA node0 CPU(s):     0-3
    Flags:                 fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts nopl xtopology tsc_reliable nonstop_tsc eagerfpu pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single ibrs ibpb stibp fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 invpcid rtm mpx avx512f avx512dq rdseed adx smap clflushopt clwb avx512cd avx512bw avx512vl xsaveopt xsavec arat pku ospke spec_ctrl intel_stibp arch_capabilities
    
    
  • rpm包的安装与删除

    • yum仓库配置

      参考文档

      cd /etc/yum.repos.d/
      mv CentOS-Base.repo CentOS-Base.repo.bak
      yum-config-manager --add-repo=http://mirrors.nisco.cn/repo/Centos-7-nisco.repo
      yum clear all
      yum makecache fast
      

      image-20200716114329907

    [root@localhost ~]# yum -y install ftp
    Loaded plugins: fastestmirror, langpacks
    Loading mirror speeds from cached hostfile
     * base: mirrors.aliyun.com
     * extras: mirrors.aliyun.com
     * updates: mirrors.aliyun.com
    Resolving Dependencies
    --> Running transaction check
    ---> Package ftp.x86_64 0:0.17-67.el7 will be installed
    --> Finished Dependency Resolution
    
    
    • rpm包安装:

      image-20200715110637340

      -i :安装rpm包;
      -V :显示安装过程的详细信息;
      -h :显示安装进度;
      最后加rpm所在的路径。

    • rmp卸载:

      image-20200715110910043

  • 网络配置

    • 查看网卡信息

      [root@localhost ~]# nmcli connection show
      NAME         UUID                                  TYPE            DEVICE
      eno50338560  1f77d6f7-ad3a-4061-82d5-332ed0894034  802-3-ethernet  --
      eno16780032  44b5ae70-4c85-4475-b7ff-6b584b393739  802-3-ethernet  eno16780032
      eno33559296  1ccf4590-335a-441f-ba17-854a78d6b613  802-3-ethernet  --
      virbr0-nic   60c999b0-34ba-4dd6-85a3-f7a63cbc4350  generic         virbr0-nic
      virbr0       bffd0bf1-5503-4de3-afb0-4d0fe75ea007  bridge          virbr0
      
    • 查看活动的网络连接

      [root@localhost ~]# nmcli connection show -active
      NAME         UUID                                  TYPE            DEVICE
      eno16777984  329a55f6-56f8-4f58-89fe-d3221d353a8f  802-3-ethernet  eno16777984
      virbr0-nic   2479e6f3-7227-4199-8893-8a1ad815a10d  generic         virbr0-nic
      virbr0       3705152b-654a-4740-b244-efbddd068741  bridge          virbr0
      
    • 查看指定网卡的详细信息

      [root@localhost ~]# nmcli connection show eno16777984
      connection.id:                          eno16777984
      connection.uuid:                        329a55f6-56f8-4f58-89fe-d3221d353a8f
      connection.interface-name:              eno16777984
      connection.type:                        802-3-ethernet
      connection.autoconnect:                 yes
      connection.autoconnect-priority:        0
      connection.timestamp:                   1548145948
      connection.read-only:                   no
      省略部分输出
      
      
    • 显示设备的连接状态

      [root@localhost ~]# nmcli device status
      DEVICE       TYPE      STATE      CONNECTION
      virbr0       bridge    connected  virbr0
      eno16777984  ethernet  connected  eno16777984
      virbr0-nic   tap       connected  virbr0-nic
      lo           loopback  unmanaged  --
      
    • 显示所有设备网络设备详情信息

      [root@localhost ~]# nmcli device show
      GENERAL.DEVICE:                         virbr0
      GENERAL.TYPE:                           bridge
      GENERAL.HWADDR:                         52:54:00:DB:0A:63
      GENERAL.MTU:                            1500
      GENERAL.STATE:                          100 (connected)
      GENERAL.CONNECTION:                     virbr0
      GENERAL.CON-PATH:                       /org/freedesktop/NetworkManager/ActiveConnection/3
      IP4.ADDRESS[1]:                         192.168.122.1/24
      IP4.GATEWAY:
      IP6.GATEWAY:
      
      GENERAL.DEVICE:                         eno16777984
      GENERAL.TYPE:                           ethernet
      GENERAL.HWADDR:                         00:50:56:B0:77:F5
      GENERAL.MTU:                            1500
      GENERAL.STATE:                          100 (connected)
      GENERAL.CONNECTION:                     eno16777984
      GENERAL.CON-PATH:                       /org/freedesktop/NetworkManager/ActiveConnection/0
      WIRED-PROPERTIES.CARRIER:               on
      IP4.ADDRESS[1]:                         172.16.6.16/16
      IP4.GATEWAY:                            172.16.1.1
      IP4.DNS[1]:                             114.114.114.114
      IP6.ADDRESS[1]:                         fe80::250:56ff:feb0:77f5/64
      IP6.GATEWAY:
          省略部分输出
      
    • 显示指定网络设备的详细信息

      ketang [root@localhost ~]# nmcli device show eno16777984
      GENERAL.DEVICE:                         eno16777984
      GENERAL.TYPE:                           ethernet
      GENERAL.HWADDR:                         00:50:56:B0:77:F5
      GENERAL.MTU:                            1500
      GENERAL.STATE:                          100 (connected)
      GENERAL.CONNECTION:                     eno16777984
      GENERAL.CON-PATH:                       /org/freedesktop/NetworkManager/ActiveConnection/0
      WIRED-PROPERTIES.CARRIER:               on
      IP4.ADDRESS[1]:                         172.16.6.16/16
      IP4.GATEWAY:                            172.16.1.1
      IP4.DNS[1]:                             114.114.114.114
      IP6.ADDRESS[1]:                         fe80::250:56ff:feb0:77f5/64
      IP6.GATEWAY:
      
posted @ 2020-07-18 23:24  wangsk  阅读(356)  评论(0)    收藏  举报