树莓派5B -零基础应用开发系列(第五期)

树莓派5B - 零基础应用开发(第五期)

基础知识点(适用于零基础想学习Linux操作系统的的小白新手)

Linux 下一切皆文件(很重要的思想)

Linux 系统中的文件类型

Linux 下一切皆文件。在 Windows 系统下,操作系统识别文件类型一般是通过文件名后缀来判断,但是在 Linux 系统下,并不会通过文件后缀名来识别一个文件的类型,但是文件后缀也要规范、需要根据文件本身的功能属性来添加,譬如 C 源文件就以.c 为后缀、C 头文件就以.h 为后缀、shell 脚本文件就以.sh 为后缀、这是为了我们自己方便查看、浏览。

普通文件

普通文件可以分为两大类:文本文件二进制文件
文本文件:文件中的内容是由文本构成的,所谓文本指的是 ASCII 码字符。文件中的内容其本质上都是数字(因为计算机本身只有 0 和 1,存储在磁盘上的文件内容也都是由 0 和 1 所构成),而文本文件中的数字应该被理解为这个数字所对应的 ASCII 字符码。
二进制文件:二进制文件中存储的本质上也是数字,只不过对于二进制文件来说,这些数字并不是文本字符编码,而是真正的数字。
在 Linux 系统下,可以通过 stat 命令或者 ls 命令来查看文件类型。

目录文件

目录(directory)就是文件夹,文件夹在 Linux 系统中也是一种文件,是一种特殊文件。文件夹作为一种特殊文件,本身并不适合使用前面给大家介绍的文件 I/O 的方式来读写,在 Linux 系统下,会有一些专门的系统调用用于读写文件夹。

字符设备文件和块设备文件

Linux 系统下,一切皆文件,也包括各种硬件设备。设备文件(字符设备文件、块设备文件)对应的是硬件设备,在 Linux 系统中,硬件设备会对应到一个设备文件,应用程序通过对设备文件的读写来操控、使用硬件设备。
Linux 系统中,可将硬件设备分为字符设备和块设备,所以就有了字符设备文件和块设备文件两种文件类型。
虽然有设备文件,但是设备文件并不对应磁盘上的一个文件,也就是说设备文件并不存在于磁盘中,而是由文件系统虚拟出来的,一般是由内存来维护,当系统关机时,设备文件都会消失;字符设备文件一般存放在 Linux 系统/dev/目录下,所以**/dev 也称为虚拟文件系统 devfs**。例如在/dev中,agpgart、autofs、btrfs-control、console 等这些都是字符设备文件,而 loop0、loop1 这些便是块设备文件。

符号链接文件

**符号链接文件(link)**类似于 Windows 系统中的快捷方式文件,是一种特殊文件,它的内容指向的是另一个文件路径。当对符号链接文件进行操作时,系统根据情况会对这个操作转移到它指向的文件上去,而不是对它本身进行操作。

管道文件

管道文件(pipe)主要用于进程间通信。后面学习到进程间的通信时候,会详细讲解。

套接字文件

套接字文件(socket)也是一种进程间通信的方式,与管道文件不同的是,它们可以在不同主机上的进程间通信,实际上就是网络通信。
给大家简单地介绍了 Linux 系统中的 7 种文件类型,包括:普通文件、目录、字符设备文件、块设备文件、符号链接文件、管道文件以及套接字文件,下面对它们进行一个简单地概括:

  • 普通文件是最常见的文件类型;
  • 目录也是一种文件类型;
  • 设备文件对应于硬件设备;
  • 符号链接文件类似于 Windows 的快捷方式;
    管道文件用于进程间通信;
    套接字文件用于网络通信。

fstat 和 lstat 函数

stat 是从文件名出发得到文件属性信息,不需要先打开文件;而 fstat 函数则是从文件描述符出发得到文件属性信息,所以使用 fstat 函数之前需要先打开文件得到文件描述符。
lstat()与 stat、fstat 的区别在于,对于符号链接文件,stat、fstat 查阅的是符号链接文件所指向的文件对应的文件属性信息,而 lstat 查阅的是符号链接文件本身的属性信息。

文件属主

Linux 是一个多用户操作系统,系统中一般存在着好几个不同的用户,而 Linux 系统中的每一个文件都有一个与之相关联的用户和用户组,通过这个信息可以判断文件的所有者和所属组。
用户 ID 简称 UID、用户组 ID 简称 GID。

符号链接(软链接)与硬链接

在 Linux 系统中有两种链接文件,分为软链接(也叫符号链接)文件和硬链接文件。
软链接文件也就是前面给大家的 Linux 系统下的七种文件类型之一,其作用类似于 Windows 下的快捷方式。

如果大家有什么其他好想法,欢迎在讨论区讨论!!!
此系列会持续更新,大家一起加油呀,一起进步呀!!!
谢谢大家的支持!!!点个小赞赞吧!!

树莓派 5b(Raspberry Pi 5 Model B)是一款基于 ARM 架构的单板计算机,非常适合用来进行物联网(IoT)项目和学习机器人操作系统(Robot Operating System, ROS)。安装ROS到树莓派上是一个常见的步骤,这里我会为你概述一个基本的安装过程: 1. **系统准备**: 首先,确保你的树莓派连接到电源并且运行最新版本的 Raspbian OS(推荐使用 Buster 或者 Stretch),因为ROS官方支持这些版本。 2. **更新系统**: ``` sudo apt update sudo apt upgrade ``` 3. **安装依赖**: ``` sudo apt install build-essential sudo apt install git ``` 4. **安装ROS**: 去GitHub下载ROS Noetic或更新版的版本(如foxy),你可以通过以下命令安装: ``` curl -fsSL https://raw.githubusercontent.com/ros-infrastructure/rosdistro/master/ros.asc | gpg --dearmor -o - | sudo tee /etc/apt/keyrings/ros-archive-keyring.gpg > /dev/null echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros-noetic main" | sudo tee /etc/apt/sources.list.d/ ros-noetic.list sudo apt update sudo apt install ros-noetic-desktop ``` 如果你想安装特定的ROS包,可以使用`sudo apt install <package-name>`替换`ros-noetic-desktop`。 5. **设置ROS环境变量**: 加载ROS环境变量: ``` source /opt/ros/noetic/setup.bash ``` 6. **验证安装**: 运行 `ros2 run commander roscore` 来启动ROS核心服务,如果一切正常,你应该能看到服务正在运行。 **相关问题--:** 1. ROS Noetic和其他版本的区别是什么? 2. 如何在树莓派上配置ROS的工作空间? 3. 安装完成后如何查看已安装的ROS包?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值