搭建环境
准备
一 关闭虚拟机classroom与server与desktop
二 真机建立全新的两台虚拟机
[student@room9pc01 ~]$ clone-vm7
Enter VM number: 4
[student@room9pc01 ~]$ clone-vm7
Enter VM number: 5
vi是Linux最基本的编辑器
虚拟机root的密码:123456
##################################################
三 配置虚拟机A
1.为虚拟机A:配置eth0的IP地址为192.168.4.7/24
真机管理本机虚拟机,前提关闭所有虚拟机图形窗口
[student@room9pc01 ~]$ virsh console A
Ctrl + ]:退出管理
[root@localhost ~]# nmcli connection modify eth0 ipv4.method manual ipv4.address 192.168.4.7/24 connection.autoconnect yes
[root@localhost ~]# nmcli connection up eth0
[root@localhost ~]# ifconfig | head -2
2.为虚拟机A配置主机名:svr7.tedu.cn
[root@localhost ~]# echo svr7.tedu.cn > /etc/hostname
svr7.tedu.cn
[root@localhost ~]# hostname svr7.tedu.cn
[root@localhost ~]# hostname
svr7.tedu.cn
[root@svr7 ~]# cat /etc/motd #每次开机自动显示内容
###################################################
真机利用virsh console管理虚拟机B进行配置
[root@localhost ~]# hostname pc207.tedu.cn
[root@localhost ~]# echo pc207.tedu.cn > /etc/hostname
[root@localhost ~]# nmcli connection modify eth0 ipv4.method manual ipv4.address 192.168.4.207/24 connection.autoconnect yes
[root@localhost ~]# nmcli connection up eth0
[root@localhost ~]# ifconfig | head -2
###################################################
利用真机进行ssh远程管理
真机上设置
[student@room9pc01 ~]$ vim /home/student/.bashrc
alias goa=‘ssh -X root@192.168.4.7’
alias gob=‘ssh -X root@192.168.4.207’
开启新的终端才能验证
###################################################
为虚拟机A与虚拟机B构建Yum仓库
一 真机:服务端
构建Web服务或FTP服务,共享光盘所有内容
1.构建FTP服务,共享光盘所有内容
[student@room9pc01 ~]$ rpm -q vsftpd
vsftpd-3.0.2-22.el7.x86_64
[student@room9pc01 ~]$ ls /var/ftp/centos-1804/
[student@room9pc01 ~]$ systemctl status vsftpd
[student@room9pc01 ~]$ vim /etc/fstab
…
/var/lib/libvirt/images/iso/CentOS7-1804.iso /var/ftp/centos-1804 iso9660 defaults 0 0
]$ firefox ftp://192.168.4.254/centos-1804
二 客户端:虚拟机A与虚拟机B
[root@svr7 ~]# vim /etc/yum.repos.d/local.repo
[local_repo]
name=CentOS-$releasever - Base
baseurl=ftp://192.168.4.254/centos-1804
enabled=1
gpgcheck=0
[root@svr7 ~]# yum repolist
[root@svr7 ~]# yum -y install xeyes
[root@svr7 ~]# xeyes
###################################################
总结新建虚拟机:
1.真机利用clone-vm7生成虚拟机,开启虚拟机
2.真机利用virsh console 虚拟机名 设置IP地址
3.真机利用ssh远程管理虚拟机,配置主机名与Yum客户端配置文件
####################################################
虚拟机C
1.配置eth0的IP地址:192.168.4.10/24
2.配置主机名:svr10.tedu.cn
3.配置Yum仓库,以真机提供FTP作为服务端
虚拟机D
1.配置eth0的IP地址:192.168.4.20/24
2.配置主机名:pc20.tedu.cn
3.配置Yum仓库,以真机提供FTP作为服务端
####################################################
目录结构
• 认识Linux的目录层次:
– man hier
• 常见一级目录的用途
/boot 存放系统引导必需的文件,包括内核、启动配置
/bin、/sbin 存放各种命令程序
/dev 存放硬盘、键盘、鼠标、光驱等各种设备文件
/etc 存放Linux系统及各种程序的配置文件
/root、/home/用户名 分别是管理员root、普通用户的默认家目录
/var 存放日志文件、邮箱目录等经常变化的文件
/proc 存放内存中的映射数据,不占用磁盘
/tmp 存放系统运行过程中使用的一些临时文件
权限的数值表示
• 权限的数值化
– 基本权限:r = 4,w = 2,x = 1
– 附加权限:SUID = 4,SGID = 2,Sticky Bit = 1
[root@svr7 ~]# mkdir /nsd01
[root@svr7 ~]# ls -ld /nsd01
[root@svr7 ~]# chmod 700 /nsd01
[root@svr7 ~]# ls -ld /nsd01
[root@svr7 ~]# chmod 007 /nsd01
[root@svr7 ~]# ls -ld /nsd01
[root@svr7 ~]# chmod 755 /nsd01
[root@svr7 ~]# ls -ld /nsd01
[root@svr7 ~]# chmod 750 /nsd01
[root@svr7 ~]# ls -ld /nsd01
[root@svr7 ~]# chmod 3755 /nsd01
[root@svr7 ~]# ls -ld /nsd01
###################################################
历史命令
• 管理/调用曾经执行过的命令
– history:查看历史命令列表
– history -c:清空历史命令
– !n:执行命令历史中的第n条命令
– !str:执行最近一次以str开头的历史命令
• 调整历史命令的数量
[root@svr7 ~]# vim /etc/profile
HISTSIZE=1000 #默认记录1000条
[root@svr7 ~]# history #查看历史命令
[root@svr7 ~]# history -c #清空历史命令
[root@svr7 ~]# history
1 history
[root@svr7 ~]# cat /etc/redhat-release
[root@svr7 ~]# ls -l /etc/redhat-release
[root@svr7 ~]# cat /etc/hostname
[root@svr7 ~]# history
[root@svr7 ~]# !cat #执行历史命令中最近一条cat开头
###################################################
实用小命令工具
• du,统计文件的占用空间
– du [选项]… [目录或文件]…
– -s:只统计每个参数所占用的总空间大小
– -h:提供易读容量单位(K、M等)
[root@svr7 ~]# du -s /root/
[root@svr7 ~]# du -sh /root/
[root@svr7 ~]# du -sh /boot/ /etc/
[root@svr7 ~]# du -sh /
################################################
bc 交互式计算器
[root@svr7 ~]# bc
-bash: bc: 未找到命令
[root@svr7 ~]# yum -y install bc
[root@svr7 ~]# bc #进入交互式模式
-
-
- / %(取余数运算)
-
公式是: 被除数 ÷ 除数 = 商
余数一定小于除数
##################################################
• date,查看/调整系统日期时间
– date +%F、date +%R
– date +"%Y-%m-%d %H:%M:%S"
– date -s “yyyy-mm-dd HH:MM:SS”
显示日期时间
调整日期时间
恢复为硬件时间:hwclock -s
[root@svr7 ~]# date +%F #显示年月日
[root@svr7 ~]# date +%R #显示时分
[root@svr7 ~]# date +%Y #显示年
[root@svr7 ~]# date +%m #显示月
[root@svr7 ~]# date +%d #显示日期
[root@svr7 ~]# date +%H #显示时
[root@svr7 ~]# date +%M #显示分
[root@svr7 ~]# date +%S #显示秒
#####################################################
制作快捷方式(连接文件 符号文件)
格式:ln -s /路径/源文件 /路径/生成快捷方式名称 #软连接
[root@svr7 ~]# cat /etc/hostname
[root@svr7 ~]# ln -s /etc/hostname /
[root@svr7 ~]# ls /
[root@svr7 ~]# ls -l /hostname
[root@svr7 ~]# ln -s /etc/hostname /hn
[root@svr7 ~]# ls /
[root@svr7 ~]# ls -l /hn
[root@svr7 ~]# cat /hn
[root@svr7 ~]# cat /hostname
若原始文件或目录被删除,连接文件将失效
软连接可存放在不同分区/文件系统,也可以针对目录
[root@svr7 ~]# echo 123 > /opt/A
[root@svr7 ~]# cat /opt/A
123
[root@svr7 ~]# ln -s /opt/A /opt/B
[root@svr7 ~]# ls /opt/
A B
[root@svr7 ~]# rm -rf /opt/A
[root@svr7 ~]# ls /opt/
B
[root@svr7 ~]# cat /opt/B
ln,创建硬连接
– ln 原始文件 硬连接文件
若原始文件被删除,连接文件仍可用
硬连接与原始文件必须在同一分区/文件系统,必须时文件
[root@svr7 ~]# echo haha > /opt/1.txt
[root@svr7 ~]# ln /opt/1.txt /opt/2.txt
[root@svr7 ~]# ls /opt/
[root@svr7 ~]# cat /opt/2.txt
[root@svr7 ~]# rm -rf /opt/1.txt
[root@svr7 ~]# ls /opt/
[root@svr7 ~]# cat /opt/2.txt
####################################################
获取命令帮助
[root@svr7 ~]# date --help
[root@svr7 ~]# man date
[root@svr7 ~]# man passwd
[root@svr7 ~]# man 5 passwd #配置文件帮助信息
###################################################
zip归档工具(跨平台的压缩工具)
• 归档+压缩操作
– zip [-r] 备份文件.zip 被归档的文档…
[root@svr7 ~]# yum -y install zip
[root@svr7 ~]# zip -r /opt/file.zip /etc/passwd /home
[root@svr7 ~]# ls /opt/
[root@svr7 ~]# zip -r /opt/abc.zip /etc/fstab /etc/hosts
[root@svr7 ~]# ls /opt/
• 释放归档+解压操作
– unzip 备份文件.zip [-d 目标文件夹]
[root@svr7 ~]# yum -y install unzip
[root@svr7 ~]# mkdir /nsd02
[root@svr7 ~]# unzip /opt/file.zip -d /nsd02
[root@svr7 ~]# ls /nsd02
[root@svr7 ~]# ls /nsd02/etc/
[root@svr7 ~]# ls /nsd02/home/
####################################################
发布自定义Yum仓库
把从互联网下载的软件包,采用Yum的机制进行管理
1.具备从互联网下载的软件包
真机上:
[student@room9pc01 ~]$ ls /linux-soft/01
Cobbler.zip tools.tar.gz
2.将真机tools.tar.gz上传到虚拟机A的/root目录下
scp=ssh+cp结合
scp /本地路径/源文件 root@对方IP地址:/目标路径/
scp /linux-soft/01/tools.tar.gz root@192.168.4.7:/root
3.验证在虚拟机A进行查看
[root@svr7 ~]# ls /root/
Desktop tools.tar.gz
[root@svr7 ~]#
4.虚拟机A解包:
[root@svr7 ~]# tar -xf /root/tools.tar.gz -C /
[root@svr7 ~]# ls /
[root@svr7 ~]# ls /tools/
[root@svr7 ~]# ls /tools/other/
5.生成仓库清单(仓库数据文件)
[root@svr7 ~]# yum -y install createrepo
[root@svr7 ~]# createrepo /tools/other/
[root@svr7 ~]# ls /tools/other/
6.修改配置文件指定新的Yum服务端
[root@svr7 ~]# ls /etc/yum.repos.d/local.repo
[local_repo]
name=CentOS-$releasever - Base
baseurl=ftp://192.168.4.254/centos-1804
enabled=1
gpgcheck=0
[myrpm]
name=myrpm
baseurl=file:///tools/other #指定本机为服务端
enabled=1
gpgcheck=0
[root@svr7 ~]# yum repolist
##################################################
[root@svr7 ~]# yum -y install cmatrix
[root@svr7 ~]# cmatrix
[root@svr7 ~]# yum -y install sl
[root@svr7 ~]# sl
[root@svr7 ~]# yum -y install oneko
[root@svr7 ~]# oneko &
关闭终端,可以结束oneko程序
##################################################
vim编辑技巧
命令模式
[root@svr7 ~]# cp /etc/passwd /opt/pa.txt
[root@svr7 ~]# vim /opt/pa.txt
光标跳转
Home 键 或 ^、数字 0 跳转到行首
End 键 或“KaTeX parse error: Expected 'EOF', got '#' at position 69: …制/粘贴/删除 复制 yy、#̲yy 复制光标处的一行、#…或D(大写) 从光标处删除到行尾
C(大写) 从光标处删除到行尾,并且进入插入模式
u 撤销
查找/撤销/保存
/word 向后查找字符串“word”
n、N 跳至后/前一个结果
u 撤销最近的一次操作
U 撤销对当前行的所有修改
Ctrl + r 取消前一次撤销操作
ZZ(大写) 保存修改并退出
[root@svr7 ~]# cp /etc/passwd /opt/pa.txt
cp:是否覆盖"/opt/pa.txt"? y
[root@svr7 ~]# vim /opt/pa.txt
####################################################
末行模式操作
读入其他文件内容
[root@svr7 ~]# echo 123 > /opt/a.txt
[root@svr7 ~]# echo abc > /opt/b.txt
[root@svr7 ~]# vim /opt/a.txt
末行模式下 :r /opt/b.txt #读入/opt/b.txt内容到当前文件
末行模式下 :r /etc/hostname
末行模式下 :r /etc/hosts
字符串替换
?/root/admin 替换光标所在的当前行第一个“root”
?/root/admin/g 替换光标所在的当前行所有的“root”
:5,10 s/root/admin/g 替换第5-10行所有的“root”
:% s/root/admin/g 替换文件内所有的“root”
[root@svr7 ~]# cp /etc/passwd /opt/p.txt
[root@svr7 ~]# vim /opt/p.txt
开关参数的控制
:set nu或nonu 显示/不显示行号
:set ai或noai 启用/关闭自动缩进
###############################################
源码编译安装
RPM包: rpm -ivh yum
源码包----gcc与make---->可以执行的文件------->运行安装
源码编译安装的优势
• 主要优点
– 获得软件的最新版,及时修复bug
– 软件功能可按需选择/定制,有更多软件可供选择
– 源码包适用各种平台
步骤1:安装依赖关系包(安装开发工具)
[root@svr7 ~]# yum -y install gcc make
[root@svr7 ~]# rpm -q gcc
gcc-4.8.5-28.el7.x86_64
[root@svr7 ~]# rpm -q make
make-3.82-23.el7.x86_64
步骤2:tar解包,释放源代码至指定目录
]# tar -xf /tools/inotify-tools-3.13.tar.gz -C /
]# ls /
]# cd /inotify-tools-3.13/
]# ls
步骤3: ./configure 配置,指定安装目录/功能模块等选项
./=当前路径下运行
作用1:检测本机是否安装gcc
作用2:指定安装目录/功能模块等选项
--prefix=指定安装位置
]# cd /inotify-tools-3.13/
]# ./configure --prefix=/mnt/myrpm
常见报错提示:没有安装gcc
checking for gcc… no
checking for cc… no
checking for cl.exe… no
configure: error: no acceptable C compiler found in $PATH
See `config.log’ for more details.
步骤4:make 编译,生成可执行的二进制程序文件
]# cd /inotify-tools-3.13/
]# make
步骤5:make install 安装,将编译好的文件复制到安装目录
]# cd /inotify-tools-3.13/
]# make install
]# ls /mnt/
]# ls /mnt/myrpm/ #查看安装生成的目录
]# ls /mnt/myrpm/bin/