【读书笔记】Linux系统管理初学者指南读书笔记1——第1-3章


本博客记录一下《Linux系统管理初学者指南》这本书的读书笔记,最近由于想做一些关于嵌入式的项目,所以需要对Linux系统进行学习,正好之前买过这本书,内容还可以,能作为入门阅读

第1章 了解并安装Linux系统

Linux系统的发展与特点

Linux的发展历史

  • Multics计划
  • UNIX系统:1970年为UNIX元年,1970年1月1日0:00在UNIX系统中作为计算机时间的起点
    • 类UNIX操作系统
  • MINIX系统
  • Linux系统:Linus
    • 系统内核:负责完成操作系统基本功能的程序,主要作用是负责统一管理计算机中的硬件资源,提供用户擦操作界面,提供应用程序的运行环境
      • Linux系统中的内核程序称为Kernel
  • GNU计划:世界知名的自由软件项目,决定了Linux系统自由、开放的属性
    • Kernel作为Linux系统的核心,只能实现系统的基本功能,而一个完整的Linux系统应该包括Kernel和应用程序两部分,而无论是Kernel还是Linux,其中的绝大部分应用程序属于GNU计划,遵守GNU计划中的GPL或LGPL协议
  • Linux的发行版本:作为用户使用的都是运行在内核之上的各种应用程序,很多公司或组织在Linux内核的基础上添加了各种管理工具和应用软件,构成了一个完整的操作系统
    • 将系统内核和应用软件封装在一起的操作系统成为Linux发行版,一般平时接触和使用的Linux系统都是Linux的发行版
    • RedHat Linux
      • Fedora
      • RHEL(RedHat Enterprise Linux)
    • CentOS(Community Enterprise Operation System,社区企业操作系统)
    • Debian
      • Ubuntu
      • Kali Linux
    • SUSE

Linux系统较为广泛的应用是网络服务器以及各种嵌入式系统

在VMware Workstation安装虚拟机

设置虚拟机的网络环境:

  • 桥接(bridged)模式:虚拟机像是一个独立主机,与物理主机是同等地位,可以通过物理主机的网卡访问外网,外部网络中的计算机也可以访问此虚拟机,桥接模式对应的虚拟网络名称为VMnet0

  • 仅主机(host-only)模式:仅主机模式对应的是虚拟网络VMnet1,这是一个独立的虚拟网络,与物理网络之间是隔离开的,所有设为仅主机模式的虚拟机之间以及虚拟机与物理主机之间可以相互通信,但它们与外部网络中的主机无法通信

  • NAT(网络地址转换)模式:NAT模式对应的虚拟网络是VMnet8,物理主机就像一台支持NAT功能的代理服务器,而虚拟机就像NAT的客户端一样,虚拟机可以使用物理主机的IP地址直接访问外部网络中的计算机,但由于NAT技术的特点,外部网络中的计算机无法主动与NAT模式下的虚拟机进行通信

Linux系统的基本操作

一个完整的Linux系统是由Kernel和各种应用软件组成的,Linux系统的桌面环境(X Window)也是由应用软件来提供的,负责X Window桌面环境的软件主要有两个:GNOME和KDE
X Window只是Linux系统的一个应用软件,并没有集成到Linux的内核中,因此用户可以根据需要选择是否运行图形界面

Shell

  • Linux系统的字符界面称为Shell(Shell本来是指系统的用户界面,为用户与系统内核进行交互操作提供了一种接口,图形界面和字符界面都属于Shell,图形界面的Shell称为GUI,字符界面的Shell称为CLI,由于Linux系统的操作以字符界面为主,因此Shell通常专指CLI)
  • Shell是Linux系统中的一个应用程序,将用户输入的命令解释成系统内核能理解的语言,命令执行后再将结果以用户可以理解的方式显示出来
  • Linux系统中负责提供Shell功能的软件有很多,比如sh、Csh、Zsh和Bash等,CentOS系统中默认使用的是Bash

启动Shell

Linux是一个多用户操作系统,可以同时接受多个用户登陆,而且还允许同一个用户从不同的终端进行多次登陆,在使用安装Linux系统的计算机时,虽然用户面对的也是一个物理终端设备,但可以在这一个物理终端上通过虚拟终端打开多个互不干扰,独立工作的页面

  • Linux中提供的虚拟终端默认有6个,其中第1个是图形界面,第2-6个则是字符界面,可以通过Ctrl+Alt+F1-F6在不同的虚拟终端进行切换,同时在字符界面下执行startx命令也可以进入图形界面(在Ubuntu中Ctrl+Alt+F1-F6代表不同的虚拟终端,而Ctrl+Alt+F7则是返回图形界面,书中描述的是CentOS)
  • 虚拟终端的缩写为tty,执行tty命令就可显示用户目前所在的终端编号

除了虚拟终端外,还有一种启动Shell的方式称为伪终端,缩写为pts,在图形界面中,右键打开终端即可弹出一个运行在图形环境中的字符界面窗口,这就是一个伪终端,在其中执行tty命令,其中的结果为/dev/pts/0,表示这是系统启动的第一个伪终端(伪终端的编号从0开始)

启动Shell后,可以看到类似于zyh@zyh-virtual-machine:~$的命令提示符,命令提示符是Linux字符界面的标志

  • zyh:表示当前登录的用户账户
  • zyh-virtual-machine:表示本机的主机名
  • :表示用户当前所在的位置,即工作目录(是一个特殊符号,泛指用户的家目录)
  • $:表示当前登录的是普通用户,如果是管理员用户则变为#
    可以通过Ctrl+C键发出中断信号来中断命令的运行

Shell命令格式

Shell命令由命令名、选项和参数共3个部分组成:
命令名 [选项] [参数](命令名、选项和参数之间必须用空格分隔)

  • 命令名:描述命令功能的英文单词或缩写
  • 选项:调节命令的具体功能
    • 选项通常以-开头,当有多个选项时,可以只使用一个-符号
    • 部分选项以--开头,这些选项通常是一个单词或词组
    • 少数命令的选项不需要-符号
  • 参数:命令的处理对象,可以是文件、目录或用户账号等内容

在Shell中,一行可以输入多条命令,命令之间用分号分隔,如果在一行命令后加上****符号,就表示另起一行继续输入
通过上下方向键可以找出曾经执行过的命令

关机与重启命令

  • 关机:poweroff
  • 重启:reboot
  • shutdown:既可以用来关机又可以用来重启
    • 立即关闭系统:shutdown -h now
    • 立即重启系统:shutdown -r now
    • 15分钟后关闭系统:shutdown -h +15
    • 10分钟后重启系统,并将信息发给登陆到本机中的各用户:shutdown -r +10 'The system will be rebooted!!'
    • 对于延时运行的关机重启操作,可以用shutdown -c命令或Ctrl+C组合键取消
    • 相比于poweroff和reboot命令,shutdown命令在执行前会给所有登陆用户发送警告信息,因次更加安全

第2章 文件和目录管理