linux计算机基础 DAY03

时间:2021-12-19 17:43:10

关闭虚拟机classroom  虚拟机desktop  虚拟机server
############################################
部署新的教学环境
真机上:运行clone-vm7可以快速产生两台虚拟机
[root@room9pc01 ~]# clone-vm7
Enter VM number: 8
Creating Virtual Machine disk image...... [OK]
Defining new virtual machine......  [OK]
[root@room9pc01 ~]# clone-vm7
Enter VM number: 9
Creating Virtual Machine disk image...... [OK]
Defining new virtual machine......  [OK]
[root@room9pc01 ~]#

账户:root  密码:123456
虚拟机A:服务端                                  
1.配置eth0的IP地址:192.168.4.7/24
2.主机名:svr7.tedu.cn
虚拟机B:客户端
1.配置eth0的IP地址:192.168.4.207/24
2.主机名:pc207.tedu.cn

以真机进行控制虚拟机A
[root@room9pc01 ~]# virsh console A
连接到域 A
换码符为 ^]
Red Hat Enterprise Linux Server 7.4 (Maipo)
Kernel 3.10.0-693.el7.x86_64 on an x86_64
localhost login:
退出回到真机: Ctrl + ]
#############################################
利用真机进行远程管理:
1.网络互相通信
[root@room9pc01 ~]# ping 192.168.4.7
2.进行远程管理
[root@room9pc01 ~]# ssh -X root@192.168.4.7
root@192.168.4.7's password:
[root@svr7 ~]#

为虚拟机搭建网络Yum仓库
真机服务端:     1.众多的软件包   2.仓库清单(仓库数据文件)
                     3.搭建Web或FTP服务,共享光盘所有内容
1.搭建FTP服务
[root@room9pc01 ~]# rpm -q vsftpd
vsftpd-3.0.2-22.el7.x86_64
[root@room9pc01 ~]# systemctl status vsftpd
/etc/fstab:文件内容不允许出现快捷方式
[root@room9pc01 ~]# ls -l /iso
lrwxrwxrwx 1 root root 27 1月  23 2018 /iso -> /var/lib/libvirt/images/iso
[root@room9pc01 ~]# ls  /var/lib/libvirt/images/iso/
[root@room9pc01 ~]# vim  /etc/fstab
/var/lib/libvirt/images/iso/rhel-server-7.4-x86_64-dvd.iso /var/ftp/rhel7  iso9660  defaults 0 0
]# ls  /var/ftp/rhel7/
]# firefox  ftp://192.168.4.254/rhel7

客户端: 指定服务端位置      
虚拟机A
[root@svr7 ~]# cat /etc/yum.repos.d/rhel7.repo
 [rhel7]
 name=rhel7.4
 baseurl=ftp://192.168.4.254/rhel7
 enabled=1
 gpgcheck=0
[root@svr7 ~]# yum -y install xeyes
虚拟机B同上
################################################
目录结构
• 认识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
• 采用数值形式设置权限
– chmod [-R] nnn 文档...
– chmod [-R] xnnn 文档...

[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 750 /nsd01
[root@svr7 ~]# ls -ld /nsd01
[root@svr7 ~]# chmod 755 /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
[root@svr7 ~]# ls /root
[root@svr7 ~]# cat /etc/redhat-release
[root@svr7 ~]# history
[root@svr7 ~]# !cat       #显示最近以cat开头的历史命令
[root@svr7 ~]# !ls        #显示最近以ls开头的历史命令
#################################################
• du,统计文件的占用空间
– du [选项]... [目录或文件]...
– -s:只统计每个参数所占用的总空间大小
– -h:提供易读容量单位(K、M等)
[root@svr7 ~]# du -sh /
[root@svr7 ~]# du -sh /root /etc/ /boot
[root@svr7 ~]# du -sh /home
[root@svr7 ~]# du -sh /var
###############################################
• date,查看/调整系统日期时间
– date +%F、date +%R
– date +"%Y-%m-%d %H:%M:%S"
– date -s "yyyy-mm-dd HH:MM:SS"  #修改时间
###############################################
• ln,创建软连接 (快捷方式)与硬连接 (快捷方式)
软连接 (快捷方式)
[root@svr7 ~]# ln -s  /etc/redhat-release   /opt/A
[root@svr7 ~]# ls /opt/
[root@svr7 ~]# ls -l /opt/A
[root@svr7 ~]# cat /opt/A
硬连接 (快捷方式)
[root@svr7 ~]# ln /etc/redhat-release  /opt/B
[root@svr7 ~]# ls /opt/
[root@svr7 ~]# ln /root/  /opt/test
ln: "/root/": 不允许将硬链接指向目录
[root@svr7 ~]# ln /etc/passwd  /boot/test
ln: 无法创建硬链接"/boot/test" => "/etc/passwd": 无效的跨设备连接(不能跨越 不同的分区)
[root@svr7 ~]# ln -s /root/ /opt/test
[root@svr7 ~]# ls /opt/
[root@svr7 ~]# ln -s /etc/passwd /boot/test
[root@svr7 ~]# ls /boot/                        
#################################################
获取命令的帮助信息
• 对于外部命令程序,通常 会提供“--help”帮助选项
[root@svr7 ~]# ls --help

使用man手册
• 一种集中的手册页文档机制
– 大多数程序/配置文件/库函数都提供man手册页
• man,格式化手册阅读工具
– 按上 、 下 、 PgUp 、PgDn 键滚动及翻页
– 按 q 键退出
– 按 / 键向后查找关键词(n、N切换
 数字5代表帮助类型:配置文件帮助信息
[root@svr7 ~]# man 5 passwd  #查看配置文件passwd帮助信息
[root@svr7 /]# man  passwd   #查看passwd命令帮助信息
##################################################
zip归档工具(跨平台的压缩/归档格式)
• 归档+压缩操作
– zip [-r]  备份文件.zip   被归档的文档...
• 释放归档+解压操作
– unzip  备份文件.zip   [-d 目标文件夹]

[root@svr7 /]# zip -r /opt/nsd.zip /home/ /etc/passwd
[root@svr7 /]# ls /opt
[root@svr7 /]# unzip /opt/nsd.zip -d /mnt/
[root@svr7 /]# ls /mnt
[root@svr7 /]# zip -r /opt/stu.zip /root /boot
[root@svr7 /]# ls /opt
[root@svr7 /]# unzip /opt/stu.zip -d /mnt/
[root@svr7 /]# ls /mnt
################################################
vim编辑技巧
命令模式操作
[root@svr7 /]# cp /etc/passwd /opt/abc.txt
[root@svr7 /]# vim /opt/abc.txt
光标跳转
 上、下、左、右
 Home 键 或 ^、数字 0         跳转到行首
 End 键 或“$”键                   跳转到行尾
 1G 或 gg                跳转到文件的首行
 G                      跳转到文件的末尾行
复制/粘贴/删除
 yy、#yy     复制光标处的一行、#行
 p、P     粘贴到光标处之后、之前
 x 或 Delete键    删除光标处的单个字符
 dd、#dd     删除光标处的一行、#行
 d^      从光标处之前删除至行首
 d$      从光标处删除到行尾
     D                      从光标处删除到行尾
查找/撤销/保存
 /word   向后查找字符串“word”
 n、N   跳至后/前一个结果
 u    撤销最近的一次操作
 Ctrl + r  取消前一次撤销操作
 ZZ(大写)   保存修改并退出
 
################################################
末行模式操作      
 :w    保存当前文件
 :q!    放弃已有更改后强制退出
 :wq 或 :x  保存已有修改后退出
 :w /root/newfile   另存为其它文件
 :r /etc/filesystems  读入其他文件内容
[root@svr7 /]# echo abc > /opt/1.txt
[root@svr7 /]# echo haha > /opt/2.txt
[root@svr7 /]# vim /opt/1.txt
          末行模式下 :r  /opt/2.txt
          末行模式下 :r  /etc/passwd

字符串替换
 :s/root/abc        替换当前行第一个“root”
 :s/root/abc/g      替换当前行所有的“root”
 :1,9 s/root/abc/g  替换第1-9行所有的“root”
 :% s/bin/nsd/g     替换文件内所有的“bin”
[root@svr7 /]# rm -rf /opt/*
[root@svr7 /]# cp /etc/passwd /opt/test.txt
[root@svr7 /]# vim /opt/test.txt
 
   :set nu|nonu    显示/不显示行号
   :set ai|noai    启用/关闭自动缩进
###############################################
补充: vim 交换文件(缓存文件)
        将交换文件删除
###############################################
自定义Yum软件仓库
1.准备互联网下载软件包
   将真机tools.tar.gz传递到虚拟机A
  scp命令借助ssh运程管理
  scp=ssh+cp
scp /root/桌面/tools.tar.gz   root@192.168.4.7:/root/
2.在虚拟机A上查看
]# ls /root
3.在虚拟机A解包
[root@svr7 ~]# tar -xf /root/tools.tar.gz    -C  /
[root@svr7 ~]# ls /
[root@svr7 ~]# ls /tools/
inotify-tools-3.13.tar.gz  other
[root@svr7 ~]# ls /tools/other/
4.生成仓库清单(仓库数据文件)
[root@svr7 ~]# createrepo /tools/other/
[root@svr7 ~]# ls /tools/other/
5.书写客户端配置文件
[root@svr7 ~]# tail -5 /etc/yum.repos.d/rhel7.repo
[myrpm]
name=other
baseurl=file:///tools/other   #声明本地机器为Yum服务端
enabled=1
gpgcheck=0
[root@svr7 ~]# yum repolist

/bin/ /sbin/  /usr/bin/ /usr/sbin/ #存放命令程序路径
[root@svr7 ~]# yum -y install sl
[root@svr7 ~]# yum -y install cmatrix
[root@svr7 ~]# yum -y install oneko
[root@svr7 ~]# oneko  &          #放入后台运行
[root@svr7 ~]# killall oneko     #杀死oneko程序
##############################################
源码编译安装
 rpm包: rpm -ivh   yum -y install
  源码包-----运行开发工具----->可以执行的程序-------->运行安装

• 主要优点
 – 获得软件的最新版,及时修复bug
 – 软件功能可按需选择/定制,有更多软件可供选择
 – 源码包适用各种平台

源码编译安装
步骤一:安装开发工具
[root@svr7 ~]# yum -y install  gcc  make
步骤二:tar解包
]# tar  -xf  /tools/inotify-tools-3.13.tar.gz -C /
]# ls  /
]# ls  /inotify-tools-3.13/
步骤三: ./configure 配置,
作用:1.指定安装目录/功能模块等选项
       2.检测gcc与make的安装
       ./  #当前运行程序
]# cd  /inotify-tools-3.13/
]# ./configure   --prefix=/opt/myrpm
常见提示未安装gcc软件:
checking for gcc... no
checking for cc... no
checking for cl.exe... no
configure: error: no
步骤四:make 编译,生成可执行的二进制程序文件
]# cd  /inotify-tools-3.13/
]# make
步骤五:make install 安装,将编译好的文件复制到安装目录
]# cd  /inotify-tools-3.13/
]# make  install
[root@svr7 /]# ls /opt/
  myrpm
[root@svr7 /]# ls /opt/myrpm/
bin  include  lib  share
[root@svr7 /]# ls /opt/myrpm/bin/   #查看生成的程序
inotifywait  inotifywatch
#################################################