Linux相关事宜
- 用户和用户组管理
- Linux基本命令
(1)Linux介绍
Linux是一个性能稳定、功能强大、效率高、安全且内核开
源的操作系统。其内核由当时还是芬兰赫尔辛基大学学生的林
纳斯·本纳第克特·托瓦兹(Linus Benedict Torvalds)于1991
年10月5日首次发布。
(2)Linux特性
内核开源: Linux是开源软件,用户可以查看、修改和分发
内核源代码,这促进了协作和共享。
多用户和多任务: Linux支持多用户同时登录,每个用户可
以执行多个任务,而不会相互干扰。
稳定性和可靠性: Linux系统通常非常稳定,能够长时间运
行而不需要重新启动,这对服务器和关键任务的系统很重
要。
多平台支持: Linux可以运行在各种硬件平台上,从嵌入式
设备到个人计算机、服务器和大型主机。
网络功能: Linux内置了强大的网络功能,支持各种网络协
议,是服务器和网络设备的常用操作系统。
安全性: Linux提供了强大的安全特性,包括权限管理、用
户身份验证、防火墙和加密,以保护系统免受恶意攻击。
常见目录:
bin (binaries)存放二进制可执行文件
sbin (super user binaries)存放二进制可执行文件,只有
root才能访问
etc (etcetera)存放系统配置文件
usr (unix shared resources)用于存放共享的系统资源
home 存放用户文件的根目录
var (variable)用于存放运行时需要改变数据的文件
(3)Linux系统目录结构
Linux的目录结构是一个树型结构,Linux没有盘符这个概
念,只有一个顶级目录也就是根目录:/,所有文件都在它下
面。
(4)Linux命令的使用格式为:命令 -选项 参数
常用命令:
ls 命令 :用于显示指定工作目录下的内容
常用选项: -l 以长格式显示文件和目录信息,包括权限、
所有者、大 小、创建时间等
-a 显示所有文件及目录(包括隐藏文件与目录)
cd 命令:用于切换目录(change directory) 例如: cd /data 切换到/data目录下
cd … 切换到父目录
cd 切换到当前用户的Home目录
pwd命令:显示当前工作目录(print working directory)
mkdir命令:创建目录(make directoriy)
-p选项:父目录不存在情况下先生成父目录 (parents)
cp命令:复制文件或目录-r
递归处理,将指定目录下的文件与子目录一并拷贝
(recursive)
mv命令:移动文件或目录、文件或目录改名(move)
rm命令:删除文件、目录
-r 同时删除该目录下的所有文件(recursive)
-f 强制删除文件或目录(force)
cat命令:显示文本文件内容 (catenate)
显示文本文件的内容:cat [选项] 文件名称[,…]
选项:-n #输出行号
more命令
进行文件内容的合并:cat [选项] 文件名1 文件名2 …
合并后的文件名
通过键盘输入文本内容: cat > 文本内容保存的文件名more [选项] 文件名
“回车键”显示下一行
“空格键”显示下一屏
“q"退出
touch命令:touch 文件名[,可以创建多个文件]
创建完文件后,可以对该文件进行编辑,编辑方法:
vi 文件名
输入a,进入编辑模式,编辑文本;
写入并退出,先按Esc键,再输入冒号”:",在冒号后输
入wq。
退出不保存:q!
ln [选项] 源文件或目录 链接文件或目录
软链接(-s):别名“符号链接”,本身几乎不占用空间。
相当于“快捷方式”,可以通过软链接方便的访问文
件或目录。
硬链接:与源文件占有的空间相同,不能给目录创建硬链
接。
grep查找命令
eg: 在当前目录下创建一个名为mycp的软链接。
ln -s /bin/cp mycp
然后,使用创建好的mycp软链接进行拷贝操作:
./mycp a.txt a2.txt 例如:查找出当前目录下文件名(或目录名)中含有’y’的文件或目录 ls | grep ‘y’
其中,竖线|为“管道符”,管道符”的作用是将前面命令的执行结果作为后面命令的源。
find命令
例如:从根目录下查找文件扩展名为txt的文件
find / -name *.txt
tar压缩和解压缩命令
-c 建立一个压缩文件的参数指令(create)
-x 解开一个压缩文件的参数指令(extract)
-z 是否需要用 gzip 压缩
-f 使用文档名,在 f 之后要立即接文档名(file)
-v 压缩的过程中显示文件(verbose)
例如:将当面目录下的test3目录压缩为mytest.tar.gz压缩文
件
tar -cvzf mytest.tar.gz test3
解压缩命令:
tar [选项] 待解压缩的文件
选项解释: x :用来解压缩
例如:将mytest.tar.gz解压缩到当前目录 tar -xzvf mytest.tar.gz
将mytest.tar.gz压缩文件解压缩到/root/test目录中
tar -xzvf mytest.tar.gz -C /root/test
-
Linux的shell脚本
(1)Shell 是Linux系统的用户界面,提供了用户与内核进行交互
操作的一种接口。它接收用户输入的命令并把它送入内核去执
行。Shell本身也是一种高级程序设计语言,提供了变量,函
数,条件判断,循环等开发语言的功能
(2)Shell与用户交互的模式- 命令行交互环境下的Shell
- 执行Shell脚本
(3)Shell解释器
使用解释器的语法: #!解释器 (对于程序员来说,/bin/bash、/bin/sh常用)
Shell的变量类型
(1)环境变量: Shell环境下已经存在的一些系统变量,例
如:PWD、UID、PATH。
(2)自定义变量:变量名=变量值
(3)预定义变量:$0 当前执行的shell脚本的程序名
$1 $2 … $n 代表第一个、第二个…第n个位置参
数的值
$# 传递的位置参数的个数
$* 所有位置参数的值
$? 返回上一条命令是否执行成功,成功为0,失
败为非0。
(4)Shell脚本执行方式
方式一:直接通过脚本文件的位置执行 (必须添加x执行权
限)
方式二:sh 脚本文件位置
方式三:source 脚本文件位置
(5)Shell的程序流程控制- if条件判断语法:
#!/bin/bash
echo “执行当前脚本的程序名是 0 " e c h o " 当前脚本接收的位置参数的个数是: 0" echo "当前脚本接收的位置参数的个数是: 0"echo"当前脚本接收的位置参数的个数是:#”
echo “第1个位置参数的值是$1,第5个位置参数的值是 5 " e c h o " 所有位置参数的值是: 5" echo "所有位置参数的值是: 5"echo"所有位置参数的值是:*”
echo "上一条命令执行成功了吗?$?"if [ 判断条件表达式 ]
then
测试通过执行此处脚本
else
测试未通过,在此执行脚本
fi
注意:文件判断的常用选项:
-d 是否为目录
-f 是否为文件
-e 是否存在 - for循环语句
for 循环变量 in 表达式
do
循环内容
done - while循环语句
while [ 判断条件表达式 ]
do
循环内容
done
- if条件判断语法:
-
Linux用户管理和文件权限
Linux操作系统是一个多用户操作系统,它允许多用户同时
登录到系统上并使用资源。系统会根据账户来区分每个用户的
文件,进程,任务和工作环境,使得每个用户工作都不受干
扰。
一.(1)Linux用户的分类
超级用户root:权限最大,限制最小,uid=0
普通用户:用来完成日常工作的用户,uid:500-60000系统用户:为了能够让那些后台进程或服务类进程以非管理
员的身份运行的用户,不能登录服务器。uid:1-499
(2)Linux用户组的分类
普通用户组:可以加入多个用户
系统组:一般加入一些系统用户
私有组:创建用户时,若没有指明所属组,则会定义一个私
有用户组,名 称与用户名相同,当把其他用户加入到私有
组,私有组就变成了普通用户组。
(3)相关配置文件
保存用户信息的文件:/etc/passwd
保存用户密码的文件:/etc/shadow
保存用户组的文件:/etc/group
保存用户组密码的文件:/etc/gshadow
用户配置文件:/etc/default/useradd
二. 用户管理
(1)添加用户
useradd [选项] 用户名
选项: -c 备注
-d home目录
-s shell程序
-g 用户的主组(初始组)
-G 用户的附加组
-u 新用户的id
新创建的用户必须设置密码,才能进行登录,设置(更改)密
码的命令:
passwd 用户名
(2)删除用户
userdel [选项] 用户名
选项:-r 删除用户账号的同时删除目录
-f 强制删除
修改用户
usermod [选项] 用户名
选项:-u 用户id
-g 用户的主组
-G 用户的附加组
三. 用户组管理
创建用户组
将用户添加进组中
将用户从指定组删除
查看用户组所在位置
修改组 -
配置IP地址
一. (1)首先查看VMware Workstation提供的默认网段
在配置虚拟机网卡前,需要查看VMware Workstation为
创建虚拟机时提供的默认网络信息。可在VMware Workstation
的主界面依次选择"编辑"->“虚拟网络编辑器”,打开"虚拟网络
编辑器"界面,选中网卡名称为VMnet8、类型为NAT模式,再
点击"NAT设置"按钮,查看子网IP、子网掩码、网关。
()2)编辑网卡配置文件/etc/sysconfig/network-scripts/ifcfgens33,注:不同虚拟机,文件名可能不同
(3)将参数BOOTPROTO的值由dhcp(动态路由协议)修改为
static(静态路由协议),由于网卡设置为静态路由协议,需要添
加IPADDR、GATEWAY(网关)、NETMASK(子网掩码)以及
DNS1(域名解析器)参数。
(4)修改完网卡配置文件后即可保存退出,然后执行重启网
卡命令。
二. 安装JDK
安装步骤:
(1)上传JDK安装包
进入Linux操作系统中存放应用安装包的目
录/export/software/(该目录需提前创建),然后执行rz -bey
命令将JDK安装包上传到虚拟机的/export/software/目录下。
注意:若无法执行rz命令,可先安装文件传输工具lrzsz。
(2)通过解压缩的方式安装JDK,将JDK安装到存放应用的目
录/export/servers/(该目录需提前创建)。
(3)配置JDK环境变量
执行vi /etc/profile命令编辑系统环境变量文件profile,在文件
末尾添加如下内容
(export JAVA_HOME=/opt/jdk1.8
export JRE_HOME= J A V A H O M E / j r e e x p o r t C L A S S P A T H = . : JAVA_HOME/jre export CLASSPATH=.: JAVAHOME/jreexportCLASSPATH=.:JAVA_HOME/lib: J R E H O M E / l i b e x p o r t P A T H = JRE_HOME/lib export PATH= JREHOME/libexportPATH=PATH:$JAVA_HOME/bin)
(4)上述内容添加完毕后,保存系统环境变量文件profile并退
出。不过此时配置内容尚未生效,还需要执行source /etc/profile命令使配置内容生效。
5)JDK环境验证
执行java -version命令查看当前系统环境的JDK版本
hadoop伪分布式集群安装
- 下载好VMware安装虚拟机
- 配置Linux系统
- 网络配置
- 正式开始伪分布式安装
(1)先使用Xshell和Xftp上传解压jdk和hadoop
(2)配置文件