一起重新开始学大数据-Linux篇-Day29 shell命令(2)、用户组、Linux下jdk、克隆虚拟机

本文主要是介绍一起重新开始学大数据-Linux篇-Day29 shell命令(2)、用户组、Linux下jdk、克隆虚拟机,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

day29 shell命令(2)、用户组、Linux下jdk、克隆虚拟机

在这里插入图片描述

使用工具:

xshell

链接:https://pan.baidu.com/s/1KTMbmVLfszkHwepgYiT88g

提取码:fztd

xftp

链接:https://pan.baidu.com/s/1_OjPjk-Fsf5eK_dDmUSNQg
提取码:1i38

安装提示:

先安装Xshell,再装Xftp,防止冲突打不开

使用Xshell、xftp

在这里插入图片描述

在这里插入图片描述

用户和用户组

用户在/etc/passwd中
用户组在/etc/group/中
注意:在创建用户时,系统默认生成一个用户组(组名和用户名一致)
在这里插入图片描述

查看用户时:Tiand7❌1001:1001:Tiand:/home/Tiand7:/bin/bash

Tiand7:用户名
x:加密的密码
1001:用户编号
1001:组编号
:用户全名称
/home/Tiand7:所在位置
/bin/bash:可执行命令

useradd:添加用户

格式:

useradd 用户名

useradd jj

在这里插入图片描述

passwd:修改密码

格式:

passwd 用户名

注意:

输入密码时,密码默认不显示

在这里插入图片描述

su:切换用户

格式:

su 用户

注意:

root切换普通用户时,不需要输入密码。

在这里插入图片描述

userdel:删除用户

格式:

userdel [选项] 用户名

选项:

-f:删除登录用户
-r:删除用户和用户相关文件和目录
-rf:删除登录用户和登录用户相关文件和目录

注意:

用户主目录在/home,通信文件在/var/spool/mail/
使用-f时,用户相关文件和目录不会进行删除
[root@tt ~]# userdel -rf jj

在这里插入图片描述

groupadd:创建组(普通组,由系统默认生成的叫做主组)

格式:

groupadd 组名

注意:

创建普通组不会生成用户

在这里插入图片描述

groupdel:删除组(普通组,不能删除主组)

格式:

groupdel 组名

注意:

不能删除主组,主组随着用户的消失而消失

区分:

主组是创建用户时系统默认生成的,依赖于用户的存在而存在
手动创建的普通组用于管理多个普通用户

在这里插入图片描述

gpasswd:管理用户和组

格式:

gpasswd [选项] 用户 组

选项:

-a:添加
-d:删除

注意:

组默认是没有任何用户的
添加一个用户到组的时候,可以添加到普通组,别的主组和本身的主组
如果是普通组,无论组下是否有用户都可以直接删除
如果是主组并且主组下面有用户,删除用户时主组不会删除(主组变成普通组)

在这里插入图片描述

权限:

通过ll查看详细信息时:-rw-r–r--. 1 root root 181 3月 15 15:34 test.txt

-:表示类型(-文件,d文件夹)
rw-:当前用户权限
r--:当前用户组权限
r--:其他用户权限

在这里插入图片描述

r:读
w:写
x:执行

权限分配

chmod:修改权限

格式1:(使用相加减表达权限)

chmod [选项] [权限修改] [文件]
u:当前用户
g:当前组
o:其他
a:所有

在这里插入图片描述

格式2:(使用数字表达权限)

chmod [选项] [权限修改] [文件]
4:读
2:写
1:执行
7:全部
注意:
如果只给一个数字表示修改o,两个表示修改go
选项:
-R:迭代修改

在这里插入图片描述

chgrp:修改用户组

格式:

chgrp [选项] [组名] [文件或目录]

选项:

-R:表达迭代修改

注意:

文件或目录的所有用户或所有组,都是以编号来查询所有用户或所有组
如果不存在就显示编号,存在显示名称

chown:修改所属用户

格式:

chown [选项] [组名] [文件或目录]

选项:

-R:表达迭代修改

在这里插入图片描述
在这里插入图片描述

sudo:越权执行

格式:

sudo 命令

注意:

sudo实际上去借root权限执行命令(root对普通用户分配了权限)
sudo -l:查看当前权限
visudo:修改配置文件进行权限分配(文件所在位置/etc/sudoers)
例如:普通用户拥有root所有权限
用户名 ALL=(ALL) ALL
或者 用户名 ALL=(root) ALL
例如:普通用户只能执行一个命令
用户名 ALL=(root)/bin/rm
可以同过vim /etc/sudoers修改权限分配

案例:

当root创建一个data.txt的文件

在这里插入图片描述

创建一个普通用户tt去执行删除

在这里插入图片描述

用root用户去/etc/sudoers文件中设置普通用户操作权限

在这里插入图片描述

再次使用tt执行删除操作,发现已经可以执行删除操作了

在这里插入图片描述

查找find

格式:

find 开始查找路径 [选项] [条件]

选项:

-name
*表示匹配所有
?表示匹配一个

例如:从/开始查找后缀为.txt

find / -name "*.txt"

在这里插入图片描述

-type
d:表示目录
f:表示文件
例如:从/开始查找文件

find / -type f

-size
ll --block-size=单位
例如:大小以k为单位进行显示
ll --block-size=k

注意:条件需要给上单位

+表示大于
-表示小于
不给就是等于

例如:从/开始查找文件大小大于2k

find / -size +2k
在这里插入图片描述

-user(略)
-group(略)

Linux常见符号

|:管道,把前面一部分的内容交给后面去处理

例如:

cat /etc/profile | more

在这里插入图片描述

grep:筛选

格式:

grep 筛选条件

在这里插入图片描述

>>:追加,把命令1的结果写入到命令2

格式:

命令1 >> 命令2
例如:cat profile >> test.txt

>:覆盖

格式:
命令1 > 命令2
例如:cat profile > test.txt
在这里插入图片描述

软件包管理

rpm:查看 管理 删除软件

格式:

rpm [选项] [软件名称] [后缀]

选项:

-q:查询
-a:所有
-qa:查询所有
-e:删除

后缀:

--nodeps:无视依赖关系

注意:

直接-e时,如果有依赖关系,不能直接删除
需要加上--nodeps后缀

①案例:在liunx中配置JAVA环境第一步(删除linux自带的jdk,目的为了保证版本一致)

在这里插入图片描述

tar:解压和压缩

格式:

tar [选项] [] [路径]

选项:

-c:压缩
-x:解压
-v:显示
-z:gzip
-j:bzip
-f:使用当前名称
-t:查看

解压:

-C:指定解压路径

②案例在linux 环境中配置JAVA环境第二步(解压jdk)

tar -zxvf jdk.tar.gz -C /usr/local/soft/

打包:

例如:把jdk从新打包

tar -cvf 包的所在位置加包的名称 所要打包的内容
安装包的位置/usr/local/module/
安装jdk的位置/usr/local/soft/

案例在linux系统中配置需求版本的JAVA环境

jdk(linux 版本的可以在java官网下,也可网盘这里下载)

链接:https://pan.baidu.com/s/1zXmYvZl4nOEdv1ilMZPNiQ
提取码:3hyw

按照上述案例①②操作

①在liunx中配置JAVA环境第一步(删除linux自带的jdk,目的为了保证版本一致)

在这里插入图片描述

②在linux 环境中配置JAVA环境第二步(解压jdk)

首先将jdk从window系统通过Xftp发送到linux对应的位置

1.(个人喜好)执行mkdir /usr/local/module,在local目录下创建一个module文件夹目录,以后也将压缩文件放在这个位置上。

2.打开Xftp将window系统下jdk压缩文件发送到Linux系统的module下

在这里插入图片描述

3.执行

tar -zxvf jdk-8u144-linux-x64.tar.gz -C /usr/local/soft/

在这里插入图片描述

③.配置环境变量

1.编辑profile

vim /etc/profile

2.在最后的位置输入

export JAVA_HOME=/usr/local/soft/jdk1.8.0_144
export PATH=$PATH:$JAVA_HOME/bin

在这里插入图片描述

3.:wq保存退出

4.刷新文件:source /etc/profile

5.输入java -version 查看配置是否成功

在这里插入图片描述

保存快照,克隆另外两台虚拟机

①保存快照(防止错误操作等导致得重新配置,提前存档)

在这里插入图片描述

②克隆另外两台虚拟机

第一步先将虚拟机关闭

在这里插入图片描述

第二步选择克隆(按图示所示操作)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

第三步同理,弄出node2

|
|
|
|
|
|
|
|

上一章-Linux篇-DAY28-shell命令、编辑模式和配置映射文件

下一章-Linux篇-Day30-克隆虚拟机(续)-修改ip,添加映射关系,配置ssh免密,启动模式

听说长按大拇指👍会发生神奇的事情呢!好像是下面的画面,听说点过的人🧑一个月内就找到了对象的💑💑💑,并且还中了大奖💴$$$,考试直接拿满分💯,颜值突然就提升了😎,虽然对你好像也不需要,是吧,吴彦祖🤵!
在这里插入图片描述在这里插入图片描述

在这里插入图片描述

这篇关于一起重新开始学大数据-Linux篇-Day29 shell命令(2)、用户组、Linux下jdk、克隆虚拟机的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/871488

相关文章

SpringBoot分段处理List集合多线程批量插入数据方式

《SpringBoot分段处理List集合多线程批量插入数据方式》文章介绍如何处理大数据量List批量插入数据库的优化方案:通过拆分List并分配独立线程处理,结合Spring线程池与异步方法提升效率... 目录项目场景解决方案1.实体类2.Mapper3.spring容器注入线程池bejsan对象4.创建

PHP轻松处理千万行数据的方法详解

《PHP轻松处理千万行数据的方法详解》说到处理大数据集,PHP通常不是第一个想到的语言,但如果你曾经需要处理数百万行数据而不让服务器崩溃或内存耗尽,你就会知道PHP用对了工具有多强大,下面小编就... 目录问题的本质php 中的数据流处理:为什么必不可少生成器:内存高效的迭代方式流量控制:避免系统过载一次性

C#实现千万数据秒级导入的代码

《C#实现千万数据秒级导入的代码》在实际开发中excel导入很常见,现代社会中很容易遇到大数据处理业务,所以本文我就给大家分享一下千万数据秒级导入怎么实现,文中有详细的代码示例供大家参考,需要的朋友可... 目录前言一、数据存储二、处理逻辑优化前代码处理逻辑优化后的代码总结前言在实际开发中excel导入很

Redis 的 SUBSCRIBE命令详解

《Redis的SUBSCRIBE命令详解》Redis的SUBSCRIBE命令用于订阅一个或多个频道,以便接收发送到这些频道的消息,本文给大家介绍Redis的SUBSCRIBE命令,感兴趣的朋友跟随... 目录基本语法工作原理示例消息格式相关命令python 示例Redis 的 SUBSCRIBE 命令用于订

防止Linux rm命令误操作的多场景防护方案与实践

《防止Linuxrm命令误操作的多场景防护方案与实践》在Linux系统中,rm命令是删除文件和目录的高效工具,但一旦误操作,如执行rm-rf/或rm-rf/*,极易导致系统数据灾难,本文针对不同场景... 目录引言理解 rm 命令及误操作风险rm 命令基础常见误操作案例防护方案使用 rm编程 别名及安全删除

Linux下MySQL数据库定时备份脚本与Crontab配置教学

《Linux下MySQL数据库定时备份脚本与Crontab配置教学》在生产环境中,数据库是核心资产之一,定期备份数据库可以有效防止意外数据丢失,本文将分享一份MySQL定时备份脚本,并讲解如何通过cr... 目录备份脚本详解脚本功能说明授权与可执行权限使用 Crontab 定时执行编辑 Crontab添加定

Java使用jar命令配置服务器端口的完整指南

《Java使用jar命令配置服务器端口的完整指南》本文将详细介绍如何使用java-jar命令启动应用,并重点讲解如何配置服务器端口,同时提供一个实用的Web工具来简化这一过程,希望对大家有所帮助... 目录1. Java Jar文件简介1.1 什么是Jar文件1.2 创建可执行Jar文件2. 使用java

使用docker搭建嵌入式Linux开发环境

《使用docker搭建嵌入式Linux开发环境》本文主要介绍了使用docker搭建嵌入式Linux开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1、前言2、安装docker3、编写容器管理脚本4、创建容器1、前言在日常开发全志、rk等不同

Java实现远程执行Shell指令

《Java实现远程执行Shell指令》文章介绍使用JSch在SpringBoot项目中实现远程Shell操作,涵盖环境配置、依赖引入及工具类编写,详解分号和双与号执行多指令的区别... 目录软硬件环境说明编写执行Shell指令的工具类总结jsch(Java Secure Channel)是SSH2的一个纯J

MyBatis-plus处理存储json数据过程

《MyBatis-plus处理存储json数据过程》文章介绍MyBatis-Plus3.4.21处理对象与集合的差异:对象可用内置Handler配合autoResultMap,集合需自定义处理器继承F... 目录1、如果是对象2、如果需要转换的是List集合总结对象和集合分两种情况处理,目前我用的MP的版本