两天速成Linux期末考试知识点!华南农业大学Linux期末考试考纲笔记

目录

第一讲

Linux的起源、历史、特点、定义

GNU GPL

常见的发行版本

商业、共享、自由和免费软件的区别和联系

第二讲

Linux的安装方式(区别和联系,如何选择)、安装过程、远程连接方式

安装方式:

远程连接方式:

Linux内核版本号

Linux目录结构、常见目录的作用和存放内容

Linux系统结构图、主要组件构成

关机、重启命令

关机

重启

说明文档查看

第三讲

3.1 Linux交互方式

3.2 shell的作用、种类、默认shell

3.3 Shell的功能

3.5 文件类型、相对路径、绝对路径、用户主目录、特殊目录

文件类型

绝对路径

相对路径

用户主目录

特殊目录

第四讲

4.1 用户类型

超级用户

普通用户

系统用户

4.2 /etc/passwd 作用和内容

4.3 /etc/shadow 作用

4.4 /etc/group 作用

4.5 常用指令

4.6软连接和硬连接的区别和联系

4.7 常见正则表达式

第五讲

5.1 常用指令

cal

date

su

which / whereis

5.2 vi三种模式的功能、切换

【命令模式】:

【插入模式】:

【末行模式】:

5.3 vi与shell交互

5.6 课后补充 + 课后作业

第六讲

traceroute

netstat

6.1 网络配置文件的各自作用、设置静态IP方法

设置静态IP

第七讲

7.1 两个网络模式的区别与联系(含图),如何选择哪种?

Stand-alone 与 xinetd模式

7.2 telnet服务的配置过程、telnet命令使用

7.3 FTP两种工作模式的区别与联系(含图)

7.4 ftp的配置过程、ftp命令的使用

配置文件

启动服务

第八讲

8.1 shell程序的特点与用途

8.2 shell程序的编写、执行和调试

8.3 变量声明与使用、read、位置变量、H O M E 、 HOME、HOME、PATH、$?

【变量】

【read】

【位置变量】

【$HOME】

【$PATH】

【$?】

8.4 双引号、单引号和倒引号的区别和联系

8.5 简单数学运算、条件判断(字符串、数字)、逻辑运算

8.6 if、case、for、while、until

第九讲

9.1 gcc命令使用(一次编译、分开编译、不同目录、指定头文件)

【指定头文件】

【一次编译】

【分步编译】

9.2 make工具

9.3make层次图、makefile文件

makefile文件

9.4 gdb调试工具的基本使用

9.5 静态函数库的创建与使用

9.6 动态函数库的创建与使用

第十讲

10.1 磁盘设备的命名方式

10.2 Linux的文件系统、VFS的功能和作用(含图)

10.3 设备挂载过程

10.4 常用指令

10.5 进程的概念、进程和程序的区别与联系

10.6 at和crontab的区别和联系、各自的创建、删除、查看

10.7 ps、kill、free

10.8 日志文件

第十一讲

11.1 Docker与虚拟机的区别

11.2 Docker的优势

11.3 docker search, pull, images, run, start, stop, restart, ps, rm, attach, exec, commit, build, tag, push

11.4 Dockerfile

第十二讲

12.1 X Window的作用和组成 (含图) 、每个组成部分的作用

X window由三部分组成

12.2 修改系统运行级别

12.3 系统初始化过程(centos7之前和centos7之后)


第一讲

Linux的起源、历史、特点、定义

Linux是一种免费开源的操作系统,使用GNU通用公共许可证(GPL)授权。Linux 的起源可以追溯到上世纪90年代初期,当时芬兰学生Linus Torvalds基于自己学习的Unix设计原则,开始编写一套免费开源的操作系统内核,并在全球程序员的支持下发展壮大。目前,Linux已经成为了服务器领域的主流操作系统之一。

Linux历史上经历了多个版本的发展,例如Red Hat Linux、Ubuntu等,其中Ubuntu是最具有代表性的一款,以其易用、安全、稳定等特点赢得了用户的青睐。Linux的特点包括开源、定制性强、安全性高、可移植性好、具备良好的网络性能等优点,为企业以及个人用户提供了灵活的选择。

针对Linux的定义,它是一种免费并且开放源代码的操作系统。由于开放源代码的特点,用户可以自行修改和完善Linux系统,从而使得Linux系统具有很强的灵活性和可维护性,同时也促进了社区的协作和创新发展。Linux系统广泛应用于各类服务器、移动设备以及嵌入式设备等领域。

GNU GPL

(自由文件许可)

GPL核心思想:

  • 保证任何人有共享、修改、发布自由软件的自由。
  • 自由软件的衍生作品必须以GPL为重新发布的许可证。
  • 允许公司销售自由软件(硬件/服务),提供源代码。

常见的发行版本

两天速成Linux期末考试知识点!华南农业大学Linux期末考试考纲笔记_第1张图片

商业、共享、自由和免费软件的区别和联系

  • 自由软件一定是开源的,但不一定免费。
  • 免费软件一定是免费的,但不一定开源。
  • 商业软件是不开源、不免费,需要支付一定费用才能使用或购买许可证的软件,只有使用权。
  • 共享软件任何人可以通过特定的授权方式,使用、修改和共享该软件,但不一定免费。

第二讲

Linux的安装方式(区别和联系,如何选择)、安装过程、远程连接方式

安装方式:

  1. 基于光盘或USB启动安装。这种方式需要首先下载Linux的ISO镜像文件并将它写入光盘或USB中,然后在计算机上设置基于光盘或USB的启动,最后通过光盘或USB启动计算机并进入安装向导。这种方式简单易行,但需要有足够的硬盘空间和光盘或USB驱动器。

过程:

  • 下载Linux系统的ISO镜像文件,并将其写入U盘或光盘;
  • 插入U盘或光盘,重启计算机,并从U盘或光盘启动;
  • 进入安装界面后,根据提示进行相关设置,如选择安装语言、时区、键盘布局、磁盘分区等;
  • 创建管理员账户和密码,完成系统安装。
  1. 在Windows系统上安装Linux。这种方式可以通过虚拟机软件(如VirtualBox/VM ware)来完成,在Windows系统中运行虚拟机软件,然后在虚拟机中安装Linux。这种方式在Windows系统上运行Linux,不需要分区和独立的硬盘空间,但是可能不够真实和灵活。
  2. 基于网络安装。这种方式需要首先连接到网络,然后启动Linux安装程序,安装程序会从网络上下载必要的文件来完成安装。这种方式可以节省存储空间,但要求网络连接良好。

远程连接方式:

  1. SSH(安全外壳协议):使用命令行工具,如Putty或Xshell,在本地终端连接到远程服务器上;
  2. 远程桌面协议:使用远程桌面软件,如Windows的远程桌面,连接到远程Linux服务器上;
  3. 通过浏览器远程访问:使用NoVNC或Webmin等工具,通过浏览器访问远程Linux服务器的桌面界面;
  4. FTP和SFTP:使用FTP和SFTP协议进行文件传输和管理;
  5. VPN:使用VPN建立加密的安全通道,使得外部用户能够安全地连接到内部

Linux内核版本号

内核版本号由Linus等人制定和维护,全球统一内核版本号格式:x.y.zz

  • x为主版本号
  • y为次版本号
  • zz为次次版本号

两天速成Linux期末考试知识点!华南农业大学Linux期末考试考纲笔记_第2张图片

Linux目录结构、常见目录的作用和存放内容

  1. /bin:常用系统程序目录
  2. /boot(启动):开机设定目录,也是摆放核心 vmlinuz 的地方
  3. /dev(设备):摆放系统设备装置文件的目录
  4. /etc(etcetera,杂七杂八等等系统文件):系统配置文件,尤其 passwd, shadow
  5. /etc/rc.d/init.d:摆放系统开机的時候载入服务的脚本
  6. /home:系统使用者的目录
  7. /lib:Linux 执行或编译程序函数库目录

(/lib是内核级别的 ,/usr/lib是系统级别的, /usr/local/lib是用户级别的)

  1. /mnt(mount缩写,攀爬挂载的意思):软驱与光驱接入挂载的地方
  2. /proc(procedure,程序,但它是进程和内核信息的动态视图):系统核心与执行程序的一些信息
  3. /root:系统管理员的目录
  4. /usr/bin, /bin(垃圾桶、大容器):一般执行文件摆放的地方
  5. /usr/sbin, /sbin:系统管理员常用指令集
  6. /var:摆放系统日志文件的地方
  7. /lost+fount:摆放系统不正常产生错误时遗失的片段

Linux系统结构图、主要组件构成

两天速成Linux期末考试知识点!华南农业大学Linux期末考试考纲笔记_第3张图片

两天速成Linux期末考试知识点!华南农业大学Linux期末考试考纲笔记_第4张图片

关机、重启命令

关机

  1. shutdown -h now
  2. init 0 (切换到关机级别)
  3. halt -p (-p 在 halt 之后,执行poweroff关闭电源)
  4. poweroff -p

重启

  1. shutdown -r now
  2. init 6 (切换到重启级别)
  3. reboot

两天速成Linux期末考试知识点!华南农业大学Linux期末考试考纲笔记_第5张图片

两天速成Linux期末考试知识点!华南农业大学Linux期末考试考纲笔记_第6张图片

说明文档查看

man Command 命令【manual(操作说明)】 或者 info

  • 找不到man命令?

yum install -y man man-pages

第三讲

3.1 Linux交互方式

两天速成Linux期末考试知识点!华南农业大学Linux期末考试考纲笔记_第7张图片

3.2 shell的作用、种类、默认shell

Linux终端是用户与操作系统之间的接口,用户通过终端与操作系统进行交互

这个接口的程序叫Linux Shell

【作用】

Shell是一个作为用户与Linux系统间接口的程序,它允许用户向操作系统输入需要执行的命令,返回执行结果

【注意事项】

  • 一个用户同一时刻只能使用一个shell

【操作】

  • 查看当前系统支持的Shell列表

cat /etc/shells

  • 查看当前用户使用的Shell版本

echo $SHELL

【默认Shell】

bash,安装在/bin/sh,其实是连接到/bin/bash

3.3 Shell的功能

(命令行提示符、自动补齐、历史记录查看、常用的快捷键、重定向、管道)

  1. 命令行提示符

#代表root用户

$代表普通用户

  1. 自动补齐

tab键

  1. 历史记录查看

键盘上下

cltr+r == 查询以往的记录

  1. 重定向

0 -->> 标准输入

1 -->> 标准输出

2 -->> 标准错误输出

< 输入重定向

> 输出重定向(覆盖原有内容)

>> 追加重定向

  1. 管道

前一个命令输出作为下一个命令的输入

3.4 常用命令

clear、cd、rmdir、cat、

ls、echo、mkdir、touch、more、less、head、tail、cp、mv、pwd、rm

  • echo

-n 输出后不会自动换行

-e 开启转义,即\t这样的会被翻译为一个tab而不会当字符输出

  • mkdir

-p 自动创建不纯在的中间目录

  • touch
  1. 用于改变文件的时间记录或创建一个空文件
  2. 但经常用做新建文件
  • ls

显示目录下的内容

  1. -a 包含隐藏文件
  2. -i 显示Inode节点
  3. -l 长格式

两天速成Linux期末考试知识点!华南农业大学Linux期末考试考纲笔记_第8张图片

  1. -S 按文件从大到小排序
  2. -R 递归显示目录及其子目录内容
  3. -t 按时间排序
  4. -S 按文件大小排序
  • mv

可以用作移动

  • 也可以用作文件重命名,mv file1 file2

eg: mv /a.txt /tmp/a.txt

  • cp

文件/目录 的复制

  • tail

显示文件的结尾的内容。在默认情况下显示文件的最后10行内容

tail -n 数字x 文件a,代表显示文件a的最后x行

也可以直接 tail -x a,代表显示文件a的最后x行

  • head与tail类似

  • more和less

都是分页显示文件内容

more是一次性加载进内存,只能往下翻页

less是按需加载,可以上下翻页,速度更快

  • pwd

显示当前路径

  • rm

删除内容

-r 递归删除子目录内容

-f 强制执行,不提示

3.5 文件类型、相对路径、绝对路径、用户主目录、特殊目录

文件类型

简写 类型

- 普通文件

d 目录

l 链接文件

b 设备文件 – 区块

c 设备文件 – 字符

p 管道文件

s Socket文件

【PS】:设备文件在 /dev 目录下

绝对路径

从根开始,即从/开始

相对路径

从用户工作目录开始

用户主目录

可以用~表示

cd ~

root用户在/root下,普通用户在/home下

特殊目录

. 代表目录自己

.. 代表该目录的父目录

第四讲

4.1 用户类型

超级用户

root,根用户,类似Windows中的超级管理员账户,有最高的权限,可以对Linux做任何操作

普通用户

受限的权限,普通用户没有对系统的完全控制权,而且用户之间私人的资源是相互隔离的

系统用户

与系统和程序服务相关的用户

默认情况下,这些特殊用户是无法登录的,如果给这些用户授权登陆口令后,就可以使用这些用户登录系统

/sbin/nologin 无法登陆shell

4.2 /etc/passwd 作用和内容

  • 每一行存储一个用户的账号信息

格式:用户名 : 加密密码 : 用户ID : 用户组ID : 用户信息 : 用户主目录 : 登录Shell

root : x : 0 : 0 : root : /root : /bin/bash

超级用户root的UID是0

系统用户的UID在1000以内

4.3 /etc/shadow 作用

每一行存储一个用户的登录密码信息

4.4 /etc/group 作用

每一行记录系统中的用户组信息

组名 : 密码字段 : 用户组ID : 用户名列表

root : x : 0 :

4.5 常用指令

usermod、userdel、groupadd、groupdel、ln、gzip、unzip、sed、cut、

useradd、chmod、chown、chgrp、find、tar、awk、grep、tr

  • useradd

-u, -d, -g, -s 分别对应uid,目录,组别,shell

两天速成Linux期末考试知识点!华南农业大学Linux期末考试考纲笔记_第9张图片

  • passwd

修改密码

passwd 用户名

  • groupadd

两天速成Linux期末考试知识点!华南农业大学Linux期末考试考纲笔记_第10张图片

  • groupdel

两天速成Linux期末考试知识点!华南农业大学Linux期末考试考纲笔记_第11张图片

  • chmod :

rwx - readable, writeable, executable,对应4 2 1 权限

最简单的chmod 权限 文件

eg chmod 640 a.txt

  • chown

chown [-R] 用户名[:组名] 路径

  • chgrp

chgrp [-R] 组名 路径

  • find

查找文件或目录

find 路径 [选项] 表达式

-name 要查找的名字n

-type 文件的类型c

其中 -type f 是普通文件

-perm 文件权限

例子:

find / -name “*.conf”

查找根目录 “ / ” 下所有后缀为conf的文件

  • tar

tar -cvf 文件 路径 = 压缩文件,生成tar

tar -zcvf 文件 路径 = 压缩文件,生成tar.gz

tar -zxvf 文件 路径 = 解压文件

  • awk

awk ‘{print $…}’

其中$1为文件类型+文件权限

  • grep

查找文件里符合的字符串

-i 忽略字符大小写的差别

-v 显示不包含该文本的行

-n 显示匹配行及行号

例子:

# grep ‘root’ /etc/passwd

# cat /etc/passwd | grep ’root’

# cat /etc/passwd | grep -v ‘root’

# cat /etc/passwd | grep -i ‘net’

  • gzip

压缩文件

  • unzip

解压缩文件

  • tr

用于转换或删除文件中的字符

tr [-d] 字符串1 字符串2

4.6软连接和硬连接的区别和联系

ln (-s) 源路径 目标路径

ln a b 代表 b->a,即b指向a

默认硬链接,只有 -s 时候才是 软连接

硬链接(hard link)

给文件一个副本(别名),同时建立两者之间的连接关系,修改其中一个,与其连接的文件同时被修改,如果删除其中一个,其余的文件不受影响。磁盘上只有一份数据。硬链接是存在同一个文件系统中

指向同一个Inode节点

软链接(symbolic link)

软链接的方式则是产生一个特殊的文件,该文件的内容是指向另一个文件的位置。它只是一个快捷方式,删除了源文件,这个连接文件就没用了。软链接可以跨越不同的文件系统

指向不同Inode节点

【总结】简单来说,软连接只是一个快捷方式 + 一个源文件,硬连接则是在两个地方都出现了同一份文件,根源是一样的。

联系:

(1)对软连接和硬连接修改,都会对源文件有效

(2)删除软连接或者硬连接本身,都不会对源文件有影响

区别:

(1)硬连接,磁盘上只有一份数据,创建其中的一个连接,其余的文件不受影响,只有当链接数变成0,文件才会被真正删掉

(2)软连接,只是一个快捷方式,是一个独立的文件,删除了源文件连接文件就没用了。

PS!!!需要指定绝对路径,否则链接失效

4.7 常见正则表达式

^xxx,匹配开头

xxx$,匹配结尾

[ ],匹配指定范围内的字符

两天速成Linux期末考试知识点!华南农业大学Linux期末考试考纲笔记_第12张图片

第五讲

5.1 常用指令

wc、sort、yum、sudo

cal、date、su、which、whereis、

cal

打印日历

date

date + ‘…’ ,省略号为具体的表达式

——> date ’+%Y-%m-%d %H:%M:%S’

su

更换用户

su 用户名

which / whereis

查找文件所在位置

which useradd

——> whereis 文件名

5.2 vi三种模式的功能、切换

【命令模式】:

  1. 进入vi的默认模式
  2. 按下esc键后进入
  3. 光标移动

h(左), j(下), k(上), l(右) <=> 键盘上下左右键

$ #移动到行未

0 / ^ #移动到行首

**gg ** #定位第一行行首

**G ** #定位末行行首

nG #定位到第n行行首

w | nw #移动到下一/n个字首

e | ne #移动到下一/n个字尾

删除

**x | nx ** #删除一/n个字符

dd | ndd #删除一/n行

**d[w|e|b|$|^|G|gg …] **

删除光标移动范围内的内容

dG即可删除所有内容

恢复

u #撤销上一步操作

U #撤销对当前行的所有操作

复制粘贴

yy 复制

p 粘贴

替换、切换到插入模式 (含课外补充内容)(含课后作业)

【插入模式】:

  1. 按下i,a等指令进入
  2. i #在光标左侧插入
  3. a #在光标右侧插入

【末行模式】:

命令模式下按 " : " 进入

保存、退出

:wq #写入后退出

:q! #强制退出

显示/取消行号

:set nu | :set number

:set nonu | :set nonumber

显示光标所在行号

:nu | :number

搜索

/

从光标所在位置往下搜索

?

从光标所在位置往上搜索

替换

:s/x/y

把光标所在行第一个匹配的x替换为y

:n,m s/x/y

把第n行到m行中每行中第一个匹配的x替换为y

:% s/x/y

把当前文件中所有行的第一个匹配的x替换为y

g : 全局 => 把每一行中所有的匹配项都替换

:s/x/y/g

:n,m s/x/y/g

:% s/x/y/g

保存与另存为

:w 写入

:w filename 另存为

ZZ与:x , :wq 作用一样

两天速成Linux期末考试知识点!华南农业大学Linux期末考试考纲笔记_第13张图片

5.3 vi与shell交互

在末行模式下用“!”符号来访问Linux的Shell

5.4 vi冲突处理

——> 删除 *.swp 文件

5.5 文本格式转换

Linux下是unix格式

Windows下是dos格式

  • 安装yum install –y dos2unix unix2dos
  • 使用:
  • unix2dos 或 dos2unix filename #格式转换后覆盖更新原文件
  • unix2dos 或 dos2unix –n filename newFilename #格式转换后存为新文件

5.6 课后补充 + 课后作业

课后作业

  1. 执行 man ls > out.txt ,生成out.txt文件
  • man是操作手册,遍历操作手册并输出
  • 使用 vi 打开 out.txt
  • 显示所有行号

:set nu | :set number

  1. 光标移动到100行,向右移动10个字符

100G

10w

  1. 移动到第一行,往下搜索“1024”,定位到第二个匹配项

gg //移动光标到首行首字

/1024

n

  1. 将50行到100行之间的小写“o”改写为大写"O"

:50,100 s/o/O/g

  1. 修改完了,突然反悔,如何恢复修改前?

u

复制65到73行之间这9行的内容,粘贴到最后一行

65G

9yy

G

p

  1. 删除21到42行之间的所有内容

20G

22dd

:20,42 d

  1. 把当前文档另存为 out.txt.bak

:w filename #另存为

  1. 定位到28行,删除3个单词
  2. 在第一行新增一行,输入"I am a Student!"
  3. 保存退出

Esc

:wq

命令模式下的常见操作

保存退出

ZZ #与末行模式下 :wq 效果一样

快速清空文本内容

gg #定位第一行行首

dG #删除所有内容

快速删除指定行之间的内容

:n,m d #删除第n行到m行之间的内容

第六讲

traceroute

  • 显示数据包到主机间的路径

netstat

  • 用于显示网络状态
  • Netstat -ntlp 可查看端口信息

6.1 网络配置文件的各自作用、设置静态IP方法

/etc/sysconfig/network

最基本的网络信息,系统启动时读取该文件

/etc/sysconfig/network-scripts/*

此目录下的文件是系统启动时用来初始化网络的一些信息,例如:第一块以太网卡对应的文件为

ifcfg-eth0

/etc/host.conf

域名解析的配置文件

/etc/hosts

域名或主机名与IP地址的映射文件

/etc/resolv.conf

域名服务器配置文件

/etc/protocols

定义使用的网络互联协议及协议号

/etc/services

设定主机的不同端口的网络服务

设置静态IP

在**/etc/sysconfig/network-scripts/ifcfg-ens33(网卡名字)**文件中设置

vi ifcfg-ens33

ONBOOT=yes //启动时是否启动该设备

BOOTPROTO=none //启动协议,none表示使用用户设置的ip地址,dhcp表示从dhcp获得ip地址,static表示静态

BOOTPROTO=static

IPADDR=192.168.14.11 //IP地址

NETMASK=255.255.255.0 //子网掩码

GATEWAY=XX.XXX.XXXX //网关

DNS1=xx.xxx.xxx.xx //DNS服务器

第七讲

7.1 两个网络模式的区别与联系(含图),如何选择哪种?

Stand-alone 与 xinetd模式

【区别】

  1. stand-alone只能监听一个指定端口,xinetd模式可以同时监听多个接口
  2. 运行单个xinetd就可以同时监听所有服务端口,这样就降低了系统开销,保护系统资源
  3. 但是对访问量大、经常出现并发访问时,xinetd想要频繁启动对应的网络服务进程,反而会导致系统性能下降

stand-alone:

  • 守护进程的工作就是打开一个端口,并且等待(Listen)进入连接。
  • 运行独立的守护进程工作方式称作:stand-alone

两天速成Linux期末考试知识点!华南农业大学Linux期末考试考纲笔记_第14张图片

xinetd:

  • 从守护进程的概念可以看出,对于系统所要提供的每一种服务,都必须运行一个监听某个端口连接情况的守护进程,这通常意味着资源浪费;为了解决这个问题,Linux引进了“网络守护进程服务程序”的概念。
  • RHEL5使用的 网络守护进程 是 xinetd ( eXtended InterNET daemon)。
  • 和stand-alone模式相比xinetd模式也称 Internet Super-Server(超级服务器)。

两天速成Linux期末考试知识点!华南农业大学Linux期末考试考纲笔记_第15张图片

7.2 telnet服务的配置过程、telnet命令使用

  • Telnet是一种远程登录应用,常用于系统远程维护,端口23但安全性无ssh高,明文传输报文,默认禁用。

1.安装

yum install -y telnet telnet-server

2.配置(新建、编辑)文件

/etc/xinetd.d/telnet

3.重启服务

service xinetd restart

7.3 FTP两种工作模式的区别与联系(含图)

  • FTP是一种文件传输协议,它实现了服务器与客户机之间的文件传输和资源的共享。

PORT与PASV

两天速成Linux期末考试知识点!华南农业大学Linux期末考试考纲笔记_第16张图片

两天速成Linux期末考试知识点!华南农业大学Linux期末考试考纲笔记_第17张图片

区别:

  • PORT模式下,服务器会从它自己的数据端口(20)“主动”连接到客户端指定的数据端口(N+1)。
  • PASV模式下的FTP服务器不需要开启tcp 20端口了。

7.4 ftp的配置过程、ftp命令的使用

配置文件

/etc/vsftpd/vsftpd.conf

启动服务

service vsftp start

第八讲

8.1 shell程序的特点与用途

  • shell程序可以认为是将shell命令按照控制结构组织到一个文本文件中,批量的交给shell去执行
  • 不同的shell解释器使用不同的shell命令语法
  • shell程序解释执行,不生成可以执行的二进制文件
  • 可以帮助用户完成特定的任务,提高使用、维护系统的效率
  • 了解shell程序可以更好的配置和使用Linux,实现自动化运维
  • shell使用解释型语言,不需重新编译

8.2 shell程序的编写、执行和调试

需要增加可执行权限 chmod +x filename

chmod +x /path/filename

8.3 变量声明与使用、read、位置变量、H O M E 、 HOME、HOME、PATH、$?

【变量】

变量是弱类型(不用管类型)

  • 声明变量不用声明类型
  • 可以存储不同类型的内容
  • 大小写区分
  • 变量=值,等号两边不能有空格
  • $变量名 变量名为一个字符时使用
  • ${变量名} 变量名多于一个字符时使用

两天速成Linux期末考试知识点!华南农业大学Linux期末考试考纲笔记_第18张图片

【read】

使用read将用户的输入赋值给变量

两天速成Linux期末考试知识点!华南农业大学Linux期末考试考纲笔记_第19张图片

【位置变量】

  • 会把所输入的命令后面的参数使用位置变量传递给bash脚本程序

$0则代表脚本的名字

$1、2 … 2…2…n分别代表参数1、参数2…参数n

$*:这个变量包括参数的列表(字符串)

$@:这个变量包括参数的列表(数组)

$#:这个变量包括参数的个数

【$HOME】

用户主目录

【$PATH】

寻找命令或可执行文件的搜索路径列表

【$?】

紧邻的前驱命令的返回值 0=成功 1=失败

8.4 双引号、单引号和倒引号的区别和联系

【双引号】

字符串通常被放在双引号中

PS:因为如果在参数中包含一个或多个空白字符(空格),必须给参数加双引号

【单引号】

单引号括起来的字符都作为普通字符出现

【倒引号】('' 的字符串替换成 `` 内代表的内容)

Shell会先执行倒括号内的内容,再以它的标准输出结果取代整个倒引号部分

8.5 简单数学运算、条件判断(字符串、数字)、逻辑运算

【数学运算】

  • expr arg
  • expr 2 + 3
  • 运算符和参数之间要有空格分开
  • 乘法需要 “\”修饰
  • expr ` expr 2 + 3 ` \* 4 即 为(2+3)*4

let

  • let s=(2+3)*4

let语句更加简洁

【条件判断】

  • [ condition ]

两天速成Linux期末考试知识点!华南农业大学Linux期末考试考纲笔记_第20张图片

(条件和左右括号之间要有空格)

  • 真:0
  • 假:1

【逻辑运算】

  • 逻辑与-a:condition1-a condition2,如果两个条件都为真,则结果为真
  • 逻辑或-o:condition1-o condition2,如果两个条件有一个为真,则结果为真
  • 逻辑非!:! condition,结果与condition相反

8.6 if、case、for、while、until

要求可以 手写shell程序

两天速成Linux期末考试知识点!华南农业大学Linux期末考试考纲笔记_第21张图片

两天速成Linux期末考试知识点!华南农业大学Linux期末考试考纲笔记_第22张图片

两天速成Linux期末考试知识点!华南农业大学Linux期末考试考纲笔记_第23张图片

两天速成Linux期末考试知识点!华南农业大学Linux期末考试考纲笔记_第24张图片

第九讲

9.1 gcc命令使用(一次编译、分开编译、不同目录、指定头文件)

【指定头文件】

-I dir ——》(大写i)在编译源程序时增加一个搜索头文件的额外目录——dir,即include增加一个搜索的额外目录。

【一次编译】

一次性编译多个文件

gcc a.c b.c d.c -o xxx

两天速成Linux期末考试知识点!华南农业大学Linux期末考试考纲笔记_第25张图片

【分步编译】

分别编译每一个c文件

两天速成Linux期末考试知识点!华南农业大学Linux期末考试考纲笔记_第26张图片

9.2 make工具

两天速成Linux期末考试知识点!华南农业大学Linux期末考试考纲笔记_第27张图片

9.3make层次图、makefile文件

两天速成Linux期末考试知识点!华南农业大学Linux期末考试考纲笔记_第28张图片

makefile文件

两天速成Linux期末考试知识点!华南农业大学Linux期末考试考纲笔记_第29张图片

9.4 gdb调试工具的基本使用

file

指定需要进行调试的程序

step

单步(行)执行,如果遇到函数会进入函数内部

next

单步(行)执行,如果遇到函数不会进入函数内部

run

启动被执行的程序

quit

退出gdb调试环境

print

查看变量或者表达式的值

break

设置断点,程序执行到断点就会暂停起来

shell

执行其后的shell命令

list

查看指定文件或者函数的源代码,并标出行号

9.5 静态函数库的创建与使用

名字一般是libxxx.a

两天速成Linux期末考试知识点!华南农业大学Linux期末考试考纲笔记_第30张图片

9.6 动态函数库的创建与使用

名字一般是libxxx.so 。

例如libc.so中包含了标准的输入输出函数。

两天速成Linux期末考试知识点!华南农业大学Linux期末考试考纲笔记_第31张图片

第十讲

10.1 磁盘设备的命名方式

  1. 前两个字母表示分区所在设备的类型:
  • hd:IDE硬盘
  • sd:SCSI硬盘(U盘,移动硬盘等)
  1. 第三个字母表示分区在哪个设备上
  • hda:第一块IDE硬盘
  • sda:第一块SCSI硬盘
  • sdb:第二块SCSI硬盘
  1. 数字表示分区的次序:
  • hda1:第一块IDE硬盘第一分区
  • sdb2:第二块SCSI硬盘第二个分区

10.2 Linux的文件系统、VFS的功能和作用(含图)

  • XFS为默认文件系统,高性能文件系统。

  • 把文件系统从操作系统和系统服务中分离出来,在它们之间使用了一个接口层,也就是虚拟文件系统VFS(Virtual File System)

两天速成Linux期末考试知识点!华南农业大学Linux期末考试考纲笔记_第32张图片

  • 只存在于内存,系统启动时建立,系统关闭时消亡

【VFS功能】

  • 记录可用文件系统的类型
  • 将设备与对应的文件系统联系起来
  • 处理面向文件的通用操作
  • 涉及到针对文件系统的操作时,把他们映射到相关的物理文件系统

10.3 设备挂载过程

【1】查看设备:使用命令“fdisk -l”可以查看系统的存储设备

【2】挂载设备 :首先使用mkdir命令建立挂载点目录,然后再使用mount命令挂载相关设备

【3】访问设备

【4】卸载设备 :用户在使用完挂载设备后,不能直接将挂载设备从系统拔出,否则会出现问题,严重的会导致系统崩溃。用户必须先执行卸载umount 命令然后再该设备拔出

  • 设备名称在/dev目录下
  • 挂载点,即设备挂载到/mnt目录下
  • 自动挂载文件/etc/fstab

10.4 常用指令

mkfs、fdisk、mount、umount、whoami、who、w、jobs、bg、fg、&(后台进程启动)

  • df

查看磁盘空间使用情况

  • du

统计目录或文件所占磁盘空间大小

10.5 进程的概念、进程和程序的区别与联系

【概念】

    • Linux系统上所有运行的东西都可以称之为一个进程,如每个用户任务、每个系统管理任务

【区别】

    • 程序只是一个静态的指令集合,不占系统的运行资源,只占用磁盘空间
    • 进程是一个随时都可能发生变化的、动态的、使用系统运行资源(cpu,内存等)的程序
    • 一个程序可以启动多个进程

【联系】

    • 进程是一个程序的运行状态

10.6 at和crontab的区别和联系、各自的创建、删除、查看

【区别】

  • at指令输入有交互式和指定文件两种形式
  • at指令只能执行一次,crontab指令可以重复周期性的执行某个程序
  • crontab会将输出作为邮件发送给crontab的所有者

【联系】

  • 指定在将来的某个时间点执行某些命令

【at】

  • 安装:yum install -y at
  • 开启/暂停/关闭服务:service atd [ start 或 status 或 stop ]
  • 用法:at [选项] [时间]
  • at -f 脚本文件
  • 查看都是-l
  • at的删除是-d,或者atrm,contrab的删除是-r

【crontab】

  • 作用:设定周期性任务。root用户可以指定其他用户的时程表。
  • 格式:crontab [ -u user ] 文件
  • crontab [ -u user ] { -l | -r | -e }

-e

执行文字编辑器来设定时间表

-r

删除目前的时程表

-l

列出目前的时程表

10.7 ps、kill、free

  • ps:显示当前进程的状态
  • kill:-1 重新加载,-9杀死进程,但是kill只是发送信号,无法真正决定能否杀死。
  • 所以kill -9 无法终止系统进程和守护进程
  • free“显示内存状态

10.8 日志文件

多数的日志文件位于/var/log目录下,不同的日志文件记载不同的信息

第十一讲

11.1 Docker与虚拟机的区别

  • Docker 是一个应用打包、分发、部署的工具。
  • Docker:可理解为一个轻量的虚拟机,它只虚拟你软件需要的运行环境,多余的一点都不要。
  • 普通虚拟机:一个完整而庞大的系统,包含各种不管你要不要的软件。

11.2 Docker的优势

  • 跨多平台
  • 性能好
  • 一个命令即可自动化部署所需环境
  • 一致性好,不同系统都一样部署方式,确保了不同机器上跑都是一致的运行环境

11.3 docker search, pull, images, run, start, stop, restart, ps, rm, attach, exec, commit, build, tag, push

  1. docker search:用来搜索Docker Hub上的镜像。
    docker search ubuntu
  2. docker pull:用于从远程仓库拉取镜像到本地仓库。
    docker pull ubuntu
  3. docker images:用于列出所有已经下载到本地的镜像。
    docker images
  4. docker run:用于创建并启动一个新的容器实例。
    docker run -it --name myubuntu ubuntu /bin/bash
  5. docker start:用于启动已经停止运行的容器。
    docker start myubuntu
  6. docker stop:用于停止正在运行的容器。
    docker stop myubuntu
  7. docker restart:用于重启容器。
    docker restart myubuntu
  8. docker ps:用于列出当前正在运行中的容器。
    docker ps
  9. docker rm:用于删除指定的容器。
    docker rm myubuntu
  10. docker attach:用于进入一个正在运行的容器的命令行环境。

docker attach myubuntu

  1. docker exec:用于在一个正在运行的容器中执行命令。
    docker exec -it myubuntu /bin/bash
  2. docker commit:用于将一个容器的变化,保存为一个新的镜像。
    docker commit myubuntu myubuntu:v2
  3. docker build:用于从Dockerfile创建一个新的镜像。
    docker build -t myapp .
  4. docker tag:用于给一个镜像打上标签。
    docker tag myapp myregistry.com/myapp
  5. docker push:用于将一个本地的镜像上传到远程仓库。
    docker push myregistry.com/myapp

11.4 Dockerfile

  1. 用法:用来构建镜像的文本文件,包含所需的指令和说明。
  2. 结构:
  • 基础镜像信息(centos ubuntu …… nginx ……)
  • 维护者信息(docker search可查看)
  • 镜像操作指令(tar yum make)
  • 容器启动时执行指令(系统启动时,第一个加载的程序/脚本/命令)

第十二讲

12.1 X Window的作用和组成 (含图) 、每个组成部分的作用

X window由三部分组成

两天速成Linux期末考试知识点!华南农业大学Linux期末考试考纲笔记_第33张图片

【1】X 服务端

  • 每一套显示设备只对应唯一的X Server
  • 是控制输入及输出设备并维护相关资源的程序,它接收输入设备的信息,并将其传给X Client,而将X Client传来的信息输出到屏幕上(在屏幕上构造方块(窗口),然后画出里面的元素)

【2】X 客户端

  • 是应用程序的核心部分,它与硬件无关,每个应用程序就是一个X Client。
  • X Client无法直接影响视窗行为或显示效果,它们只能发送一个请求给X Server,由X Server来完成这些的请求。

【3】X 通信通道

(1)X通信通道的主体是xlib(X函数库)。

(2)X Client调用xlib,利用相应的通信功能向X Server发出请求。

(3)X Server完成任务之后,同样调用xlib把结果显示指定的设备上去。

12.2 修改系统运行级别

  • 临时更改

init n

Telinit n

Startx(启动图形化环境

  • 长期更改

systemctl set-default *.target??

12.3 系统初始化过程(centos7之前和centos7之后)

两天速成Linux期末考试知识点!华南农业大学Linux期末考试考纲笔记_第34张图片

你可能感兴趣的:(课程笔记知识,Linux课程,linux,运维,bash,pat考试,ssh)