搭建新的教学环境:
1.clone-vm7
路径:/usr/local/bin/clone-vm7
[student@room9pc01 ~]$ clone-vm7
Enter VM number: 4
VM tedu_node04 Create [ 确定 ]
CentOs7.5改完主机名等下一次重启生效,需要永久改完主机名之后再设置一次临时主机名
2.配置虚拟主机的IP.主机名
虚拟主机A 192.168.4.7/24 svr7.tedu.cn
虚拟主机B 192.168.4.207 pc207.tedu.cn
3.构建yum仓库
服务:自动解决依赖关系
服务端:真机
构建web服务或FTP服务,提供光盘内容
FTP服务
默认共享路径:/var/ftp
1)首先在真机上检查是否已经安装了FTP软件包
[student@room9pc01 ~]$ rpm -q vsftpd #查看vsftpd软件包是否安装
vsftpd-3.0.2-22.el7.x86_64
[student@room9pc01 ~]$ systemctl status vsftpd #检查当前vsftpd运行状态
● vsftpd.service - Vsftpd ftp daemon
Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; enabled; vendor preset: disabled)
Active: active (running) since 二 2019-12-17 08:10:03 CST; 2h 16min ago
光盘或光驱文件的文件系统都是iso9660
2)创建目录
[student@room9pc01 ~]$ mkdir /var/ftp/centos-1804/ #创建目录
[student@room9pc01 ~]$ ls /var/ftp/centos-1804/ #查看该目录
[student@room9pc01 ~]$ vim /etc/fstab #实现开机自动挂载(写源路径)
/var/lib/libvirt/images/iso/CentOS7-1804.iso /var/ftp/centos-1804 iso9660 defaults 0 0
3)测试
[student@room9pc01 ~]$ firefox ftp://192.168.4.254/centos-1804
web服务
默认路径:/var/www/html
1)装包
[student@room9pc01 ~]$ rpm -q httpd
httpd-2.4.6-80.el7.centos.x86_64
2)创建目录
[student@room9pc01 ~]$ ls /var/www/html
[student@room9pc01 ~]$ mkdir /var/www/html/dvd
[student@room9pc01 ~]$ vim /etc/fstab
3)访问
[student@room9pc01 ~]$ firefox 192.168.4.7/dvd #student没有权限!!!!!!!!
客户端:
书写客户端配置文件/etc/yum.reepos.d/*.repo
[student@room9pc01 ~]$ yum repolist #真机上默认已经搭建好yum源
已加载插件:fastestmirror, langpacks
源标识 源名称 状态
CentOS7 CentOS 7 9,911
repolist: 9,911
还原创建的虚拟机:关机照快照,可以瞬间回到照快照时虚拟机的状态
虚拟机每次开机时的图案:ls /etc/motd
修改: vim /etc/motd
常见的一级目录用途
/boot ------------------------ 存放系统引导必须的文件,包括内核.启动配置
/bin /sbin ------------------- 存放各种命令程序
/dev --------------------------存放硬盘.键盘/鼠标.光驱等各种设备文件
/etc -------------------------- 存放Linux系统及各种程序的配置文件
/root /home/用户名 ------ 管理员root 普通用户的家目录
/var -------------------------- 存放日志文件,邮箱目录等经常变化的目录,mariadb数据库数据文件的根目录也存放在此
/proc ------------------------- 存放内存中的映射文件,不占用磁盘空间
/tmp --------------------------- 存放运行过程中使用的一些临时文件
history 查看历史命令
history -c 清空历史命令
!n 执行历史命令的第n条命令
!str 执行历史命令中以str开头的命令
修改历史命令数量:
[root@svr7 ~]# vim /etc/profile
HISTSIZE=1000 #当前默认记录1000条命令
查看修改后历史命令条数:
[root@svr7 ~]# awk '/^HIST/{print $1}' /etc/profile
HISTSIZE=1000
du 统计文件占用的空间
du [选项]… [目录或文件]…
-s:只统计每个参数所占用的总空间大小
-h:提供易读的容量单位
[root@svr7 ~]# du -sh /
1.2G /
[root@svr7 ~]# du -sh /root
14M /root
date 查看/调整系统日期时间
date +%F 显示年月日
date +%R 显示时分秒
date +%Y 只显示年
date +%m 只显示月
date +"%Y-%m-%d %H:%m:%s" 显示具体时间
date -s “yyyy-mm-dd HH:mm:ss” 修改日期
hwclock -s 重设系统时间
自定义yum仓库
1.准备软件包
真机:
[student@room9pc01 ~]$ ls /linux-soft/
01 02 03 04 05
[student@room9pc01 ~]$ ls /linux-soft/01
Cobbler.zip tools.tar.gz
远程将tools.tar.gz拷贝给192.168.4.7
[student@room9pc01 ~]$ scp /linux-soft/01/tools.tar.gz [email protected]:/root
tools.tar.gz 100% 766KB 3.5MB/s 00:00
[root@svr7 ~]# ls
Desktop tools.tar.gz
解压缩
[root@svr7 ~]# tar -xf tools.tar.gz -C /
[root@svr7 ~]# ls /
bin dev home lib64 mnt proc run srv tmp usr
boot etc lib media opt root sbin sys tools var
[root@svr7 ~]# ls /tools
inotify-tools-3.13.tar.gz other
[root@svr7 ~]# ls /tools/other/
boxes-1.1.1-4.el7.x86_64.rpm oneko-1.2-19.fc24.x86_64.rpm
cmatrix-1.2a-1.i386.rpm sl-5.02-1.el7.x86_64.rpm
ntfs-3g-2014.2.15-6.el6.x86_64.rpm
2.生成仓库数据文件
[root@svr7 ~]# yum -y install createrepo
[root@svr7 ~]# createrepo /tools/other/
[root@svr7 ~]# ls /tools/other/ #再次查看,多了仓库数据文件
boxes-1.1.1-4.el7.x86_64.rpm oneko-1.2-19.fc24.x86_64.rpm
cmatrix-1.2a-1.i386.rpm repodata
ntfs-3g-2014.2.15-6.el6.x86_64.rpm sl-5.02-1.el7.x86_64.rpm
3.修改配置文件
[root@svr7 ~]# vim /etc/yum.repos.d/local.repo
[nsd]
name=NSD
baseurl=file:///tools/other #指定本地yum仓库
enabled=1
gpgcheck=0
[root@svr7 ~]# yum repolist
源标识 源名称 状态
local_repo CentOS-7 - Base 9,911
nsd NSD 5
源码编译安装
RPM包:rpm -ivh 或 yum install
源码包--------->可以执行的程序------->运行安装
1.安装gcc和make
[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解包
[root@svr7 ~]# tar -xf /tools/inotify-tools-3.13.tar.gz -C /
[root@svr7 ~]# ls /
bin dev home lib media opt root sbin sys tools var
boot etc inotify-tools-3.13 lib64 mnt proc run srv tmp usr
[root@svr7 ~]# cd /inotify-tools-3.13/
[root@svr7 inotify-tools-3.13]# ls
aclocal.m4 config.h.in COPYING libinotifytools man src
AUTHORS config.sub depcomp ltmain.sh missing
ChangeLog configure INSTALL Makefile.am NEWS
config.guess configure.ac install-sh Makefile.in README
3.配置,指定功能与指定安装的位置,检测是否安装gcc
./ 运行当前路径
–prefix=指定安装位置
[root@svr7 inotify-tools-3.13]# ./configure --prefix=/opt/myrpm
4.make 编译,生成二进制程序文件
[root@svr7 inotify-tools-3.13]# make
5.make install安装
[root@svr7 inotify-tools-3.13]# make install
[root@svr7 inotify-tools-3.13]# ls /opt
myrpm
[root@svr7 inotify-tools-3.13]# ls /opt/myrpm/
bin include lib share
[root@svr7 inotify-tools-3.13]# ls /opt/myrpm/bin/
inotifywait inotifywatch
源码包的卸载
[root@svr7 ~]# rm -rf /opt/myrpm
创建快捷方式
格式: ln -s /源数据 /快捷方式路径 #制作软连接
[root@svr7 ~]# ln -s /etc/shells /opt/s.txt
[root@svr7 ~]# ls /opt
myrpm s.txt
[root@svr7 ~]# ls -l /opt/s.txt
lrwxrwxrwx 1 root root 11 12月 17 16:18 /opt/s.txt -> /etc/shells
[root@svr7 ~]# cat /opt/s.txt
/bin/sh
/bin/bash
/sbin/nologin
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin
软连接优点:可以跨分区及文件系统,可以针对目录
缺点:源数据删除,快捷方式不可用
格式: ln /源数据 /快捷方式路径 #制作硬链接
[root@svr7 ~]# echo 123 > /opt/A.txt
[root@svr7 ~]# ls /opt
A.txt myrpm s.txt
[root@svr7 ~]# ln /opt/A.txt /opt/B.txt
[root@svr7 ~]# ls /opt
A.txt B.txt myrpm s.tx
优点:源数据删除,快捷方式仍然可以使用
缺点:不可以跨分区和文件系统,不可以针对目录
man帮助
方式一:命令 --help
方式二: man 命令
yum查询 yum provides 查看仓库中的哪一个包产生哪一个程序
[root@svr7 ~]# man 5 passwd
数字5代表帮助信息类型,5代表配置文件帮助信息
zip归档及压缩工具,可以跨平台
zip -r 备份文件.zip 被归档的文件
[root@svr7 ~]# zip -r /opt/a.zip /etc/passwd
adding: etc/passwd (deflated 55%)
[root@svr7 ~]# ls /opt
A.txt a.zip B.txt myrpm s.txt
释放zip归档及压缩
unzip 备份文件.zip [-d 目标文件夹]
[root@svr7 ~]# mkdir /nsd11
[root@svr7 ~]# unzip /opt/a.zip -d /nsd11/
vim编辑技巧
命令模式操作
光标跳转
Home 键 或 ^、数字 0 跳转到行首
End 键 或“ $ ”键 跳转到行尾
PgUp 键、PgDn 键 向上翻页、向下翻页
1G 或 gg 跳转到文件的首行
G 跳转到文件的末尾行
[root@svr7 /]# cp /etc/passwd /opt/p.txt
[root@svr7 /]# vim /opt/p.txt
复制/粘贴/删除
复制 yy、3yy 复制光标处的一行、3行
粘贴 p、P 粘贴到光标处之后、之前
x 或 Delete键 删除光标处的单个字符
dd、3dd 删除光标处的一行、3行
d^ 从光标处之前删除至行首
d$或D(大写) 从光标处删除到行尾
C(大写) 从光标处删除到行尾并且进入插入模式
查找/撤销/保存
/word 向后查找字符串“word”
n、N 跳至后/前一个结果
u 撤销最近的一次操作
U 撤销对当前行的所有修改
Ctrl + r 取消前一次撤销操作
ZZ(大写) 保存修改并退出
[root@svr7 /]# cp /etc/passwd /opt/p.txt
[root@svr7 /]# vim /opt/p.txt
末行模式操作
:r /etc/filesystems 读入其他文件内容
[root@svr7 /]# echo hahaxixi > /opt/a.txt
[root@svr7 /]# echo 123456 > /opt/b.txt
[root@svr7 /]# vim /opt/b.txt
:r /opt/a.txt #读入/opt/a.txt文件内容
:r /etc/passwd #读入/etc/passwd文件内容
字符串替换
末行模式下输入s /root/abc 替换当前行第一个“root”
末行模式下输入s/root/abc/g 替换当前行所有的“root”
末行模式下输入1,10 s/root/abc/g 替换第1-10行所有的“root”
末行模式下输入% s/root/abc/g 替换文件内所有的“root”
[root@svr7 /]# cp /etc/passwd /opt/pass.txt
[root@svr7 /]# vim /opt/pass.txt
开关参数的控制
:set nu或nonu 显示/不显示行号
:set ai或noai 启用/关闭自动缩进
查看其他人远程登录本机IP的命令
[root@room9pc01~]#awk '/Failed/{print $11}' /var/log/sercure #要有root权限