admin管理员组文章数量:1570208
小伙伴们,学习内容前先叠个甲,我也不是卖课的,虽然我和大家一样都是初学者。但是我买了商业性课程,签订了协议。(具体公司学习视频保密)
所以学习的具体内容,我会结合老师的教学和下发的笔记。最后用一些自己的理解做出解释。时间很紧,一般都是晚上抽空写的。(*^▽^*)
今天是第一天,因为上课过程中,有的同学是线下学习,有的是线上学习,就导致了环境变量配置的软件不齐全,需要下载,多以讲了关于云计算很基础的东西。基本学过计算机原理的都大概知道一些。(后续每天第一阶段的的学习内容,我会在此贴持续更新)。(其他阶段学习的内容,我也会用同样的方式,创个专栏更新)。
ADMIN01(云计算系统管理)Day1
云计算介绍
云计算含义已经在另外一篇博客讲过了,治理笼统的说,就是网上的高计算力计算机集群,组合在一起,为企业和个人提供服务的操作。云计算行业人士,有“云上人”的圈内称呼。
其中云计算的服务器是指:能够为其他计算机提供服务的更高级的电脑。算力强大,性能优越的,我大学时期记忆印象深刻的有俗称“算天算地亦算命的”神威-太湖之光、天河II号超级计算机。
服务器样式有:机架式,塔式、机柜式、刀片式。
IDC:互联网信息中心(机房)
关于IDC,老师说如果以后找工作,你会云计算数据库的维护与保养,看到IDC维护工程师的招牌工作,就应该知道是机房维修人员,不仅知道啥意思,想干你也能干。(学好英语的好处)
老师讲了以前服务器的变化,举了个例子,网吧的变化,以前童年时期的黑网吧,机器少,满足不了人们的娱乐需求。后来各种规范后,演变成现在的网咖网城,因为现在科技经济的高速发展变化。人民的物质生活水平得到了巨大提高。现在已经不单单是满足上网单一需求。目前云计算商业发展过程中,见过的大部分云计算服务器,都是机柜式和刀片式的。
TCP/IP协议及配置:
服务器的类型尺寸(Unit)一种服务器内存条的衡量尺寸。(行业黑话)
1u=1.75英寸=44.45毫米=4.445 厘米,2u则是1u的2倍为8.89cm
【老师和我们说,别以后去到公司上班,别人问你我们公司的服务器是4U的,你们是几U的,你却说,4U是啥,好吃吗?(可能会被笑话)^_^】
典型服务模式:C/S,Client/Server架构
Client:客户机 (可以理解为网上的个人/集体计算机–客户机使用资源或功能
Sever:服务器–由服务器提供资源或某种功能
TCP/IP是最广泛支持的通信协议集合
TCP/IP(Transmission Control Protocol/Internet Protocol)是指能够在多个不同网络间实现信息传输的协议簇,由网络层的IP协议和传输层的TCP协议组成。
其定义了电子设备如何连入因特网,以及数据如何在它们之间传输的标准。它是Internet最基本的协议,也是Internet国际互联网络的基础。
TCP/IP具体内容是分层次的,但是我们学习的关于LIUNX方面的云计算工程师知识,主攻网络在虚拟机库方面的增删改查,感兴趣的小伙伴可以(点击链接内容)去了解了解。
1.包括大量Internet应用中的标准协议
2.支持跨网络架构、跨操作系统平台的通信
主机与主机之间通信的三个要素(重点内容,贯彻虚拟机的网络配置)
IP地址(IP address)、子网掩码(subnet mask)、IP路由(IP router)----涉及路由器。
IPv4地址(IP address):
目前我国大部分时间依旧使用IPV4版本的IP地址。
作用:用来标识一个节点(连网设备)的网络地址
地址组成(点分十进制):一共32个二进制位,表示为4个十进制数,以 . 隔开。(可能面试会用到什么是IPv4地址?你回答时你要不露痕迹的把,这个知识点讲出来,表现自己的知识水平很精细。——面试时候的开胃小菜)。
–32个二进制数:11001100.01010101.11110000.10101010
–4个十进制数: 192.168.1.1 1.2.3.4 18.17.16.15
–二进制的 11111111 = 十进制的 255 (熟记,以后会多次用到)。
IPv6地址(IP address):老师说,夸张的说该版本协议地址,能够装下地球沙漠上的每一粒沙子。(就是那么强,为什么有这个版本协议呢,因为全球的IP地址分配不够了。就像BILIBILI的视屏号AV号用完,开始用BV号一样一样的)。
一共128个二进制
IP地址的分类:判断的依据,只需要查看IP地址的第一个十进制数。
例子:192.168.1.1 18.19.20.21
用于一般计算机网络(网:网络位,主:主机位)以下三类必须掌握。
C类地址适合计算机数量较少情况。(小公司/网咖)
–A类:1 ~ 127 网+主+主+主
–B类:128 ~ 191 网+网+主+主
–C类:192 ~ 223 网+网+网+主
组播及科研专用(了解即可)
–D类:224 ~ 239 组播(不是主播,别记错了!)
–E类:240 ~ 254 科研
网络位与主机位的含义:
插播老师教学小课堂:他说网络号主机号创立当初,就是科技人员希望能够在网上创造出抽象的“人”的形象,每一个网络位于主机位,就相当于你的身份证号。
网络号:通俗点说就是,告诉网上的兄弟姐妹们,你是来自那块区域的。
主机号:大致告诉别人,你是在网络号某个区域的某个编号的。
网络名称:网络位不变,主机位全为0
不同网络(区域)之间通信
192.168.1.1=来自192.168.1.0网络(区域),编号为1的计算机
192.168.2.38=来自192.168.2.0网络(区域),编号为38的计算机
子网掩码:为计算机标识IP地址的网络位与主机位,利用二进制的1标识网络位,利用二进制的0标识主机位(老师说面试时可能被问到,子网掩码是什么?这时候你要做好,接下来的问题都会很难的情况发生,你就要反思一下。是不是投简历的时候吹得太过了,或者是真想拷打下你)
192.168.1.1=11000000.10101000.00000001.00000001
子网掩码=111111111.11111111.11111111.00000000(255.255.255.0)
简写:192.168.1.1 255.255.255.0=192.168.1.1/24(有24个网络位)
IP网络配置练习
再次叠甲:这个练习题,你配置前一定要记好自己电脑的IP地址。!记好自己电脑的IP地址!记好自己电脑的IP地址!不然记不得怎么改回来了没网络了,别怪我哈。O(∩_∩)O哈哈~
因为我上课时用的是LINUX虚拟机下的Deepin windows模范,在弄个虚拟机整Windows网络配置麻烦。 这里我用自己宿舍的电脑演示方法。配好IP地址后系统会提示没有子网掩码是否生成,你点是就自动出来了。没架构虚拟机之前,不用改,看一看IP地址,用PING命令 测试IP地址连通性就行。(可以连WiFi时候,和不连WiFi时对比)
ipconfig:Windows查看IP地址命令
方法一:电脑上按下CTRL + U ,有的Windows版本是 Windows键位+R.调出来后输入cmd,调出命令行窗口就可以输入 ipconfig,即可查看本机IP地址。
方法二:鼠标右键个性化,找到网络与INternet之后如下。
ping:测试网络通信命令 格式:ping (自己设置的IP网络地址) 和主机地址:127.0.0.1
有去有回是一次ping操作
网关地址:不同网络之间通信,路由器接口的地址
DNS服务器:将名称解析为对应的IP地址
www.baidu --->DNS服务器---->百度的服务器(192.168.1.1)
(钓鱼网站是通过攻击DNS服务器,使用户数据传输不到正版网站服务器中,转而存放到个人伪装的服务器中,进而盗取个人价值信息)。
小伙伴们,以上是小白云计算基础第一阶段,DAy1内容。后续每天有时间我就更。(*^▽^*)
ADMIN02 云计算基础第一阶段
Day2
Linux系统简介
1.什么是linux?
是计算机的重要组成部分,计算机由硬件,软件(系统软件和应用软件 )组成,操作系统中的一种。
2.Linux发展史
提到Linux不得不提到它的前身UNIX,诞生于1970年1月1日(彩蛋:LInux系统最早时间)。有Ken Thomposon、Dennis Ritchie于1969年根据MULTICS项目的经验,开发出UNICS操作系统,后改名为UNIX。
1973年用C语言重写了UNIX.由于收费繁多问题,90年代逐渐被发展壮大的LINUX取代,
标准读音:“哩吶科斯”。吉祥物:企鹅(创始人Linus Torwalds简称“哩吶斯”,小时候被企鹅咬过,对此印象深刻,选用企鹅作为吉祥物。)
想要安装新Linux系统内核的小伙伴,可以去官网下载。kernel(全球唯一官网)
版本号鉴别如下图:
Linux发行版本有哪些(以下是市面上常用的,需要加强记忆,可能面试会问到用过哪些Linux版本)?
Red Hat Enterprise Linux 6/7/8(大多数企业在用)/9
Rocky Linux 8(多数企业用)/9
Suse Linux Enterprise 12
Debian Linux 7.8
Ubuntu Linux 22.01
企业中应用
嵌入式系统开发,高性能的大型运算,基于Linux的企业服务器。
安装Linux系统
1.使用虚拟机软件并初始化
windos中安装虚拟机,需要找到想要一直在虚拟机中运行的LinuxISO镜像版本,各种版本有各种版本的好处,CENTOS 7(Windows用户推荐)的镜像能够兼容Vmvare最新版本,Rockey和RHEL(红帽)的现在多数企业再用。(Windows操作系统安装)。
windos系统安装过程中,出现禁用虚拟化状态警告,需要重启进入BIOS中相应位置开启。电脑运行内存大于8G即可。
Widows系统步骤:
打开VMware虚拟机软件
创建VMware虚拟机,如图-24至图-30所示。
图-24
图-25
通过浏览按钮,找到事前下载号的系统镜像文件
图-26
图-27 (老规矩,别放C盘)
图-28
图-29
图-30
安装操作系统,如图-31至图-42所示。
图-31 时间校对正确
图-32 初学者选带GUI化界面的,老手选里面的最小安装。
图-33 安装目标位置,进去直接点完成。
root(VIP)用户的名称和密码点进去设置(选自己记得清楚的,毕竟长时间用),
下面的普通用户,也是点击进去创建用户名和密码(做效果权限对比的)。
全部完成之后,点击开始安装。(linux系统的虚拟机安装步骤也大差不差。)
初始化:点击接收协议,确认网络连接。(勾选)重启系统,选择第一个选项。(鼠标放到屏幕中间,用小键盘上下键选取)。完成后一顿下一步,进入到系统界面。
Linux目录结构是:倒挂的树形结构,从根目录出发,分支到个个小文件目录。
磁盘接口表示:
IDE(大头电脑时期,4针形状接口)
SCSI(最方便好用的接口),卡槽接口(样子像小霸王插卡机,最小巧,最昂贵)。
磁盘表示:
Linux基本命令操作
进入虚拟机终端界面,会看到如下内容。
ifconfig:查看本虚拟机IP地址,自行找到标有IPV4行的代码。就能看到IP地址(IPadress)和子网掩码(subnetmask)。【记不清的小伙伴看第一天的内容。^_^】
~:表示家目录 ,
“ /” :表示根目录。
输入cd :切换工作目录。如 cd /dev/1.txt (注意:第一个 / 表示更目录,后续的都只表示分割符)
输入cd ../ :返回上一级,类似于 网页的上一步按钮。
输入pwd :查看当前工作目录。
输入ls: 能列出当前目录下,所包含的文件数据类型。
输入cat: cat /dev/某某文件 查看某某文件
文件信息过长时:可以 按 ctrl + c 退出,比如ping命令时。
输入less:less 文件名。作用:查看某某文件数据。可以用鼠标滚轮查看,查看完成后按Q退出。
输入lscpu:查看CPU处理器信息。 输入 cat /proc/meminfo 查看内存大小情况(文件系统自带)。
输入hostname:hostname 查看主机名称(只显示第一个逗号前端的主机名称)。
输入hostname hostname abc.xixi.hehe(暂时更改主机名称)
创建文档:mkdir /某某文件夹/要创建的文档名
新建空文件: touch /文件位置/文件名.格式
写文件内容:vim /文件夹/文件名.格式(没有则直接自动生成)
按i/o进入插入模式,可以书写内容。完成后按ESC ,切换英文模式 输入 :号,并输入wq保存并退出。 !q是强制退出。
查看文件头部(开始10行)
[root@localhost ~]# head /etc/fstab
查看文件末尾信息(末尾10行)
[root@localhost ~]# tail /var/log/messages (文件名和绝对路径,你要看啥就写啥)
关机及重启: poweroff(关机)、reboot(重启)。
ADMIN DAY03
一、命令行基础
小插曲:想要调代码行与LINUX背景风格。可以在虚拟机中,》点击 编辑》点击首选项
其中文本可以改字体大小,颜色可以换系统代码配色方案。
1)什么是命令:
指用来实现某种功能的指令或程序。依赖于解释器(例如:/bin/bash)
分为外部命令 和内部命令。
格式: 命令名称 [命令选项] [参数]。 注意:多个参数用空格隔开。
长选项:例如:-help 短选项:例如 -l ,-u ,-a.复合选项:多个短选项组合: -la ,-lu.
2) 文件颜色代表什么?
黑黄色: 设备文件。 天青色/浅蓝色:原数据/快捷方式。 蓝色:文件/目录。
二、快捷操作指令
TAB :补全名称、命令、参数、文件名等。 按两次可以展示全部类似的代码。
ctrl + L:清除屏幕。(让画面更清爽)
ctrl +c: 结束命令运行。 ESC + . 或者 ALT + . :复制上一个代码。
Ctrl + u:从光标处清空至行首 Ctrl + k:从光标处清空至行尾
Ctrl + w:往回删除一个单词(以空格界定)
小键盘区域快捷键:
Home键:从光标处快速到行首 end键:从光标处快速到行尾
三、文件挂载操作
- VMware虚拟机,如图-2、图-3所示。
图-2
图-3
1)什么是挂载?
指将光盘/u盘/分区/网络存储等设备装到某个linux目录,各种命令工具可以通过访问Linux目录拉埃操作这些设备。
命令格式: mount /dev(系统设备目录)/优盘名称(目录名称) /mnt (设置挂载后,系统自带挂载目录)。 代码运行截图如下展示
提示:可以自己创建一个目录,存放挂载的光盘内容。方便演示后续卸载操作。
卸载命令: umount /dvd (文件目录:取的名字是什么,就输什么)
注意:图片中报错内容是 ,挂载文件是只读属性,你不能更改内容。
注意事项:
1.卸载:当前所在的路径是挂载点目录
[root@localhost mydvd]# umount /mydvd
umount: /mydvd:目标忙。
(有些情况下通过 lsof(8) 或 fuser(1) 可以
找到有关使用该设备的进程的有用信息)
2.允许:一个设备,挂载到不同的挂载点目录
3.不允许:一个挂载点目录,挂载多个设备
4.建议挂载点目录,最好自行创建
四、目录与使用
1)cd的命令使用
- 家目录:专门存放用户个性化信息的目录
- ~user:用户user的家目录
- #cold_bold/root:Linux管理员的家目录 (可以理解为超级VIP,权限多)
- #cold_bold/home:存放所有普通用户的家目录
- 以 “.”开头的文件是隐藏文件。例如: /etc/.haha.txt
- [root@localhost /]# cd ~root #去往root用户的家目录
- [root@localhost /] pwd #查看当前目录(路径情况)
- [root@localhost /]# useradd dc #创建用户dc
- [root@localhost /]# cd ~dc #去往dc用户的家目录
- [root@localhost /]# pwd
- [root@localhost /]# useradd tom #创建用户tom
- [root@localhost /]# cd ~tom #去往tom用户的家目录
- [root@localhost /]# pwd
2) -ls 命令的相关操作
-
ls — List
-
格式:ls [选项]... [目录或文件名]
常用命令选项:
-l:以长格式显示,显示详细信息
-h:提供易读的容量单位(K、M等)
-d:显示目录本身(而不是内容)的属性
-
-A:显示所有内容,包含隐藏数据
-
-R:递归显示目录内容
-
演示如下:3)通配符的使用(后续与正则表达式有关)
- * :任意多个任意字符 ?:单个字符(必须要有一个)
-
[a-z]:多个字符或连续范围中的一个,若无则忽略
{a,min,xy}:多组不同的字符串,全匹配
-
4)别名的定义 与删除
- 定义: alias 定义名 =‘被定义远命令名’
- 查看所有别名: alias
- 删除 :unalias 定义名
-
5)目录与文件管理
-
mkdir — Make Directory #创建目录
格式:mkdir [/路径/]目录名…
[-p]:连同父目录一并创建
-
rm 删除 Remove
格式:rm [选项]... 文件或目录…
常用命令选项
-r、-f:递归删除(含目录)、强制删除
-
mv — Move移动(类似剪切):源数据会消失
格式:mv 原文件… 目标路径
-
重命名:路径不变的移动即可。
-
cp — Copy:源数据不会消失
格式:cp [选项]... 原文件… 目标路径
-r:递归,复制目录时必须有此选项
-
注意事项:
-
复制可以重新命名,目标路径下数据的名称
-
复制可以支持两个以上的参数,永远把最后一个参数作为目标,其他的所有的参数都作为源数据
-
复制与一个点进行连用,将数据复制到当前路径下
-
6)grep命令的高级使用
格式:grep [选项] '字符串' 文本文件
基本使用
-
常用命令选项
-v,取反匹配(不包含)
-i,忽略大小写
-
高级使用
^word 以字符串word开头
word$ 以字符串word结尾
-
^$ 表示空行
-
小伙伴们,基本代码给在上面啦,有时间的可以试一试哈,但是删除复制移动啥的,别动根目录/家目录/重要设备文件/驱动解释器文件的目录。系统容易崩溃,所以还是建议,自己创目录文件啥的,既安全又省去你重装虚拟机的烦恼。(*^▽^*)
ADMIN DAY04
一、归档及压缩
通俗来说,归档就是把几个文件放到1个文件中。
压缩则是把归档好的文件按格式存放。
想象一下,雄霸把风神腿、排云掌、寒霜拳三大毕生绝学的真气想结合,压缩在一起,领悟出三分归元气。这一个抽象的过程就是打包与压缩的过程。^_^
制作tar包(tar打包)
格式:tar 选项 /路径/压缩包名字 /源数据…….
-c:动作为创建
-f:指定压缩包名字(必须在所有选项最后)
-z、-j、-J:调用 .gz(gzip)、.bz2(bzip2)、.xz 格式工具进行处理
换压缩包格式:例如:bzip2 /root/cbd.tar.gz
- [root@localhost /]# tar -zcf /root/cbd.tar.gz /etc/passwd /home
- [root@localhost /]# ls /root
- [root@localhost /]# tar -jcf /root/haha.tar.bz2 /etc/passwd /home
- [root@localhost /]# ls /root
- [root@localhost /]# tar -Jcf /root/cctv.tar.xz /etc/passwd /home
- [root@localhost /]# ls /root
释放tar包(tar解包)
格式:tar 选项 /路径/压缩包名字 选项 /释放的位置
-t: 查看tar包内容
-x:释放归档
-f:指定归档文件名称,必须在所有选项的最后
-C(大写):指定路径(压缩包打包后,存放的路径)
- [root@localhost /]# tar -tf /root/haha.tar.bz2 #查看tar包内容
- [root@localhost /]# mkdir /nsd11
- [root@localhost /]# tar -xf /root/haha.tar.bz2 -C /nsd11
- [root@localhost /]# ls /nsd11
- [root@localhost /]# ls /nsd11/etc
- [root@localhost /]# ls /nsd11/home
- [root@localhost /]# tar -tf /root/cbd.tar.gz #查看tar包内容
- [root@localhost /]# mkdir /nsd12
- [root@localhost /]# tar -xf /root/cbd.tar.gz -C /nsd12
- [root@localhost /]# ls /nsd12
- [root@localhost /]# ls /nsd12/etc
tar高级打包
利用-C指定路径
- [root@localhost /]# tar -zcf /root/yy.tar.gz -C /etc/ passwd -C /usr games
- [root@localhost /]# tar -tf /root/yy.tar.gz
- [root@localhost /]# mkdir /nsd12
- [root@localhost /]# tar -xf /root/yy.tar.gz -C /nsd12
- [root@localhost /]# ls /nsd12
- [root@localhost /]# tar -zcf /root/zz.tar.gz -C /etc passwd shells hosts fstab
- [root@localhost /]# tar -tf /root/zz.tar.gz
二、重定向与管道操作
重定向(重新定向命令的输出)
将前面命令的输出,作为内容,写入到后面的文件
>:覆盖重定向
>>:追加重定向
- [root@A /]# head -5 /etc/passwd > /opt/p.txt
- [root@A /]# cat /opt/p.txt
- [root@A /]# head -2 /etc/passwd > /opt/p.txt
- [root@A /]# cat /opt/p.txt
- [root@A /]# hostname
- [root@A /]# hostname >> /opt/p.txt
- [root@A /]# cat /opt/p.txt
echo命令的使用
- [root@localhost /]# echo 123456
- [root@localhost /]# echo 123456 > /opt/p.txt
- [root@localhost /]# cat /opt/p.txt
- [root@localhost /]# echo hello world
- [root@localhost /]# echo hello world >> /opt/p.txt
- [root@localhost /]# cat /opt/p.txt
- [root@localhost /]# cat /etc/hostname
- [root@localhost /]# echo nb.tedu > /etc/hostname
- [root@localhost /]# cat /etc/hostname
重定向高级使用
- [root@localhost /]# cat /opt/p.txt
- [root@localhost /]# > /opt/p.txt #清空文件内容
- [root@localhost /]# cat /opt/p.txt
管道(操作符号 | )
作用:将前面命令的输出,传递给后面命令,作为后面命令的参数
- [root@localhost /]# head -4 /etc/passwd | tail -1
- [root@localhost /]# head -8 /etc/passwd | tail -1
- [root@localhost /]# cat -n /etc/passwd | head -8 | tail -1
- [root@localhost /]# ifconfig | head -2
显示8~12行内容
- [root@localhost /]# head -12 /etc/passwd | tail -5
- [root@localhost /]# cat -n /etc/passwd | head -12
- [root@localhost /]# cat -n /etc/passwd | head -12 | tail -5
- [root@localhost /]# cat -n /etc/passwd | head -12 | tail -5 > /opt/pa.txt
- [root@localhost /]# cat /opt/pa.txt
grep高级使用
- 作用:从文本文件内容中,过滤关键字符串
- [root@localhost /]# grep root /etc/passwd
- [root@localhost /]# grep -v root /etc/passwd #取反匹配
- [root@localhost /]# grep ^root /etc/passwd #以root开头
- [root@localhost /]# grep bash$ /etc/passwd #以bash结尾
- ^$:表示空行,专门与-v选项连用,过滤不要空行
- [root@localhost /]# cat /etc/default/useradd
- [root@localhost /]# grep -v ^$ /etc/default/useradd
Linux中大多数配置文件内容,以#开头的行为注释行
显示配置文件有效信息(去除以#开头的注释行和去除空行)
- [root@localhost /]# grep -v ^# /etc/login.defs
- [root@localhost /]# grep -v ^# /etc/login.defs | grep -v ^$
- [root@localhost /]# grep -v ^# /etc/login.defs | grep -v ^$ > /opt/log.txt
- [root@localhost /]# cat /opt/log.txt
过滤命令的输出
- [root@localhost /]# ifconfig | grep inet
- [root@localhost /]# ifconfig | grep 127
- [root@localhost /]# ifconfig | less #方便查看
8 案例:重定向与管道操作
8.1 问题
- 显示ifconfig命令的前两行内容
- 显示/etc/passwd第九行内容
- 将hostname命令的输出内容,覆盖写入到/opt/hn.txt
- 利用echo命令,将“tmooc”内容追加写入到/opt/hn.txt
8.2 步骤
实现此案例需要按照如下步骤进行。
1)显示ifconfig命令的前两行内容
- [root@server0 ~]# ifconfig | head -2
2)显示/etc/passwd第九行内容
- [root@server0 ~]# head -9 /etc/passwd | tail -1
3)将hostname命令的输出内容,覆盖写入到/opt/hn.txt
- [root@server0 ~]# hostname > /opt/hn.txt
4)利用echo命令,将“tmooc”内容追加写入到/opt/hn.txt
- [root@server0 ~]# echo tmooc >> /opt/hn.txt
三、find精确查找
格式:find [目录] [条件1]
-type 类型(f文本文件、d目录、l快捷方式)
- [root@A /]# find /boot -type d
- [root@A /]# find /opt -type d
- [root@A /]# find /etc -type l
- [root@A /]# find /boot -type f
- [root@A /]# find /usr -type d
- [root@A /]# find /var -type d
- [root@A /]# find /sbin -type l
- [root@A /]# find /bin -type f
-name "文档名称" (-iname 忽略大小写)
- [root@localhost /]# find /etc -name "passwd"
- [root@localhost /]# find /etc -name "*tab"
- [root@localhost /]# find /etc -name "*.conf"
- [root@localhost /]# find /root -name ".*" #查找隐藏数据
- [root@localhost /]# find /boot -type d | cat -n
- [root@localhost /]# find /opt -type d | wc -l
- [root@localhost /]# find /etc -type l | cat -n
- [root@localhost /]# find /boot -type f | cat -n
- [root@localhost /]# find /boot -type f | wc -l
- [root@localhost /]# find /etc -name "*tab" | wc -l
- [root@localhost /]# find /etc -name "*.conf" | wc -l
- [root@localhost /]# find /etc -name "*.conf" | cat -n
两个条件联合使用
- [root@localhost /]# mkdir /mnt/cbd01
- [root@localhost /]# mkdir /mnt/cbd02
- [root@localhost /]# touch /mnt/cbd03.txt
- [root@localhost /]# find /mnt/ -name "cbd*"
- [root@localhost /]# find /mnt/ -name "cbd*" -type d
- [root@localhost /]# find /mnt/ -name "cbd*" -type f
- [root@localhost /]# find /mnt/ -name "cbd*" -o -type f #两个满足其中一个
-size +或- 文件大小(k、M、G)
+ :表示大于 - :表示小于 不写:表示等于
- [root@localhost /]# find /boot -size +300k
- [root@localhost /]# find /boot -size +10M
- [root@localhost /]# find /boot -size +1M
- [root@localhost /]# find /boot -size +10M -size -50M
-user 用户名 (按照数据的所有者)
- [root@A /]# useradd natasha #创建用户
- [root@A /]# find /home -user natasha
- [root@A /]# find / -user natasha
- /proc:内存的数据,不占用硬盘空间
- [root@A /]# useradd harry #创建用户
- [root@A /]# find /home -user harry
- [root@A /]# find / -user harry
-mtime 修改时间 (所有的时间都是过去时间)
-newermt:表示最近几小时内的短期时间。(公司常用)接几天内的具体时间点
-mtime +90 #90天之前的数据
-mtime -90 #最近90天之内的数据
- 三个月之前的数据:
- [root@A /]# find /var -mtime +90
- 最近10天之内的数据:
- [root@A /]# find /root -mtime -10
10 find高级使用
处理find找到的数据,每查找的一个就传递一次
find [范围] [条件] -exec 处理命令 {} \;
-exec额外操作的开始
{} 永远表示前面find查找的结果
\; 额外操作的结束
可以联合两个命令使用,liunx特有格式命令。
- [root@localhost /]# find /boot -size +10M
- [root@localhost /]# find /boot -size +10M -exec cp {} /mnt \;
- [root@localhost /]# ls /mnt
- [root@localhost /]# find /boot -size +10M -exec ls -lh {} \;
两个条件联合使用
- [root@localhost /]# mkdir /root/mytab
- [root@localhost /]# find /etc -name "*tab" -type f
- [root@localhost /]# find /etc -name "*tab" -type f
- -exec cp {} /root/mytab \;
- [root@localhost /]# ls /root/mytab
案例:查找并处理文件
1. 利用find查找,数据的所有者为 student,并且必须是文件,把它们拷贝到 /root/findfiles/ 文件夹中
- [root@localhost /]# useradd student #创建普通用户student
- [root@localhost /]# mkdir /root/findfiles
- [root@localhost /]# find / -user student -type f
- [root@localhost /]# find / -user student -type f -exec cp {} /root/findfiles \;
- [root@localhost /]# ls -A /root/findfiles/ #-A显示隐藏数据
11 案例:查找并处理文件
11.1 问题
- 利用find查找所有用户student拥有的必须是文件,把它们拷贝到 /root/findfiles/文件夹中
- 利用find查找/boot目录下大于10M并且必须是文件,拷贝到/opt
- 利用find查找/boot/ 目录下以 vm 开头且必须是文件,拷贝到/opt
- 利用find查找/boot/目录下为快捷方式
- 利用find查找/etc目录下,以tab作为结尾的必须是文件
11.2 方案
根据预设的条件递归查找对应的文件
格式:find [目录] [条件1]
常用条件表示:
- -type 类型(f文件、d目录、l快捷方式)
- -name "文档名称"
- -size +|-文件大小(k、M、G)
- -user 用户名
- -mtime 修改时间
高级使用(处理find查找的结果)
- -exec 额外操作的开始
- \; 表示额外操作的结束
- {} 前面find命令每一个查询的结果
11.3 步骤
实现此案例需要按照如下步骤进行。
1)利用find查找所有用student拥有的必须是文件,把它们拷贝到 /root/findfiles/ 文件夹中(确保本机具有student用户)
- [root@server0 ~]# useradd student
- [root@server0 ~]# mkdir /root/findfiles
- [root@server0 ~]# find / -user student -type f
- [root@server0 ~]# find / -user student -type f -exec cp {} /root/findfiles \;
- [root@server0 ~]# ls /root/findfiles
2)利用find查找/boot目录下大于10M并且必须是文件,拷贝到/opt
- [root@server0 ~]# find /boot -size +10M
- [root@server0 ~]# find /boot -size +10M –type f -exec cp {} /opt \;
- [root@server0 ~]# ls /opt
3)利用find查找/boot/ 目录下以 vm 开头且必须是文件,拷贝到/opt
- [root@server0 ~]# find /boot -name “vm*”
- [root@server0 ~]# find /boot -name “vm*” -type f -exec cp {} /opt \;
- [root@server0 ~]# ls /opt
4)利用find查找/boot/ 目录下为快捷方式
- [root@server0 ~]# find /boot -type l
5)利用find查找/etc 目录下,以 tab 作为结尾的 必须是文件
- [root@server0 ~]# find /etc -name “*tab” -type f
四、vim高级应用
vim末行模式操作
读取文件内容
- [root@localhost /]# echo 123456 > /opt/aa.txt
- [root@localhost /]# echo hahaxixi > /opt/cc.txt
- [root@localhost /]# vim /opt/cc.txt
- 末行模式下 :r /opt/aa.txt
- 末行模式下 :r /etc/passwd
- 末行模式下 :r /etc/shells
字符串替换
:1,10s/root/new/g 替换第1-10行所有的“root”
:%s/root/new/g 替换文件内所有的“root”
- [root@localhost /]# cp /etc/passwd /opt/s.txt
- [root@localhost /]# vim /opt/s.txt
开关参数的控制
:set nu或nonu 显示/不显示行号
:set ai或noai 启用/关闭自动缩进
- [root@localhost /]# vim /opt/h.txt
- :set ai
永久开关功能设置
- [root@nb ~]# vim /root/.vimrc
- set nu
- [root@nb ~]# vim /etc/passwd #测试是否开启行号
- [root@nb ~]# vim /opt/pass.txt #该文件就是命令模式文件
13 vimdiff同时比对或修改多个文件
- [root@a ~]# echo hahaxixi > /opt/aa.txt
- [root@a ~]# echo hahaabc > /opt/bb.txt
- [root@a ~]# vimdiff /opt/aa.txt /opt/bb.txt
- 命令模式下Ctrl与w同时按下,然后左右键移动光标
- 末行模式wqa保存全部文件并退出
14 案例:vim效率操作
14.1 问题
本例要求掌握使用vim文本编辑器时能够提高操作效率的一些常用技巧和方法,完成下列任务:
- 将文件 /etc/passwd 复制为 /opt/nsd.txt,然后打开 /opt/nsd.txt 文件,练习命令模式下的切换/复制/删除/查找操作
- 将文件 /etc/man_db.conf 复制到 /opt 目录下,然后打开 /opt/man_db.conf 文件,将第50~100行内的“man”替换为“MAN”,在 vim 中设置显示行号查看效果
14.2 方案
命令模式常用操作:
- 1G 或 gg ,跳转到文件的首行
- G ,跳转到文件的末尾行
- yy、#yy ,复制光标处的一行、#行
- p、P ,粘贴到光标处之后、之前
- x 或 Delete键 ,删除光标处的单个字符
- dd、#dd ,删除光标处的一行、#行
- d^、d$ ,从光标处之前删除至行首/行尾
- /word 向后查找字符串“word”,再按n/N跳至后/前一个结果
- u ,撤销最近的一次操作
- U ,撤销对当前行的所有修改
- Ctrl + r 取消前一次撤销操作
- ZZ 保存修改并退出
末行模式常用操作:
- :s/old/new ,替换当前行第一个“old”
- :s/old/new/g ,替换当前行所有的“old”
- :n,m s/old/new/g ,替换第n-m行所有的“old”
- :% s/old/new/g ,替换文件内所有的“old”
- :w /root/newfile ,另存为其它文件
- :r /etc/filesystems ,读入其他文件内容
- :set nu|nonu ,显示/不显示行号
- :set ai|noai ,启用/关闭自动缩进
14.3 步骤
实现此案例需要按照如下步骤进行。
步骤一:vim命令模式下的切换/复制/删除/查找
1)建立练习文件
将文件 /etc/passwd 复制为 /opt/nsd.txt:
- [root@svr7 ~]# cp /etc/passwd /opt/nsd.txt
2)使用vim打开练习文件,默认处于命令模式
- [root@svr7 ~]# vim /opt/nsd.txt
- .. ..
3)在命令模式下完成下列操作
切换操作:G 最后一行,5G 第5行,gg 第一行。
复制操作:按2yy复制2行,7G移动到第7行,p 粘贴。
删除操作:25G 移动到第25行,200dd 从此行开始删除200行(不够就剩下全删)。
查找操作:gg 第一行,/adm 查找关键词adm,n 跳转到下一个结果。
4)保存并退出编辑器
ZZ 保存退出。
步骤二:vim末行模式下的替换/设置操作
1)建立练习文件
将文件 /etc/man_db.conf 复制到 /opt/ 目录下:
- [root@svr7 ~]# cp /etc/man_db.conf /opt/
2)使用vim打开练习文件,输入:切换到末行模式
- [root@svr7 ~]# vim /opt/man_db.conf
- .. ..
- :
3)在末行模式下完成下列操作
输入 :set nu ,确认后显示行号。
输入 :50,100 s/man/MAN/g ,确认将第50~100行内的“man”替换为“MAN”。
4)保存并退出编辑器
输入 :wq ,确认后保存并退出编辑器。
15 课后基础练习:
案例1:数据的整理
1. 在目录/mnt下创建一个子目录public
2. 在目录/mnt/public 创建文件linux.txt,利用vim写入内容 Study Linux
3. 将/mnt/public/linux.txt文件复制到/root目录下,同时 改名为 study.txt
4. 利用vim 修改文件/etc/hostname将其原有内容全部删除,写入新的内容为www.qq
5. 将/etc/passwd、/etc/resolv.conf、/etc/hostname 同时拷贝到/mnt/public/目录下
6. 将文件 /mnt/public/hostname 重改名为 stu.txt
7. 创建目录结构/mnt/public/test/vm
8. 将目录 /boot内容中以 vm 开头的 复制到/mnt/public/test/vm目录下(建议利用find命令)
9. 将/home目录复制到/mnt/public/test/目录下
案例2:虚拟机上操作:复制、删除、移动及vim文本编辑器
1. 创建目录结构/study/nsd01
2. 在目录/study/nsd01 创建文件abc.txt,利用vim写入内容 abc.tedu
3. 将/study/nsd01/abc.txt文件复制到/opt目录下,同时 改名为 test.txt
4. 利用vim 修改文件/etc/hostname将其原有内容全部删除,写入新的内容为www.sina
5. 将/etc/passwd 、/etc/resolv.conf、/etc/hostname 同时拷贝到/study/nsd01/目录下
6. 将文件 /study/nsd01/hostname 重改名为 haxi.txt
7. 创建目录结构/root/vm
8. 将目录 /boot内容中以 vm 开头的 复制到/root/vm目录下
9. 将/home目录复制到/root/vm目录下
案例3:虚拟机上操作
1. 显示根目录下所有内容
2. 显示/etc目录下所有以tab结尾的文件
3. 显示/etc/resolv.conf文件的详细属性并加上易读的单位
4. 显示/etc/passwd文件的详细属性并加上易读的单位
5. 显示/etc/passwd文件的头4行内容
案例4:tar制作/释放归档压缩包
首先创建/root/boothome/与/root/usrsbin/目录
1)备份/boot、/home这两个文件夹,保存为boothome.tar.gz文件
2)查看boothome.tar.gz文件内包含哪些内容
3)将boothome.tar.gz释放到文件夹/root/boothome/下
4)备份/usr/sbin目录,保存为usrsbin.tar.bz2文件
5)查看usrsbin.tar.bz2文件内包含哪些内容
6)将usrsbin.tar.bz2释放到/root/usrsbin/文件夹下
案例5:tar制作/释放归档压缩包
首先创建/root/zhsan目录
1)仅备份/etc/目录下shells与hosts这两个文件,保存为sh.tar.xz文件(不打包路径)
2)查看sh.tar.xz文件内包含哪些内容
3)将sh.tar.xz释放到文件夹/root/zhsan下
案例6:tar制作/释放归档压缩包
首先创建/root/mystudent目录
1)备份/etc/目录下passwd文件 、/boot/目录下vmlinuz-4.18.0-372.9.1.el8.x86_64程序 、/root/目录下的anaconda-ks.cfg文件,保存为myfile.tar.bz2文件(不要压缩路径)
2)查看myfile.tar.xz文件内包含哪些内容
3)将myfile.tar.xz释放到文件夹/root/mystudent下
案例7:虚拟机上操作,查找并处理文件
–创建用户student,创建目录/root/findfiles
– 利用find查找数据所有者为 student ,并且必须是文件,把它们拷贝到 /root/findfiles/ 文件夹中
– 利用find查找/boot目录下大于10M并且必须是文件,拷贝到/opt
- [root@localhost /]# find /boot -type f -size +10M
- [root@localhost /]# find /boot -type f -size +10M -exec cp {} /opt \;
– 利用find查找/boot/ 目录下以 vm 开头且必须是文件,拷贝到/opt
– 利用find查找/boot/ 目录下为快捷方式
– 利用find查找/etc 目录下,以 tab 作为结尾的 必须是文件
小伙伴们,这是今天一天所学习的内容,命令比较细节,选项内容多,需要大家,多做做案例和练习。不然记不住。周末我会创个专栏,专门存放每天学习的思维导图,上班党和学生党有时间可以在路上和交通工具上看看。有助于进步和理解。
今天学习的内容太多了,我得缓缓。难过(ಥ﹏ಥ)
ADMIN DAY05
云计算系统管理
一、RPM软件包管理
环境准备
- 方案一:KVM虚拟机(如图-1)
图-1
- 方案二:VMware虚拟机(如图-2、图-3)
图-2
图-3
临时 挂载。
- [root@localhost ~]# mount /dev/cdrom /mnt
- mount: /dev/sr0 写保护,将以只读方式挂载
- [root@localhost ~]# ls /mnt
RPM软件包简介
RPM包文件名特征
软件名-版本信息.操作系统.硬件架构.rpm
firefox-91.9.0-1.el8_5.x86_64.rpm
软件名:firefox
软件包名:firefox-91.9.0-1.el8_5.x86_64.rpm
RPM包的一般安装位置(分散)
安装软件包:
卸载软件包:
查询软件信息
查询是否安装此软件(参数是软件名)
- [root@localhost /]# rpm -qa #当前系统中所有已安装的软件包
- [root@localhost /]# rpm -q firefox #查看firefox是否安装
- [root@localhost /]# rpm -q httpd #httpd构建Web服务器软件
- 未安装软件包 httpd
- [root@localhost /]# rpm -q bash
- [root@localhost /]# rpm -qa | grep firefox
- [root@localhost /]# rpm -qa | wc -l
查询软件信息(参数是软件名)
- [root@localhost /]# rpm -qi firefox #查询软件信息
- [root@localhost /]# rpm -ql firefox #查询软件安装了哪些内容(安装清单)
- [root@localhost /]# rpm -ql firefox | less
- [root@localhost /]# rpm -ql firefox | wc -l #统计行数
- [root@localhost /]# rpm -qi bash #查询软件信息
- [root@localhost /]# rpm -ql bash #查询软件安装了哪些内容(安装清单)
- [root@localhost /]# rpm -ql bash | less
- [root@localhost /]# rpm -ql bash | wc -l #统计行数
查询某个目录/文件是哪个RPM包带来的
格式:rpm -qf [文件路径]…
即使目标文件被删除,也可以查询
- [root@localhost ~]# which vim #查询命令对应的程序文件
- /usr/bin/vim
- [root@localhost ~]# rpm -qf /usr/bin/vim
- vim-enhanced-8.0.1763-16.el8_5.13.x86_64
- [root@localhost ~]# rpm -q vim-enhanced
- vim-enhanced-8.0.1763-16.el8_5.13.x86_64
- [root@localhost ~]# rpm -qf /usr/sbin/poweroff
- [root@localhost ~]# rpm -qf /usr/sbin/ifconfig
查询软件包(参数软件包名)
- [root@localhost /]# rpm -q vsftpd #查询vsftpd软件是否安装
- 未安装软件包 vsftpd
- [root@localhost /]# ls /mnt/AppStream/Packages/v/vsftpd-3.0.3-35.el8.x86_64.rpm
- /mnt/AppStream/Packages/v/vsftpd-3.0.3-35.el8.x86_64.rpm
- 查询软件包的安装清单:
- [root@localhost /]# rpm -qpl /mnt/AppStream/Packages/v/vsftpd-3.0.3-35.el8.x86_64.rpm
- 查询软件包信息
- [root@localhost /]# rpm -qpi /mnt/AppStream/Packages/v/vsftpd-3.0.3-35.el8.x86_64.rpm
导入红帽签名信息(了解)
- [root@localhost /]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial
- 查询软件包信息(没有警告输出)
- [root@localhost /]# rpm -qpi /mnt/AppStream/Packages/v/vsftpd-3.0.3-35.el8.x86_64.rpm
软件包的依赖关系
rpm命令方式:不能自动解决依赖关系
yum命令方式:能自动解决依赖关系
二、Yum软件包仓库
Yum仓库构建
永久挂载
作用:自动解决依赖关系安装软件
服务端(本机): 1.众多的软件 2.仓库数据文件(repodata)
本地Yum仓库:服务端需要有光盘内容即可
客户端(本机):指定服务端位置
仓库配置文件:/etc/yum.repos.d/*.repo
错误的文件会影响正确的文件
yum命令执行流程:
yum命令--->读取/etc/yum.repos.d/*.repo配置文件内容--->从而找到仓库的具体位置
客户端文件配置内容:
[源名称] :自定义名称,具有唯一性
name:本软件源的描述字串
baseurl:指定YUM服务端的URL地址
enabled:是否启用此频道 0代表不启用,1代表启用
gpgcheck:是否验证待安装的RPM包
gpgkey:用于RPM软件包验证的密钥文件 0代表不验证,1代表验证
完整示例:
书写仓库配置文件:
- [root@localhost /]# mkdir /mydvd #自己创个永久挂载文件夹
- [root@localhost /]# mount /dev/cdrom /mydvd #挂载光驱设备
- [root@localhost /]# ls /mydvd
- [root@localhost /]# rm -rf /etc/yum.repos.d/*
- [root@localhost /]# vim /etc/yum.repos.d/haha.repo
- [xixi]
- name=xixi
- baseurl=file:///mydvd/AppStream
- enabled=1
- gpgcheck=0
- [haha] #仓库的标识,不能重复
- name=haha#仓库描述信息,可以省略
- baseurl=file:///mydvd/BaseOS #指定仓库位置file://表示本地为服务端
- enabled=1 #本文件启用,可以省略
- gpgcheck=0 #不检测红帽签名信息
- [root@localhost /]# yum repoinfo #列出仓库信息
- [root@localhost /]# yum -y install mariadb-server #安装软件包测试
- [root@localhost /]# rpm -q mariadb-server #查询是否安装成功
总结:本地Yum仓库构建方法
1.显示光盘的内容,挂载光驱设备mount /dev/cdrom /mnt
2.书写仓库配置文件,指定仓库位置/etc/yum.repos.d/*.repo
3.执行流程: #别照着敲,这点是方便你理解的内容。
yum命令--->/etc/yum.repos.d/*.repo--->baseurl=file:///mnt/AppStream
yum命令--->/etc/yum.repos.d/*.repo--->baseurl=file:///mnt/BaseOS
总结:本地Yum仓库排除错误
1.没有挂载光驱设备
2./etc/yum.repos.d目录下的仓库配置文件内容写错
3./etc/yum.repos.d目录下,错误的配置文件影响
安装软件
- [root@localhost ~]# yum -y install httpd
- [root@localhost ~]# rpm -q httpd #检测是否安装成功
- [root@localhost ~]# yum -y install bind-chroot
- [root@localhost ~]# rpm -q bind-chroot
- [root@localhost ~]# yum -y install sssd
- [root@localhost ~]# rpm -q sssd
- [root@localhost ~]# yum -y install gcc
- [root@localhost ~]# rpm -q gcc
卸载软件(建议不要使用-y选项,防止删除系统重要文件)
- [root@localhost ~]# yum remove gcc
- [root@localhost ~]# yum remove httpd
- [root@localhost ~]# rpm -q gcc
- [root@localhost ~]# rpm -q httpd
Yum仓库的查询
- [root@localhost /]# yum list ftp #查询仓库是否有ftp软件
- 可安装的软件包 #表示当前系统没有安装该软件
- ftp.x86_64 0.17-67.el7 nsd20
- [root@localhost /]# yum list httpd
- [root@localhost /]# yum search ftp #包含ftp就匹配
- [root@localhost /]# yum provides /usr/bin/hostname
- [root@localhost /]# yum provides /etc/passwd #仓库中那个软件包产生该文件
- [root@localhost /]# yum provides "guestmount" #查询仓库中那个软件产生该程序
- [root@localhost /]# yum -y install libguestfs-tools-c
- [root@localhost /]# guestmount --help #查看帮助信息
删除/usr/bin/hostname程序,然后通过yum工具进行恢复
- [root@svr1 ~]# rm -rf /usr/bin/hostname
- [root@svr1 ~]# ls /usr/bin/hostname
- ls: 无法访问/usr/bin/hostname: 没有那个文件或目录
- [root@svr1 ~]# yum provides /usr/bin/hostname #查询仓库中那个软件,产生了此程序
- [root@svr1 ~]# yum -y reinstall hostname #覆盖安装
- [root@svr1 ~]# ls /usr/bin/hostname
- /usr/bin/hostname
清空缓存(了解)
执行流程: yum命令--->/etc/yum.repos.d/*.repo--->baseurl=file:///mnt/AppStream
- [root@localhost ~]# yum clean all #清空Yum的缓存
- [root@localhost ~]# yum repoinfo #列出仓库信息
三、命令的补充
获取命令帮助
- 方式一:命令 --help
- [root@localhost ~]# cat --help
- [root@localhost ~]# yum --help
- 方式二:man 命令
- [root@localhost ~]# man cat #按q退出
- [root@localhost ~]# man passwd #显示passwd命令帮助
- [root@localhost ~]# man 5 passwd
- 数字5表示帮助的类型,表示配置文件类型
历史命令
管理/调用曾经执行过的命令
history:查看历史命令列表
history -c:清空历史命令
history -w:记录历史命令为空的状态
!n:执行命令历史中的第n条命令
!str:执行最近一次以str开头的历史命令
- [root@svr7 ~]# vim /etc/profile
- HISTSIZE=1000 #默认记录1000条
- [root@localhost ~]# history #显示历史命令列表
- [root@localhost ~]# history -c #清空历史命令
- [root@localhost ~]# history -w #记住历史命令为空
- [root@localhost ~]# history
- [root@localhost ~]# cat /etc/redhat-release
- [root@localhost ~]# ls /root
- [root@localhost ~]# history
- [root@localhost ~]# !cat #指定最近一条以cat开头的历史命令
- [root@localhost ~]# !ls #指定最近一条以ls开头的历史命令
date,查看/调整系统日期时间
- [root@localhost /]# date
- [root@localhost /]# date -s "2008-9-6 11:17:11" #修改系统时间
- [root@localhost /]# date
- [root@localhost /]# date -s "2023-02-21 15:55:11"
- [root@localhost /]# date
date单独显示时间
- [root@localhost ~]# date +%Y #显示年
- [root@localhost ~]# date +%m #显示月
- [root@localhost ~]# date +%d #显示日期
- [root@localhost ~]# date +%H #显示时
- [root@localhost ~]# date +%M #显示分
- [root@localhost ~]# date +%S #显示秒
- [root@localhost ~]# date +%F #显示年-月-日
- [root@localhost ~]# date +%T #显示时:分:秒
bc计算器
du,统计目录占用硬盘的空间
-s:只统计每个参数所占用的总空间大小
-h:提供易读容量单位(K、M等)
- [root@localhost ~]# du -sh /root
- [root@localhost ~]# du -sh /etc
- [root@localhost ~]# du -sh /boot
- [root@localhost ~]# du -sh /
制作链接文件(制作符号链接)(制作快捷方式)
方式一:软链接
格式:ln -s /路径/源数据 /路径/快捷方式的名称 #软链接
- [root@localhost /]# ls /etc/hosts
- [root@localhost /]# ln -s /etc/hosts /hs
- [root@localhost /]# ls /
- [root@localhost /]# ls -l /hs
- [root@localhost /]# ls /opt
- [root@localhost /]# ln -s /opt /haxi
- [root@localhost /]# ls -l /haxi #查看快捷方式详细属性
- [root@localhost /]# ls -l /haxi/ #查看源目录内容详细数据
软链接优势:可以针对目录与文件制作快捷方式,支持跨分区
软链接缺点:源数据消失,快捷方式失效
方式二:硬链接
格式:ln /路径/源数据 /路径/快捷方式的名称 #硬链接
硬链接优势:源数据消失,快捷方式仍然有效
硬链接缺点:只能针对文件制作快捷方式,不支持支持跨分区
- [root@A ~]# rm -rf /opt/*
- [root@A ~]# echo 123 > /opt/A.txt
- [root@A ~]# ln -s /opt/A.txt /opt/B.txt #软链接
- [root@A ~]# ls /opt/
- [root@A ~]# ln /opt/A.txt /opt/C.txt #硬链接
- [root@A ~]# ls /opt/
- [root@A ~]# cat /opt/B.txt
- [root@A ~]# cat /opt/C.txt
- [root@A ~]# ls -i /opt #查看硬盘存储i节点编号
- [root@A ~]# rm -rf /opt/A.txt
- [root@A ~]# ls /opt/
- [root@A ~]# cat /opt/B.txt #软链接失效
- cat: /opt/B.txt: 没有那个文件或目录
- [root@A ~]# cat /opt/C.txt #硬链接仍然有效
- 123
zip归档工具,跨平台(Windows与Linux)
- 归档+压缩操作: zip [-r] 备份文件.zip 被归档的文档...
- [-r]:被归档的数据有目录,必须加上此选项
- [root@localhost /]# ls /usr/bin/zip
- [root@localhost /]# zip -r /opt/abc.zip /etc/passwd /home
- [root@localhost /]# ls /opt/
- 释放归档+解压操作: unzip 备份文件.zip [-d 目标文件夹]
- [root@localhost /]# unzip -l /opt/abc.zip #查看压缩包的内容
- [root@localhost /]# mkdir /nsd20
- [root@localhost /]# unzip /opt/abc.zip -d /nsd20
- [root@localhost /]# ls /nsd20
- [root@localhost /]# ls /nsd20/etc
- [root@localhost /]# ls /nsd20/home
上面的yum仓库的搭建,将会影响今后所有阶段的学习需要大家熟练掌握。(* ̄︶ ̄)
ADMIN DAY06
一、用户管理
用户账号简介
作用: 1.可以登陆操作系统 2.不同的用户具备不同的权限
唯一标识:UID(编号从0开始的编号,默认最大60000)
zhangsan(UID 1200)
管理员root的UID:永远为0
普通用户的UID:默认从1000开始
用户配置文件
/etc/passwd:存放用户基本信息配置文件
- [root@localhost ~]# head -1 /etc/passwd #显示文件第一行
- root:x:0:0:root:/root:/bin/bash
- 用户名:密码占位符:UID:基本组GID:用户描述信息:家目录:解释器
- [root@localhost ~]# useradd wangwu
- [root@localhost ~]# grep wangwu /etc/passwd
用户的创建
命令useradd
– 格式:useradd [选项]... 用户名
• 常用命令选项
-u:指定 用户UID
-d:指定宿主目录(家目录),默认为 /home/用户名
-G:指定所属的附加组,-g指定基本组
-s:指定用户的登录解释器,默认为/bin/bash
-u:指定 UID 编号
- [root@localhost ~]# useradd nsd01
- [root@localhost ~]# ls /home/ #查看家目录的产生
- [root@localhost ~]# grep nsd01 /etc/passwd #查看nsd01信息
- [root@localhost ~]# id nsd01 #查看nsd01用户基本信息
- [root@localhost ~]# id gaga
- id: gaga: no such user #无此用户
- [root@localhost ~]#useradd -u 1500 nsd02 #指定UID创建用户
- [root@localhost ~]# id nsd02 #查看nsd02用户基本信息
- [root@localhost ~]# grep nsd /etc/passwd #查看用户信息
- [root@localhost ~]# useradd nsd03
- [root@localhost ~]# grep nsd /etc/passwd
- [root@localhost ~]# id nsd03
-d:指定宿主目录(家目录),默认为 /home/用户名(不可以事先新建用户的家目录)
- [root@localhost ~]# useradd -d /opt/nsd04 nsd04
- [root@localhost ~]# grep nsd04 /etc/passwd
- [root@localhost ~]# ls /opt/
- [root@localhost ~]# useradd -d /opt/haha05 nsd05
- [root@localhost ~]# grep nsd05 /etc/passwd
- [root@localhost ~]# ls /opt/
-G:指定所属的附加组 -g:指定基本组 (了解一下)
- [root@localhost ~]# groupadd stugrp #单独创建stugrp组
- [root@localhost ~]# useradd -G stugrp nsd06
- [root@localhost ~]# id nsd06
- uid=1504(nsd06) gid=1505(nsd06) 组=1505(nsd06),1504(stugrp)
- [root@localhost ~]# useradd -G stugrp nsd07
- [root@localhost ~]# id nsd07
- [root@localhost ~]# groupadd tmooc #单独创建tmooc组
- [root@localhost ~]# useradd -G stugrp,tmooc nsd11
- [root@localhost ~]# id nsd11
-s:指定用户的登录解释器 /bin/bash
shell:壳,解释器
用户---->解释器---->内核---->硬件
/sbin/nologin:禁止用户登录操作系统(单独拉黑离职用户,限制登录权限)
- [root@localhost ~]# useradd -s /sbin/nologin nsd10
- [root@localhost ~]# grep nsd10 /etc/passwd
- [root@localhost ~]# passwd nsd10 #设置密码,密码没有屏幕显示,需要输入两次密码
- [root@localhost ~]# useradd -s /sbin/nologin nsd12
- [root@localhost ~]# grep nsd12 /etc/passwd
usermod命令
格式:usermod [选项]... 用户名
• 常用命令选项
-l:更改用户帐号的登录名称
-u:用户id
-d:家目录路径
-s:登录解释器
-G:附加组 #重置附加组
-l:更改用户帐号的登录名称
-u:用户id
-s:登录解释器
- [root@localhost /]# useradd nsd13
- [root@localhost /]# id nsd13
- [root@localhost /]# grep nsd13 /etc/passwd
- [root@localhost /]# usermod -l stu13 nsd13 #修改用户名字
- [root@localhost /]# id stu13
- [root@localhost /]# usermod -u 1600 stu13 #修改用户的UID
- [root@localhost /]# id stu13
- [root@localhost /]# usermod -s /sbin/nologin stu13 #修改用户的解释器程序
- [root@localhost /]# grep stu13 /etc/passwd
-d:家目录路径(默认不会自动创建新的家目录)
- [root@localhost ~]# useradd nsd15
- [root@localhost ~]# grep nsd15 /etc/passwd
- [root@localhost ~]# ls /home/
- [root@localhost ~]# usermod -d /etc/abc nsd15
- [root@localhost ~]# grep nsd15 /etc/passwd
- [root@localhost ~]# ls /etc/abc
- ls: 无法访问/etc/abc: 没有那个文件或目录
- [root@localhost ~]# useradd nsd16
- [root@localhost ~]# grep nsd16 /etc/passwd
- [root@localhost ~]# ls /home/
- [root@localhost ~]# usermod -md /mnt/abc16 nsd16 #将用户原有的家目录进行移动,并且设置相应的权限
- [root@localhost ~]# grep nsd16 /etc/passwd
- [root@localhost ~]# ls /mnt
-G:修改用户的附加组 #重置附加组 (了解)
- [root@localhost ~]# useradd nsd17
- [root@localhost ~]# id nsd17
- [root@localhost ~]# usermod -G stugrp nsd17
- [root@localhost ~]# id nsd17
- [root@localhost ~]# groupadd tmooc #创建组
- [root@localhost ~]# usermod -G tmooc nsd17
- [root@localhost ~]# id nsd17
- [root@localhost ~]# usermod -G root,stugrp nsd17
- [root@localhost ~]# id nsd17
设置用户密码
passwd命令
•格式:passwd [选项]... 用户名
- [root@localhost ~]# useradd nsd18
- [root@localhost ~]# passwd nsd18 #交互式设置
- 更改用户 nsd18的密码 。
- 新的 密码: #输入新密码
- 无效的密码: 密码少于 8 个字符
- 重新输入新的 密码: #重新输入新密码
- passwd:所有的身份验证令牌已经成功更新。
- [root@localhost ~]# su - nsd18 #临时切换用户身份
- [nsd18@localhost ~]$ passwd
- 更改用户 nsd18 的密码 。
- 为 nsd18 更改 STRESS 密码。
- (当前)UNIX 密码: #输入旧密码
- 新的 密码: #输入新密码
- 重新输入新的 密码: #重新输入新密码
- passwd:所有的身份验证令牌已经成功更新。
- [nsd18@localhost ~]$ exit #退出。回到root用户身份
passwd命令,支持非交互式设置密码
--stdin:从标准输入(比如管道)取密码
- [root@localhost /]# echo 123 | passwd --stdin nsd18
- [root@localhost /]# echo 123456 | passwd --stdin nsd18
- [root@localhost /]# echo redhat | passwd --stdin nsd18
/etc/shadow,保存密码字串/有效期等信息
每个用户记录一行,以:分割为9个字段
[root@localhost ~]# grep nsd01 /etc/shadow
nsd01:$6$NVe937Nd$B0n94XrpQ.LipQHTpYh0iV/M4jCLdccfHxzRLprdxDzwk8WDDh/TzdTfh8lA9y9WKJ.8Ls/l5.w/1W.nV6CFX/:18481:0:99999:7:::
上一次修改密码的时间:自1970-1-1到达上一次修改密码的时间,所经历的天数
字段1:用户帐号的名称
字段2:加密后的密码字符串
字段3:上次修改密码的时间
字段4:密码的最短有效天数,默认0
字段5:密码的最长有效天数,默认99999
字段6:密码过期前的警告天数,默认7
字段7:密码过期后多少天禁用此用户账号
字段8:帐号失效时间,默认值为空
字段9:保留字段(未使用)
用户初始配置文件
主要的初始配置文件
~/.bashrc:每次进入新的Bash环境时执行(开启新的终端)
- [root@localhost ~]# vim /root/.bashrc #定义永久别名
- ……
- alias hn='hostname'
- ……
- 开启新的终端进行测试:
- [root@localhost ~]# hn
/etc/bashrc:全局配置文件,影响全体用户 (开启新的终端)
- [root@localhost ~]# vim /etc/bashrc
- ……
- alias myls='ls -ld'
- ……
- #新开一个终端验证
- [root@localhost ~]# useradd nsd21
- [root@localhost ~]# su - nsd21 #相当于开启新的终端
- [nsd21@localhost ~]$ myls /opt
- [nsd21@localhost ~]$ exit
- 登出
- [root@localhost ~]#
删除用户
userdel命令
格式:userdel [-r] 用户名
添加 -r 选项,家目录/用户邮件也一并删除
- [root@localhost ~]# userdel -r nsd18 #连同家目录一并删除
- [root@localhost ~]# userdel nsd20 #不删除家目录,只删除用户信息
二、组账号管理
作用: 方便管理用户
唯一标识:GID(编号从0开始的编号,默认最大60000)
原则:Linux一个用户必须至少属于一个组
组账户的分类:
基本组:一般情况与用户同名,一个用户必须有基本组,基本组只能有一个
附加组(从属组):一个用户可以有多个附加组,也可以没有附加组
- [root@localhost /]# useradd zhangsan
- 组: zhangsan
- 组:sg xs mn haha xixi student
/etc/group,保存组帐号的基本信息
每个组记录一行,以:分割为4个字段
[root@localhost ~]# grep stugrp /etc/group
stugrp:x:1504:nsd06
组名:组密码占位符:组的GID:组成员列表
- [root@localhost ~]# groupadd tarena #新建一个组
- [root@localhost ~]# grep tarena /etc/group #查看组信息
- tarena:x:1607:
- 组名字:密码占位符:GID:组成员列表
- [root@localhost ~]# useradd kaka
- [root@localhost ~]# useradd nb
- [root@localhost ~]# useradd jack
- [root@localhost ~]# useradd kenji
gpasswd命令(添加附加组)
格式:gpasswd [选项]... 组名
•常用命令选项
-a:添加组成员,每次只能加一个
-d: 删除组成员,每次只能删一个
-M:定义(重置)组成员用户列表,可设置多个用户
- [root@localhost /]# gpasswd -a kaka tarena #添加用户kaka到tarena组
- [root@localhost /]# grep tarena /etc/group #查看组信息
- [root@localhost /]# id kaka
- [root@localhost /]# gpasswd -a nb tarena #添加用户nb到tarena组
- [root@localhost /]# grep tarena /etc/group
- [root@localhost /]# gpasswd -M 'jack,kenji' tarena #定义组成员列表
- [root@localhost /]# grep tarena /etc/group
- [root@localhost /]# gpasswd -a nb tarena #添加用户nb到tarena组
- [root@localhost /]# grep tarena /etc/group
- [root@localhost /]# gpasswd -d nb tarena #将nb用户从tarena组中删除
- [root@localhost /]# grep tarena /etc/group
- [root@localhost /]# gpasswd -M '' tarena #删除组中所有成员
- [root@localhost /]# grep tarena /etc/group
-A:定义组管理员列表(组管理员可以属于此组也可以不属于此组)
- [root@localhost ~]# su - nb
- [nb@localhost ~]$ gpasswd -a kaka tarena
- gpasswd:没有权限。
- [nb@localhost ~]$ exit
- [root@localhost ~]# gpasswd -A nb tarena #设置组管理员
- [root@localhost ~]# su - nb
- [nb@localhost ~]$ gpasswd -a kaka tarena
- 正在将用户“kaka”加入到“tarena”组中
- [nb@localhost ~]$ exit
- [root@localhost ~]#
/etc/gshadow:组的管理信息配置文件
- [root@localhost ~]# grep tarena /etc/gshadow
- tarena:!:nb:
- 组名:密码加密字符串:组的管理员列表:组成员列表
- [root@localhost /]# gpasswd -A 'nb,kenji' tarena #设置多个组管理员
- [root@localhost /]# grep tarena /etc/gshadow
- [root@localhost /]# gpasswd -A '' tarena #删除所有的组管理员
- [root@localhost /]# grep tarena /etc/gshadow
总结:用户与组重要的配置文件
/etc/passwd:用户基本信息配置文件
/etc/shadow:用户密码信息配置文件
/etc/group:组基本信息配置文件
/etc/gshadow:组管理信息配置文件
删除组账号:删除组的时候,不可以删除基本组
- [root@localhost ~]# groupdel tarena
- [root@localhost ~]# groupdel tmooc
- [root@localhost ~]# grep tmooc /etc/group
- [root@localhost ~]# grep tarena /etc/group
总结:Linux系统执行useradd命令,会完成那些操作?
1.会在/etc/passwd增加一行信息
2.会在/etc/shadow增加一行信息
3.会在/home新增用户家目录
4.会在/var/spool/mail增加用户邮件文件
5.会在/etc/group增加一行组信息
6.会在/etc/gshadow增加一行组的管理信息
总结:Linux系统执行userdel -r命令,会完成那些操作?
1.会在/etc/passwd删除一行信息
2.会在/etc/shadow删除一行信息
3.会在/home删除用户家目录
4.会在/var/spool/mail删除用户邮件文件
5.会在/etc/group删除一行组信息
6.会在/etc/gshadow删除一行组的管理信息
三、计划任务
用途:按照设置的时间间隔,为用户反复执行某一项固定的系统任务
软件包:cronie、crontabs
系统服务:crond
日志文件:/var/log/cron
使用 crontab 命令
–编辑:crontab -e [-u 用户名]
–查看:crontab -l [-u 用户名]
–清除:crontab -r [-u 用户名]
计划任务书写格式
分 时 日 月 周 任务命令行(绝对路径) (选择题容易出)
* * * * * #每分钟执行一次
30 8 * * * #每天早晨的8点30分,执行一次
30 23 * * * #每天晚上23:30 执行一次
30 23 * * 5 #每周的周五23:30 执行一次
30 23 * * 1-5 #每周的周一至周五23:30 执行一次
30 23 * * 1,3,6 #每周的周一周三周六23:30 执行一次
特别写法:
5 * * * * #每个小时的第五分钟执行一次
*/5 * * * * #每隔5分钟运行一次
38 */2 * * * #每隔2小时运行一次
*:匹配范围内任意时间
,:分隔多个不连续的时间点
-:指定连续时间范围
/n:指定时间频率,每n ...
案例:
每分钟记录当前的系统时间,写入/opt/time.txt
- [root@nb ~]# date
- [root@nb ~]# date >> /opt/time.txt
- [root@nb ~]# cat /opt/time.txt
- [root@nb ~]# which date #查询命令程序路径
- [root@nb ~]# crontab -e #编写计划任务
- * * * * * /usr/bin/date >> /opt/time.txt
- [root@nb ~]# crontab -l #查看计划任务内容
- [root@nb ~]# cat /opt/time.txt
- [root@nb ~]# ls /var/spool/cron #任务文件存放的路径
- [root@nb ~]# cat /var/spool/cron/root #记录root用户计划任务
小伙伴们,以上就是云计算第一阶段admin 的最终内容。需要我们熟练掌握增删改查知识,和进阶的的Yum仓库搭建,rpm软件查询,用户、组用户的管理,以及ACEL 计划的熟练使用。
接下来,我将更新云计算第一阶段第二模块学习内容。O(∩_∩)O
版权声明:本文标题:第一阶段:云计算基础admin 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dongtai/1727653984a1123728.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论