aoe1231

知之为知之,不知为不知

Linux 入门

1、Linux 概述

1.1、操作系统概述

我们所熟知的计算机是由:硬件和软件所组成。

硬件:计算机系统中由电子,机械和光电元件等组成的各种物理装置的总称。

软件:是用户和计算机硬件之间的接口和桥梁,用户通过软件和计算机进行交流。

而操作系统,就是软件的一类。操作系统:是计算机软件的一种,它主要负责作为用户和计算机硬件之间的桥梁,调度和管理计算机硬件进行工作。

而计算机,如果没有操作系统,就是一堆无法使用的塑料而已。

1.2、初识 Linux

1.2.1、Linux 的诞生

Linux创始人:林纳斯 托瓦兹。Linux诞生于1991年,作者上大学期间,因为创始人在上大学期间经常需要浏览新闻和处理邮件,发现有的操作系统不好用,于是他决心自己写一个保护模式下的系统,这就是Linux的原型,当时他21岁,后来经过全世界网友的支持,现在能够兼容多种硬件,成为最为流行的服务器操作系统之一。

1.2.2、Linux 内核

Linux 系统的组成如下:

  • Linux 系统内核:提供系统最核心的功能,如:调度CPU、调度内存、调度文件系统、调度网络通讯、调度IO等;
  • 系统级应用程序:可以理解为出厂自带程序,可供用户快速上手操作系统,如:文件管理器、任务管理器、图片查看、音乐播放等。

比如,播放音乐,无论用户使用自带音乐播放器或是自行安装的第三方播放器,均是由播放器程序,调用内核提供的相关功能,由内核调度CPU解码,调度音响发声等。

可以看出,内核是Linux操作系统最核心的所在,系统级应用程序只是锦上添花。Linux 内核是免费开源的,任何人都可以下载内核源码并查看且修改。可以通过:https://www.kernel.org 去下载 Linux 内核。

1.2.3、Linux 发行版

内核是免费的、开源的,这也就代表了:

  • 任何人都可以获得并修改内核,并且自行集成系统级程序;
  • 提供了内核+系统级程序的完整封装,称之为 Linux 发行版。

目前市面上由非常多的 Linux 发行版,常用的知名的如 ubuntu、CentOS、redhat 等。

1.3、虚拟机

学习 Linux 系统,就需要有一个可用的 Linux 系统。我们可以借助虚拟机来获得可用的 Linux 系统环境。

虚拟机:借助虚拟化技术,我们可以在系统中,通过软件模拟计算机硬件,并给虚拟硬件安装真实的操作系统。

1.3.1、VMware WorkStation

下载地址:https://www.vmware.com/cn/products/workstation-pro.html

1.3.2、在 VMware 上安装 Linux 系统

准备 CentOS 操作系统 .iso 文件,下载网址:http://vault.centos.org/7.6.1810/isos/x86_64/ 。

或者直接使用如下链接下载:https://vault.centos.org/7.6.1810/isos/x86_64/CentOS-7-x86_64-DVD-1810.iso 。

 

1.4、远程连接 Linux 操作系统

对于操作系统的使用,有 2 种使用形式:

  • 图形化页面使用操作系统;
  • 以命令的形式使用操作系统。

不论是 Windows 还是 Linux 亦或是 MacOS 系统,都是支持这两种使用形式。

  • 图形化:使用操作系统提供的图形化界面,以获得图形化反馈的形式去使用操作系统;
  • 命令行:使用操作系统提供的各类命令,以获得字符反馈的形式去使用操作系统。

1.4.1、使用命令行学习 Linux 系统

尽管图形化是大多数人使用计算机的第一选择,但是在 Linux 操作系统上,这个选择被反转了。无论是企业开发亦或是个人开发,使用 Linux 操作系统,多数都是使用的命令行。

这是因为:

  • Linux 从诞生至今,在图形化界面的优化上,并未重点发力,所以 Linux 操作系统的图形化界面不好用、不稳定。
  • 在开发种,使用命令行形式,效率更高,更加直观,并且资源占用率低,程序运行更稳定。

2、Linux 基本命令

2.1、Linux 的目录结构

Linux 的目录结构是一个树型结构。Windows 系统可以拥有多个盘符,如C盘、D盘、Epan,Linux 没有盘符这个概念,只有一个根目录/,所有文件都在它下面。

2.2、Linux 路径的描述方式

在 Linux 系统中,路径之间的层级关系,使用:/ 来表示;在 Windows 系统中,路径之间的层级关系,使用:\ 来表示。

Linux 只有一个顶级目录,根目录,用 / 表示,出现在开头的 / 表示根目录,出现在后面的 / 表示层次关系;Windows 系统有多个顶级目录,即各个盘符。

2.3、Linux 命令入门

2.3.1、Linux 命令基础

学习 Linux,本质上是学习在命令行下熟练使用 Linux 的各类命令。

命令行:即 Linux 终端(Terminal),是一种命令提示符页面。以“纯字符”的形式操作系统,可以使用各种字符化命令对系统发出操作指令。

命令:即 Linux 程序。一个命令就是一个 Linux 程序。命令没有图形化页面,可以在命令行(终端)中提供字符化的反馈。

2.3.2、Linux 命令基础格式

无论是什么命令,用于什么用途,在 Linux 中,命令有其通用的格式:command [-options] [parameter]

  • command:命令本身;
  • -options:可选,非必填。命令的一些选项,可以通过选项控制命令的行为细节。
  • parameter:可选,非必填。命令的参数,多数用于命令的指向目标等。

2.4、ls 命令

ls 命令的作用是列出目录下的内容,语法细节如下:ls [-a -l -h] [linux 路径]

  • -a、-l、-h 是可选的选项;
  • Linux 路径是此命令的可选参数。

当不使用选项和参数,直接使用 ls 命令本体,表示以平铺形式,列出当前工作目录下的内容。

HOME 目录和工作目录:

  • 当前登录用户的 HOME 目录作为当前工作目录,所以 ls 命令列出的是 HOME 目录的内容;
  • HOME 目录:每个 Linux 操作用户在 Linux 系统的个人账户目录,路径在 /home/用户名。Windows 系统和 Linux 系统均设有用户的 HOME 目录。

2.4.1、ls 命令的参数

当 ls 不使用参数,表示列出当前工作目录的内容,即用户的 HOME 目录;当使用参数,ls 命令的参数表示:指定一个 Linux 路径,列出指定路径的内容。

2.4.2、ls 命令的 -a 选项

-a 选项表示 all 的意思,即列出全部的文件(包含隐藏的文件/文件夹,以 . 开头,表示是 Linux 系统的隐藏文件/文件夹,只要以 . 开头,就能自动隐藏)。

只有通过 -a 选项,才能看到这些隐藏的文件/文件夹。

2.4.3、ls 命令的 -l 选项

-l 选项表示以列表(竖向排列)的形式展示内容,并展示更多信息。-l 选项其实和图形化中,文件夹以列表形式排列是一个意思。

2.4.4、ls 命令的 -h 选项

-h 选项需要和 -l 选项搭配使用,以更加人性化的方式显示文件的大小单位。

2.5、cd 命令

cd 切换工作目录

当 Linux 终端(命令行)打开的时候,会默认用户的HOME目录作为当前的工作目录。我们可以通过cd命令,更改当前所在的工作目录。cd命令来自英文 Change Directory 。

语法:cd [Linux 路径]

  • cd命令无需选项,只有参数,表示要切换到哪个目录下;
  • cd命令直接执行,不写参数,表示回到用户的HOME目录。

2.6、pwd 命令

通过ls来验证当前的工作目录,其实是不恰当的。我们可以通过pwd命令,来查看当前所在的工作目录。pwd命令来自:Print Work Directory 。

语法:pwd

  • pwd 无选项,无参数,直接输入pwd即可。

pwd的作用是输出当前所在的工作目录。

2.7、相对路径和绝对路径

  • 相对路径:以当前目录为起点,描述路径的一种写法,路径描述无需以 / 开头;
  • 绝对路径:以根目录为起点,描述路径的一种写法,路径描述无需以 / 开头。

2.8、特殊路径符

  • [ . ]:表示当前目录,比如 cd ./Desktop 表示切换到当前目录下的 Desktop 目录内,和cd Desktop 效果一致;
  • [ .. ]:表示上一级目录,比如 cd .. 即可切换到上一级目录,cd ../.. 切换到上二级的目录;
  • [ ~ ]:表示 HOME 目录,比如 cd ~ 即可切换到 HOME 目录或 cd ~/Desktop,切换到 HOME 内的 Desktop 目录。

2.9、mkdir 命令

通过 mkdir 命令可以创建新的目录(文件夹),mkdir 来自英文:Make Directory 。

语法:mkdir [-p] [Linux路径]

  • 参数必填,表示Linux路径,即要创建的文件夹的路径,相对路径或绝对路径均可。
  • 选项可选,表示自动创建不存在的父目录,适用于创建连续多层级的目录。

注意:创建文件夹需要修改权限,请确保操作均在 HOME 目录内,不要在 HOME 外操作。涉及到权限问题,HOME 外无法成功。

2.10、文件操作命令

2.10.1、touch 创建文件

可以通过touch命令创建文件。

语法:touch [Linux文件路径名]

  • touch命令无选项,参数必填,表示要创建的文件路径,相对、绝对、特殊路径符均可以使用。

2.10.2、cat 命令查看文件内容

有了文件后,我们可以通过cat命令查看文件的内容。

语法:cat [Linux路径]

  • cat同样没有选项,只有必填参数,参数表示:被查看的文件路径名,相对、绝对、特殊路径符都可以使用。

2.10.3、more 命令查看文件内容

more命令同样可以查看文件内容,与cat不同的是:

  • cat是直接将内容全部显示出来;
  • more支持翻页,如果文件内容过多,可以一页页地展示。

语法:more [Linux路径]

  • 同样没有选项,只有必填参数,参数表示:被查看地文件路径,相对、绝对、特殊路径符都可以使用。
  • 在查看地过程中,通过空格翻页,通过q退出查看。

注意:Linux系统内置有一个文件,路径为: /etc/services ,可以使用more命令查看。

2.10.4、cp 命令复制文件、文件夹

cp 命令可以用于复制文件、文件夹,cp 命令来自英文单词:copy 。

语法:cp [-r] [参数1] [参数2]

  • -r 选项,可选,用于复制文件夹使用,表示递归;
  • 参数1,Linux 路径,表示被复制的文件或文件夹;
  • 参数2,Linux 路径,表示要复制去的地方。

2.10.5、mv 命令移动文件、文件夹

mv命令可以用于移动文件、文件夹,mv 命令来自英文单词:move 。

语法:mv [参数1] [参数2]

  • 参数1:Linux 路径,表示被移动的问价或文件夹;
  • 参数2:Linux 路径,表示要移动去的地方,如果目标不存在,则进行改名,确保目标存在。

2.10.6、rm 命令删除文件、文件夹

rm 命令可用于删除文件、文件夹。rm 命令来自英文单词:remove 。

语法:rm [-r -f] [参数1] [参数2] ... [参数N]

  • 同cp命令一样,-r 选项用于删除文件夹;
  • -f 表示force,强制删除(不会弹出提示确认信息)。普通用户删除内容不会弹出提示,只有root管理员用户删除内容会有提示,所以一般普通用户用不到-f选项。
  • 参数1、参数2、...、参数N表示要删除的文件或文件夹路径,按空格隔开。

rm删除文件、文件夹 - 通配符:rm命令支持通配符*,用来做模糊匹配

  • 符号 * 表示通配符,即匹配任意内容(包含空),示例:test* 表示匹配任何以test开头的内容;*test 表示匹配任何以test结尾的内容;*test* 表示匹配任何包含test的内容。

-f 强制删除选项,可以通过 su - root ,并输入密码 123456 (和普通用户默认一样) 临时切换到 root 用户体验。通过输入 exit 命令,退回普通用户。(临时用 root,用完记得退出,不要一直用)

注意:千万不要在 root (超级管理员) 用户下执行 rm -rf / 或 rm -rf /* ,效果等同于在 Windows 上执行C盘格式化。

2.11、文件查找相关命令

2.11.1、which 命令

我们可以通过 which 命令,查看所使用的一系列命令的程序文件存放在哪里。

语法:which [要查找的命令,如 cd 命令]

2.11.2、find 命令 - 按文件名称查找文件

在图形化中,我们可以方便地通过系统提供的搜索功能,搜索指定的文件。同样,在 Linux 系统中,我们可以通过 find 命令去搜索指定的文件。

语法:find [起始路径] -name "被查找的文件名"

  • 被查找的文件名,支持使用通配符 * 来做模糊查询。示例:test* 表示匹配任何以test开头的内容;*test 表示匹配任何以test结尾的内容;*test* 表示匹配任何包含test的内容。
  • 基于通配符的含义,可以结合 find 命令做文件的模糊查询。

2.11.3、find 命令 - 按文件大小查找文件

语法:find [起始路径] -size +或-n[kMG]

  • +、- 表示大于和小于;
  • n 表示大小数字;
  • kMG 表示大小单位, k(小写字母)表示kB,M表示MB,G表示GB。

2.12、grep、wc 和 管道符

2.12.1、grep 命令

可以通过 grep 命令,从文件中通过关键字过滤文件行。

语法:grep [-n] "关键字" [文件路径]

  • 选项 -n,可选,表示在结果中显示匹配的行和行号;
  • 参数,关键字,必填,表示过滤的关键字,带有空格或其他特殊符号,建议使用 "" 将关键字包围起来;
  • 参数,文件路径,必填,表示要过滤内容的文件路径,可作为内容输入端口

2.12.2、wc 命令做数量统计

可以通过 wc 命令统计文件的行数、单词数量。

语法:wc [-c -m -l -w] [文件路径]

  • 选项 -c:统计 bytes 数量;
  • 选项 -m:统计字符数量;
  • 选项 -l:统计行数;
  • 选项 -w:统计单词数量;
  • 参数,文件路径,被统计的文件,可作为内容输入端口

2.12.3、管道符

学习了 grep 命令后,我们再来学习一个新的特殊符号,管道符:|

管道符的含义是:将管道符左边命令的结果,作为右边命令的输入。如:cat text.txt | grep "test"

2.13、echo & tail & 重定向符 命令

2.13.1、echo 命令

可以使用 echo 命令在命令行中输出指定内容。

语法:echo [输出的内容]

  • 无需选项,只有一个参数,表示要输出的内容,复杂内容可以用 "" 包围。

2.13.2、反引号 `

看一下如下命令:echo pwd ,本意是想输出当前的工作路径,但是pwd被作为普通字符输出了。我们可以通过将命令用反引号( ` )将其包围,被反引号包围的内容,将被作为命令执行,而非普通字符。

2.13.3、重定向符

重定向符,即:> 和 >> 。

  • > :将左侧命令的结果,覆盖写入到符号右侧指定的文件中;
  • >> :将左侧命令的结果,追加写入到符号右侧指定的文件中。

只要是能产生结果的,都可以写。如: echo `pwd` > this-path.txt 表示将当前路径字符串写入 this-path.txt 文件中。

2.13.4、tail

使用 tail 命令,可以查看文件尾部内容,跟踪文件的最新更改,语法如下:

tail [-f -num] [Linux路径]

  • 参数,Linux 路径,表示被跟踪的文件路径名;
  • 选项 -f:表示持续跟踪;
  • 选项 -num:表示查看尾部多少行,不填默认10行。

3、vi / vim 编辑器

vi / vim 是 visual interface 的简称,是 Linux 中最经典的文本编辑器,同图形化界面中的文本编辑器一样,vi 是命令行下对文本文件进行编辑的绝佳选择。

vim 是 vi 的加强版本,兼容 vi 的所有指令,不仅能编辑文本,而且还具有 shell 程序编辑的功能,可以不同颜色的字体来辨别语法的正确性,极大地方便了程序的设计和编辑性。

3.1、vi / vim 编辑器的3种工作模式

  • 命令模式(Command mode):命令模式下,所敲的按键编辑器都理解为命令,以命令驱动执行不同的功能。此模式下,不能自由进行文本编辑。
  • 输入模式(Insert mode):也就是所谓的编辑模式、插入模式。此模式下,可以对文件内容进行自由编辑。
  • 底线命令模式(Last line mode):以 : 开始,通常用于文件的保存、退出(wq)。

3.1.1、命令模式

如果需要通过 vi / vim 编辑器编辑文件,请通过如下命令:

  • vi 文件路径
  • vim 文件路径

如果文件路径表示的文件不存在,那么此命令会用于编辑新文件;如果文件路径表示的文件存在,那么此命令用于编辑已有文件。

命令模式快捷键:

  • i:在当前光标位置进入输入模式;
  • a:在当前光标位置之后进入输入模式;
  • I(i的大写):在当前行的开头,进入输入模式;
  • A:在当前行的结尾,进入输入模式;
  • o:在当前光标下一行进入输入模式;
  • O:在当前光标上一行进入输入模式;
  • esc:任何情况下输入 esc 都能回到命令模式。
  • 键盘上、键盘K:向上移动光标;
  • 键盘下、键盘J:向下移动光标;
  • 键盘左、键盘H:向左移动光标;
  • 键盘右、键盘L:向右移动光标;
  • 0(数字):移动光标到当前行的开头;
  • $:移动光标到当前行的结尾;
  • pageup(PgUp):向上翻页;
  • pagedown(PgDn):向下翻页;
  • /:进入搜索模式;
  • n:向下继续搜索;
  • N:向上继续搜索;
  • dd:删除光标所在行的内容;
  • ndd:n是数字,表示删除当前光标向下n行;
  • yy:复制当前行;
  • nyy:n是数字,复制当前行和下面的n行;
  • p:粘贴复制的内容;
  • u:撤销修改;
  • ctrl + r:反向撤销修改;
  • gg:跳到首行;
  • G:跳到行尾;
  • dG:从当前行开始,向下全部删除;
  • dgg:从当前行开始,向上全部删除;
  • d$:从当前光标开始,删除到本行的结尾;
  • d0:从当前光标开始,删除到本行的开头。

3.1.2、底线命令模式

编辑模式没有什么特殊的,进入编辑模式后,任何快捷键都没有作用,就是正常输入文本而已。唯一大家需要记住的,就是通过esc,可以退回到命令模式中即可。

在命令模式内,输入 :  即可进入底线命令模式,支持如下命令:

  • :wq - 保存并退出;
  • :q - 仅退出;
  • :q! - 强制退出;
  • :w - 仅保存;
  • :set nu - 显示行号;
  • :set paste - 设置粘贴模式。

4、Linux 用户和权限

4.1、认知 root 用户(超级管理员)

无论是Windows、MacOS、Linux均采用多用户的管理模式进行权限管理。

  • 在Linux系统中,拥有最大权限的账户名为root(超级管理员);
  • 而在前期,我们一直使用的账户是普通的用户 testuser

root 用户拥有最大的系统操作权限,而普通用户在许多地方的权限是受限的(如普通用户无法在根目录下创建文件夹)。

普通用户的权限,一般在其HOME目录内是不受限的,一旦出了HOME目录,大多数地方,普通用户仅有只读和执行权限,无修改权限。

4.1.1、su 和 exit 命令

在前面,我们接触过su命令切换到root用户。su命令就是用户账户切换的系统命令,其来源英文单词为:Switch User 。

语法:su [-] [用户名]

  • - 符:是可选的,表示是否在切换用户后加载环境变量,建议带上;
  • 参数:用户名,表示要切换的用户,用户名也可以省略,省略表示切换到root;
  • 切换用户后,可以通过exit命令退回上一个用户,也可以使用快捷键:ctrl + d。

使用普通用户,切换到其他用户需要输入密码,如切换到root用户;

使用root用户,切换到其他用户无需输入密码,可以直接切换。

4.1.2、sudo 命令

在我们得知root密码的时候,可以通过su命令切换到root得到最大权限,但是我们不建议长期使用root用户,避免带来系统损坏,我们可以使用sudo命令,为普通的命令授权,临时以root身份执行。

语法:sudo [其他命令]

  • 在其他命令之前,带上sudo,即可为这一条命令临时赋予root授权;
  • 但是并不是所有用户,都有权力使用sudo,我们需要为普通用户配置sudo认证。

为普通用户配置sudo认证:

  • 切换到root用户,执行visudo命令,会自动通过vi编辑器打开:/etc/sudoers
  • 在文件的最后添加: test-user ALL=(ALL)  NOPASSWD: ALL     
  • 然后通过wq保存
  • 切换回普通用户
  • sudo执行的命令,均以root运行

4.2、用户、用户组

Linux系统中可以:

  • 配置多个用户;
  • 配置多个用户组;
  • 用户可以加入多个用户组中。

Linux中关于权限的管控级别有2个级别,分别是:

  • 针对用户的权限控制;
  • 针对用户组的权限控制。

比如,针对某文件,可以控制用户的权限,也可以控制用户组的权限。所以,我们需要学习在Linux中进行用户、用户组管理的基础命令,为后面学习权限控制打下基础。

4.2.1、用户组管理

以下命令需root用户执行:

  • 创建用户组:groupadd 用户组名
  • 删除用户组:groupdel 用户组名

4.2.2、用户管理

以下命令需root用户执行。

  • 创建用户:useradd [-g -d] 用户名 。选项-g:指定用户的组,不指定-g,会创建同名组并自动加入,指定-g需要组已经存在,如已经存在同名组,必须使用-g。选项-d:指定用户HOME路径,不指定,HOME目录默认在:/home/用户名。
  • 删除用户:userdel [-r] 用户名 。选项-r:删除用户的HOME目录,不使用-r,删除用户时,HOME目录保留。
  • 查看用户所属组:id [用户名] 。参数:用户名,被查看的用户,如果不提供则查看自身。
  • 修改用户所属组:usermod -aG 用户组 用户名 。将指定用户加入指定用户组。

4.2.2、getent 命令

使用 getent 命令,可以查看当前系统中有哪些用户。

语法:getent passwd

  • 结果如 admin:x:1000:1000:Test:/home/admin:/bin/bash ,共有7份信息,分别是:用户名:密码(x):用户id:组id:描述信息(无用):HOME目录:执行终端(默认bash)。

使用getent命令,同样可以查看当前系统中有哪些用户组。

语法:getnet group

  • 结果如 admin:x:1000:  ,共有3份信息,分别是:组名称:组认证(显示为x):组id

4.3、认知权限信息

其中:

  • r表示读权限:针对文件可以查看文件内容;针对文件夹表示可以查看文件夹内容,如ls命令;
  • w表示写权限:针对文件表示可以修改此文件;针对文件夹表示可以在文件夹内创建、删除、改名等操作;
  • x表示执行权限:针对文件表示可以将文件作为程序执行;针对文件夹表示可以更改工作目录到此文件夹,即cd进入。

通过ls -l 可以以列表形式查看内容,并显示权限细节,如 drwxrwxr-x. 4 testuser testuser-group 64 Jun 24 23:52 test 。

  • drwxrwxr-x - 表示文件、文件夹的权限控制信息; 如 drwxr-xr-x 表示:这是一个文件夹,用首字母d表示,所属用户的权限是有r有w有x,rwx,所属用户组的权限是有r无w有x,r-x(-表示无此权限),其他用户的权限是有r无w有x,r-x。
  • testuser - 表示文件、文件夹所属用户;
  • testuser-group - 表示文件、文件夹所属用户组;

4.4、chmod 命令修改权限信息

我们可以使用 chmod 命令修改文件、文件夹的权限信息。注意,只有文件、文件夹的所属用户或root用户可以修改。

语法:chmod [-R] 权限 文件或文件夹

  • 选项 -R:对文件夹内的全部内容应用同样的操作。

示例:chmod u=rwx,g=wx,o=x hello.txt,将文件权限修改为:rwxr-x--x,其中:u表示该文件所属user用户权限,g表示group组权限,o表示other其他用户权限。

除此之外,还有快捷写法:chmod 751 hello.txt ,将hello.txt文件的权限修改为751,那么问题来了,751表示什么意思呢?

4.4.1、权限的数字序号

权限可以用3位数字来代表,第1位数字表示用户权限,第2位表示用户组权限;第3位标识其他用户权限。数字的细节如下:r为4,w为2,x为1,可以有:

  • 0:即 --- ,无任何权限;
  • 1:即 --x ,仅有x权限;
  • 2:即 -w- ,仅有w权限;
  • 3:即 -wx ,有w和x权限;
  • 4:即 r-- ,仅有r权限;
  • 5:即 r-x ,有r和x权限;
  • 6:即 rw- ,有r和w权限;
  • 7:即 rwx ,有全部权限。

所以751表示rwx(7),r-x(5),--x(1)。

4.5、chown 命令修改文件、文件夹的所属用户、用户组

使用 chown 命令,可以修改文件、文件夹的所属用户和用户组。普通用户无法修改所属为其他用户或组,所以此命令只适用于root用户执行。

语法:chown [-R] [用户] [:] [用户组] 文件或文件夹

  • 选项 -R,同 chmod,对文件夹全部内容应用相同规则;
  • 选项 用户,修改所属用户;
  • 选项 用户组,修改所属用户组;
  • 选项 : ,用于分隔用户和用户组。

5、Linux 实用操作

5.1、各类小技巧(快捷键)

5.1.1、ctrl + c 强制停止

Linux 某些程序的运行,如果想要强制停止它,可以使用快捷键 ctrl + c 。

命令输入错误,也可以通过快捷键 ctrl + c,退出当前输入,重新输入。

注意:不能用于退出 vi / vim 。

5.1.2、ctrl + d 退出或登出

可以通过快捷键 ctrl + d ,退出账户的登录,或者退出某些特定程序的专属页面(如python)。

注意:不能用于退出 vi / vim 。

5.1.3、历史命令搜索

可以通过 history 命令,查看历史输入过的命令。可以通过 ! 命令前缀(如 !echo,echo是历史命令的前缀),自动执行上一次匹配前缀的命令。

可以通过快捷键 ctrl + r,输入内容去匹配搜索历史命令。如果搜索到的内容是你需要的,那么:① 回车键可以直接执行;② 键盘左右键,可以得到此命令(不执行)。

5.1.4、光标移动快捷键

  • ctrl + a,跳到命令开头;
  • ctrl + e,跳到命令结尾;
  • ctrl + 键盘左键,向左跳一个单词;
  • ctrl + 键盘右键,向右跳一个单词。

5.1.5、清屏

通过快捷键 ctrl + l(L的小写)或通过命令 clear,可以清空终端内容。

5.2、软件安装

5.2.1、Linux 系统的应用商店

操作系统安装软件有许多种方式,一般分为:

  • 下载安装包自行安装:如 Win 系统使用 exe 文件、msi 文件等,Mac 系统使用 dmg 文件、pkg 文件等;
  • 系统的应用商店内安装:如 Win 系统有 Microsoft Store 商店;如 Mac 系统有 AppStore 商店。

Linux 系统同样支持这两种方式。

5.2.2、yum 命令(CentOS系统)

yum:.rpm 包软件管理器,用于自动化安装配置 Linux 软件,并可以自动解决依赖问题。

语法:yum [-y] [install | remove | search] 软件名称

  • 选项 -y:自动确认,无需手动确认安装或卸载过程;
  • install:安装;
  • remove:卸载;
  • search:搜索。

yum 命令需要 root 权限,可以 su 切换到 root,或使用 sudo 提权。yum 命令需要联网。

如:yum [-y- install wget ,通过 yum 命令安装 wget 程序。

5.3、systemctl 命令控制软件的启动和关闭

Linux 系统有很多软件(内置或第三方)均支持使用systemctl命令控制:启动、停止、开机自启。能够被systemctl管理的软件,一般也称之为服务。

语法:systemctl start | stop | status | enable | disable 服务名。

  • start:启动;stop:关闭;status:查看状态;enable:开启开机自启;disable:关闭开机自启。

系统内置的服务比较多,比如:

  • NetworkManager:主网络服务;
  • network:副网络服务;
  • firewalld:防火墙服务;
  • sshd,ssh服务:FinalShell远程登录Linux使用的就是这个服务。

除了内置的服务以外,部分第三方软件安装后可以以用systemctl进行控制,如:

  • yum install -y ntp ,安装 ntp 软件,可以通过ntpd服务名,配合systemctl进行控制;
  • yum install -y httpd ,安装 apache 服务器软件,可以通过httpd服务名,配合systemctl进行控制。

部分软件安装后没有自动集成到systemctl中,我们可以手动添加。

5.4、ln 命令创建软链接

在系统中创建软链接,可以将文件、文件夹链接到其他位置,类似于 Windows 的快捷方式。

语法:ln -s 参数1 参数2

  • 选项 -s:创建软链接;
  • 参数1:被链接的文件或文件夹;
  • 参数2:要链接去的目的地。

示例:ls -s /etc/yum.conf ~/yum.conf

5.5、日期、时区

5.5.1、date 命令查看系统时间

通过 date 命令可以在命令行中查看系统的时间。

语法:date [-d] [+格式化字符串]

  • -d 按照给定的字符串显示日期,一般用于日期计算;
  • 格式化字符串:通过特定的字符串标记,来控制显示的日期格式:① %Y :年;② %y:年份后2位数字;③ %M:月份;④ %d:日;⑤ %H:小时;⑥ %M:分钟;⑦ %S:秒;⑧ %s:自 1970-01-01 00:00:00 UTC 到现在的秒数。

5.5.2、date 命令进行日期加减

-d 选项可以按照给定的字符串显示日期,一般用于日期计算,其中支持的时间标记为:year(年)、month(月)、day(日)、hour(小时)、minute(分钟)、second(秒)。-d 选项可以和格式化字符串配合一起使用。

示例:date -d "+1 day" +%Y%m%d ,按指定格式显示明天这个时刻的时间。

5.5.3、修改 Linux 时区

使用 root 权限,执行如下命令,修改时区为东8区:

# 将系统自带的 localtime 文件删除,并将 /usr/share/zoneinfo/Asia/Shanghai 文件链接为 /etc/localtime 文件。
rm -f /etc/localtime
sudo ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

5.5.4、ntp 程序自动校准系统时间

步骤:

# 安装ntp
yum -y install ntp
# 启动并设置开机自启
systemctl start ntpd
systemctl enable ntpd

当 ntpd 启动后会定期地帮助我们联网校准系统地时间。

也可以手动校准(需root权限):ntpdate -u ntp.aliyun.com ,通过阿里云提供地服务网址配合ntpdate(安装ntp后会附带这个命令)命令自动校准。

5.6、IP 地址、主机名

5.6.1、IP 地址

每一台联网地电脑都会有一个地址,用于和其他计算机进行通讯。IP地址主要有2个版本,V4版本和V6版本。IPV4版本地地址格式是a.b.c.d,其中abcd表示0-255的数字,如192.168.88.101就是一个标准的IP地址。

可以通过 ifconfig 命令查看本机的 IP 地址,如无法使用 ifconfig 命令,可以安装:yum -y install net-tools 。

5.6.2、特殊 IP 地址

127.0.0.1:这个IP地址用于指代本机。

0.0.0.0:可以用于指代本机,可以在端口绑定中用来确定绑定关系,在一些IP地址限制中,表示所有IP的意思,如放行规则设置为0.0.0.0,表示允许任意IP访问。

5.6.3、主机名

每一台电脑除了对外联络地址(IP地址)以外,也可以有一个名字,称之为主机名。无论是Windows或Linux系统,都可以给系统设置主机名。

在Linux中查看和修改主机名的方法:

# 查看主机名
hostname
# 修改主机名(需root)
hostnamectl set-hostname 主机名
# 重新登录即可看到主机名已经正确显示

5.7、域名解析

IP 地址实在是难以记忆,有没有什么办法可以通过主机名或替代的字符地址去代替数字化的IP地址呢?实际上,我们一直都是通过字符化的地址去访问服务器,很少指定IP地址。比如 www.baidu.com 这个网址就是域名。

访问 www.baidu.com 的流程如下:

DNS 服务器如 114.114.114.114. 8.8.8.8 等。

5.7.1、配置主机名映射

比如,Final Shell 是通过 IP 地址连接到的 Linux 服务器,那有没有可能通过域名(主机名)连接呢?

可以,我们只需要在 Windows 系统的 C:\Windows\System32\drivers\etc\hosts 文件中配置记录即可。

5.8、在 VMware Workstation 中配置 Linux 系统的固定IP地址

5.8.1、为什么需要固定IP?

当前我们虚拟机的Linux系统,其IP地址是通过DHCP服务获取的。

DHCP:动态获取IP地址,即每次重启设备后都会获取一次,可能导致IP地址频繁变更。

  • 原因1:办公电脑IP地址变化无所谓,但是我们要远程连接到Linux系统,如果IP地址经常变化我们就要频繁修改适配很麻烦。
  • 原因2:在刚刚我们配置了虚拟机IP和主机名的映射,如果IP频繁更改,我们也需要频繁更新映射关系。

综上所述,我们需要将IP地址固定下来。

5.8.2、在 Windows系统中的 VMware Workstation 中配置固定IP

配置固定IP需要2个大步骤:

  • 在 VMware Workstation 中配置IP地址网关和网段(IP地址的范围);
  • 在 Linux 系统中手动修改配置文件,固定IP。

5.9、网络传输

5.9.1、ping 命令

可以通过 ping 命令,检查指定的网络服务器是否是可以连通状态。

语法:ping [-c num] ip或主机名

  • 选项 -c:检查的次数,不使用 -c 选项,将无限次数持续检查;
  • 参数:ip或主机名,被检查的服务器的ip地址或主机名地址。

5.9.2、wget 命令

wget 是非交互式的文件下载器,可以在命令行内下载网络文件。

语法:wget [-b] url

  • 选项 -b:可选,后台下载,会将日志写入到当前工作目录的wget-log文件;
  • 参数 url:下载链接。

示例:

# 下载 apache-hadoop 3.3.0 版本
wget http://archive.apache.org/dist/hadoop/common/hadoop-3.3.0/hadoop-3.3.0.tar.gz
# 在后台下载
wget -b http://archive.apache.org/dist/hadoop/common/hadoop-3.3.0/hadoop-3.3.0.tar.gz
# 通过tail命令可以监控后台下载进度
tail -f wget-log

注意:无论下载是否完成,都会生成要下载的文件,如果下载失败,请及时清理未完成的不可用文件。

5.9.3、curl 命令

curl 可以发送http网络请求,可用于:下载文件、获取信息等。

语法:curl [-O] url

  • 选项 -O:用于下载文件,当url是下载链接时,可以使用此选项保存文件;
  • 参数 url:要发起请求的网络地址。

示例:

# 向 cip.cc 发起网络请求
curl cip.cc
# 通过 curl 下载 hadoop-3.3.0 安装包
curl -O http://archive.apache.org/dist/hadoop/common/hadoop-3.3.0/hadoop-3.3.0.tar.gz

5.9.4、端口

端口,是设备与外界通讯交流的出入口。端口可以分为物理端口和虚拟端口两类。

  • 物理端口:又可称之为接口,是可见的端口,如USB接口,RJ45网口,HDMI端口等;
  • 虚拟端口:指计算机内部的端口,是不可见的,是用来操作系统和外部进行交互使用的。

计算机程序之间的通讯,通过IP只能锁定计算机,但是无法锁定具体的程序。通过端口可以锁定计算机上具体的程序,确保程序之间进行沟通。

IP地址相当于小区地址,在小区内可以有许多住户(程序),而门牌号(端口)就是各个住户(程序)的联系地址。

Linux系统是一个超大号小区,可以支持65535个端口,这6万多个端口分为3类进行使用:

  • 公认端口:1~1023,通常用于一些系统内置或知名程序的预留使用,如SSH服务的22端口(Final Shell 远程连接 Linux 所使用的端口),HTTPS服务的443端口。非特殊需要,不要占用这个范围的端口。
  • 注册端口:1024~49151,通常可以随意使用,用于松散地绑定一些程序/服务。
  • 动态端口:49152~65535,通常不会固定绑定程序,而是程序对外进行网络连接时,用于临时使用。

5.9.5、查看端口占用

可以使用 nmap 命令去查看端口的占用情况。安装nmap:yum -y install nmap

语法:nmap 被查看的IP地址

也可以通过netstat命令,查看指定端口的占用情况。安装netstat:yum -y install net-tools

语法:netstat -anp grep 端口号

5.10、进程管理

5.10.1、进程

程序运行在操作系统中,是被操作系统所管理的。为管理运行的程序,每一个程序在运行的时候,便被操作系统注册为系统中的一个进程,并为每一个进程都分配一个独有的进程ID(进程号)。

5.10.2、查看进程

可以通过 ps 命令查看 Linux 系统中的进程信息。

语法:ps [-e -f]

  • 选项 -e:显示出全部的进程;
  • 选项 -f:以完全格式化的形式展示信息(展示全部信息)。

一般来说,固定用法就是:ps -ef 列出全部进程的全部信息。

我们可以使用管道符配合grep来进行过滤,如:ps -ef | grep xxx ,可以查询 xxx 命令的进程信息。过滤不仅仅过滤名称、进程号、用户ID等,都可以被grep过滤。

5.10.3、关闭进程

在 Windows 系统中,可以通过任务管理器选择进程后,点击结束进程从而关闭它。同样,在 Linux 中,可以通过 kill 命令关闭进程。

语法:kill [-9] 进程ID

  • 选项 -9:表示强制关闭进程。不使用此选项会向进程发送信号要求其关闭,但是否关闭看进程自身的处理机制。

5.11、主机状态

5.11.1、查看系统资源占用

可以通过top命令查看CPU、内存使用情况,类似Windows的任务管理器。默认每5秒刷新一次。

语法:top

  • 按 q 或 ctrl + c 退出。

5.11.2、top 命令内容详解

第1行:top(命令名称);19:12:45(当前系统时间);1 day(启动了1天);4 users(4个用户登录);load average(1、5、15分钟负载)

第2行:Tasks: 195 total(195个进程);1 running(1个进程在运行);193 sleeping(193个进程睡眠);1 stopped(1个停止进程);0 zombie(0个僵尸进程)

第2行:%Cpu(s)(CPU使用率);us(用户cpu使用率);sy(系统CPU使用率);ni(高优先级进程占用CPU时间百分比);id(空闲CPU率);wa(IO等待CPU占用率);hi(CPU硬件中断率);si(CPU软件中断率);st(强制等待占用CPU率)

第4行:Kib Mem(物理内存);total(总量);free(空闲);used(使用);buff/cache(buff和cache占用)

第5行:KiB Swap(虚拟内存/交换空间);total(总量);free(空闲);used(使用);buff/cache(buff和cache占用)

第6行为空行。

第7行:PID(进程ID);USER(进程所属用户);PR(进程优先级,越小越高);NI(负值表示高优先级,正值表示低优先级);VIRT(进程使用的虚拟内存,单位KB);RES(进程使用的物理内存,单位KB);SHR(进程使用的共享内存,单位KB);S(进程状态,S休眠,R运行,Z僵死,N负数优先级,I空闲);%CPU(进程CPU占用率);%MEM(进程内存占用率);TIME+(进程使用的CPU时间总计,单位10毫秒);COMMAND(进程的命令或名称或程序文件路径)。

5.11.3、top 命令选项

  • -p:只显示某个进程的信息;
  • -d:设置刷新时间,默认是5秒;
  • -c:显示产生进程的完整命令,默认是进程名;
  • -n:指定刷新次数,比如 top -n 3,刷新输出3次后退出;
  • -b:以非交互非全屏模式运行,以批次的方式执行top,一般配合-n指定输出几次统计信息,将输出重定向到指定文件,比如top -b -n 3 > /tmp/top.tmp;
  • -i:不显示任何闲置(idle)或无用(zombie)的进程;
  • -u:查找特定用户启动的进程。

5.11.4、top 交互式选项

当 top 以交互式运行(非-b选项启动),可以用以下交互式命令进行控制:

5.11.5、磁盘信息监控

使用 df 命令,可以查看硬盘的使用情况。

语法:df [-h]

  • 选项 -h:以更加人性化的单位显示。

可以使用iostat查看CPU、磁盘的相关信息。

语法:iostat [-x] [num1] [num2]

  • 选项 -x:显示更多信息;
  • num1:数字,刷新间隔;
  • num2:数字,刷新几次

注意:该设备每秒的传输次数(Indicate the number of transfers per second that were issued to the device),“一次传输”的意思是“一次I/O请求”。多个逻辑请求可能会被合并为“一次I/O请求”。“一次传输”请求的大小是未知的。

5.11.6、网络状态监控

可以使用sar命令查看网络的相关统计(sar命令非常复杂,这里仅简单用于统计网络)。

语法:sar -n DEV num1 num2

  • 选项 -n:查看网络,DEV表示查看网络接口;
  • num1:刷新间隔(不填就查看一次结果);
  • num2:查看次数(不填就是无限次数)。

5.12、环境变量

命令本质上就是一个个的可执行程序,比如 cd 命令的本体就是:/usr/bin/cd 这个程序文件。那么,为何无论当前工作目录在哪里,都能执行 /user/bin/cd 这个程序呢?

环境变量是操作系统(Windows、Linux、Mac)在运行的时候,记录的一些关键性信息,用以辅助系统运行。

在 Linux 系统中执行 env 命令即可查看当前系统中记录的环境变量。环境变量是一种  KeyValue 型结构,即名称和值。而上面提出的问题中,我们说无论当前工作目录是什么,都能执行 /usr/bin/cd 这个程序,这个就是借助环境变量中的 PATH 这个键的值来做到的。

PATH 记录了系统执行任何命令的搜索路径,路径之间用 : 隔开,当执行任何命令,都会按照顺序,从上述路径中搜索要执行的程序的本体。

5.12.1、$ 符号

在 Linux 系统中, $ 符号被用于取“变量”的值。环境变量记录的信息,除了给操作系统使用外,如果我们想要取用,也可以使用。

取得环境变量的值就可以通过语法: $环境变量名  来取得。

比如 echo $PATH ,就可以取得 PATH 这个环境变量的值,并通过echo语句输出出来。当和其他内容混合在一起的时候,可以通过 {} 来标注取的变量是谁。

5.12.2、自行设置环境变量

Linux 环境变量可以用户自行设置,其中分为:

  • 临时设置,语法:export 变量名=变量值;
  • 永久生效:① 针对当前用户生效,配置在当前用户的 ~/bashrc 文件中;② 针对所有用户生效,配置在系统的 /etc/profile 文件中。

并通过语法 source 配置文件 ,进行立刻生效,或重新登录 Final Shell 生效。

5.12.3、自定义环境变量 PATH

环境变量 PATH 这个项目里面记录了系统执行命令的搜索路径。这些搜索路径我们也可以自行添加到 PATH 中去。

方式:在配置文件(如 /etc/profile)中写入: export PATH=${PATH}:自定义路径    ,表示在原来的 PATH 路径中追加自定义路径。

5.13、上传 & 下载

我们可以通过 FinalShell 工具,方便地和虚拟机进行数据交换。在 FinalShell 软件地下方窗体中,提供了 Linux 的文件系统视图,可以方便地:

  • 浏览文件系统,找到合适的文件,右键点击下载,即可传输到本地电脑;
  • 浏览文件系统,找到合适的目录,将本地电脑的文件扩展进入,即可方便地上传数据到 Linux 中。

5.13.1、rz、sz 命令上传和下载

我们也可以通过rz、sz命令进行文件传输。rz、sz命令需要安装,可以通过 yum -y install lrzsz 即可安装。

  • rz命令:进行上传,语法:直接输入 rz 即可;
  • sz命令:进行下载,语法:sz 要下载的文件 。文件会自动下载到桌面的 fsdownload 文件夹中。

注意:rz、sz 命令需要终端软件支持才可正常运行,FinalShell、SecureCRT、XShell 等常用终端软件均支持此操作。

5.14、压缩 & 解压

5.14.1、压缩格式

市面上有非常多的压缩格式:

  • zip 格式:Linux、Windows、MacOS 常用;
  • 7zip 格式:Windows 常用;
  • rar 格式:Linux、MacOS 常用;
  • tar 格式:Linux、MacOS 常用;
  • gzip 格式:Linux、MacOS 常用。

在 Windows 系统中常用的软件如 winrar、bandzip 等软件,都支持各类常见的压缩格式,这里不多做讨论。在 Linux 系统中主要为 tar、gzip、zip 这3中压缩格式。

5.14.2、tar 命令

Linux 和 Mac 系统常用有2中压缩格式,后缀名分别是:

  • .tar :称之为 tarball 归档文件,即简单地将文件组装到一个 .tar 的文件内,并没有太多文件体积的减少,仅仅是简单的封装;
  • .gz :也常见为 .tar.gz ,gzip 格式压缩文件,即使用 gzip 压缩算法将文件压缩到一个文件内,可以极大地减少压缩后的体积。

针对这2种格式,使用 tar 命令均可以进行压缩和解压缩的操作。

语法:tar [-c -v -x -f -z -C] 参数1 参数2 ... 参数N

  • -c :创建压缩文件,用于压缩模式;
  • -v :显示压缩,解压过程,用于查看进度;
  • -x :解压模式;
  • -f :要创建的文件,或要解压的文件,-f 选项必须在所有选项中位置处于最后一个;
  • -z :gzip 模式,不使用 -z 就是普通的 tarball 格式;
  • -C :选择解压的目的地,用于解压模式。

5.14.3、tar 命令压缩

常用的 tar 压缩组合为:

  • tar -cvf test.tar 1.txt 2.txt 3.txt ,表示将 1.txt、2.txt、3.txt 压缩到 test.tar 文件内;
  • tar -zcvf test.tar.gz 1.txt 2.txt 3.txt ,表示将 1.txt、2.txt、3.txt 压缩到 test.tar.gz 文件内,使用 gzip 模式。

注意:

  • -z 选项如果使用的话,一般处于选项位第1个;
  • -f 选项必须在选项位最后一个。

5.14.4、tar 命令解压

常用的 tar 解压组合有:

  • tar -xvf test.tar ,表示解压 test.tar ,将文件解压至当前目录;
  • tar -xvf test.tar -C /home/test-user ,表示解压 test.tar ,将文件解压至指定目录 /home/test-user ;
  • tar -zxvf test.tar.gz -C /home/test-user ,表示以 Gzip 模式解压 test.tar.gz ,将文件解压至指定目录 /home/test-user 。

注意:

  • -f 选项,必须在选项组合体的最后一位;
  • -z 选项,建议在开头位置;
  • -C 选项单独使用,和解压所需的其他参数分开。

5.14.5、zip 命令压缩文件

可以使用 zip 命令,压缩文件为 zip 压缩包。

语法:zip [-r] 参数1 参数2 ... 参数N 。

  • -r :被压缩的包含文件夹的时候,需要使用 -r 选项,和 rm、cp 等命令的 -r 效果一致。

示例:

  • zip test.zip a.txt b.txt c.txt ,表示将 a.txt b.txt c.txt 压缩到 test.zip 文件内;
  • zip -r test.zip test test.txt ,表示将 test文件夹 和 test.txt文件压缩到 test.zip 文件内。

5.14.6、unzip 命令解压文件

使用 unzip 命令,可以方便地解压 zip 压缩包。

语法:unzip [-d] 参数

  • -d :指定要解压去的位置,同 tar 的 -C 选项;
  • 参数:被解压的 zip 压缩包文件。

示例:

  • unzip test.zip ,将 test.zip 解压到当前目录;
  • unzip test.zip -d /home/test-user ,将 test.zip 解压到指定文件夹 /home/test-user 。

 

posted on   啊噢1231  阅读(81)  评论(0编辑  收藏  举报

导航

统计信息

回到顶部
点击右上角即可分享
微信分享提示

1、Linux 概述
1.1、操作系统概述
1.2、初识 Linux
1.2.1、Linux 的诞生
1.2.2、Linux 内核
1.2.3、Linux 发行版
1.3、虚拟机
1.3.1、VMware WorkStation
1.3.2、在 VMware 上安装 Linux 系统
1.4、远程连接 Linux 操作系统
1.4.1、使用命令行学习 Linux 系统
2、Linux 基本命令
2.1、Linux 的目录结构
2.2、Linux 路径的描述方式
2.3、Linux 命令入门
2.3.1、Linux 命令基础
2.3.2、Linux 命令基础格式
2.4、ls 命令
2.4.1、ls 命令的参数
2.4.2、ls 命令的 -a 选项
2.4.3、ls 命令的 -l 选项
2.4.4、ls 命令的 -h 选项
2.5、cd 命令
2.6、pwd 命令
2.7、相对路径和绝对路径
2.8、特殊路径符
2.9、mkdir 命令
2.10、文件操作命令
2.10.1、touch 创建文件
2.10.2、cat 命令查看文件内容
2.10.3、more 命令查看文件内容
2.10.4、cp 命令复制文件、文件夹
2.10.5、mv 命令移动文件、文件夹
2.10.6、rm 命令删除文件、文件夹
2.11、文件查找相关命令
2.11.1、which 命令
2.11.2、find 命令 - 按文件名称查找文件
2.11.3、find 命令 - 按文件大小查找文件
2.12、grep、wc 和 管道符
2.12.1、grep 命令
2.12.2、wc 命令做数量统计
2.12.3、管道符
2.13、echo & tail & 重定向符 命令
2.13.1、echo 命令
2.13.2、反引号 `
2.13.3、重定向符
2.13.4、tail
3、vi / vim 编辑器
3.1、vi / vim 编辑器的3种工作模式
3.1.1、命令模式
3.1.2、底线命令模式
4、Linux 用户和权限
4.1、认知 root 用户(超级管理员)
4.1.1、su 和 exit 命令
4.1.2、sudo 命令
4.2、用户、用户组
4.2.1、用户组管理
4.2.2、用户管理
4.2.2、getent 命令
4.3、认知权限信息
4.4、chmod 命令修改权限信息
4.4.1、权限的数字序号
4.5、chown 命令修改文件、文件夹的所属用户、用户组
5、Linux 实用操作
5.1、各类小技巧(快捷键)
5.1.1、ctrl + c 强制停止
5.1.2、ctrl + d 退出或登出
5.1.3、历史命令搜索
5.1.4、光标移动快捷键
5.1.5、清屏
5.2、软件安装
5.2.1、Linux 系统的应用商店
5.2.2、yum 命令(CentOS系统)
5.3、systemctl 命令控制软件的启动和关闭
5.4、ln 命令创建软链接
5.5、日期、时区
5.5.1、date 命令查看系统时间
5.5.2、date 命令进行日期加减
5.5.3、修改 Linux 时区
5.5.4、ntp 程序自动校准系统时间
5.6、IP 地址、主机名
5.6.1、IP 地址
5.6.2、特殊 IP 地址
5.6.3、主机名
5.7、域名解析
5.7.1、配置主机名映射
5.8、在 VMware Workstation 中配置 Linux 系统的固定IP地址
5.8.1、为什么需要固定IP?
5.8.2、在 Windows系统中的 VMware Workstation 中配置固定IP
5.9、网络传输
5.9.1、ping 命令
5.9.2、wget 命令
5.9.3、curl 命令
5.9.4、端口
5.9.5、查看端口占用
5.10、进程管理
5.10.1、进程
5.10.2、查看进程
5.10.3、关闭进程
5.11、主机状态
5.11.1、查看系统资源占用
5.11.2、top 命令内容详解
5.11.3、top 命令选项
5.11.4、top 交互式选项
5.11.5、磁盘信息监控
5.11.6、网络状态监控
5.12、环境变量
5.12.1、$ 符号
5.12.2、自行设置环境变量
5.12.3、自定义环境变量 PATH
5.13、上传 & 下载
5.13.1、rz、sz 命令上传和下载
5.14、压缩 & 解压
5.14.1、压缩格式
5.14.2、tar 命令
5.14.3、tar 命令压缩
5.14.4、tar 命令解压
5.14.5、zip 命令压缩文件
5.14.6、unzip 命令解压文件