大数据学习第二天 Linux篇

本文涵盖Linux系统下的虚拟机克隆、网络配置、文件传输、磁盘操作、网络管理、用户权限设置、服务配置、时间同步及常用命令介绍。适合初学者和系统管理员参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.虚拟机的克隆

具体步骤参考这位仁兄:https://blog.youkuaiyun.com/优快云OfWK/article/details/78442187

克隆完成之后,还需要对克隆后的机子进行必要的网络配置。

比如配置它的IP 步骤参考上一篇博客

配置后容易出现一个小问题

解决如下:

 网络配置完成后 我们需要对它的主机名进行变更  

2.文件或目录在本地与远程服务器之间的传送 

 为了方便两者之间传递文件的操作 我们需要为两台机器配置好host文件  注意的是host的名称一定要和hostname保持一致

 

相同的,在node02的机器上也进行同样的操作,再互相验证,能否ping通彼此。

这个过程就相当于两个人互相存电话号码的操作。

首先在node01上我们新建一个名为whb.log的文件 

 然后我们向node02的机器发送whb.log

这样,在node02上我们可以查看到whb.log已经成功接收了。 

 

 类似的还有目录(文件夹)的传送  

注意的是如果是传送到相同路径:scp -r local_folder remote_username@remote_ip:`pwd`

3.对磁盘的简单操作

两个很简单的命令df和du

df 查看磁盘的信息 后面跟参数-k -m -h 分别是以kb mb 更适合阅读的方式展现磁盘的信息 

du 查看文件和目录的信息 参数和作用参考df 两个差不多 但不一样的是--max-depth=0  查看目录深度

4.常用的网络操作

ifconfig   查看当前的网络信息

ping        测试网络的连通性

netstat   显示各种网络相关的信息  具体参考man

查看端口号(是否被占用)

1、lsof -i:端口号

2、netstat -tunlp|grep 端口号

5.http请求的模拟

模拟http的get请求

6.用户、用户组、系统权限

6.1 用户操作

useradd/adduser username   #增加用户 

passwd   username                #修改新用户的密码

usermod -l new_name old_name     #修改用户名

usermod -L username                      #锁定用户    (慎用...) 

账号锁定期间,用户输入的命令无论正确与否都提示密码错误,登录不了,即冻结了账号  

usermod -U mytest                           #解除锁定

whoami                                             #查看当前登录用户名 

6.2 用户组操作

groupadd   groupname   #创建用户组

groupdel    groupname   #删除用户组

groupmod  -n  newname oldname  #用户组名的修改

groups        #查看当前登录用户的所在的组

groups username #查看指定用户所在的组

usermod  -g  组名 用户   #修改指定用户的主组

usermod  -G  组名  用户  #将指定的用户附加到指定的组中

6.3 系统权限的操作

首先权限类别有三种:r(读)  w(写)  x(执行)

其次Linux的权限是基于UGO模型的 即User Group Other

然后权限三个为一组 分别对应UGO

下面是对权限的具体操作:

修改权限

修改文件/目录的所有者:chown    username  文件/目录

同时修改文件/目录的所有者和属组:chown username:groupname  文件/目录 

若要递归修改整个目录下的所有者或属组 加参数 -R

修改文件/目录的属组:chgrp groupname name

修改文件/目录的权限:chmod ugo+rwx name   #+代表增加权限 - 代表减少权限

rwx也可以用数字指代 r等价4 w等价2 x等价1

特别说明:普通用户在被创建时默认会创建与该用户同名的主组

                  在文件或目录的权限控制上要看文件具体的权限属性 看它的实际的拥有者  以及当时操作的用户

7. 系统服务初始化的配置

init  0至9 

其中 0代表停机(实际生产环境要慎用)3为Linux的默认级别 6代表停止所有进程 卸载文件系统 重新启动相当于reboot

8. sudo的权限配置

在非root模式下 我们可以使用sudo来实现只有在root模式下才能执行的操作。

我们也可以通过编辑sudoers来控制普通用户执行的命令的权限

mytest用户就可以用yum 和 service 命令了

9. 更新系统时间

为了精确的更新系统时间 我们使用第三方的时间服务器来实时更新我们的系统时间

首先要安装ntp服务

yum install ntpdate -y

然后 ntpdate cn.ntp.org.cn

10. 重定向和管道

10.1 重定向符

 >      输出重定向覆盖

>>     输出重定向追加

<       输入重定向

1>     标准输出重定向   只有正确的输出才会重定向到某个指定文件 错误的则不会

2>     错误输出重定向   只有错误的输出才会重定向到某个指定文件 正确的则不会

2>&1   无论输出正确与否都会重定向到某个指定文件

10.2 管道符 |

“|”的意思是将前一个输出当作后一个输入

cat web.log | grep web  将web.log的内容当作grep的输入 即在web.log内查找web字段并输出

10.3 命令的控制

命令:&&   前一个命令执行成功才会执行后一个命令

命令:||      前一个命令执行失败才会执行后一个命令

10.4 信息黑洞

/dev/null  输出到这个目录的信息都会永远丢失 可以将不需要的信息写入到这个目录中去

MPU6050是一款广泛应用在惯性测量单元(IMU)中的微型传感器,由InvenSense公司生产。它集成了三轴加速度计和三轴陀螺仪,能够检测设备在三维空间中的线性加速度和角速度,进而计算出物体的姿态、运动和方向。在本项目中,MPU6050被用来获取设备的YAW、PITCH、ROLL这三个关键的姿态角,这些数据将通过OLED显示屏进行实时显示。 1. **MPU6050工作原理**: MPU6050内部包含两个主要传感器:加速度计用于测量重力加速度,提供X、Y、Z三个轴的线性加速度信息;陀螺仪则测量绕三个轴的旋转速率。通过融合这两个传感器的数据,可以计算出设备的动态运动状态。 2. **姿态角的定义**: - **YAW(偏航角)**:表示设备相对于一个参考方向的旋转角度,通常以水平面为基准。 - **PITCH(俯仰角)**:是设备沿垂直轴相对于水平面的倾斜角度,向上为正,向下为负。 - **ROLL(翻滚角)**:是设备围绕前向轴的旋转角度,向右为正,向左为负。 3. **数据处理与姿态解算**: 为了从原始的加速度和角速度数据中获取准确的姿态角,需要应用卡尔曼滤波、互补滤波或者Madgwick算法等高级数据融合方法。这些算法可以有效地消除噪声,提高姿态估计的稳定性和精度。 4. **OLED显示屏**: OLED(有机发光二极管)显示器是一种自发光技术,具有高对比度、快速响应时间以及广视角的优点。在该项目中,OLED用于实时显示YAW、PITCH、ROLL角,为用户提供了直观的视觉反馈。 5. **硬件连接与编程**: 实现这一功能需要将MPU6050通过I2C或SPI接口连接到微控制器(如Arduino、Raspberry Pi等)。编写相应的固件程序来读取传感器数据,并将其转换为姿态角,然后将结果显示在OLED屏幕上。 6. **软件实现**: 在编程过程中,通常会用到相关的库文件,如Arduino IDE中的Wire库来处理I2C通信,Adafruit的MPU6050库来与传感器交互,以及Adafruit_GFX和Adafruit_SSD1306库来驱动OLED屏幕。 7. **调试与优化**: 项目实施过程中可能遇到的问题包括传感器漂移、数据不准确等,可以通过调整滤波器参数、校准传感器以及优化算法来改善。 综上,"MPU6050(OLED显示姿态角)"项目涉及了传感器技术、微控制器编程、数据融合算法、嵌入式显示等多个领域的知识,对于学习和实践物联网、机器人、无人机等领域的开发者来说,是一个很好的动手实践项目。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值