Linux概述
简介
摘自于百度百科
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。伴随着互联网的发展,Linux得到了来自全世界软件爱好者、组织、公司的支持。它除了在服务器操作系统方面保持着强劲的发展势头以外,在个人电脑、嵌入式系统上都有着长足的进步。使用者不仅可以直观地获取该操作系统的实现机制,而且可以根据自身的需要来修改完善这个操作系统,使其最大化地适应用户的需要.
Linux不仅系统性能稳定,而且是开源软件。其核心防火墙组件性能高效、配置简单,保证了系统的安全。在很多企业网络中,为了追求速度和安全,Linux操作系统不仅仅是被网络运维人员当作服务器使用,Linux既可以当作服务器,又可以当作网络防火墙是Linux的 一大亮点。
Linux与其他操作系统相比 ,具有开放源码、没有版权、技术社区用户多等特点 ,开放源码使得用户可以自由裁剪,灵活性高,功能强大,成本低。尤其系统中内嵌网络协议栈 ,经过适当的配置就可实现路由器的功能。这些特点使得Linux成为开发路由交换设备的理想开发平台。
提示符
[root@localhost ~]#
# 表示当前权限为超级管理员root(最高的管理级别,说白了就是我想干啥就干啥)$ 表示普通用户的权限root 表示当前用户为root@ 表示在本地localhost 表示主机的名称~ 表示当前的路径(注意:~是用户家目录的简写,root的家目录为/root,普通用户的家目录为/home/用户名)
查询/帮助命令
查看系统内核版本
1 | uname -r |
ls命令:查看指定/当前路径中有哪些文件或目录
1 | # 直接使用 ls, 表示显示当前路径下的内容,其余ls的复杂命令同理 |
ll(ls -l):每个字段的含义
1 | # 查看根目录下的所有文件/目录的详细内容 |
我们会发现每个文件或目录都具有相同的格式
解析:
以根目录下的etc为例说明
drwxr-xr-x. 87 root root 4096 Sep 29 17:39 etc
- 开头第一个字母:
-: 表示文件d: 表示目录f: 表示块设备文件c: 表示字符设备文件l: 表示链接文件p: 管道文件s: 套接字文件
- rwxr-xr-x
分为三个用户类型
前三个字母属于文件所有者的权限(u)
中间三个字母属于组内用户的权限(g)
最后三个字母属于组外用户的权限(o)
文件下:
-: 没有对应的权限r: 可读w: 可写x: 可执行
目录下:
-: 没有对应的权限r: 可查询此目录下文件名数据,比如ls命令w: 可以建立新目录/删除已存在目录/修改已存在的目录x: 具有执行的权限,简单地说,就是可以将该目录转换成家目录的能力,比如cd 命令。注意,x权限对于目录是极其重要的,如果没有该目录,表示你不能切换到该目录,更不能对其子目录或者文件进行操作,即使你有“r/w”权限。
87
表示硬链接个数root root
第一个root表示文件所有者
第二个root表示组名4096
表示文件的大小,单位为字节Sep 29 17:39
表示文件最后修改日期etc
表示文件名
新建文件/目录
- mkdir : 新建目录
- touch : 新建文件
mkdir
1 | # 在根目录下新建一个名为aaa的目录 |
进阶:
不加参数选项的mkdir只能建一层目录
如果想要建立多层目录的话?
1 | # 在根目录下新建目录 /bbb1/bbb2/bbb3 |
touch
1 | # 在根目录下新建一个名为qqq.txt的文件 |
进阶:
如果想要同时创建多个文件的话?
1 | # 在根目录下同时创建名为q.txt w.txt e.txt 的三个文件 |
删除文件/目录
1 | # 删除根目录下的 q.txt |
chmod 更改文件/目录权限
方法一
1 | # 首先在/opt/下创建一个111.txt文件 |
解析:
777指的是按照rwxrwxrwx的(二进制)顺序排列的权限
r表示4
w表示2
x表示1
注:不清楚二进制的同学去百度或者问问其他的人
比如 rwxr-xr-x 在chmod中可以表示为755
明白了吧?
很简单的
ok
方法二
1 | touch /opt/222.txt |
或许有的同学不知道这个u是什么意思,其实细心的同学会发现,其实我在上面已经指出了它的含义了
来看:
rwxrwxrwx
分为三组,这个都知道吧?
前面三个字符属于u(所有者)
中间三个字符属于g(组内)
后面三个字符属于o(组外)
如果还是不明白什么意思,不要着急,后面会具体的讲这些问题.
u-x的意思就是,所有者的权限中去掉x权限g+x的意思就是,组内的权限中加上w权限
其余的以此类推,这里不做演示了
四个帮助命令
1 | #此处以ls查看命令为例 |
终端使用技巧
- 查询历史命令
1 | # history -c : 清空当前历史命令 |
- 清空终端屏幕
1 | # 快捷键 ctrl + l |
安利一波😝:
上下键调用历史命令
Tab建自动补齐 –> 补齐:命令/文件名/目录名
!$ –> 调用上一条命令中的最后一个参数
!keyword –> 调用历史命令中含有当前关键字的,距离当前时间最近的那一条命令
date –> 显示系统时间
pwd –> 打印当前目录
了解路径
在Linux中,路径分为相对路径和绝对路径
/ : 表示根目录.. : 上一级目录
cd命令为切换路径
我们先来看一下根目录下有哪些目录
1 | # ls为查看当前或者指定路径下有哪些文件/目录 |
由上面我们可以看到,根目录/下还有好多的子目录
接下来我们使用cd命令来切换到根目录中的其中一个目录中
1 | cd /lib |
切换目录之后,我们会发现提示符中的路径也发生了变化(由~变为了lib)
这种切换方式为绝对路径,因为是从/目录下开始的
我们当前路径在根目录/lib下
我们使用ls命令来查看lib目录下又有哪些子目录
1 | ls |
🐦🐦🐦🐦…
我举个例子来说明一下绝对路径吧
假设我们的当前用户是root,家目录在/root,我们需要查看根目录下的很多目录
如果按照上面的办法,先使用cd命令切换目录,然后再用ls查看的话太过于麻烦,怎么办呢?
这时候绝对路径就派上用场了
1 | # 在当前目录 /root 下查看 /lib/python3.6 目录中的内容 |
也就是说,绝对路径是以根目录为起点的一个树状完整目录
🐓🐓🐓🐓…
那什么是相对路径呢
假设我们现在已经使用cd命令切换到了根目录/下,我们想要查看根目录下lib目录下的python3.6,怎么办?
难道还是用ls /lib/python3.6吗?
可以是可以,但是显然再使用绝对路径就有点繁琐了
我们可以使用相对路径
因为我们当前已经在根目录下了,所以不必再加上/
1 | ls lib/python3.6 |
也就是说,相对路径是以当前路径为基准进行命令操作
也许你可能会说,不就是差了一个/号吗?
我这里只是举了一个例子来演示,实际情况下,能用相对路径就用相对路径,其余就使用绝对路径
举个例子吧
比如我们现在所在的路径是/lib/python3.6,我们想要查看/etc/rpm/目录下的内容,这时候使用相对路径就有点不切实际了,应该使用绝对路径来查看
懂了吧?
ok👌
Linux下的常见目录含义
- boot : 相关的启动文件(引导程序,kernel等)
- etc : 配置文件
- tmp : 进程产生的临时文件存放位置
- var : 存放经常变化的数据(数据库,日志,邮件,定时)
- media : 设备挂载目录
- mnt : 进程挂载
- bin : 普通用户使用的命令 –> /usr/bin
- sbin : 管理员使用的命令 –> /ust/sbin
- dev : 设备文件
- proc : 虚拟的文件系统/进程实时状态信息
- usr : 系统文件
文件操作命令
vim编辑器的用法
具体用法见我的这篇博客vim的使用方法
1 | # 当前目录下如果文件存在,会直接进入该文件中 |
进入后想要退出的话:
:wq –> 保存并且退出
:!q –> 不保存强制退出
用户的家目录与虚拟控制台
用户的家目录问题
超级用户root的家目录 : /root
普通用户的家目录 : /home/zhangsan001
如何新建普通用户:
useradd zhangsan001
passwd zhangsan001
su - zhangsan001(切换身份的同时也切换家目录)
su zhangsan001(只切换身份)
虚拟控制台的使用技巧
切换方式:ctrl+alt+F2-F6
返回方式:alt+F1
测试方式:who和who am i
重定向技术
查看文件内容的命令
more: 不一次性的输出所有内容
1 | # 使用more命令查看passwd |
cat: 一次性输出所有内容
1 | # 使用cat命令查看passwd |
输出重定向
符号: >
形式: 覆盖
1 | ls > abc.txt |
追加重定向
符号: >>
形式: 追加
1 | ll >> abc.txt |
错误重定向
符号: 2>
形式: 覆盖
1 | geafasdsa 2> abc.txt |
全部重定向
符号: &>
形式: 覆盖
1 | # 正确命令 |
find命令
顾名思义,find是查找的意思
参数:
- -type : 查找类型(f为文件类型,d为目录类型)
- -user : 查找内容的所有者
- -name : 查找内容的名称
- -iname : 查找内容不区分大小写
1 | # 试着把find与重定向组合使用 |
高级技巧:
1 | # 以张三身份建立三个文件abc1.txt,abc2.txt,abc3.txt |
mv移动命令的四种用法
1 | # 新建一个111.txt |
cp复制命令的四种用法
1 | # 复制当前目录下的 222.txt 文件到根目录下,并重命名为 333.txt |
grep在文件内容中查找
格式:grep key filename
1 | # 新建一个qqq.txt并写入内容 |
用户与组管理
用户管理之useradd命令
1 | # 添加一个名为a001的新用户 |
Linux系统底层的四个连锁反映
当添加好新用户时
系统自动创建该用户的家目录/home/a001
vim /etc/passwd(多了一行该用户的记录)
vim /etc/shadow(影子文件中多一行密码记录)
vim /etc/group(组信息文件中多一行记录,即自动创建同名组)
/etc/passwd 七个字段的含义
1 | a001:x:504:505::/home/a001:/bin/bash |
/etc/group 四个字段的含义
a001:x:505:
test:x:502:harry,sam
组名:组密码:组ID:该组中包含的其他用户名
/etc/shadow 九个字段的含义
权限 000
1 | a001:$6$9./UcZIY$GWuGRx6h7O4MEd3GHMyUylHCZRVkbwPoqg.98A/ogjXoNlylqzhjncXjO..vK7OTLaNLPKL8a8NII0C1i4ZIK0:16000:0:99999:7::: |
用户的邮箱
路径:/var/spool/mail/用户名/
在添加新用户时自动创建
用户模板目录
路径:/etc/skel
1 | # 我们新建用户后,在其家目录中其实会有一些隐藏文件 |
相关测试:
shell测试
1 | # 新建用户a002,并设置不能本地登录 |
如何开启登录权限:直接修改/etc/passwd中的shell字段为/bin/login
注意:/sbin/nologin这种shell的典型应用场合是给FTP客户端用户来设置的。
其他参数测试
1 | # -c : 用户描述 |
用户管理之userdel命令
不彻底的删除方法
1 | userdel a001 |
彻底的删除方法
1 | # 同时删除对应的四个连锁反映 |
用户管理之usermod命令
1 | # 更改a002用户的id |
组管理之groupadd命令
1 | # 新建一个名为g001的组 |
组管理之groupdel命令
1 | # 删除组g001 |
(gpasswd,usermod)组和用户的关系
1 | # 知识点1️⃣:gpasswd |
chown命令的使用方法
1 | # 格式: chown 文件所有者:所属组名称 文件名称 |
注:一个用户创建的文件,如果想要另一个用户对该文件进行访问/修改/执行,可以把另一个用户加入到这个文件的所属组中,然后使用chmod命令修改该文件的组内权限即可
runlevel运行级别
7种运行级别的含义:
1 | vim /etc/inittab |
查看和改变运行级别的方法
1 | # 查看运行级别 |
破解超级用户root的密码
Centos 7重置root密码
重启系统,在grub引导菜单,选择第一项,按e编辑启动配置文件
找到 linux16开头的行,在该行最后添加rd.break
按crtl+x启动
以读写的方式挂载根目录
mount -o remount,rw /sysroot
切换根目录
chroot /sysroot
使用passwd命令重置密码(注意bug乱码)
创建重置SELinux安全上下文的文件
touch /.autorelabel
敲两次exit退出重启即可
高级权限
UMASK反掩码
root用户反掩码: 0022
普通用户反掩码: 0002
如何查看反掩码
1 | umask |
UMASK反掩码的作用
目录的缺省权限值=777-UMASK反掩码
文件的缺省权限值=777-UMASK反掩码-111
如何修改UMASK反掩码
1 | # 直接修改即可 |
SUID权限弥补
主要针对文件
文件所有者执行位变为s或S(之前有x则为s,之前无x则为S,不懂的话没关系,继续往下看)
/usr/bin/passwd
passwd命令执行的脚本文件
1 | ll /usr/bin/passwd #可以看到文件所有者的执行位为s |
测试SUID
1 | # 新建一个普通用户 |
s与S的区别
1 | # 在上一步的基础上继续 |
SGID权限弥补
主要针对目录
如果给某个目录加上了SGID高级,那么在这个文件中创建目录或者创建新文件,都将会继承这个目录的组
下面用例子来演示
1 | # 创建一个新组 |
STICK粘滞位
主要针对共享目录
组外(其他用户)的执行位变为t
linux中根目录下的tmp目录就是经典的例子
示例
1 | # 在根目录下创建一个共享目录share |
ACL访问控制列表
针对目录和文件
可以对一个文件设置用户的访问权限
设置文件的ACL信息
1 | # 在根目录下新建一个txt文件 |
设置目录的ACL信息
1 | mkdir /456 |
删除ACL信息
1 | # 不彻底的删除方式 |
chmod知识补充
sst = 421 = 7
chmod 7777 test.txt 相当于 rwsrwsrwt
chmod 6777 test.txt 相当于 rwsrwsrwx
chmod 4777 test.txt 相当于 rwsrwxrwx
以此类推
RPM软件包及YUM软件仓库的使用
RPM软件包的使用技巧
现在基本不用rpm了,但是应该还是要了解一下
1 | # 如何查询指定软件包是否安装 |
镜像文件的回环挂载
含义
回环设备( ‘loopback device’)允许用户以一个普通磁盘文件虚拟一个块设备。设想一个磁盘设备,对它的所有读写操作都将被重定向到读写一个名为 disk-image 的普通文件而非操作实际磁盘或分区的轨道和扇区。(当然,disk-image 必须存在于一个实际的磁盘上,而这个磁盘必须比虚拟的磁盘容量更大。)回环设备允许你这样使用一个普通文件。
回环挂载的用法
1 | # 查看centos镜像文件的大小 |
卸载目录的方法
1 | # 直接卸载即可 |
YUM软件仓库的配置及使用
修改YUM软件仓库的配置文件
一定要将目录切换到YUM软件仓库的工作目录/etc/yum.repos.d/下才有效
工作目录下的配置文件必须以.repo结尾
1 | cd /etc/yum.repos.d/ |
YUM常见命令使用技巧
1 | # 查询指定的软件包 |
通过指定的FTP服务器设置YUM软件仓库源
1 | [base] |
通过真实的CentOS7服务器作为YUM软件仓库源
1 | cd /etc/yum.repos.d/ |
YUM软件仓库源常见错误的解决方法(yum.PID)
解决方法:按照提示信息将对应文件/run/yum.pid删除即可。
Crontab定时任务
用户定时任务的使用技巧
用户定时任务的格式
Minute Hour Day Month DayofWeek Command
分钟 小时 天 月 星期 命令
设置用户定时任务的步骤:
1 | # 切换用户身份 |
实例
1 | # a.zhangsan用户创建定时任务,要求:每天下午5:00关机。 |
管理员对用户定时任务的管理方法
方法一:/var/spool/cron 用户定时任务的工作目录(查看;修改;删除),如果用户设置过定时任务,那么在该目录下会有与用户同名的文件
方法二:crontab -u lisi -l | -e | -r
用户定时任务的高级管理技巧
黑名单文件 /etc/cron.deny //默认存在
白名单文件 /etc/cron.allow //默认不存在,使用时,应删除cron.deny文件,再创建cron.allow文件,只有在cron.allow文件里的用户才可以设置定时任务
系统定时任务的使用技巧
系统定时任务的工作目录
/etc/cron.daily/ 日志回滚文件,该目录下的脚本文件每天会自动运行一次(触发时间:4:22)
/etc/cron.hourly/ 该目录下的脚本文件每小时(第一分钟)会自动运行一次
/etc/cron.weekly 该目录下的脚本文件每星期(周日的4:22)会自动运行一次
/etc/cron.monthly/ 该目录下的脚本文件每个月(1号的4:22)会自动运行一次
anacron系统
原理:系统定时任务的触发时间由于某种原因(例如停电)而错过了,anacron系统会保证
系统定时任务工作目录下的脚本会弥补运行的一种机制。
1 | vim /etc/anacrontab |
FS Management(文件系统管理)
Linux下的磁盘分区及其表示方法
磁盘的表示方法
/dev/sda—第一块磁盘(针对SCSI或串口磁盘)
/dev/sdb—第二块磁盘
/dev/sdc—第三块磁盘
/dev/hda,/dev/hdb,/dev/hdc,….(传统的IDE磁盘)
/dev/vda,/dev/vdb,/dev/vdc(虚拟磁盘)
分区的表示方法
/dev/sda1—第一块磁盘的第一个分区
/dev/sda2—第一块磁盘的第二个分区
/dev/sdb1—第二块磁盘的第一个分区
/dev/hda1—第一块磁盘的第一个分区(传统的IDE磁盘)
/dev/vdc5
/dev/vdb3
主分区,扩展分区和逻辑分区
一块400G的硬盘
C—100G—/dev/sda1(主)
D—50G—/dev/sda2(主)
E—50G—/dev/sda3(主)
/dev/sda4(扩展分区)
F—50G—/dev/sda5
G—50G—/dev/sda6
H—50G—/dev/sda7
I—50G—/dev/sda8
结论:
- 主分区的个数至多4个;
- 扩展分区是一个容器,其中可以包含多个逻辑分区;
- 扩展分区的大小=各个逻辑分区大小之和+未划分的扩展分区大小;
- 真正能使用的数据分区只能是主分区或者逻辑分区;
- 磁盘的剩余空间 = 扩展分区 - 各逻辑分区之和;
为虚拟机添加一块磁盘
双击虚拟机 -> show virtual machine details(灯泡的图案) -> virtIO Disk 1 -> 下方add hardword -> bus type(scsi) -> finish
fdisk命令的使用技巧
1 | # 查看是否添加成功 |
更新磁盘分区表的方法
1 | # 不重启,立即生效 |
格式化磁盘分区的方法
常用格式:ext2,ext3,ext4,xfs,swap,vfat
(1)mkfs.xfs /dev/sdb1
(2)mkfs.ext4 /dev/sdb2
(3)mkfs.ext3 /dev/sdb5
(4)mkfs.vfat /dev/sdb3 (注意:在使用fdisk创建/dev/sdb3时,要将其类型修改为FAT32格式)
(5)mkswap /dev/sdb6 (注意:在使用fdisk创建/dev/sdb6时,要将其类型修改为SWAP格式)
注意:在格式化vfat的时候,会提示-bash: mkfs.vfat: command not found
解决:
1 | # 1. 查询 |
使用分区存放数据
方法一:手动挂载
1 | # 创建一个挂载目录 |
方法二:自动挂载
1 | vim /etc/fstab |
方法三:UUID挂载
1 | blkid #显示已格式化的分区的UUID信息 |
swap交换分区的管理
物理分区实现swap分区大小的变化
1 | #查看内存的详细信息,其中包括交换分区的大小 |
计算swap的差值
1 | # 要求将swap分区调整到2600000K |
创建一个大小为502852大小的物理分区并将该分区类型修改为swap
1 | # 创建分区并修改类型(不会的同学翻阅上一节笔记,不要懒惰哦😊) |
LVM逻辑卷管理
物理分区和物理卷
逻辑过程:
物理分区 -> 物理卷
1 | # 创建分区 |
卷组
关系: 物理卷 + 物理卷 + … = 卷组
卷组可以包含多个物理卷并且卷组的大小可以动态的调整
如何创建卷组
1 | # 格式: vgcreate 卷组名 物理卷1 物理卷2 ... |
PE(物理块):它是卷组创建时要指定的基本逻辑单位,4M(默认),8M,12M…(4的整数倍即可)
逻辑卷
从卷组中划拨出逻辑卷逻辑卷的大小也可以动态的调整
约束条件:以PE的整数倍进行增加或减小
小提示💡:逻辑卷所占用的PE,可以跨越不同的物理卷
1 | # 创建逻辑卷 |
例题一
动态的调整卷组的大小
动态的调整逻辑卷的大小
1 | 创建三个物理分区,并将它们指定成三个大小都为100M的物理卷 |
例题二
创建逻辑卷database,属于卷组datastore
逻辑卷的大小为10个扩展物理单元(PE)
PE的大小为16M
使用xfs文件系统格式化该逻辑卷,并自动挂载到/mnt/database上
1 | # 第一步:创建三个物理分区,大小都为160M,类型为8e |
网络环境配置
配置静态IP地址
1 | # 查看IP |
配置防火墙
1 | # 查看防火墙规则状态是否为关闭 |
删除旧的IP地址
1 | ip addr del 192.168.122.51/24 dev eth0 |
配置新的静态IP地址
1 | vim /etc/sysconfig/network-scripts/ifcfg-eth0 |
配置动态IP地址
1 | # 查看防火墙规则状态是否为关闭 |
补充知识
临时绑定多个IP地址当网卡eth0ip addr add 192.168.122.X/24 dev eth0
ip a //可以查看到新绑定的IP地址
注意:如果重启网络服务(systemctl restart network ),则使用 ip addr del 192.168.122.51/24 dev eth0或者ip addr add 192.168.122.X/24 dev eth0命令删除或添加的IP地址会失效。
修改主机名
方法一:使用hostnamectl set-hostname 51命令,将主机名修改为51
注意:需要退出并重新登录后方可生效,主机名一旦修改,永久生效。
方法二:使用“vim /etc/hostname”命令,修改主机名配置文件,直接将文件中原来的主机名localhost.localdomain修改为新主机名
重新登录或者重启系统后,新主机名就会生效。
压缩与解压缩
tar命令(归档)的使用
创建tar包
1 | # -c 创建归档包 |
创建压缩的tar包
两种压缩技术: gzip 和 bzip
gzip: ***.gz
1 | # 在tar命令中添加一个参数 -z |
bzip2: ***.bz2
1 | # 在tar命令中添加一个参数 -j |
查询tar包中包含的文件目录列表
1 | # -t 查看是否使用tar命令来归档的包 |
释放tar包
1 | # 默认释放在当前目录下 |
释放在指定目录下
1 | # -C : 指定释放的目录 |
习题
使用bzip2压缩,将/etc目录归档并压缩到/root/backup.tar.bz2
1 | tar -jcvf /root/backup.tar.bz2 /etc |
压缩知识扩展
gzip压缩的两种技术
压缩技术一(gunzip,gzip)
覆盖源文件的压缩技术,但无法压缩目录
参数:
- -d : 解压参数
- -f : 强制覆盖以存在的同名压缩包
- -v : 显示压缩过程
1 | # 压缩 |
压缩技术二(tar.gz)
归档压缩技术,同前
1 | # 压缩 |
bzip2压缩的两种技术
压缩技术一(bunzip2,bzip2)
覆盖源文件的压缩技术,但无法压缩目录
参数:
- -d : 解压参数
- -f : 强制覆盖以存在的同名压缩包
- -v : 显示压缩过程
1 | # 压缩 |
压缩技术二(tar.bz2)
归档压缩技术,同前
1 | # 压缩 |
zip压缩技术
不覆盖源文件的压缩技术
1 | # 压缩 |
autofs自动挂载
简介
autofs自动挂载器是一个监视目录的守护进程,并在目标子目录被引用时,自动执行预定义的NFS挂载。自动挂载器由autofs服务脚本管理,自动挂载器由auto.master一级配置文件进行配置,该文件引用了一个按惯例称作/etc/auto.misc或其他类似名称的二级配置文件。autofs与NFS两者之间配合用的还是比较多的
使用目的
autofs服务动态自动挂载各种文件系统。mount是用来挂载文件系统的,可以在启动的时候挂载也可以在启动后挂载。这就好像windows中的光驱自动打开功能,能够及时挂载动态加载的文件系统,免去了手动挂载的麻烦。在centos7.2系统下,对于本地固定设备,如硬盘可以使用mount挂载,而光盘,软盘,NFS,SMB等文件系统具有动态性,即需要的时候才有必要挂载,光驱和软盘一般知道什么时候需要挂载,但NFS,SMB共享等就不一定知道了,即一般不能及时知道NFS共享和SMB什么时候可以挂载,而autofs服务就提供这种功能,所以本章详细讲述了autofs自动挂载方式
需要安装的软件
1 | # 安装 |
测试
要求:将分区 /dev/sdb1 自动挂载到 /misc/aaa 目录下
配置
1 | # 第一步: 利用 fdisk 添加一块新磁盘 |
NFS自动挂载
简介
NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样
NFS最显而易见的优点:
节省本地存储空间,将常用的数据存放在一台NFS服务器上且可以通过网络访问,那么本地终端将可以减少自身存储空间的使用。
用户不需要在网络中的每个机器上都建有Home目录,Home目录可以放在NFS服务器上且可以在网络上被访问使用。
一些存储设备如软驱、CDROM和Zip(一种高储存密度的磁盘驱动器与磁盘)等都可以在网络上被别的机器使用。这可以减少整个网络上可移动介质设备的数量
测试
要求:将NFS服务器上发布的共享目录/home/guests/guest2019自动挂载到客户机的/home/guests/guest2019上
开两台虚拟机,一台作为服务器,另一台作为客户机来测试
服务器端配置
1 | # 建立共享目录 |
客户端测试
方式一:手动挂载
1 | # 在客户机行新建一个挂载目录 /syz |
方式二:autofs自动挂载
1 | # 隐含原则: |