当前位置: 首页> 娱乐> 八卦 > 深圳工程交易服务主页_驻马店网站开发公司_外贸平台自建站_网络工具

深圳工程交易服务主页_驻马店网站开发公司_外贸平台自建站_网络工具

时间:2025/7/10 17:53:00来源:https://blog.csdn.net/yyzzyyds/article/details/144337329 浏览次数:0次
深圳工程交易服务主页_驻马店网站开发公司_外贸平台自建站_网络工具

目录

一、Linux的两种软件安装方式

1、Yum源配置

2、linux中软件安装的另一种方式 rpm

3、安装mysql8.0

二、对虚拟机进行克隆

1、先关机

2、最新的状态,整个快照

3、开始克隆

4、修改克隆的服务器的硬件设置

5、修改克隆机的IP地址(因为跟第一台重复了)

6、修改克隆机的主机名

7、修改映射关系

三、SCP远程拷贝命令

四、服务器之间的免密操作

五、Linux定时任务

1、什么是定时任务

2、Linux中的定时任务(crontab)

1) 定时任务如何开启和关闭

2)如何编写定时任务

3) 定时任务的语法格式(通用,跟正则表达式)

六、Linux实战

1、grep

2、find

3、实战一下:

find+tar指令

find+cp


一、Linux的两种软件安装方式

1、Yum源配置

使用yum命令进行软件安装是linux安装文件的一个重要部分。

yum install -y  软件的名字
-y   一路yes
它会通过一个yum源配置的网址进行软件的下载,并安装1、要联网(不是废话)
2、网址的网速要快
yum 源默认的网址是国外的,所以,一般修改yum源为国内的。
将yum源地址修改为国内的阿里的。其实如果是修改yum源为aliyun的话,只需要执行一句:
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo修改阿里云的镜像文件:
1、cd /etc/yum.repos.d/ 
2、备份⼀下:mv CentOS-Base.repo CentOS-Base.repo.bak
3、下载阿⾥云镜像到本地:curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
4、清除yum的缓存yum clean allyum makecache
5、yum install -y ntpdate

yum search ifconfig   用于查看某个命令是哪个安装包下的命令
search 只能检索出来一个软件,如果这个命令在多个软件中都有,可以使用如下方式:
yum search all ifconfig

发现net-tools.x86_64 软件中包含了这个命令,所以应该安装这个软件才对。

yum install -y net-tools.x86_64
使用这个命令   ifconfig   == ip addr
如果是在windows电脑上,ipconfig 用于查看windows上的ip地址
软件的升级    yum -y update 软件的名字 
卸载          yum -y remove 软件的名字

yum源安装本质上也是rpm安装,因为它是先将rpm 安装包下载下来之后,又使用命令给你安装了一遍而已。

yum源安装软件的时候,如果一个软件依赖于另一个软件,都会一并安装。

2、linux中软件安装的另一种方式 rpm

就好比是别人给了一个 exe 文件,只是我们的linux上是没有exe文件的,跟exe文件类似的是 rpm 安装包。

安装rpm -ivh  rpm安装包的名字
卸载rpm -e   rpm的名字rpm -e   rpm的名字 --nodeps  (强制卸载)查看哪些软件是rpm安装的。
rpm -aq
这个可以查询到所有的,使用rpm安装包安装过的软件的名字,如果想删除的话,直接使用这个名字删除即可。
可以使用如下方式,查看某个服务是否安装:
rpm -qa | grep jdk

rpm -e mariadb-libs-5.5.56-2.el7.x86_64 --nodeps
可以通过这种方式删除一个个的软件。

3、安装mysql8.0

1、上传,解压

tar -xvf mysql-8.0.26-1.el7.x86_64.rpm-bundle.tarz 代表的意思是使用到了gzip这个软件,一般用于解压  .gz 压缩包,假如没有,就不要使用 z

2、查看是否有mysql数据库

rpm -qa | grep mariadb
rpm -e mariadb-libs-5.5.56-2.el7.x86_64 --nodepsmariadb 其实和 mysql 是同父异母的兄弟
mysql --> SUN公司 -->Java --> Oracle --> 所以外界一直担心mysql被干死 -->mysql创始人单干了--> mysql5.5的基础之上写了一个mariadb  外界也开始使用mariadb。

3、依次安装所需服务

rpm -ivh mysql-community-common-8.0.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-plugins-8.0.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.26-1.el7.x86_64.rpm
yum install -y net-tools
yum install -y perl
yum install libaio
rpm -ivh mysql-community-server-8.0.26-1.el7.x86_64.rpm

4、服务启动

systemctl start mysqld    这个是启动mysql
systemctl status mysqld   查看mysql的状态
systemctl stop mysqld     关闭服务

5、修改密码

1、先查看默认密码
grep password /var/log/mysqld.log

先进入mysql:

mysql -uroot -p  敲回车
粘贴密码即可

如何整一个非常好记的复杂密码:

cfxj 12345

可以这么干:c1f2x3j45!

先将密码修改成一个复杂的密码:

alter user root@localhost identified by c1f2x3j45!;

修改mysql的密码校验规则:

show variables like '%validate_password%';					# 查看密码策略
set global validate_password.policy=LOW;						# 修改密码策略等级为LOW
set global validate_password.length=4;							# 密码的最小长度
set global validate_password.mixed_case_count=0;	  # 设置密码中至少要包含0个大写字母和小写字母
set global validate_password.number_count=0;			 	# 设置密码中至少要包含0个数字
set global validate_password.special_char_count=0;	# 设置密码中至少要包含0个特殊字符# 2. 修改密码
alter user root@localhost identified by '123456';mysql8.0密码不能设置为root,否则报错!

修改mysql可以远程连接:

create user 'root'@'%' identified by  '123456';
grant all privileges on *.* to 'root'@'%' with grant option;
flush privileges;// 刷新权限,让其立即起作用。

使用navicat 去连接mysql新版,会报错:

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

使用这个sql语句可以修复上面的错误!

exit 退出mysql客户端

二、对虚拟机进行克隆

1、先关机

2、最新的状态,整个快照

3、开始克隆

4、修改克隆的服务器的硬件设置

5、修改克隆机的IP地址(因为跟第一台重复了)

vi  /etc/sysconfig/network-scripts/ifcfg-ens33
将IP地址修改为 192.168.32.129
保存退出
重启网络服务:  systemctl restart network检查一下  ifconfig  以及是否可以ping 通百度。

6、修改克隆机的主机名

hostname bigdata02
1、vi /etc/hostname  修改保存即可
2、还有一种方式可以永久修改主机名:hostnamectl set-hostname bigdata02
跟 修改文件 这两种方式二选一

7、修改映射关系

vi /etc/hosts

三、SCP远程拷贝命令

cp  是拷贝的命令,只能在一台电脑上,拷贝文件或者文件夹,无法跨电脑拷贝。
scp 可以实现将A电脑上的文件,拷贝到B电脑上。scp  A电脑上的文件   用户名@主机名:路径实战一下:
scp /etc/hosts root@bigdata01:/etc/
需要输入bigdata01的密码。如果想拷贝文件夹,需要添加 -r 参数
scp -r A电脑上的文件夹   B电脑用户名@B电脑的主机名:路径还可以这样写:
scp /etc/hosts root@192.168.233.128:/etc/
还可以这样写:
先进入到 /etc/
scp /etc/hosts root@bigdata01:$PWD

可能会遇到的问题:

1、远程拷贝,需要两台都启动

2、无法识别bigdata02 解决办法:修改 /etc/hosts 文件

四、服务器之间的免密操作

比如:bigdata01 这个电脑想免密登录到bigdata02 如何做?

1、需要在bigdata01上生成公钥和私钥
ssh-keygen -t rsa
一路回车即可。
2、生成的公钥和私钥在哪里?
/root/.ssh/id_rsa

3、将公钥传递给你想免密登录的电脑,比如bigdata02
ssh-copy-id bigdata02本质是将bigdata01中的公钥拷贝到了bigdata02中的/root/.ssh/authorized_keys

验证bigdata01 是否可以远程连接bigdata02:

ssh  bigdata02    发现不需要输入密码即可完成登录
exit   退出当前的登录

为了将来hadoop集群可以顺利启动,我们还需要让bigdata01免密登录自己。

ssh-copy-id bigdata01

免密登录的原理:

1、bigdata02随机生成了一串字符串,通过公钥进行加密,传递给bigdata01
2、bigdata01 通过私钥,对这个密文进行解密,再传递给bigdata02
3、bigddata02 拿到bigdata01的明文和自己当初的明文对比一下,发现正确就可以免密登录了。

参考图:

1、免密登录是单项的,bigdata01可以免密登录bigdata02,但是02却不能免密登录01

2、如果bigdata01想免密登录自己,也需要拷贝公钥给自己 ssh-copy-id bigdata01

五、Linux定时任务

1、什么是定时任务

只要是一个开发语言,都有定时任务。

今天要学习的是Linux的定时任务,其他技术,比如Java也有定时任务。

2、Linux中的定时任务(crontab)

1) 定时任务如何开启和关闭

cron服务的相关命令: 
启动定时任务的服务:  systemctl start crond
关闭定时任务的服务:  systemctl stop crond
重启定时任务的服务:  systemctl restart crond
重新载⼊定时任务的配置:systemctl reload crond
查看定时任务的状态: systemctl status crond不管是网络服务,还是防火墙,还是其他的,都是 start  stop restart status而且在CentOS6.X 跟CentOS 7 之间命令差距很大。

2)如何编写定时任务

crontab -e 进入定时任务的编辑界面

cd /home
touch test.txt
*/1 * * * * echo "Good Moring" >> /home/test.txt每隔一分钟,在/tmp/test.txt 中,追加一条记录  "Good Moring"每次新建了一个定时任务后,一定要reload 一下
service crond reload  --> systemctl reload crond

可以使用tail -f /tmp/test.txt

查看一个滚动的文件(一直追加的文件),ctrl + c 结束查看。

3) 定时任务的语法格式(通用,跟正则表达式)

格式如下:
* * * * * user-name command to be executed
共有六部分组成,分别表示: 分   时   ⽇   ⽉   星期 要运⾏的命令 解析:minute:     ⼀⼩时中的哪⼀分钟 [0~59]hour:       ⼀天中的哪个⼩时 [0~23]day:       ⼀⽉中的哪⼀天 [1~31]month:     ⼀年中的哪⼀⽉ [1~12]week:       ⼀周中的哪⼀天 [0~6]   星期日是0 ,星期6 是 6commands:   执⾏的命令1、执行的命令是否可以执行  ntpdate2、可执行的脚本你是否赋予了权限    比如自定义的脚本需要赋予权限才能运行3、*/num 表示频率4、如果是相连的时间使用  -  比如,周一到周五  1-5如果时间不是相邻的,使用逗号(,)即可。  比如   8,10,12

crontab在线生成器 - kjson在线工具

每天晚上12点半执行一些任务:

30 0 * * *

练习:

练习: 
1、每天早上6点0 6 * * *
2、每隔两个⼩时0 */2 * * *
3、晚上11点到早上8点之间每隔2个⼩时和早上⼋点0 23-8/2,8 * * *
4、周⼀到周五,下午五点半30 17 * * 1-5
5、每⽉的1,10,22 的 4:15分15 4 1,10,22 * *
6、每周的周六周⽇1:10分10 1 * * 6,0
7、每天18:00 到 23:00 每隔 30分钟0,30 18-22 * * *  0 23 * * *  
8、每星期六的晚上11点0 23 * * 6

每次进行任务编辑的时候,其实修改的是一个文件,位置在/var/spool/cron,文件的名字是以用户名命名的。比如root

service crond reload 其实就是重新加载这个文件而已。

在定时任务中,可以同时定义多个定时任务:

*/1 * * * * echo "Good Moring" >> /tmp/test.txt

*/1 * * * * echo "Good Afternooing" >> /tmp/test1.txt

history 命令可以查看以往所有执行过的命令,配合grep 非常的nice。

六、Linux实战

1、grep

在文件中查找内容

#常规用法
#grep 内容  路径下的文件
#1.在/etc/passwd文件中,查找'root'[root@localhost ~]# grep root /etc/passwdroot:x:0:0:root:/root:/bin/bashoperator:x:11:0:operator:/root:/sbin/nologinroot'  /etc/passwd#2.在在/etc/passwd文件中,查找'root',并显示在行号
[root@localhost ~]# grep -n root /etc/passwd1:root:x:0:0:root:/root:/bin/bash10:operator:x:11:0:operator:/root:/sbin/nologin#3.过滤出secure文件中failed password的行不区分大小写
[root@localhost ~]# grep -n -i 'root' /etc/passwd取反:
grep -v  root /etc/passwd#***************高级+正则***************#在/etc/passwd中查找root开始的用户信息;[root@bigdata01 home]# grep -n '^root' /etc/passwd
1:root:x:0:0:root:/root:/bin/bash不是root开头的:
[root@localhost ~]# grep -nv '^root' /etc/passwd
练习:
1.在/var/log/secure中过滤出'Failed'; 
grep -n 'Failed' /var/log/secure
2.在/var/log/secure中过滤出'Failed',并统计有多少行数;
grep -c 'Failed' /var/log/secure
grep Failed /var/log/secure | wc -l
wc test.txt4  8 52 test.txt第一个数字代码:行数第二个数字代表:单词数量第三个数字代表:文件大小– 统计文件的行数:
wc -l filename
比如: wc -l test.txt
– 统计文件的字符数:
wc -c filename
– 统计文件的单词数:
wc -w filename实战一下:
[root@bigdata01 home]# wc -l test.txt
4 test.txt
[root@bigdata01 home]# wc -w test.txt
8 test.txt
[root@bigdata01 home]# wc -c test.txt
52 test.txt

2、find

#语法格式
find 目录 指定类型 指定名字
#复习1.在/etc/目录中找出文件名叫hostname文件
[root@localhost ~]# find /etc -name hosts /etc/hosts#复习2.在找出/etc/下面以.conf结尾的文件
[root@localhost ~]# find /etc -name *.conf 大于 使用+加号 -size +10k 大于10k文件
小于 使用-减号 -size -10k 小于10k文件#3.根据大小找出文件 在/etc/目录下面找出大于10kb的文件
find /etc -size +10k查找出来的内容如何验证是否正确呢?
[root@bigdata01 home]# du -h /etc/postfix/access
24K     /etc/postfix/access#未来主要用于查找系统日志文件,旧的日志文件。7天之前的文件
#4.找出/etc/目录下以.conf结尾的,最近7天之前的文件
[root@localhost ~]# find /etc  -name *.conf -mtime -7/etc/resolv.conf/etc/X11/xorg.conf.d/00-keyboard.conf/etc/nsswitch.conf#5.找出/etc/目录下以.conf结尾的,7天之前的文件
[root@localhost ~]# find /etc -type f -name *.conf -mtime +7查找出来的文件如何知道是正确的呢?
stat 验证
stat 文件名  可以查看这个文件的所有详细信息
[root@bigdata01 home]# stat /etc/chrony.conf文件:"/etc/chrony.conf"大小:1108            块:8          IO 块:4096   普通文件
设备:fd00h/64768d      Inode:33633337    硬链接:1
权限:(0644/-rw-r--r--)  Uid:(    0/    root)   Gid:(    0/    root)
环境:system_u:object_r:etc_t:s0
最近访问:2018-04-13 01:37:54.000000000 +0800
最近更改:2018-04-13 01:37:54.000000000 +0800
最近改动:2024-07-22 09:50:38.952097093 +0800

由以上 时间轴可以看出,最右边为当前时,+5 代表大于等于 6 天前的文件名, -5 代表小于等于 5 天内的文件名, 5 则是代表 5-6 那一天的文件名。

 #6.找出/etc/中以.conf结尾大于10kb修改时间是7天之前的文件
[root@localhost ~]#  find /etc -name *.conf -mtime +7 -size +10k/etc/lvm/lvm.conf#7.查找文件的时候指定最多找多少层目录
#-maxdepth 1 选项位置第1个,指定find命令查找的最大深度,不加上就是所有层。
find / -maxdepth 2  -type f -name "*.conf"[root@localhost ~]# find / -maxdepth 2  -name "*.conf"/etc/resolv.conf/etc/libaudit.conf/etc/dracut.conf-maxdepth 属性不能在 name 之后,否则报错!!!#8.结合``符号案例,目标将所有查询的文件以列表形式显示,类似于ll[root@bigdata01 home]# ls -l `find /etc -maxdepth 2 -name *.conf -mtime +7 -size +10k`-rw-r--r--. 1 root root 94435 4月  11 2018 /etc/lvm/lvm.conf#下述方式也可以
[root@bigdata01 home]# ls -l $(find /etc -maxdepth 2 -name *.conf -mtime +7 -size +10k)-rw-r--r--. 1 root root 94435 4月  11 2018 /etc/lvm/lvm.conf不是所有命令都可以使用管道符来解决:[root@bigdata01 home]# find /etc -maxdepth 2 -name *.conf -mtime +7 -size +10k | ls -l查找出来的结果就是错误的。
#解决方案:xargs 参数传递,主要让一些不支持管道的命令可以使用管道技术
[root@bigdata01 home]# find /etc -maxdepth 2 -name *.conf -mtime +7 -size +10k | xargs ls -l-rw-r--r--. 1 root root 94435 4月  11 2018 /etc/lvm/lvm.conf#理解xargs把前面命令传递过来的字符串转换为后面命令可以识别的参数。
#温馨提示: |xargs后面无法使用 ll,它是别名。
#exec方式(了解即可)
[root@bigdata01 home]# find /etc -maxdepth 2 -name *.conf -mtime +7 -size +10k -exec ls -l {} \;-rw-r--r--. 1 root root 94435 4月  11 2018 /etc/lvm/lvm.conf-exec选项用于对每个找到的文件执行指定的命令。在这个例子中,-exec ls -lh {} \;表示对于每个匹配到
的.conf文件,执行ls -lh命令来显示其详细信息。
具体来说,{}是一个占位符,代表当前找到的文件路径。\;是-exec选项的结束标志。

3、实战一下:

find+tar指令

#find找出/etc/ 以.conf结尾的文件放在/tmp/find.tar.gz[root@localhost ~]# tar zcf /tmp/find01.tar.gz `find / -maxdepth 2 -name "*.conf"`[root@localhost ~]# find / -maxdepth 2 -type f -name "*.conf" | xargs tar -czf 
/tmp/find02.tar.gz

find+cp

 mkdir /tmp/log[root@localhost ~]# cp `find /var/log -name yum*.log ` /tmp/log/[root@localhost ~]# ll /tmp/log/
总用量 0-rw-------. 1 root root 0 7月  10 23:45 yum.log

关键字:深圳工程交易服务主页_驻马店网站开发公司_外贸平台自建站_网络工具

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: