目录
第一章
三种网络模式:
VM虚拟机为用户提供了三种网络模式:
1 桥接模式:物理主机和虚拟网卡之间存在的联系可通过物理主机的网卡访问外网。
2 NAT模式:让VM虚拟机的网络服务发挥路由器的作用,使得通过虚拟机软件模拟的主机可以通过物理主机访问外网,在真机中NAT虚拟机网卡对应的物理网卡是VMnet8。
3 仅主机模式:让虚拟机内的主机与物理主机通信,不能访问外网,在真机中仅主机模式模拟网卡对应的物理网卡是VMnet1。
计算器硬件:
是由:1运算器,2控制器,3存储器,4输入/输出设备共同组成的,让各种硬件设备各司其职又协同运行的是系统内核(对硬件资源的分配,调度等管理任务)。
第二章
Shell:
充当的是人与内核(硬件)之间的翻译官。Linux系统默认使用的终端是Bash解释器(
其优势:
1 通过上下方向键来调取过往执行过的Linux命令。
2 命令或参数仅需输入前几位就可以用Tab键补全。
3 具有强大的批处理脚本。
4 具有试用的环境变量功能。)
命令是什么 作用是什么 实现什么功能干什么用
执行查看帮助命令:
执行Linux命令的格式:命令参数 [命令参数] [命令对象] 之间用空格键分离。
命令参数:可用长格式(完整的选项名,如man --help)。
短格式(单个字母缩写,如man -h)。
长长,长短格式之间不能合并;短短可以合并后保留一个 - 即可。其中ps命令可允许参数不加 - 。
-->man man 查看man命令自身的帮助信息。
Man命令中常用的按键以及用途:
空格键/page down | 向下翻一页 |
Page up | 向上翻一页 |
Home/end | 直接前往首页/尾页 |
/ ? | 从上至下/从下至上搜索某个关键词,如“/linux” |
n/N | 定位到下/上一个关键词 |
q | 退出帮助文档 |
常用系统工作命令:
echo:用于在终端输出字符串或变量提取后的值,格式为echo [字符串|$变量]。(#echo haha >>haha /也可用$变量方式提取值:如#echo $haha)
Date:用于显示及设置系统的时间或日期,格式为date[选项][+指定的格式]。
Date命令中的参数及作用:
%H/%h 小时(00-23)/小时(00-12) ;%j 今年中的第几天
reboot:用于重启系统 reboot(默认只有管理员能操作)
poweroff:用于关闭系统 poweroff(默认只有管理员能操作)
Wget命令:用于在终端中下载网络文件,格式为wget [参数] 下载地址。
wget命令参数及作用:
-b | 后台下载模式 |
-p | 下载到指定目录 |
ps命令:用于查看系统中的进程状态,格式为" ps [参数] "。
命令参数及作用:
-a | 显示所有进程(包括其他用户的进程) |
-u | 用户及其他详细信息 |
-x | 显示没有控制终端的进程 |
五种常见的进程状态:
1 运行(R):进程在运行或在运行队列中等待。
2 中断(S):休眠状态。
3 不可中断(D):进程不响应系统异步信号,用kill命令也不能中断。
4 僵死(Z)。
5 停止(T)。
top命令:动态的监视进程活动与系统负载等信息。能够动态的查看系统运维状态,是linux中“强化版的windows任务管理器”。
Pidof命令:查看某个指定服务进程的pid值。Pidof[参数][服务名称]。每个进程的进程好号是唯一。
Kill命令:终止某个指定pid的服务进程。Kill[参数][进程PID]
Killall命令:终止某个指定名称的服务所对应的全部进程。Killall[参数][进程名称]
Ctrl+c:立即终止该命令的进程。 在命令行加&:将不断在屏幕输出的信息放系统后台执行。
系统状态检测命令:
ifconfig | 用于获取网卡配置与网络状态等信息,格式为: ifconfig [网络设备] [参数]。(查看的就是网卡名称;inet参数后面的ip地址;ether参数后面的网卡物理地址,即MAC地址;PX,TX的接受数据包与发送数据包的个数及累计流量。) |
uname | 用于查看系统内核与系统版本等信息,格式为:uname [-a]。(常会固定搭配-a来完整的查看当前系统的内核名称。) |
uptime | 用于产看系统的负载信息,负载值越低越好,尽量不要长期超过1,生产环境中不要超过5。 |
free*** | 用于显示当前系统中内存的使用量信息,格式为:free [-h]。 |
who | 查看当前登入主机的用户终端信息 who[参数] |
last | 查看所有系统的登记记录 last [参数] |
history | 显示历史执行过的命令 history [-c] |
sosreport | 收集系统配置及架构信息并输出诊断文档 |
工作目录切换命令
pwd:用于显示用户当前所处的工作目录 pwd [选项]
cd:用于切换工作路径 cd [目录名称]
ls:用于显示目录中的文件信息 ls[选项][文件]
使用ls -a可以看到全部文件(包括隐藏文件);ls -l可以查看目录属性,大小等详细信息;ls –d可以查看目录属性信息。
文本文件编辑命令
cat:用于查看纯文本文件(内容较少的) cat[选项][文件]
more:用于查看纯文本文件(内容较多的) more[选项]文件
head:用于查看纯文本文档的前N行 head[选项][文件]
以上三种的区别:???
tail:用于查看纯文本文档的后N行或持续刷新内容 tail[选项][文件]
tr:用于替换文本文件中的字符 tr[原始字符][目标字符]
wc:用于统计指定文本的行数,字数,字节数 wc[参数] 文本
stat:用于查看文件的具体存储信息和时间等信息 stat 文件名称
cut:按“列”提取文本字符 cut[参数] 文本,使用-f参数来设置需要看的列数,还需要-d参数来设置间隔符号
diff:用于比较多个文本文件的差异 diff[参数] 文件,可以使用—brief参数来确认两个文件是否不同,还可以使用-c参数来详细比较多个文件的差异之处。
文件目录管理命令
touch***:用于创建空白文件或设置文件的时间 touch [选项] [文件] 。
mkdir:用于创建空白的目录 mkdir [选项] 目录。
cp:用于复制文件或目录 cp[选项] 源文件 目标文件。以下三种为复制操作。
1 如果目标文件是目录,则会把源文件复制到该目录中
2 如果目标文件也是普通文件,则会询问是否要覆盖它
3 如果目标文件不存在,则执行正常的复制操作
mv:用于剪切文件或将文件重命名 mv [选项] 源文件 [目标路径|目标文件名] 。
rm***:用于删除文件或目录rm [选项] 文件rm –f是强制删除,想要删除一个目录,需要rm –r 。
dd:用于按照指定大小和个数的数据块来复制文件或转换文件 dd[参数]。
if | 输入的文件名称 |
of | 输出的文件名称 |
bs | 设置每个“块”的大小 |
count | 设置要复制“块”的个数 |
打包压缩与搜索命令
file:用于查看文件的类型 file文件名。
tar:用于对文件进行打包压缩或解压 tar [选项] [文件]。(-x 解压文件 -c 压缩文件 ; -z / -j 用Gzip/bzip2压缩或解压)。
grep***:用于在文本中执行关键词搜索,并显示匹配的结果 grep [选项] [文件] 。
find:按照指定条件来查找文件。 find [查找路径] 寻找条件 操作。
以上两种区别: grep根据文件内容查找;find根据文件属性查找。
第三章
输入(文件描述符为0)/输出重定向(文件描述符为1):把文件导入到命令中/把原本要输出到屏幕的数据写入到指定文件中。
输出重定向:技术分为1标准/2错误输出重定向(文件描述符为2)。 模式分为1清空/2追加写入两种。
输入重定向 | |
命令 < 文件 | 将文件作为命令的标准输入 |
命令 << 分界符 | 从标准文件中读入,直到遇见自定义的分界符停止 |
输出重定向 | |
命令 > 文件/命令2 > 文件 | 将标准/错误输出重定向到一个文件中(覆盖写入) |
命令 >> 文件/命令2 >> 文件 | 将标准/错误输出重定向到一个文件中(追加写入) |
管道命令符:
shift+\ :即可输入管道命令符。
执行格式:命令A | 命令B( | 命令C | .... )(可把上下两行命令合并)
作用:把前一个命令原本要输出到屏幕的标准正常数据当作最后一个命令的标准输入。(只能处理正确命令的结果)
; | 此之前命令执行完是否成功 都执行之后命令 |
&& | 此之前命令执行成功 才执行之后命令 |
|| | 执行失败(产生一个非0的退出码时) 才执行之后命令 |
命令行的通配符:
* | 匹配零个或多个字符 |
? | 匹配单个字符 |
[ 0-9 中任意(一个或多个)数字 a-z任意(一个或多个)字母 ] | 匹配0-9 a-z之间的单个(或指定多个范围内的)数字/字母的字符 注:指定多个范围的字符时,没有匹配到则不显示。 |
常用的转义字符:
\ | 其之后任何带有意义、作用的字符转为单纯字符串 |
' .... ' | 其中所有变量转为单纯字符串 |
" .... " | 其中的变量不做任何转义处理 |
` .... ` | 把其中命令执行后返回结果 |
\b \n \r | 退格 换行符 回车 |
重要的环境变量:
变量是计算机系统用于保存可变值的数据类型。变量名一般大写。
命令在Linux中执行的四个步骤:
1 判断用户是否以绝对路径或相对路径的方式输出命令,如果是的话则直接执行。
2 Linux系统检查用户输入的命令是否为“别名命令”,即用一个自定义的命令名称来替换原本的命令名称。
3 Bash解释器判断用户输入的是内部命令还是外部命令。
4 系统在多个路径中查找用户的命令文件,而定义这些路径的变量叫做Path。