Linux基础入门知识总结(完整版)
PS:第一次写这么长的博客,写的不好也希望支持!
内容说明:所有含命令行代码的截图纯本人电脑实验操作截图,部分知识点截图取自网络资源,本博客内容仅代表自己的理解,不是官方文档,有不正确的地方欢迎斧正
虚拟机版本:VirtualBox-5.2.4-119785-Win
镜像版本:rhel-server-6.4-x86_64-dvd.iso
远程工具:xshell6
作者:My apologiz
转载请标注:https://huaizhihua.blog.csdn.net/ 系统版本:Red Hat(64-bit)
软件下载链接:>>>>(本文使用的是vxbox,vmware除了安装过程不同其余一样,不会安装的,可以上网搜,也可以留言我给你安装过程)
vxbox:链接:https://pan.baidu.com/s/1gxnfTgBkY-4q5AUYpOqZWg
提取码:gomg
vmware:链接:https://pan.baidu.com/s/1nmHR7AcIAVX7g7NNo5NtwQ
提取码:8lgw
rhel6镜像:链接:https://pan.baidu.com/s/1ahXHoo_5BTBAfaHewZoHeQ
提取码:fw62
xshell远程工具:链接:https://pan.baidu.com/s/12m5d5zrKcDuvPxP04YJPPg
提取码:3sn6
=========================================================
TIPS: 文章内容很长,需要下载docx版本的,点击下方下载链接:
Linux网络管理知识总结docx版下载链接
话不多说进入正文:(下方目录方便跳转,各位看官各取所需)
目录
一、安装虚拟机系统步骤
1.打开vxbox点击新建
2.进入如下界面
3.名称任意,类型选择Linux,电脑版本64就选64.bit反之32
内存按推荐分配就行
4选择第二个
5选第三个
6.之后一直继续按默认就行
创建成功,点击启动
7.点击设置选择储存,如图选择.iso文件(启动镜像)
8.开始设置虚拟机
9.光盘检测选择skip
安装界面点next
10.语言选择中文简体
11.英语美语式
12.选择默认的
13.选择忽略(方向键选择)
14.任意给主机取名
15.城市默认
16.根密码设置 1255498751(可随意设置)
17.选择创建自定义布局
18.点击创建,选标准分区创建
19.创建四个ext4,挂载点/boot/home/tmp:(200)和/(使用全部可用空间)。swap(2000)
20.格式化
21.选择将修改写入磁盘
22.默认下一步
23.选择安装桌面
24.如图选择
25.系统安装完成重新引导
26.添加用户
27.修改时间和日期
28.出现kdump机制,不进行设置,完成
29.用账户和密码登录
30.设置网络
设置-网络
31.点击如图
32.显示网络连接成功
二、Xshell连接终端
1.网络设置桥接,在命令行里输入ifconfig 查询ip
如图192.168.1.41
2.打开Xshell6新建
3.输入相关信息
3.选择接受并保存
4.输入Linux里的用户名
5.输入Linux密码
6.测试已连接上(使用xshell要先开虚拟机再打开xshell连接
三、常用linux命令
PS:命令使用参考:https://www.linuxcool.com/
1.命令基础:
shell的作用。
Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口,shell接受用户输入的命令,并将命令送入内核去执行,实际上shell就是一个命令解释器,将用户输入的命令进行适当的解释,然后交给内核去执行,并将内核执行的结果显示给用户。
linux:内核(Kernel),外壳(Shell),使用工具
2.出现如下提示符:
第一个hzh:当前登录用户,@:当前目录
第二个hzh:主机名,/:根目录,$:普通用户,#:代表root用户
切换的命令:su 用户名
切换到root成功
3.命令补全
cd b:当输入命令字符前几个字符后,按一次TAB建,系统会根据此时的命令,自动补全剩余字符(注意要按两次)
4.命令格式
命令名:给系统执行的命令
选项:对命令的特别定义,以短线(-)开始
参数1 参数2:给命令运行的信息或文件名
eg:ls:
目录切换cd
cd[参数][目录名]
直接切换到当前用户目录
切换到上一级目录
返回当前用户目录
返回上一次所在目录
5.bash shell的使用
1.别名的使用
命令alias
给ls -l取别名 dir
测试
2.命令历史history
查看执行过的命令或键盘上下查看
执行最近一条以ls开头的命令
3.命令行编辑(快捷方式)
ctrl+a移动到前行的开头或者左方向键
ctrl+e移到当前行的结尾可以用右方向键
ctrl+l清屏
4.通配符
?:代表任意一个字符
*代表任意(0到多个)字符
[]相当于或(按范围查找)
-表示一个范围如a-z
6.shell命名规则
1.help获取帮助(注意是–)
2.man命令获取帮助(按q退出帮助信息)
四、常用目录和文件操作系统
文件系统管理是Linux重要模块之一,通过此模块,用户才能对处理的资料进行有效的管理,通常文件的管理操作有复制移动删除等操作
1.路径
各目录之间用/隔开
2.主目录和工作目录
home目录,用户访问主目录时用~代替
工作目录:指当前目录所在目录
3.绝对路径和相对路径
绝对路径:从根目录(/)开始的路径
相对路径“从工作目录开始的路径
ps:任何目录文件和设备都在“/“之下
进入根目录
4.常见目录
bin:该目录主要保存linux的基本命令(ls,cp)即存放系统命令,每一个命令都是一个可执行的二进制文件
boot:系统启动目录,保存系统启动相关的文件,如内核文件和启动引导程序等(最好做备份)
dev:保存计算机系统的外部设备,保存所有的硬件设备文件
etc:保存所有管理文件、配置文件(用户账户和密码、服务的启动脚本,常用服务的配置文件
home:普通用户的家目录。建立每个用户时,每个用户要有一个默认登录位置,这个位置就是用户的家目录
lib:系统调用的=函数库保存位置,64位系统有/lib64文件夹,主要存放动态连接库
7.lost+found:当系统意外崩溃或机器意外关机时,而产生的一些文件碎片放在这里
8.media、misc、mnt:挂载目录如:/mnt/cdrom
9.opt :第三方软件安装处
10proc:存放操作系统运行时的信息
11.root:超级用户的家目录
12.tmp:存放临时文件,该目录所有用户都可以写入和访问,最好每次开机清空此目录
13.usr:系统存放程序的目录。安装linux软件默认安装到/usr/local目录下
14.var:动态数据保存位置。主要保存缓存、日志及软件产生的文体
5.常用命令
1.复制文件cp
将文件复制一个副本、将文件复制到不同的目录、还可将指定的目录中的文件复制到其他位置
cp 选项 源文件或目录 目标文件或目录
cp默认不能复制目录,复制目录要选项-R或-r
常用参数:-f若目标文件已存在直接覆盖原文件
-i若目标文件已存在,询问是否覆盖
-P:保留源文件或目录的所有属性-
-R -r递归复制文件和目录
eg:复制多个文件
2.移动文件 mv
-I 若目标文件已经存在,询问是否覆盖
-f 覆盖已有文件时不给任何提示
3.touch创建文件或者修改
4.rm删除文件
rm 选项 文件或目录
-i为了避免误删,给出用户提示
-f强制删除,不提示删除的文件
-v:显示文件的删除进度
-r:删除某个目录及其中所有的文件和子目录
5.cat查看整个文件的内容
五、常见目录操作命令
1.pwd显示当前工作目录,即当前所处目录
2.cd命令改变工作目录
.表示当前工作目录 …当前目录的上一层目录 ~表示当前目录的home目录 /:表示根目录
3.ls列处指定目录中的文件和目录
ls -a 显示当前工作目录中所有文件(包括隐藏文件)
ls -l以长格式查看当前工作目录中的内容
ls -la显示当前工作目录中的所有文件和目录
4.mkdir创建一个新目录(可以不基于当前目录)
5.rmdir删除指定目录,可以删除多级目录
查看文件
1.cat命令
cat 选项 文件名
ps:还有功能就是进行文件合并,将多个文件合并为一个文件
2.more
查看文件进度所使用按键
3.less
less 选项 文件名
4.head 查看文件的前面部分
head 选项 文件名
5.tail 显示指定文件后几行
其他操作命令
1.find 查找文件和目录
eg:直接用find查找当前目录下所有文件
按照指定路径查找所有文件
按照路径查找指定文件(运用通配符知识)
查找不是.txt结尾的
2.grep过滤文本
grep是一种强大的文本搜索工具命令,对目标中具体内容进行查找
3.diff比较文件
diff以逐行的方式比较文本的异同点
4.ln在文件或目录间创建链接
类似win里的快捷方式
ln的链接分为软链接和硬链接
软链接:在指定位置生成一个文件的镜像不会占用磁盘空间,可以跨分区,但是硬链接必须在同一个文件系统里,不可以删除源文件,删除源文件导致链接文件找不到,出现文件红色闪烁
硬链接:可以删除源文件,链接文件可以正常打开
5.split分割文件
6.join合并文件
join[参数][文件1][文件2]
7.umask文件权限
r读权限 w写权限 x可执行权限
100只允许读 4
110 允许读和写 6
111 允许读写和执行权限 7
第一个所有者权限 第二个与所有者属于同一组的用户的权限 第三个其他用户权限,即与文件所有者不在同一组的用户,如图:644,目录和文件的最高权限是777
8.tree查看目录树
文件压缩和打包管理
1.tar命令
tar 选项 包文件名 打包的文件目录列表
eg把/boot目录中文件和目录打包到当前目录中取名boot.tar
显示打包文件boot.tar包含的文件名
.boot.tar打包文件中的内容解压到当前目录
其余命令 gzip和gunzip,zip和unzip
六、安装与管理软件包
目前形成两种包管理jizhi
rpm(red hat里的),dpkg(这里不常用)
rpm包管理机制可以将软件安装到指定位置,安装前检查软件包的依赖性。
对于系统中已存在的包和已经存在的软件相冲突,如果发现冲突停止安装!!!!
rpm包管理机制将执行安装前的环境检查吗,安装完毕后将这次软件安装的相关信息记录到数据库中,便于日后的升级,查询和卸载
包格式:name-vision-arch.rpm
name-version-arch.src.rpm
name:软件包名称
version:带有主、次和修订的软件包版本
arch:硬件平台(之后实验常用x86_64
src.rpm:源代码包
1.查询系统是否安装了安装包
-q查询软件包 -a查询安装的软件列表
rpm包安装
1.在mnt目录下创建usb目录用于挂载
挂载光盘
2.进入Packages(rpm在这里面)
查询软件包是否已安装
没有安装所以安装
rpm -ivh lrzsz-0.12.20-27.1.el6.x86_64.rpm
测试
已安装成功
2.查看软件包文件列表和文件安装路径
-q 使用询问模式,遇到问题,rpm指令会先询问用户
-p:查询软件包
-l:显示软件包中的文件列表
rpm -qpl lrzsz-0.12.20-27.1.el6.x86_64.rpm
最后的rb之类的是文件权限
补充:升级软件包
rpm-Uvh lrzsz-0.12.20-27.1.el6.x86_64.rpm
3.查看一个文件属于哪个rpm包
4.卸载rpm软件包
5.获取rpm包的说明信息
rpm -qip lrzsz-0.12.20-27.1.el6.x86_64.rpm
七、安装yum
1.查看有无yum安装包,若有卸载
查看:rpm -qa | grep yum
已有安装包—>卸载
卸载:rpm -aq | grep yum | xargs rpm -e --nodeps
查看是否卸载
已卸载
2.查看Linux版本
cat /etc/redhat_release
结果为6.4版本->6
3.去网上下载rhel6.4
登录mirrors.163.com/centos/(网易镜像)
点击1:
7.(选保存文件)
4.浏览器中查看文件名和文件保存路径
选择下载
5.安装安装包路径在/home/hzh/下载切换到下载目录
下载完成后,用rpm命令进行安装,如下:
rpm -ivh –force –nodeps + 安装包文件名
6.清理原有缓存
安装成功!
八、重定向和管道
linux命令----进行命令的组合,协同工作,高效处理数据。提供管道和重定向机制,多命令协作就是通过管道和重定向来完成。
1.重定向,主要解决信息保存问题,以及输入的形式。。
输入重定向是指把文件导入到命令中;输出重定向则是把原本要输出到屏幕的数据信息写入指定的文件中。
日常学习和工作中,相较于输入重定向,使用输出重定向的频率更高。所以将输出重定向分为标准输出重定向和错误输出重定向。
eg:步骤:
1.创建一个目录test
2.在该目录下创建三个文件exc和exc3有内容
3.通过标准输出重定向将ls -l命令原本要输出到屏幕的信息写入到文件中,然后显示文件中的内容
4.通过标准输出重定向将ls -l命令原本要输出到屏幕的信息写入到文件中,然后显示文件中的内容(追加到原有内容后面)
5.使用输入重定向把exc.txt文件导入给 wc -l命令,统计文件中的内容行数
管道命令符
作用:把前一个命令原本要输出到屏幕的标准正常数据当作是后一个命令的标准输入。
管道可以把一系列命令连接起来,将前面命令的输出作为后面命令的输入,第一个命令利用管道传给第二个命令,第二个命令输出又可以作为第三个命令的输入,依次类推
“|”
eg:
九、用户和组管理
1.linux用户管理
管理用户和组是linux中最基本的操作,要想登录到linux系统,必须要拥有相应的用户名和密码
linux用户类型
超级用户(root不能删,root是系统中唯一的超级管理员,它具有等同于操作系统的权限
系统用户:正常运行系统时使用的账号。每个进程运行在系统中都有一个相应的属主,比如某个进程以何种身份运行,这些身份就是系统里对应的用户账号。ps:系统账号是不能用来登录,如bin
eg:
2.用户管理机制
3个文件:
用户账户文件: /etc/passwd
用户密码文件: /etc/shadow
用户组文件: /etc/group
1.用户账户文件
/etc/passwd
文件中有七个字段字段间用:分割系统中每一个合法账户对应该文件中的一行记录
各字段解释:
2.用户密码文件
/etc/shadow
超级用户才能读取与passwd类似,shadow有9个字段
3.用户组文件
/etc/group
具有某种共同用户集合起来就是用户组,用于保存用户组的所有信息
每个组占用一行,每行分为4个字段
4.用户管理命令
系统管理员对用户和组的管理主要包括添加用户(组)、删除用户(组)、修改用户(组)的资料
添加、删除用户和组的操作可以直接4系统管理员编辑passwd和group文件来进行。但直接编辑这两个文件容易出错,最好用linux提供的命令来完成操作
1.添加用户
groupadd添加组
查看shadow文件:
查看group文件:
2.添加用户并指定用户登录目录
-d代表为登录用户指定起始目录
2.更改用户
usermod[选项][用户账户]
eg:usermod使用
usermod 添加用户到一个组
3.删除用户
userdel[选项][用户账号]
删除了账户admin不会删除该用户对应的工作目录和文件
4.增加、删除组
与增加、删除、修改用户的操作类似,删除、修改组的操作也可以使用groupadd、groupdel、groupmod来进行。操作方法类似
实验
1.知道某个用户属于哪个组
2.通过查看文件获取用户的相关信息
5.口令维护(更改或设置用户密码)
新添加用户未设置登录密码,所以不能登录到系统中;新用户需要用passwd设置密码,才能登录到系统中
passwd命令
passwd[选项][用户名称]
6. su切换用户
su 命令yongyu 在不同用户之间的切换
su不加任何参数,默认切换到root用户
su不加参数-root,表示默认切换到root用户,并且改变到root用户的环境
7.sudo普通用户获取超级权限
4.用户管理器
在图形界面添加用户管理
1.选择用户和组群
添加新用户
注意:添加的用户信息和口令将保存在passwd和shadow文件里
十、文件权限
1.修改文件权限
只有文件所有者和超级用户才能修改文件权限。使用命令chmod修改文件权限。
chmod命令使用的两种方法:
1.使用权限字符设置
2.使用数字设置权限
1.使用权限字符设置
eg:
2.使用数字设置权限
eg:
2.umask文件权限
1.当新建一个文件或目录时,其默认权限与umask有密切关系。umask就是指定目前用户在建立文件或目录时的权限默认值。
umask就是指定目前用户在建立文件或者目录的时候的权限默认值,目录和文件的最高权限模式是777
查看默认权限的两种方式:umask或umask -S
3.设置文件特殊权限
whereis命令用来定位命令的二进制程序、源代码文件和man手册页相关文件的路径
十一、配置和管理文件系统
1.linux常见文件系统
对硬盘进行格式化,只是清除了硬盘中的数据(格式化过程中还向硬盘中写入了文件系统,因为不同操作系统管理系统中文件也不尽相同(给文件设定的属性和权限也不完全相同),因此,为了使硬盘有效存放当前系统中的文件数据,就需要将硬盘格式化,令其使用和操作系统一样(或接近)的文件系统格式。
格式化的真实目的是为了写入文件系统
iso9660 光盘的标准文件系统。linux要想使用光盘,必须支持iso9660文件系统
swap文件系统
这是linux的交换分区所采用的文件系统。在linux中使用交换分区管理内存的虚拟交换空间。
一般交换分区的大小设置为系统物理内存的两倍,在安装linux操作系统时,必须建立交换分区,并且其文件系统类型必须是swap。交换分区由操作系统自行管理。
2.linux文件系统的目录结构
3.文件和文件权限
4.文件名
5.扩展名
为了方便管理,可以为文件设置扩展名。大部分文件都有标准的扩展名
6.文件各种属性信息
用“ls -l”或”ll”命令显示文件的详细信息包括权限、
eg:
十二、配置与管理磁盘
1.linux所有文件和目录都在“/”下
linux系统中每个硬件设备(如硬盘、内存)都映射到系统的一个文件
scsi设备映射的文件以sd为前缀,系统中第一个scsi设备为sda,第2个设备为sdb
查看系统中的分区信息
df命令即Disk Free 是指用于显示系统上可使用的磁盘空间。默认显示单位为KB。建议使用“df -h”的参数组合
显示文件类型为ext4的磁盘使用情况
1.查看磁盘空间占用情况
df命令拥有查看硬盘空间的使用情况
eg1:显示分区类型
eg2:显示指定文件类型的磁盘使用情况
2.查看文件或目录所使用的空间
du命令查看磁盘或某个目录占用的磁盘空间,常见的应用场景如硬盘满时需要找到占用空间最多的目录或文件
eg:统计当前文件夹的大写,默认不统计软链接指向的目的文件夹
2.使用硬盘
简介:在安装linux系统的过程中,首先需对硬盘进行分区处理。本书前面章节介绍安装Linux时进行了磁盘的分区操作。不过安装时,是在图形界面进行分区操作的。
查看硬盘设备
添加硬盘
选择创建新的虚拟盘
查看硬盘设备
系统原有硬盘
新增硬盘
3.查看硬盘分区表
当系统添加硬盘后,可通过查看硬盘分区表来了解硬盘的分区情况,以便对硬盘分区进行进一步处理。
eg:若硬盘没有分区情况,可将其挂载到文件系统中访问;若硬盘没有分区,则可进行分区操作。
ps:对于新增加硬盘,必须要进行分区、格式化之后才能使用
使用fdisk命令查看指定硬盘的分区,也可对硬盘进行分区操作
eg:使用fdisk查看指定硬盘的分区,也可以对硬盘进行分区操作
查看第一块硬盘分区情况(显示*的分区表示系统从该分区启动)
eg2:使用fdisk查看新增硬盘的分区情况
从图中可看出,除了显示硬盘大小之外,下面有一行提示信息,提示/dev/sdb设备中没有分区表。因此需要对该硬盘进行分区操作
4.硬盘分区
硬盘分区有三种情况:主分区、扩展分区、逻辑分区
一个硬盘最多有4个主分区,若超过4个分区数,必须首先创建一个扩展分区,然后从扩展分区中划分多个逻辑分区
1.创建主分区
输入命令进入分区界面
输入m显示帮助信息
3.输入n来增加一个新的分区
4.显示提示:创建一个扩展分区还是主分区,先创建主分区输入p
输入分区编号,创建第一个分区,然后起始位置直接enter,分区大小:+2000M
5.创好分区后输入命令p查看分区情况
fdisk将分区的结束柱面调整到256最后输入w,保存当前分区并退出fdisk程序
6.创建扩展分区
1.输入命令进入分区操作
2.增加分区命令输入n
3.提示创建分区类型,输入字符e,创建一个扩展分区
4.输入分区2
5.起始按enter
6.按enter
7.输入p命令查看分区情况 /sdb/sdb2为扩展分区
8.输入w命令,保存分区信息退出fdisk程序
9.创建逻辑分区
创建的扩展分区不能直接使用,需要将其划分为一个或多个逻辑分区才能使用
用类似方法创建其余两个逻辑分区,最后输入p查看情况
扩展分区/dev/sdb2,在该扩展分区中包含了3个逻辑分区,实际应用中,不能直接访问/dev/sdb2中的数据,需要通过逻辑分区进行访问,逻辑分区编号从5开始
10.修改分区类型
显示分区类型
t修改分区类型,6修改分区类型的编号,L查看不同分区类型对应编码
11.格式化分区
创建好分区后,在/dev/目录中将看到对应分区的设备名称
ps:刚建立的分区还不能使用,必须使用mkfs命令创建指定的文件系统后才能使用
mkfs命令
将前面创建的主分区格式化为ext4格式
12.挂载文件系统
将磁盘分区的文件系统创建好之后,还需要将其挂载到系统中才能使用
linux只有一个根目录,其他文件系统都挂载在根目录下的某一个子目录中
通常情况下,可将硬盘分区、光盘或U盘挂接到linux文件系统中,例如,通常将光盘挂载到/mnt/cdrom/目录中
13.mount命令
要挂载到某各分区系统中,使用mount命令来进行操作
mount命令可将设备中指定的文件系统加载到linux目录下(也就是装载点)
提示:如果使用mount指令挂载文件系统时,挂载点必须为目录。设备挂载后。就可以进行访问了
使用mount命令挂载硬盘分区
挂载硬盘分区
将格式化好的分区/dev/sdb1用来保存视频,可将将其挂载到/usr/video目录
创建目录
将分区挂载到目录下
上述mount中没有任何选项,都用默认值,即表示可读可写、自动检测文件系统的方式挂载到/dev/sdb1分区
mount中若不使用任何选项,mount命令将自动识别被挂载文件系统的类型,以文件系统能使用的选项进行挂载
使用mount命令挂载光驱
若计算机里安装有光驱,要使用光盘中的内容,必须首先将其挂载到文件系统中
通常将光驱挂载到/mnt/cdrom/目录下,如果/mnt/目录中不存在cdrom子目录,则应该首先创建该子目录
提示:可以使用df命令,查看该光驱是否被成功挂载
使用mount命令挂载u盘
将U盘插入计算机usb接口,由于计算机具有多个usb插口,将u盘插入不同的接口可能对应的设备名不一样,用ls命令查看upan对应的设备名
14.自动挂载文件系统
在/etc/fstab文件配置自动挂载指定的文件系统
每次手动挂载很麻烦,所以设置自动挂载文件系统
所谓自动挂载文件系统,即表示系统启动后自动将硬盘各分区挂载到文件系统中,用户可以使用这些分区中的内容
Linux中的/etc/fstab文件保存了自动挂载文件系统的参数,通过该文件中设置的参数,可使系统在每次启动时候自动挂载指定的文件系统
使用命令/etc/fstab文件,设置系统自动挂载/dev/sdb1分区到文件系统中
vim /etc/fstab
如图显示的是fstab文件格式,其中每一行表示一个自动挂载选项,每行由6个字段组成
第一个字段:设备名,也可使用标签名。对磁盘分区进行格式化时,可设置其标签
第二个字段:设置挂载点
第三个字段:设置文件系统的类型
第四个字段:设置挂载选项。使用default表示rw、suid、dev、exec、auto、nouser和async选项的组合
第五个字段:设置是否需要备份。0表示不备份,1表示备份,一般根分区需要备份
目的:实现自动挂载
添加到/etc/fstab文件中,在每次系统启动后,都可以通过/uer/video目录访问/dev/sdb1分区的内容,不用重复使用mount命令进行挂载
在/etc/fstab文件中设置好自动挂载该分区后,可以执行mount命令来查看挂载的分区
十三、管理linux服务器的网络配置
1.常见的网络配置文件
网络配置包括主机名、ip地址、子网掩码、默认网关、DNS服务器等
在linux中,tcp/ip网络的配置信息分别储存在不同配置文件中。相关的配置文件有:
/etc/sysconfig/network
网卡配置文件
/etc/hosts
/etc/resolv.conf
/etc/host.conf
1./etc/sysconfig/network
主要用于设置基本的网络配置,包括主机名称、网关
NETWORKING_IPV6:设置是否启用ipv6,取值yes或no
GATEWAY:设置网关的ip地址
DOMAINNAME:设置本机域名
NISDOMAIN:有NIS系统的网络中,设置NIS域名
2./etc/sysconfig/network-scripts/ifcfg-eth0
网卡配置文件。网卡设备名、ip地址、子网掩码、网关等信息都保存于此。
一块网卡对应一个配置文件。
文件名以“ifcfg-”开始后跟网卡类型(通常使用的以太网卡为eth)加网卡的序号(从0开始)。
文件名 ifcfg-ethN :N代表从0开始的数字。如第一块网卡的配置文件名就是ifcfg-eth0.
DEVICE=eth0表示当前网络设备的设备名称
TYPE=Ethernet表示该网络设备的类型
ONBOOT=no设置系统启动时是否启用该设备,取值yes或no
BOOTPROTO表示获取ip地址的方式,取值static bootp 或dhcp
HWADDR该网络设备的mac地址
IPADDR表示该网络设备所在网络的地址
注意UUID为系统中的储存设备提供唯一的标识字符串,不管这个设备是什么类型
linux系统支持在一块物理网卡上绑定多个ip地址,需要建立多个网卡配置文件,其文件名形式为ifcfg-ethN:M
3./etc/hosts
hosts文件是linux系统中负责ip地址与域名快速解析的文件。 hosts文件包含了ip地址和主机名之间的映射,包括主机名的别名,在没有域名服务器的情况下,系统上的所有网络程序都通过查询该文件来解析对应于某个主机名的ip地址,否则就需要使用DNS服务程序来解决。
4./etc/resolv.conf
是DNS客户端用于指定系统所用的DNS服务器的ip地址。
5./etc/host.conf
用来指定如何进行域名解析。通常包括几行:
order:设置主机名解析的可用方法及顺序。可用方法包括hosts(利用/etc/hosts文件进行解析)、bind(利用DNS服务器解析)、NIS(利用网络信息服务器解析)。
multi:是否从/etc/hosts文件中返回多个ip地址,取值on或off
nospoof:取值on或off。设置为on时,系统会启用对主机名的欺骗保护以提高程序的安全性。
order hosts bind 解析的顺序:先利用hosts进行静态名称解析,再利用dns进行动态域名解析
2.常用网络配置命令
1.hostname
用于显示或临时设置当前主机名称
用vim编辑/etc/hosts文件,修改主机名为RHEL6
2.用vim编辑/etc/sysconfig/network文件中的hostname
ps:如果hosts文件中没有设置本地解析可以不用修改主机名。修改主机名后需重启系统
2.ifconfig
ifconfig命令可以用于查看、配置、启用或禁用指定网络接口
eg:
显示激活的网卡信息
连接类型(以太网)硬件mac地址
网卡ip地址、广播地址、子网掩码
ipv6地址设置
up:表示此网络接口为启用状态
running:表示网卡设备工作中
multicast:支持组播
mtu:数据包最大传输单元
接受、发送数据字节数统计信息
ifconfig配置和删除ip地址
3.setup
用命令setup设置网络接口ip地址的获得方式(静态或动态)、ip地址、子网掩码、网关、DNS服务器ip地址等。
命令:setup dns
方向键选择,回车确定
启动服务用空格确定选择
3.常用网络测试工具
利用网络测试工具可以测试网络状态,判断和分析网络故障。
1.ping
ping命令主要用于测试本主机和目标主机的连通性。
加 -c指定ping发出的消息数量
加 -i两次消息包的间隔时间,默认1秒
2.traceroute
该命令用于实现路由跟踪
3.netstat
网络连通之后,用netstat查看网络当前的连接状态。
4.arp
使用arp命令配置并查看linux系统的arp缓存。包括查看arp缓存、删除某个缓存条目、添加新的ip地址和mac地址的映射关系。
十四、安装gcc
之后的实验中需要运行编译c语言代码
所以需要先安装gcc
1.查看是否安装yum
已安装
2.查看yum是否安装
没有安装,所以采用yum命令安装(可自动下载依赖包)
可是安装失败,没有下载依赖包
3.yum安装失败,采用手动下载各依赖包
首先到http://mirrors.163.com/centos.org/6/os/x86_64/Packages/下载用到的rpm包
在这里选取相关依赖包下载保存(详情参照yum安装)
如图需要下载这10个包
然后用rpm -ivh --force –-nodeps + 包名来安装
4.查看是否安装成功
成功
十五、vim编辑器与shell
vim操作基础:
vim 1.txt若在启动vim是未指定文件名,或这个文件不存在,vim会开辟一段新的缓冲区域来编辑
1.命令模式:默认进入是命令模式
命令模式操作:
eg:
:set nu 显示行号
:set nonu取消行号
:set ruler 显示右下角状态栏
:set noruler不显示右下角状态栏
:set all vim支持更多参数设置
2.输入模式:用于文本编辑,输入数据即可(如命令模式输入i进入)
按esc键回到命令模式
2.编辑模式:在命令模式输入:进入编辑模式
删除掉:就回到命令模式
2.shell
shell是允许用户输入命令的界面,linux中最常用的交互式shell是bash
shell:用户和操作系统内核之间的接口,起着协调用户和系统一致性和在用户与系统之间进行交互作用
shell功能:最重要功能就是命令解释,从某种意义上说,shell是一个命令解释器。
linux系统中所有可执行文件都可以作为shell命令来执行。将可执行文件做一个分类
当用户提交了一个命令后,shell首先判断它是否为内置命令,若是就通过shell内部的解释器将其解释为系统功能调用并转交给内核执行;若是外部命令或使用程序,在硬盘中查找命令,并将其调入内存,再将其解释为系统功能调用并转交给内核执行
在查找一个命令时分两种情况:
用户给出了命令路径,shell就沿着用户给出的路径查找,若找到则调用内存,若没找到则输出提示信息
2.用户没有给出命令的路径,shell就在环境变量path所制定的路径中依次进行查找,若找到则调入内存,若没找到则输出提示信息
path(export查看)
2.shell的功能
shell环境变量;正则表达式,输出输入重定向和管道
shell环境变量
shell支持具有字符串值的变量
shell变量不需要专门的说明语句,通过赋值语句完成变量说明并予以赋值。
在命令行或shell脚本文件中使用$name的形式引用变量name的值
1.变量的定义和引用
变量赋值格式:
name=string
name是变量名(变量名以字母或下划线开头的字母、数字和下划线字符),它的值是string
(注意等于号两侧不能有空格)
在定义变量时,若string中包括空格、制表符和换行符时,则string必须用“string”或‘string’的形式
由于特殊字符‘所以不匹配,shell认为命令行没结束,按回车出现系统第二提示符>,让用户继续输入命令行,按ctrl+c组合键结束
2.shell变量的作用域
当前shell中定义变量var1和var2
设置var2为全局变量
显示当前shell的PID
调用子shell显示当前shell的PID
var1没有被export,所以在子shell中没有值
var2没有被export,所以子shell中仍然有值
退出
3.环境变量
环境变量是指由shell定义和赋初始值的shell变量
shell用环境变量来确定查找路径、注册目录、终端类型、终端名称、用户名等。所有的环境变量都是全局变量,并可以有用户重新设置。
直接使用set命令可以显示用户当前所有环境变量的设置
输出变量path的值
4.工作环境配置文件
shell环境依赖于多个文件配置。用户并不需要每次登录后都对各种环境变量进行手工设置,通过环境设置文件,用户的工作环境的设置可以在登录的时候自动由系统来完成。
环境设置文件由两种,一种是系统环境设置文件,一种是个人环境设置文件
/etc/profile
/etc/bashrc
$home/.bash_profile
用户每次登录系统时被读取,里面的所有命令都会被bash执行。用户自己定义的环境变量设置
$home/.bashrc
3.正则表达式
1.grep命令:
2.正则表达式
^m搜以m开头
pKaTeX parse error: Expected group after '^' at position 7: 搜以p结尾 ^̲表示空号
4.输入/输出重定向和管道(补充)
1.重定向
2.管道
5.shell脚本
定义:shell中用于流程控制的内置命令
2.脚本的建立和执行
2.脚本的建立与执行
方式1:将文件名作为shell命令的参数,调用格式(当被执行脚本文件没有可执行权限时使用)
2.执行方式2
3.方式3
十六、安装配置samba服务器
1.检查是否安装samba服务器
命令:rpm -qa | grep samba
执行命令后,出现上述命令,则说明系统中已经安装了5个软件包。
2.安装命令
命令1:yum -y install samba
命令2:rpm -ivh samba-3.6.9-164.e16.x86_64.rpm
命令2要先挂载才能使用不然报错找不到目录或文件
三、启动Samba
1.samba进程
安装好samba并启动其守护进程后,便可以提供文件共享服务。
samba的守护进程有两个:smbd和nmbd。
2.启动samba
其余命令:
service nmb status
service nmb restart
service nmb stop
或者用setup samba命令启动
若需要samba随系统的启动而启动,可以执行setup命令进行设置。
四、配置samba服务器
samba服务的配置文件是/etc/samba/smb.conf。
用vim /etc/samba/smb.conf编辑配置
五、匿名服务器配置
如果samba服务器中的文件不需要用户登录就可以访问,则在全局设置中将security设置为share。
1.创建目录:/soft,和/tmpdoc
命令:mkdir soft tmpdoc
2.修改soft的目录权限
因为所有用户都要有读取权限,该目录权限应设置为755。
命令:chmod 755 soft
4.修改tmpdoc属性
由于匿名用户可以在/tmpdoc目录中写入数据,需要将该目录的属性修改为nobody(samba中使用匿名登录,默认的用户名为nobody)。
命令:chown nobody:nobody tmpdoc
5.修改配置文件
修改/etc/samba/smb.conf文件,删除原来的内容,输入以下内容:
6.对配置文件进行检查。
可以输入:testparm查看是否有误
7.重启服务器,关闭linux防火墙
8.关闭win防火墙,访问测试
在win里输入//ip地址测试
成功!
六、登录samba服务器
创建的匿名samba服务器的权限控制很简单,分为只读和可读写两种权限。
首先需要在服务器端添加用户和用户组,并用smbpasswd设置用户的权限,然后在smb.conf配置文件中对不同用户和用户组的权限进行设置。
1.创建用户
2.将用户添加到samba密码文件中
3.准备目录
4.修改权限
5.修改配置文件
修改/ect/samba/smb.conf文件
原有的基础上添加[user_hzh02]这一部分
6.测试
重启服务器:service smb restart
service nmb restart
在win上输入:\ip地址
登录成功!
七、访问windows系统
1.先在Windows中共享一个文件夹。共享完成,在我的电脑—地址栏输入:\本地物理机ip地址。
在桌面创建文件,并在高级共享选择共享文件夹
2.创建挂载点
3.使用挂载命令
3.测试
成功!
十七、dhcp服务的配置与应用
对于TCP/IP网络,要接入到本地网络中,每台计算机要有一个唯一的ip地址。若每台计算机的ip地址都需要管理员来分配、设置,在一个规模较大的网络中,任务
极其繁重。
在TCP/IP协议簇中提供了DHCP应用层协议。通过DHCP,可以对每台计算机的ip地址进行动态分配,从而降低网络管理复杂性。
1.DHCP简介
DHCP( Dynamic Host Configuration Protocol 动态主机配置协议),是TCP/IP协议簇中的一种,主要用来给网络中的计算机动态分配ip地址。这些被分配的ip地址都是在DHCP服务器中预先保留的地址集。
1.DHCP在管理网络配置方面的作用:
网络规模较大,使用DHCP可减少管理员工作量;
对于移动pc,使用环境变动,造成ip地址变动,使用dhcp,自动接入。
DHCP分为两个部分:服务器端和客户端。
dhcp请求,给客户端分配ip地址。
客户端负责向服务器端发出请求ip地址的数据包,并获取服务器分配的ip地址,为客户端设置分配的ip地址。
注:dhcp服务器在很多设备中已经内置。如:家用的光猫,路由器等
2.DHCP工作流程
使用dhcp时,网络上必须有一台dhcp服务器,而其他计算机执行dhcp客户端。
当dhcp客户端程序发出一个信息,请求一个动态ip地址时,dhcp服务器会从目前配置中设置的ip地址集中提供一个可供使用的ip地址和子网掩码给客户端。工作流程如下:
1.由于客户端最初不知道dhcp服务器的ip地址,因此设置使用dhcp的客户端将以广播方式向网络中发送dhcp discover信息,用来查找网络中是否存在dhcp服务器。这样网络中的每一台计算机都可收到该广播信息,但只有dhcp服务器才会做出响应。
使用dhcp时,网络上必须有一台dhcp服务器,而其他计算机执行dhcp客户端。
2.dhcp服务器 收到客户端发送的dhcp discover信息,将从dhcp服务器中还没有分配的ip地址中选择一个,并将ip地址、子网掩码、网关地址等信息发送给申请的客户端计算机。
3.由于网络中可能存在多台dhcp服务器,而这些dhcp服务器都可能向申请ip地址的客户端返回一个ip地址及相关信息,所以,需要设置一种选择方案,通常的规则是dhcp客户端接受第一个收到的ip地址分配信息。
4.客户端以广播方式发送出一个dhcp request信息,该信息中包含向它所选定的dhcp服务器请求ip地址的内容。这里使用广播方式来应答,是为了通知其他其他dhcp服务器,该客户端已选择了某台dhcp服务器所提供的IP地址。
5.当dhcp服务器收到dhcp客户端广播的dhcp request请求后,被使用的dhcp服务器将向dhcp客户端发送一个包含其所提供的ip地址和其他设置的dhcp ack信息,告诉dhcp客户端可以使用使用该ip地址,其他的dhcp服务器则收回曾提供的ip地址。而dhcp客户端便将收到的ip地址与客户端的网卡绑定。
通过以上步骤,完成了客户端动态分配ip地址的过程。
dhcp服务器向dhcp客户端分配ip地址称为出租,通常都设置为有租借期限,当期满后,dhcp服务器便会收回该ip地址。如果dhcp客户端要延长租约,则必须更新租约。
dhcp客户端启动和租约期限过半时,会自动向dhcp服务器发送更新租约的信息。
3.安装DHCP服务器程序
命令:
查询是否安装成功
安装成功
4.启动DHCP服务器程序
启动失败
选择手动启动
系统启动后将自动启动dhcpd进程,不再需要用户手工输入命令来启动。
大部分需要自启动的程序都可采用这种方式来设置。
因未对dhcp服务器程序进行配置,使用以上命令启动dhcp程序会失败。
命令setup dhcp
空格选择这个服务
5.配置服务器
安装完成以后,首先应进行对DHCP服务器配置。
安装程序后,在/etc/dhcp目录下产生一个名为dhcpd.conf的配置文件。
可以发现该配置文件的3行都是注释,没有实际内容。
/usr/share/doc/dhcp*目录中可以找到配置文件的模板。使用复制命令将其复制到/etc目录。
*表示dhcp的版本
复制到/etc目录
命令:cp -p /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf
查看文件内容
常见问题:
1)如何知道客户机从哪个DNS Server获得ip地址?
windows中直接查看网络链接详细信息,有个dhcp服务器,可以看到服务器的ip地址。
linux下查看/var/lib/dhclient/dhclient.leases,这是个租约文件,服务器端的租约文件在/var/lib/dhcpd/dhcpd.leases。
2)服务器分配ip的顺序?
从小的ip开始分配
3)为何客户机在获得一个ip后,释放再获得ip时会获得以前使用的ip?
客户机内有一个租约文件存放自己曾经获得的ip地址,服务器端也有一个租约文件存放了自己已经分配的ip以及其对应的主机mac。
4)服务器会在哪些端口提供dhcp服务?
默认在任何端口提供dhcp服务。实际上只是在与dhcp同一网段的网卡上提供dhcp服务。
5)如果租约到期,而服务器并没有续约,该如何处理?
会向其他服务器寻找dhcp服务
局域网络,在该网络中使用dhcp服务器,要对dhcp服务器进行配置设置:
网络中ip网段为192.168.232.0(虚拟机上的ipv4地址)
子网掩码:255.255.255.0
动态分配的ip地池区间:192.168.232.180~192.168.232.190
dns服务器的ip地址为:114.114.114.114
默认网关为:192.168.232.1
有一台计算机的ip地址有特殊要求,设置ip地址为192.168.0.199
根据以上条件,修改配置文件。
注:以上的配置一定要与虚拟机的ip地址设置
eg: 有一台计算机的ip地址有特殊要求,设置ip地址为192.168.100.199
根据以上条件,修改配置文件
vim dhcpd.conf文件里输入如图内容。
3.1克隆两台客户机
先克隆两台客户机
创建完之后,可以使用命令:cat /etc/sysconfig/network-scripts/ifcfg-eth0查看每个虚拟机的网络配置文件,然后使用ifconfig查看每个虚拟机的ip地址即可发现规律。
- 4.查看客户租约文件,查看已经分配出去的ip地址信息。
十八、FTP服务器
FTP(file transfer protocol)是文件传输协议的缩写。利用ftp服务可以实现文件的上传及下载等相关的文件传输服务。
服务概述:
ftp服务就是文件传输服务,即文件传输协议,具备更强的文件传输可靠性和更高的效率。文件传输协议(file transfer protocol,ftp),基于该协议FTP客户端与服务端可以实现共享文件、上传文件、下载文件。用户可以通过客户端向FTP服务端上传、下载、删除文件,ftp服务器端可以同时提供给多人共享使用。
ftp最主要的功能是在服务器端和客户端之间进行文件的传输。
ftp是以TCP封包的模式来进行服务器与客户端之间的连接,当
连接建立后,用户便可以在客户端连接ftp服务器来进行文件的
上传和下载,同时也可以直接管理用户在ftp服务器上的文件。
1.匿名用户:要使用ftp服务来实现文件的传输,首先需要登录到服务器,然后再进行文件的传输。但是对于很多公开提供软件下载的服务器来说非常不方便。为了解决该问题,匿名用户访问随之产生。
匿名用户是通过使用一个公用用户名anonymous,密码不限的策略管理,让任何用户都可以方便地从这些服务器上下载相关资源。
2.ftp服务有两种工作模式:
主动传输模式:active ftp
被动传输模式:passive ftp
3.流行的ftp服务器软件
vsftp(very secure FTP),该ftp的目的是构建一个安全的ftp服务器程序。
vsftp具有的主要特点:
1.安全、高速、稳定的ftp服务器
2.可以做多个ip的虚拟ftp主机服务器
3.方便地设置匿名登录
4.不执行任何外部程序,从而减少了安全隐患
5.支持带宽限制
6.支持两种认证方式
4.安装vsftpd服务器
1.检查系统中是否安装有ftp
未安装
2.挂载光盘安装
安装成功
3.启动服务
4.设置自动启动vsftp服务
命令:ntsysv
5.关闭防火墙(注意客户机的防火墙也要全关掉)
6.浏览器打开ftp
先用ifconfig查询linuxip地址
在我的电脑输入ftp://192.168.1.41/(每个人电脑的这个ip地址不一样)
7.查找pub路径:/var/ftp/pub,创建两个共享目录
实验:
1.修改配置文件
vim /etc//vsftpd/vsftpd.conf
ps:在vim编辑模式里:g/^#/d可以删除所有注释
修改配置文件如下
2.修改/var/ftp/pub目录权限
因vsftpd匿名用户有两种:anonymous、ftp,所以匿名
用户如果默认需要上传文件、删除及修改等权限,需要vsftpd用
户对/var/ftp/pub目录有写入权限,使用chown和chmod任意
一种设置权限,如下:
或者:chmod o+w pub
3.测试
重启服务,通过Windows客户端访问,能上传、删除文件、创建目录等
删除掉原有目录
关闭防火墙,selinux问题:修改/etc/sysconfig/selinux把enforcing改成disabled
实验:
1.配置完匿名用户后,实现vsftpd系统用户方式验证。
1.在linux里建立用户ftp01和ftp02
2.修改vsftpd.conf
把第一行修改为NO,如图
3.测试,windows客户端ftp://ip地址
4.测试结果
linux端测试
实验:
虚拟用户ftp服务器配置
1.创建相应的ftp数据目录
验证:
2.创建一个用户提供给虚拟用户使用
验证:
3.将ftp数据目录设置为vftp用户
验证:
4.创建虚拟账号与密码的文本文件
5.将创建好的密码文件txt格式转换成db格式
验证:
6.定义db文件的权限
验证:
7.定义 pam认证文件
验证:
8.配置vsftp主配置文件
输入如下内容:
anonymous_enable=NO
local_enable=YES
write_enable=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
chroot_local_user=YES
#allow_writeable_chroot=YES
guest_enable=YES
guest_username=vftp
listen=YES
listen_port=21
pasv_enable=YES
pasv_min_port=10000
pasv_max_port=10088
anon_world_readable_only=NO
user_config_dir=/etc/vsftpd/user_conf
验证:
cat /etc/vsftpd/vsftpd.conf
启动
服务:
9创建上面配置文件中指定的子配置文件目录
验证:
10定义hzh01用户的配置文件
验证:
11.定义hzh02用户的配置文件
write_enable=YES
anon_world_readable_only=no
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
anon_umask=022
local_root=/home/ftp/sgd001
验证:
12启动vsftpd
关闭防火墙
13验证测试
windows客户端验证
Linux客户端验证“
============================================================================
感谢看到最后的朋友,第一次写这么长博客支持博主一下。谢谢!