Linux基础知识及相关命令

一、Linux简介

1、LinuxOS体系结构
----LinuxOS类似UNIX OS
----内核 : 模块化管理
----Shell: 用户与内核之间交互的一个接口
----应用工具:编辑器、过滤器

2、软件模式
开源软件(Open Source):软件发布,并公布源代码
闭源软件(Close Source):仅推出可执行的二进制程序
免费软件(Freeware):
共享软件(Shareware):
商业软件(Commercial Software):由开发者出售拷贝并提供软件技术服务,用户只有使用权,但不得进行非法拷贝、扩散和修改
共享软件(Shareware):共享软件由开发者提供软件试用程序拷贝授权,用户在使用该程序拷贝一段时间之后,必须向开发者缴纳使用费,开发者则提供相应的升级和技术服务
自由软件(Freeware 或 Free Software):自由软件所指称的软件,其使用者有使用、复制、散布、研究、改写、再利用该软件的自由。

3、Linux的运用

企业使用 : 提供Web、DNS、FTP和E-mail服务
大型企业、金融数据库、耗时计算、并行计算
个人使用 :桌面PC:办公系统、手持系统:手机、平板、嵌入式系统:家电、机器人
云应用:云服务

4、Linux OS体系结构:
内核+命令解释层(shell或其他操作环境)+实用工具
5、Linux版本:
内核版本和发行版本
6、GNU:
GNU’s not unix ,建立一个自由 开放的UNIX系统
7、开源代码软件:
自由度:复制、修改、分享、 免费软件:不收费用
8、Linux应用:
企业应用和个人应用

二、命令行模式登录及帮助命令

1、为什么使用命令行模式
:可高效地完成所有的任务,尤其是系统管理任务。
便:系统管理任务通常在远程进行,而远程登录后进入的是字符工作方式。
:不用启动图形工作环境,节省了系统资源开销。

2、命令行模式登录
Linux基础知识及相关命令_第1张图片
3、命令格式

执行命令:shell提示符后输入命令,回车执行命令,执行后返回提示符状态。
在同一行中可以有多个命令,不同命令间以分号“;”隔开。执行时首先执行前面的命令,执行完后顺序执行后面的命令
长命令输入:到行尾自动换行

4、常用命令
ls : 显示文件或目录信息
格式: ls [选项] [目录或是文件]
说明:
对于目录,将列出其中的所有子目录与文件。
对于文件,将输出其文件名及所要求的其他信息。
默认情况下,输出条目按字母顺序排序。
未给出目录名或文件名时,显示当前目录的信息
ls命令选项
Linux基础知识及相关命令_第2张图片
pwd : 查看用户处于哪个目录
cd : 切换目录
说明:
“ .” 表示当前目录
“…” 表示当前目录的上一级目录(父目录)
“-” 表示用 cd 命令切换目录前所在的目录
“~” 表示用户主目录的绝对路径名
“/”表示直接到根目录

5、路径(path)
路径是指文件或目录在文件系统中所处的位置
绝对路径
以斜线(/)开头
描述到文件位置的完整说明
任何时候你想指定文件名的时候都可以使用
相对路径
不以斜线(/)开头
指定相对于你的当前工作目录而言的位置
可以被用作指定文件名的简捷方式

6、重要热键
Tab:
命令补全:第一个命令后面
文件补全:第二个命令后面
Ctrl+C:中断目前程序
Ctrl+D:离开命令行界面
7、帮助命令
help: help命令用于查看shell命令。用户可以通过该命令寻求shell命令的用法或语法总结。
格式:help cmd
$ help ls 或者 ls --help

man:-f 只显示出命令的功能而不显示其中详细的说明文件
-k 查关键字

info : man page通常提供参考信息,并不提供指导或一般使用。很多更复杂的命令说明在info page中有更详细的记载。可以使用info命令浏览info page。

8、关机命令
shutdown:
shutdown -r +5 “System will be reboot in 5 minites, Please save your work.”
shutdown -h +5 "System will be down in 5 minites, Please save your work.“
shutdown -r now
shutdown -h now
sync :将数据同步写入硬盘
reboot:重新启动
halt:系统停止,屏幕可能会保留停止信息
poweroff:系统关机,断电,屏幕空白

三、Linux文件权限与目录配置

1、用户与用户组权限
用户与用户组概念
linux目录或者文件,都有一个所属主和所属组。
所属主(user),即文件的拥有者,
所属组(group),即该文件所属主所在的一个组。
其他用户(others)对该文件的权限。
Linux这样设置文件属性的目的是为了文件的安全。

Linux用户/组信息记录文件

用户信息文件:/etc/passwd
用户密码文件:/etc/shadow
组名相关文件:/etc/group

2、Linux文件权限

查看文件权限
Linux基础知识及相关命令_第3张图片
第一列代表这个文件的类型与权限

第一个字符表示文件的类型
[d]:表示目录
[-]:表示文件
[l]:表示链接文件
[b]:表示块设备
[c]:串行端口设备

文件权限说明
文件是实际含有数据的地方
r:可读取此文件的实际内容
w:可编辑、新增或修改文件的内容(不含删除该文件)
x: 该文件具有可以被系统执行的权限

3、修改文件的权限
ugo模式修改文件权限
格式chmod 模式 文件|目录(-R递归)
u、g、o分别代表用户、组和其他
a表示ugo
+、- 、=代表加入、删除或赋予对应权限
r、w、x代表三种权限

例如:
chmod g-x test.txt
chmod a-x test.txt
chmod命令支持以数字方式修改权限:
r- -= 4 (2^2); w-- = 2 (2^1); x --= 1 (2^0)
chmod 660 test.c ==>rw-rw----

chown:用以改变文件的所属用户
格式:chown [-R] 新用户 文件|目录
chown [-R] 新用户:用户组名 文件|目录
-R:递归修改目录下所有文件的所属用户

命令chgrp用以改变文件的所属组
格式:chgrp 新组名 文件|目录
-R: 递归修改目录下所有文件的所属用户
例如:
chgrp whl1 whl2

4、连接分析

硬链接 :ln file file-hard
多个文件名指向同一个inode
不能跨文件系统
不能链接目录
ls -i file file-hard

符号连接 : ln -s file file-soft
创建一个独立文件,文件让数据读取指向链接的文件名
类似Windows快捷方式
删除原文件,软链接不能使用
ls -il file file-soft

四、文件与目录管理

1、目录管理
ls : 显示文件和目录列表
Linux基础知识及相关命令_第4张图片
cd : 切换目录

pwd : 显示当前工作目录

mkdir :创建目录
格式: mkdir [选项] <目录名>
说明:
“-m”配置权限
“ -p” 递归创建目录
1)创建权限为rwx—x—x,名为d1的目录;
#:mkdri -m 711 d1
(2)创建一个具有/home/d2/d21的目录树
#:cd /
#:mkdri –p /home/d2/d21

rmdir :删除空目录
格式: rmdir [-p] <目录名>
“ -p” 循环删除空目录
实例:
删除d1目录
删除/dd/d2/d21目录
#:rmdir d1
#:rmdri –p /home/d2/d21

2、文件管理
touch : 生成一个空文件或更改文件的时间
格式:touch [-acdmt] <文件>
创建文件:touch file
修改文件时间
-a: 仅修订access time;
-c: 仅修改文件时间,若文件不存在则不建新文件;
-d: 接日期而不用目前时间
-m: 仅修改mtime时间;
-t: 接自定义时间,为YYYYMMDDhhmm格式的时间而非当前时
Linux基础知识及相关命令_第5张图片
cp:复制文件或目录
格式:cp [选项] <源文件> <目标文件>
若复制的目标文件已存在,则被覆盖;
可以将多个源文件复制到目标目录中;
可以将源目录复制为指定的目标目录(目标目录不存在);
可以将源目录复制到指定的目标目录中。
Linux基础知识及相关命令_第6张图片
Linux基础知识及相关命令_第7张图片

mv : 移动文件或目录、文件或目录改名
格式: mv [-fiu] <源> <目标>
-f:强制移动,直接覆盖目标文件;
-i:交互模式,移动前询问是否覆盖;
-u:若目标文件存在,而源文件新,才会移动。

rm:删除文件
格式:rm [-fir] <文件|目录>
-f:强制,不会出现警告信息
-i:互动模式,在删除前询问是否动作
-r:递回删除,最常用在目录的删除,非常危险的选项!

ln:建立链接文件
软链接:
类似Windows快捷方式;
软链接拥有自己的I节点和Block块,但是数据块中只保存原有文件的文件名和I节点号,并没有实际的文件数据;
修改任意文件,另一个都改变;
删除原文件,软链接不能使用;
硬链接:ln [源文件] [目标文件]
#:ln /home/whl/helloh /home/whl/file-hard
#: ls -il /home/whl/helloh /home/whl/file-hard
#: rm -i /home/whl/helloh
#: sh file-hard
硬链接特征:
拥有相同的i节点和存储block块,可以看作是同一个文件;
可通过i节点识别;
不能跨分区;
不能针对目录使用;

五、文件内容操作命令

1、文件内容操作
cat、tac、nl : 滚屏显示文件内容(cat前后,tac后前,nl显示内容时输出行号)
格式:cat [-opt]… [file]…
-A:-vET的整合项,可列出一些特殊字符;
-b:列出行号,空白行不标识;
-E:将结尾的断行字符$显示出来
-n:打印出行号,空白行标出行号;
-T:将[tab]以^I显示出来;
-v:将看不出特殊字符显示出来。
格式:tac
查看家目录中passwd文件中的内容; ;
#tac /home/whl/passwd
格式:nl [-bnw]
-b:指定行号显示方式,主要两种:
-b a表示空行与否,都显示行号;
-b t空白行不显示行号。
-n:行号显示方式,有三种:
-n ln行号在屏幕最左边显示
-n rn行号在屏幕最右方显示,且不加0
-n rz行号在自己栏位最右方显示,加0。
-w:行号栏位显示占用字符数。

more、less : 分屏显示文件内容,less可向前翻
格式:less
空格键:向下翻一页;
PgDn:向下翻一页;
PgUp:向上翻一页;
/string:向下查找string这个关键词;
?string: 向上查找string;
q: 离开more,不再显示文件内容;
n:重复前一个查找(/及?有关)
N:反向重复前一个查找;
g: 移动到第一行;G:移动到最后一行。

head、tail :显示文本文件的前或后若干行
head [–n N] :取出前面几行
tail [–n N] :取出后面几行
例:显示/ect/passwd的前5行内容
显示/ect/passwd的后5行内容
查看 /etc/man_db.conf 11到20行
cat -n /etc/man_db.conf | head -n 20 |tail -n 10

grep :查找指定的字符串,提取匹配的行 grep
"tring‘’ filename
格式:grep [-acinv] ‘关键词’
例:读出/etc/man_db.conf中含有MANPATH行,并显示行号,且查出的内容其他颜色显示

2、命令与文件查找
which 【-a】… 可执行文件名称
格式:which [opt]… cmd…
-a:将所有PATH中的命令都列出。
实例:
which ls
which cd
which passwd

whereis 【-bmsu】 文件或者目录名称
格式:whereis [opt]… file|dir
-l:列出命令查询的几个主要目录
-b:查找二进制格式的文件
-m:只找在说明文件manual路径下的文件
-s只找sourse源文件;
-u:查找不在上述三项目当中的其他特殊文件

locate 【-iclSr】… keyword
格式:locate [-opt]… keyword
-i:忽略大小写;
-c:不输出文件名,仅计算找到的文件数量;
-l: 仅输出几行(-l n);
-S:输出命令使用的数据库文件的相关信息;
-r:后面可接正则表达式的显示方式;

find 【PATH…】 [opt] [pern]【action]】
格式:find [PATH…] [opts] [pern][action]
说明
PATH:对每个指定PATH递归搜索目录树,省略时表示当前目录
opt:控制 find 命令的行为
Pern:根据模式进行分类查找
action:指定对查找结果的操作,默认为显示在标准输出(-print)
不带任何参数的 find 命令将在屏幕上递归显示当前目录下的文件列表。

find命令举例
递归显示当前目录的文件列表
$ find
递归显示 / 目录的文件列表
$ find /
递归显示 / 目录的文件列表(仅限于3层目录)
$ find / -maxdepth 3
递归显示 / 目录的文件列表(仅限于 / 文件系统)
$ find / -xdev
递归显示 /home、/www、/srv 目录的文件列表
$ find /home /www /srv
在/home目录下查找权限为700的所有文件或目录
$ find /home -perm 700
在/home目录下查找权限至少为740的所有文件或目录
$ find /home -perm -740
在~/bin目录下查找权限至少为111的所有文件或目录(或者属主可执行,或者组可执行,或者其他人可执行)
$ find ~/bin -perm /111
在当前目录下查找目录
$find ./ -type d
在/home目录下查找硬连接数大于2的文件
$find /home -links +2
在当前目录下查找长度大于10kB的文件
$find . -size +10k
在/tmp目录下查找长度等于1GB的文件
$find /tmp -size 1G
在当前目录下查找长度小于10MB的文件
$find . -size -10M
在/var/log目录下查找所有的空文件或目录
$ find /var/log -empty
find命令与正则
$ find ~ -regex ‘.
$ find ~/book -regex ‘.ch0.
$ find ~/book -regex ‘.ch[0-9]+’
$ find ~/book -iregex ‘.ch[0-9]+.txt’
find 命令组合查询
查找 /tmp 目录下21天之前访问过的大于 10G 的文件
$ find /tmp -size +10M -a -atime +21
查找 /home 目录下属主为 jjheng 或 osmond 的大于 10M 的文件
$ find /home ( -user jjheng -o -user osmond ) -size +10M
查找 /tmp 目录下的属主不是 osmond 的文件
$ find /tmp ! -user osmond
在 /mnt 下查找 .txt 且文件系统类型不为 vfat 的文件
$ find /mnt -name '
.txt’ ! –f stype vfat
在 /tmp 下查找名为 l 开头且类型为符号链接的文件
$ find /tmp -name 'l
’ -type l
找出 /var/log 目录下所有的5天前修改过的.log 文件
$ find /var/log -name '
.log’ -mtime +5
查找所有比 FILE1 的内容修改时间新的且比 FILE2 旧的文件
$ find -newer FILE1 ! -newer FILE2
查找并删除当前目录及其子目录下所有扩展名为.tmp 的文件
$ find . -name ‘[A-S]
.tmp’ -exec rm {} ;
在logs目录中查找7天之内未修改过的文件并在删除前询问
$ find logs -type f -mtime +7 -exec -ok rm {} ;
从当前目录下查找所有以.repo为后缀的文件,并为其改名(添加.bak后缀)
$ find . -name '.repo’ -type f -exec mv {} {}.bak ;
查询并删除一周以来从未访问过的以 .o 结尾,或名为 a.out 且不存在于 vfat 文件系统中的所有文件
$ find / ( -name a.out -o -name ‘
.o’ ) -atime +7 ! -fstype vfat -exec rm {} ;

六、Vim编辑器

1、管道
管道仅能处理由前一命令传来的正确信息(标准输出)对于标准错误无直接处理能力
2、重定向
bash三种标准输入输出:
stdin(标准输入): 代码0,符号<或<<;
stdout (标准输出): 代码1,符号>或>>
stderr (标准错误输出): 代码2,符号2>或2>>
从键盘输入内容到一个文件。 cat > filename
$ cat > file0
$ cat > file0 << EOF
$ cat > file1 < ./bashrc

3、vim编辑启动
vim filename
文件存在,将打开指定文件;
文件不存在,则新建文件
4、vim模式
(1)一般模式(默认模式):yy(复制),dd(删除),p(粘贴)
(2)编辑模式:添加、修改、删除等操作
(3)命令行模式:w(保存) ,q(退出)、显示行号、/(:,?)查找
Linux基础知识及相关命令_第8张图片

七、文件打包与压缩

1、常用打包压缩命令
gzip : 流行的GUN gzoip 数据压缩/加压程序
bzip2 :免费的,无专利的高性能数据压缩工具
tar: 文件打包、归档工具
Linux基础知识及相关命令_第9张图片
2、打包和压缩文件的后缀
Linux基础知识及相关命令_第10张图片
3、常用压缩命令
gizp
gzip以Lempel-Ziv算法减少文件大小;
默认压缩的文件扩展名为 .gz。
压缩后原文件会被自动删除。
在 windows 下可以用 winzip 或 winrar或7-zip 解压。
compress
gzip命令用法
格式:gzip [-cdtv#] 文件列表
-d: --decompress解开压缩文件。
-c: --stdout压缩文件,可结合数据流重定向来处理。
-t : --test测试压缩文件是否正确无误。
-v : --verbose显示指令执行过程。
-l: --list列出压缩文件的相关信息(压缩文件的大小;未压缩文件的大小;压缩比;未压缩文件的名字)
-level: 压缩率是一个介于1~9的数值,默认值为“6”,数值越大压缩率越高,越慢。
举例
压缩文件filename
$ gzip filename
压缩文件 file1和file2并显示执行过程
$ gzip -v file1 file2
递归地高度压缩mydir目录下的所有文件
$ gzip -9 --best mydir
显示当前目录下所有压缩过的gz文件信息
$ gzip -l *.gz
解压/查看文件
(1)gzip命令
格式:gzip -d filename.gz
(2)gunzip命令
格式:gunzip filename.gz
(3)zcat/zmore/zless查看压缩文件
格式:zcat filename.gz

bzip2
比gzip的压缩比更高。
bzip2压缩的文件扩展名 .bz2。
压缩后原文件会被自动删除。
windows 下可以用 winrar或7-zip 解压
用法:bzip2 [-cdkv#] 文件列表
-d: 解开压缩文件。
-c: 压缩过程中的数据显示在屏幕上。
-k : --keep保留源文件
-z:压缩的参数,默认值,可不加。
-v: 显示压缩比等信息。
-# : 压缩率是一个介于1~9的数值,默认值为“6”,数值越大压缩率越高,速度越慢。
举例
压缩文件filename
$ bzip2 filename
压缩文件 file1和file2并显示执行过程
$ bzip2 -9v file1 file2

xz压缩命令
高压缩比;
压缩时间长;
xz压缩的文件扩展名 .xz。
压缩后原文件会被自动删除。
windows 下可以用 winrar或7-zip 解压。
用法:xz [-dtlkcv#] 文件列表
-d: 解开压缩文件。
-c: 压缩过程中的数据显示在屏幕上。
-k : 保留源文件
-z:压缩的参数。
-v : 显示压缩比等信息。
-l: 显示压缩文件相关信息
-# : 压缩率介于1~9的数值,默认“6”,数值大压缩率高,速度慢
4、tar打包命令
tar [选项] 打包文件名 要被打包的文件或目录
-c:–create 创建新的打包文件。
-t:–list列出打包文件的内容,查看已经打包哪些文件。
-x:–extract从打包文件中释放文件。
-f:–file指定打包文件名。
-v:详细列出 tar 处理的文件信息。
-z:用 gzip 来压缩/解压缩打包文件。
-j:用 bzip2 来压缩/解压缩打包文件。
–exclude=file:在压缩过程中,不打包file文件
tar命令打包和解压
tar [-z|-j|-J] [c|t|x] v [-f]
打包压缩文件
tar [-z| j |J] [cv] [-f 打包文件名] filename|dirN
查看打包文件:
tar [-z| j |J] [tv] [-f 既有的tar文件名]
解压缩:
tar [-z| j |J] [xv] [-f 既有的tar文件名] [-C 目录]

八、用户管理命令

1、用户类型
超级用户:用户名为root或其他,用户id为0
系统(虚拟)用户:Linux系统内建用户,为满足相应的系统进程对文件属主的要求,系统用户不能用来登录。用户id一般为1~(499)999
普通用户:为了让使用者能够使用Linux系统资源而建立的,大多数用户属于此类。用户id一般为1000以上
2、账户管理文件
/etc/passwd :保存用户信息
login : password : UID : GID:Comment:directory:shell
/etc/shadow:保存用户密码(加密的)
login : encrepted_password : modifed_time ::::::
/etc/group-保存组信息:
group_name : password : GID :user_list
用户角度:基本组 附加组
组角度:私有组 (只有一个用户), 公共组(多个用户)
3、用户管理相关命令
id:常用查询用户UID/GID命令:
useradd [-r ] username:创建用户
userdel username :删除一个用户
(userdel -r 用户 删除用户和用户的家目录)
usermod [-u|g|d|s|c|f|e|l] username:修改信息
passwd username:修改用户密码
新建用户命令
usermod [-u uid] [-g group] [-G segroup] [-d home_dir] [-s shell] [-c comment] user_name
-u 指定用户ID,如果同时有-o选项,则可以重复使用其他用户的标识号
-d 指定用户主目录,(默认是在/home目录下创建和用户名一样的目录)
-g 指定用户所属的用户组(主组)
-G 指定用户所属的附加组(这些组必需事先已经增加过了或者是系统中已经存在)
-r 创建系统用户
-c 指定一段注释性描述
-s 指定用户的登录Shell
-M 强制,不要建立使用者家目录
-m 使用者目录若不存在则自动建立(默认选项)
3、用户组管理相关命令
groupadd [-g|r] 组名:创建用户组
groupmod [-g|n] 组名 :修改用户组信息
groupdel 组名:删除组
gpasswd [-A|M|r|R|a|d] 组名:群组管理
groups:查看当前用户的所有组信息
newgrp userg: 切换当前用户的有效组
创建用户组
格式:groupadd [-g gid |r] 组名:创建用户组
说明
-g: 参数为某GID,直接指定组ID
-r:创建系统用户组
示例
groupadd group1
groupadd -g 1500 group1

修改用户组
格式:groupmod [-g gid |n gname] 组名
说明
-g: 修改既有的GID数字
-n: 修改既有组名
示例
groupmod –g 1501 group1
groupadd –n group2 group1

九、磁盘管理

1、硬件在系统的名称
Linux基础知识及相关命令_第11张图片
2、磁盘管理常用命令
lsblk :列出所有存储设备状态信息
格式: lsblk [-dfimpt] [device]
说明:
-d: 仅列出磁盘本身,不列出分区数据;
-f:列出文件系统名称;
-i: 使用ASCII代码,不使用复杂编码;
-m: 输出设备在/dev下面的权限
-p:列出设备完整文件名,而不是仅最后的名字
-t:列出设备的详细信息,如磁盘阵列、预读写量等

blkid :列出文件系统及设备UUID
blkid 显示设备UUID
说明:
每行就是一个文件系统;
行数据包括设备名称、UUID、文件系统类型
parted: 磁盘分区表类型与分区信息
Linux基础知识及相关命令_第12张图片
df: 查看已挂在设备的总容量、使用容量、剩余容量
格式:df [-ahskm] 文件或目录名称
-a: 列出所有文件与目录的容量;
-h: 以易读容量格式显示;
-s : 仅列总量,而不列出每个目录占用容量;
-k : 以KB列出容量显示;
-m: 以MB列出容量显示;
du:查看某个目录或文件所占空间大小
格式:du [-ahskm] 文件或目录名称
-a: 列出所有文件与目录的容量;
-h: 以易读容量格式显示;
-s : 仅列出总量,而不列出每个各别的目录占用容量;
-k : 以KB列出容量显示;
-m: 以MB列出容量显示;

2、磁盘分区
MBR磁盘分区方法
第一个扇区( 512B):
主引导分区(Master Boot Recorder MBR)(446B):安装启动引导程序
分区表(64B):记录整块硬盘分区状态
16B/分区 4
结束标志字(2B):0x55AA,是检验主引导记录是否有效的标志
GPT磁盘分区方法
LBA0:MBR兼容区块,引导程序;
LBA1:GPT表头记录
LBA2-33:记录分区信息 324=128
LBA-1~-34:备份GPT分区
Logical Block Address 512B
LBA:512/128B=4组分区
64
512B=2(64)*512B=2(33)TB
磁盘分区命令
MBR分区:#fdisk device-name #fdisk /dev/sdb
GPT分区: gdisk device-name
fdisk常用的子命令:
p:显示分区
n:创建分区
w:保存分区
q:退出
d:删除分区

3、文件系统
明确磁盘分区上文件数据存储方法和数据结构
Linux系统支持的文件系统
传统文件系统:ext2、minix、FAT、iso9660(光盘)等
日志式文件系统:ext3、ext4、ReiserFS、NTFS、JFS 、XFS
网络文件系统: NFS、SMBFS
查询Linux系统中支持的文件系统:
ls –l /lib/modules/(Linux发行版号)/kernel/fs
加载到内存中支持的文件:#cat /proc/filesystems

ext4文件系统 、xfs文件系统

十、网络管理

1、网络配置参数
IP地址 IPADDR
子网掩码 Network Mask
网关 Gateway
DNS DSN
主机名 HostName

2、网络配置流程
设置虚拟机网卡连网方式
配置网卡: ip 、netmask 、gateway
配置DNS
重启网络服务
3、虚拟机联网的三种方式
VMnet0(桥接):虚拟机与外网可以互相访问
VMnet1(仅主机):虚拟机与外网不可互相访问
VMnet8(NAT):虚拟机能访问外网计算机而外网计算机不能访问虚拟机
4、网络配置命令
ifconfig:
显示或设置网络设备
格式:ifconfig [网络设备]
ifconfig 已经开启的网络接口
ifconfig -a 查看所有网络接口
ifconfig ens33 查看特定网络接口

网卡代号
eno1:主板bios内置的网卡
ens1:主板bios内置的PCI-E网卡
enp2s0: PCI-E独立网卡
eth0:默认的网卡名(物理网卡名)
ens33:内置的PCI-E网卡(虚拟网卡名)

5、路由信息说明
Linux基础知识及相关命令_第13张图片
6、网络配置文件

网络设备的配置被保存在文本文件中
/etc/sysconfig/network-scripts/ifcfg-ethX(ensXX)

TYPE=Ethernet //网络类型 以太网类型
PROXY_METHOD=none //代理方式:关闭状态
BROWSER_ONLY=no //仅使用浏览器:否
BOOTPROTO=static //引导协议:dhcp(动态获取IP),static(静态设置IP地址),none(不指定)
DEFROUTE=yes //默认路由:启动
IPV4_FAILURE_FATAL=no //不启用IPV4错误检查功能
IPV6INIT=yes //启用IPV6协议
IPV6_AUTOCONF=yes //自动配置IPV6地址
IPV6_DEFROUTE=yes //启用IPV6默认路由
IPV6_FAILURE_FATAL=no //不启用IPV6错误检查功能
IPV6_ADDR_GEN_MODE=stable-privacy // IPV6地址生成模型
NAME=ens33 //网卡物理设备名称
UUID=bf796385-ba1d-4124-9da9-e96f5a49a5b6 // 通用唯一识别码
DEVICE=ens33 //网卡设备名称 必须和NAME值一致
ONBOOT=yes //系统启动时是否设置此网络接口:激活此网卡
IPADDR=192.168.1.150 //网卡对应的IP地址
NETMASK=255.255.255.0 //子网掩码
GATEWAY=192.168.1.1 //网关
PREFIX=24 // 子网掩码:/24表示255.255.255.0
配置文件的语法和完整选项列表
常用选项
Linux基础知识及相关命令_第14张图片
BOOTPROTO值的两种方式
1)dhcp:动态获取网络参数
前提是计算机局域网内有DHCP服务器
(2)static:静态配置网络参数
动态配置
vim /etc/sysconfig/network-scripts/ifcfg-eth0(ens33)
配置项:
BOOTPROTO=dhcp
ONBOOT=yes

静态配置
vim /etc/sysconfig/network-scripts/ifcfg-eth0(ens33)
配置项:
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.0.123
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
7、常见域名解析服务器
8.8.8.8
9.9.9.9
119.29.29.29
114.114.114.114
223.5.5.5
8、重启网络服务
CentOS6 : service network restart
CentOS7 : systemctrl restart newwork
9、测试连通性
虚拟机与其他计算机连通性
ping 192.168.1.107 与主机连通性
ping www.baidu.com 与外网连通性
外网计算机与虚拟机连接通
ping 192.168.1.151

10、常用网络命令
ifconfig : 检查网络接口配置
route : 检查路由配置
ping : 检测网络连通性
netstat : 查看网络状态
Linux基础知识及相关命令_第15张图片

十一、软件包管理

1、软件安装方式
源代码安装:高级安装,需要检验系统环境、设置编译参数、文件,配置文件等,难度较大。
RPM(Red-Hat Package Manager):由红帽公司开发的软件包管理方式,可进行软件的安装、查询、卸载、升级等工作。
DPKG(Debian Packager):Debian提供的软件安装

源码安装流程
先网站下载源代码包 httpd-2.4.43.tar.gz
#wget https://mirror.bit.edu.cn/apache//httpd/httpd-2.4.43.tar.gz
2、解压到目标目录/usr/local/src
#tar -zxvf httpd-2.2.15.tar.gz -C /usr/local/src 将其解压到 /usr/src/ 目录下
3、#cd httpd-2.4.43 #vim INSTAL 显示安装步骤:
$ ./configure --prefix=PREFIX
$ make
$ make install
$ PREFIX/bin/apachectl start
4、安装完成之后对安装包的清理,进入其解压目录 /usr/local/src/httpd-2.4.43/下,
#make uninstall 或者 #make clean 用于清除上一次的编译
5、然后返回到上一级目录,把 httpd-2.4.43 删除

2、RPM
RPM安装
Linux基础知识及相关命令_第16张图片
RPM优点
RPM内包含已编译过的程序与配置文件等数据,用户不需要编译;
RPM在安装之前,会先检查系统的硬盘容量、操作系统版本等,可避免文件被错误安装;
RPM文件本身提供软件版本信息,依赖属性检查、软件用途说明、软件所含文件等信息,便于了解软件信息;
RPM管理的方式使用数据库记录RPM文件相关参数,便于升级、删除、查询与验证。

RPM五大功能
查询—查询软件包的信息。
安装—将软件从包中解出来,并安装到硬盘。
卸载—将软件从硬盘清除。
升级—替换软件的旧版本。
验证—检验系统中的软件与包中软件的区别

RMP升级与删除
升级:rpm -Uvh [详细选项] …
如果旧软件未安装过,则仍安装该软件
刷新:rpm -Fvh …
安装过旧软件,才会进行更新该软件
删除:rpm -e [详细选项] …

3、yum软件管理
yum
基于RPM包构建的软件更新机制,可以自动解决rpm包之间的依赖关系,所有软件包由集中的yum软件仓库提供。
CentOS发布的软件放置YUM服务器内,生成软件依赖等信息数据列表。
安装软件时,下载信息数据列表,与本机数据库中数据相对;然后安装未安装软件。
配置文件及资源库文件
/etc/yum.conf 和 /etc/yum.repos.d/*.repo
yum命令
YUM是RPM的在线前端用户接口
命令:yum [全局参数] 命令 [命令参数]
全局参数
-y:对yum命令的提问回答“是(yes)”
-C:只利用本地缓存,不从远程仓库下载文件
–enablerepo=REPO:临时启用指定的名为REPO的仓库
–disablerepo=REPO:临时禁用指定的名为REPO的仓库
–installlroot=PATH:指定安装软件时的根目录,主要用于为chroot环境安装软件
yum清除缓存
清除缓存中的rpm头文件和包文件
#yum clean all
清除缓存目录(/var/cache/yum)下的软件包 #yum clean packages
清除缓存目录(/var/cache/yum)下的 headers
#yum clean headers
重新加载库信息到缓存
#yum makecache
yum查询
yum [list|info|search|provides|whatprovides] 参数
yum list [all] [glob_exp] [recent]
yum list [available|extras|installed|updates][glob_exp]
yum search 查看软件名或关键词
yum info 查看软件信息
yum provides 文件: 从文件去查找软件包
yum whatprovides cmd : 查询命令的软件包
yum安装
yum install …
yum groupinstall …

十二、Shell

1、Shell是什么
Linux基础知识及相关命令_第17张图片
2、Shell的好处
命令行模式比较快;
远程操作高效,不易掉线;
安全:信息不易外流
自动化管理
3、Shell脚本
程序=指令+数据
指令:程序文件
数据:IO设备、文件、管道、变量
运行角度:
不需要编译
编程模式:
过程式 面向对象
总结:命令集合、过程式,不需要编译、解释运行并依赖于外部程序的程序。
4、Shell程序
sh:Bourne Shell早期shell程序
Bash: Bourne Again Shell 是sh的增强版本
Csh:C Shell 语言类似C语言
Tcsh:整合了C Shell 提供了更多功能
Ksh:基于sh, 包含csh几个好用特性的Unix脚本语言。
Zsh:兼容大部分Bash特性。
5、Shell变量
变量:让某特定的字符串代表不固定的内容。
Shell变量名可由任何字母、数字、下划线等字符组成,但第一个字符必须是字母或下划线
Shell并不区分变量的类型。都视为字符串变量

变量分类
用户自定义变量:普通变量,变量名可自定义。
环境变量:OS环境相关的数据变量,和系统相关的变量不能,但值可改,允许可定义自定义环境变量。
位置参数变量:向脚本当中传递参数或数据,变量名不能自定义,变量作用固定。
系统变量:bash中已经定义好的变量,变量名不能自定义,变量作用固定。
十三、Shell编程
1、条件控制结构
单层条件判断
if [ 条件判断式 ]; then
command-list #条件判断式成立时,执行
fi

if [ 条件判断式 ]
then
command-list #条件判断式成立时,执行
fi
多层条件判断
if [ 条件判断式 ];then
command-list //当条件为真是,执行逻辑代码
else
command-list //当条件判断式不成立时,执行
fi
2、分支控制结构-case
语法:
case “$var” in
pattern1)
command-list
;;
pattern2)
command-list
;;
esac
3、for循环结构
语法:
for var in word-list
do
command-list
done
4、while循环结构
语法:
for var in word-list
do
command-list
done
5、Shell函数、Shell数组、Shell脚本调试

你可能感兴趣的:(知识点及原理分析,用法,问题解决)