Linux入门学习笔记——Linux系统概述

314 阅读7分钟

1. Linux 系统启动过程

  • 内核的引导

  • 运行 init

  • 系统初始化

  • 建立终端

  • 用户登录系统

图片9.png

2. Linux 系统目录结构

图片10.png

3. Linux 文件基本属性

Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux 系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。

在 Linux 中我们通常使用以下两个命令来修改文件或目录的所属用户与权限:

  • chown (change owner) : 修改所属用户与组。

  • chmod (change mode) : 修改用户的权限

使用ll或者 ls –l 命令来显示一个文件的属性以及文件所属的用户和组。

图片11.png

实例中,bin 文件的第一个属性用 d 表示。d 在 Linux 中代表该文件是一个目录文件。在 Linux 中第一个字符代表这个文件是目录、文件或链接文件等等。

图片12.png

从左至右用 0-9 这些数字来表示。第 0 位确定文件类型,第 1-3 位确定属主(该文件的所有者)拥有该文件的权限。第4-6位确定属组(所有者的同组用户)拥有该文件的权限,第7-9位确定其他用户拥有该文件的权限。其中,第 1、4、7 位表示读权限,如果用 r 字符表示,则有读权限,如果用 - 字符表示,则没有读权限;第 2、5、8 位表示写权限,如果用 w 字符表示,则有写权限,如果用 - 字符表示没有写权限;第 3、6、9 位表示可执行权限,如果用 x 字符表示,则有执行权限,如果用 - 字符表示,则没有执行权限。

4. Linux 文件与目录管理

我们知道Linux的目录结构为树状结构,最顶级的目录为根目录 /

绝对路径: 路径的写法,由根目录 / 写起,例如: /usr/share/doc 这个目录。

相对路径: 例如由 /usr/share/doc 要到 /usr/share/man 底下时,可以写成: cd ../man

  • ls(英文全拼:list files): 列出目录及文件名
  • cd(英文全拼:change directory):切换目录
  • pwd ( 英文全拼:print work directory):显示目前的目录
  • mkdir(英文全拼:make directory):创建一个新的目录
  • rmdir(英文全拼:remove directory):删除一个空的目录
  • cp(英文全拼:copy file): 复制文件或目录
  • rm(英文全拼:remove): 删除文件或目录
  • mv(英文全拼:move file): 移动文件与目录,或修改文件与目录的名称

5. Linux 用户和用户组管理

Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。

每个用户账号都拥有一个唯一的用户名和各自的口令。用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的主目录。

6. Linux 磁盘管理

Linux 磁盘管理好坏直接关系到整个系统的性能问题。

Linux 磁盘管理常用三个命令为 dfdufdisk

  • df(英文全称:disk full):列出文件系统的整体磁盘使用量

  • du(英文全称:disk used):检查磁盘空间使用量

  • fdisk:用于磁盘分区

7. Linux vi/vim

所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在。vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计。

7.1 什么是 vim

Vim 是从 vi 发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。简单的来说,vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。vim 则可以说是程序开发者的一项很好用的工具。

7.2 vi/vim 的使用

基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Last line mode)。

命令模式

用户刚刚启动 vi/vim,便进入了命令模式。此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。

以下是常用的几个命令:

  • i 切换到输入模式,以输入字符。
  • x  删除当前光标所在处的字符。
  • : 切换到底线命令模式,以在最底一行输入命令。

若想要编辑文本:启动Vim,进入了命令模式,按下i,切换到输入模式。命令模式只有一些最基本的命令,因此仍要依靠底线命令模式输入更多命令。

输入模式:

在命令模式下按下 i 就进入了输入模式。

  • 字符按键以及Shift组合,输入字符
  • ENTER,回车键,换行
  • BACK SPACE,退格键,删除光标前一个字符
  • DEL,删除键,删除光标后一个字符
  • 方向键,在文本中移动光标
  • HOME/END,移动光标到行首/行尾
  • Page Up/Page Down,上/下翻页
  • Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
  • ESC,退出输入模式,切换到命令模式

底线命令模式:

在命令模式下按下 :(英文冒号)就进入了底线命令模式。底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。

  • q  退出程序
  • w  保存文件

按ESC键可随时退出底线命令模式。

8. Linux yum 命令

yum( Yellow dog Updater, Modified) 是一个在 Fedora 和 RedHat 以及 SUSE 中的 Shell 前端软件包管理器。基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

yum常用命令:

  •  列出所有可更新的软件清单命令:yum check-update
  •  更新所有软件命令:yum update
  •  仅安装指定的软件命令:yum install <package_name>
  •  仅更新指定的软件命令:yum update <package_name>
  •  列出所有可安裝的软件清单命令:yum list
  •  删除软件包命令:yum remove <package_name>
  •  查找软件包命令:yum search <keyword>
  • 清除缓存目录下的软件包:yum clean packages
  • 清除缓存目录下的 headers:yum clean headers
  • 清除缓存目录下旧的 headers:yum clean oldheaders
  • 清除缓存目录下的软件包及旧的 headers:yum clean, yum clean all (= yum clean packages; yum clean oldheaders)

9. Linux apt 命令

apt(Advanced Packaging Tool) 是一个在 Debian 和 Ubuntu 中的 Shell 前端软件包管理器。apt 命令执行需要超级管理员权限(root)。

apt 常用命令:

  • 列出所有可更新的软件清单命令:sudo apt update
  • 升级软件包:sudo apt upgrade
  • 列出可更新的软件包及版本信息:apt list --upgradeable
  • 升级软件包,升级前先删除需要更新软件包:sudo apt full-upgrad
  • 安装指定的软件命令:sudo apt install <package_name>
  • 安装多个软件包:sudo apt install <package_1> <package_2> <package_3>
  • 更新指定的软件命令:sudo apt update <package_name>
  • 显示软件包具体信息,例如:版本号,安装大小,依赖关系等等:sudo apt show <package_name>
  • 删除软件包命令:sudo apt remove <package_name>
  • 清理不再使用的依赖和库文件: sudo apt autoremove
  • 移除软件包及配置文件: sudo apt purge <package_name>
  • 查找软件包命令: sudo apt search <keyword>
  • 列出所有已安装的包:apt list --installed
  • 列出所有已安装的包的版本信息:apt list --all-versions