
Linux系统
文章平均质量分 92
Linux系统的使用方案
猫猫的小茶馆
用心做开发。专注于嵌入式技术,熟悉linux驱动开发,Linux系统搭建与移植,fpga,dsp,arm开发,pcb工艺,汇集了工作多年遇到的问题,与一些总结,有些是linux内核的源码级别的讲解,同时整个博客构建成了嵌入式的知识体系,专注于服务从事嵌入式软件开发的朋友。
展开
-
【项目管理】基于 C 语言的 QQ 聊天室实现(TCP + 多线程 + SQLite3)后续部分代码优化
文章中的代码有一些可继续优化的部分,这篇文章是对上述项目代码的完善和说明。优化和补全,我们需要,并。原创 2025-02-28 03:32:26 · 927 阅读 · 0 评论 -
【项目管理】基于 C 语言的 QQ 聊天室实现(TCP + 多线程 + SQLite3)
✅ 服务器采用 多线程 + I/O 多路复用(epoll) 支持高并发。✅ 基于 SQLite3 存储用户、好友、群聊信息;✅ 使用 TCP + JSON 进行消息传输;记录用户之间的好友关系。记录群聊成员及身份。原创 2025-02-27 06:54:04 · 726 阅读 · 0 评论 -
【Linux系统】Samba服务共享文件夹后没有提示输入用户名和密码,直接进入了IP地址
如果你在配置Samba共享文件夹后,访问共享时没有提示输入用户名和密码,而是直接进入了共享目录,这通常是因为Samba配置中允许了匿名访问或当前用户已经通过了身份验证。通过以上步骤,你应该能够解决Samba共享目录无需验证的问题。Samba使用独立的用户数据库,即使系统用户存在,也需要将其添加到Samba用户数据库中。或其子目录中,在 Ubuntu 中,直接访问共享路径 通常不会自动出现在。你需要检查共享目录的配置,确保没有启用匿名访问。输入密码后,该用户将被添加到Samba用户数据库。原创 2025-02-10 01:09:38 · 1662 阅读 · 0 评论 -
【Linux系统】权限位(mode bits)
这张图是使用结构体中的st_mode字段时画的,获取表示文件的类型和权限,它是典型的 POSIX 系统调用(如 stat() 和 fstat())返回的 struct stat 结构的一部分,用于描述文件的元数据。在 Linux 和 Unix 系统中,st_mode 是一个,其中每一部分的位表示文件的类型、权限以及其他属性。在该图中,u_rg_ro_ro_w是文件权限的位表示,来源于文件的,它定义了用户对文件的访问权限。原创 2025-01-13 23:08:30 · 521 阅读 · 0 评论 -
【Linux系统】链接文件
物理编码,是你创建文件时,系统赋予文件的真实名字。每一个文件都会有其的inode码。原创 2024-12-13 16:38:07 · 785 阅读 · 0 评论 -
【Linux系统】文件压缩与解压
在 Linux 中,操作文件的压缩、解压和传输是日常管理的重要内容。Linux 提供了多种工具和命令来实现这些功能,既灵活又高效。这篇文章是关于文件压缩与解压、以及文件传输的详细介绍和常见操作。通过这些工具,Linux 用户可以高效地管理、压缩、解压和传输文件,无论是本地操作还是远程服务器管理,这些命令都非常实用。将多个文件归档(多个文件合成一个集合文件),并将其压缩成压缩包。压缩包的意义:将集合文件,压缩大小 集合文件的大小 > 压缩包。Linux 提供了多种工具和命令来实现本地和远程文件传输,例如。原创 2024-12-13 01:36:24 · 1079 阅读 · 0 评论 -
【Linux系统】文件系统
两种文件系统各有优劣,Windows适合普通用户和桌面环境,而 Linux 更适合开发、服务器和高性能需求的场景。因此,作为一个嵌入式开发人员我们必须掌握文件的字符界面的操作方式。对于权限修改:在Linux中,以用户的角度看,权限以八进制表示;但是,以系统的角度看,权限以二进制表示。r-x:可读可执行,但不能写入。代表:文件拥有者权限;rwx:可读可写可执行。(可读可写可执行)+(可读可写可执行)+原创 2024-12-12 21:27:03 · 772 阅读 · 0 评论 -
【Linux系统】进程管理
进程是一个正在运行的程序实例,是操作系统分配资源(如 CPU 时间、内存、文件描述符等)的基本单位。每个进程都有一个唯一的标识符(PID,进程 ID),通过它可以管理和区分不同的进程。CPU ----> CPU是一个中介,这些进程是挂壁等待执行的程序,比如深圳的三和大神,打两天零点工 + 在网吧躺三天,然后再打三天零工,虽然三和大神摆烂了,但为了生存所需他们仍旧需要工作,于是,等到他们需要又会去黑中介那里接单打几天零工 —— 三和大神的工作模式就类似于电脑中的各种进程;原创 2024-12-12 16:35:33 · 1074 阅读 · 0 评论 -
【Linux系统】Linux系统管理:挂载(mount)
挂载是指将外部存储设备(如硬盘分区、USB、网络存储等)与 Linux 的目录结构绑定,使设备上的文件可以通过目录路径访问。文件系统的挂载点挂载点是文件系统中的一个目录,通过挂载点可以访问设备上的内容。正如上述例子介绍的这样,挂载点必须是一个空目录,例如/mnt或/media/usb。挂载过程未挂载状态:设备的文件内容不可访问。挂载后:设备的内容通过挂载点显示。示例操作:假设设备/dev/sdb1上有文件。将设备挂载到/mnt/usb后,可以通过访问。原创 2024-12-11 21:05:34 · 3948 阅读 · 0 评论 -
【Linux系统】软件包管理工具
是 Debian 系统的底层包管理工具,用于安装、卸载和管理 .deb 格式的软件包。它是一个低级工具,不处理依赖关系,适合高级用户或脚本自动化操作。是基于 dpkg 的高层次包管理工具,主要用于从远程仓库中下载、安装和管理软件包。它是一个高级工具,能够自动解决依赖关系,并提供了更丰富的功能。原创 2024-12-10 18:58:11 · 1110 阅读 · 0 评论 -
【Linux系统】设备锁
设备锁是 Linux 软件包管理工具的一种保护机制,用于确保同一时间只有一个包管理进程(如apt或dpkg)在修改软件包数据库。锁文件的位置主锁文件用于防止多个包管理工具同时操作 dpkg 数据库。缓存锁文件防止多个进程同时更新软件包列表。存档锁文件防止多个进程同时下载或缓存软件包。锁文件的创建与释放当apt或dpkg开始运行时,会创建锁文件。操作完成后,锁文件会被自动删除。如果进程意外终止或崩溃,锁文件可能未被删除,从而导致后续操作出现冲突。原创 2024-12-10 18:55:29 · 1496 阅读 · 0 评论 -
【Ubuntu】Ubuntu的Desktop(学习/用户使用)和Bit版本(工作)
Ubuntu Desktop 是 Ubuntu 操作系统的桌面版本,面向个人用户和开发者,提供完整的 GUI(图形用户界面)体验。适用于日常办公、开发、学习和多媒体娱乐等场景。默认使用 GNOME 桌面环境(自 17.10 起),并支持其他桌面环境(如 KDE、XFCE、LXDE)。Ubuntu Desktop 的主要特性:图形化界面:提供用户友好的桌面界面,适合新手用户。包括窗口管理、任务栏、启动器和系统设置等,操作简洁。预装应用程序办公套件。原创 2024-12-09 19:13:01 · 1511 阅读 · 0 评论 -
【C语言】SWP 文件:临时缓存文件
SWP 文件(Swap File)是某些文本编辑器(如 Vim)在编辑文件时自动生成的临时文件,用于保存编辑过程中尚未保存的更改。SWP 文件的作用当编辑器崩溃、系统断电或意外退出时,SWP 文件中保存的内容可以用来恢复未保存的修改。例如:编辑一段数据,如若在未保存数据的情况下,将窗口直接关闭:这时系统会产生一个疑问,缓冲区中还有数据,系统无法判断里面的数据是否保留。所以,Ubuntu系统中存在一个保守的操作:在缓冲区里面创建临时缓存文件。SWP 文件还可以用作锁文件(Lock File)原创 2024-12-06 18:38:41 · 1228 阅读 · 0 评论 -
【Linux系统】Ubuntu 缓冲区机制
在Ubuntu中,和其他操作系统有个不一样的机制:缓冲区。这篇文章是对与缓冲区的详细介绍。在 Ubuntu 中(以及其他基于 Linux 的操作系统),缓冲区(Buffer)是内核用于优化 I/O 操作的重要机制。它通过在内存中暂存数据,减少对磁盘等慢速设备的直接访问,从而提升系统性能。缓冲区机制主要涉及和两个核心概念。以下是 Ubuntu 缓冲区机制的详细介绍,包括其原理、分类和工作机制。原创 2024-12-06 17:57:41 · 1170 阅读 · 0 评论 -
【Linux系统】Linux系统调用用户态与内核态的切换
Linux 系统调用通过硬件支持(如陷入指令、特权级切换)和内核机制(如系统调用表、上下文切换)实现了用户态与内核态的高效切换。系统调用的设计不仅保证了用户程序与内核之间的隔离性和安全性,同时通过优化指令和调用流程提升了性能。用户态程序借助系统调用,可以方便地访问内核提供的各种服务,从而实现功能丰富的应用程序。是用户态程序与内核交互的主要接口,用于请求内核执行特权操作(如文件读写、内存分配、进程管理等)。这篇文章的目的是介绍 Linux 系统调用实现用户态与内核态切换的过程,包括相关概念、机制和具体实现。原创 2024-12-05 18:12:05 · 1301 阅读 · 0 评论 -
【Linux系统】System V 的 IPC 机制在 Linux 系统中的实现
消息队列(Message Queues)提供一种进程间以消息为单位进行通信的方式。消息被存储在内核中,可以按优先级排序。信号量(Semaphores)用于进程间的同步,控制对共享资源的访问。可以实现类似锁的功能,防止资源竞争。共享内存(Shared Memory)提供直接在多个进程之间共享一段内存区域的能力。是 System V IPC 中最快的通信方式。原创 2024-12-05 17:09:48 · 996 阅读 · 0 评论 -
【Linux系统】 Linux内核与UNIX设计哲学的结合
Linux 内核虽然不是 UNIX 的直接衍生物,但它深受 UNIX 设计哲学的影响。Linux 的开发者,尤其是 Linus Torvalds,在设计和实现 Linux 时,借鉴了 UNIX 的核心思想,使 Linux 成为一个类 UNIX 系统。原创 2024-12-05 15:44:48 · 1305 阅读 · 0 评论 -
【Linux系统】Linux 内核的可裁剪性与可移植性底层原理详解
Linux 内核凭借其和,在从嵌入式设备到超级计算机的广泛硬件平台上流行。它的设计不仅支持用户根据需求裁剪功能,还能适配多种硬件架构。以下将从设计理念、技术实现和底层原理等角度,详细解析 Linux 内核的可裁剪性与可移植性。原创 2024-12-04 23:13:50 · 1125 阅读 · 0 评论 -
【Linux系统】Linux内核框架(详细版本)
Linux 是一个开源的类 UNIX 操作系统,由多个组件组成,具有模块化和层次化的体系结构。它的设计实现了内核、用户空间和硬件的高效协作,支持多用户、多任务操作,广泛应用于服务器、嵌入式设备和超级计算机中。1. 硬件层CPU:执行指令。内存:存储运行中的程序和数据。I/O 设备:如键盘、鼠标、显示器、硬盘、网络设备等。作用:Linux 操作系统通过内核中的设备驱动程序与硬件层交互,屏蔽硬件差异,为上层提供统一的接口。2. 内核层内核是 Linux 操作系统的核心部分,原创 2024-12-04 22:22:57 · 1952 阅读 · 0 评论 -
【Linux系统】Linux系统的历史
这需要从贝尔实验室的UNIX说起:1969年,AT&T公司的贝尔实验室与MIT合作开发的Unix,旨在于创建一个用于大型、并行、多用户的操作系统。至今为止,Linux系统已经发展得十分强大,Linux 的发展体现了开源社区的力量。从一个学生的个人项目到全球最重要的操作系统之一,Linux 已成为技术创新的基石。于 1991 年创建。经历了三十多年的发展,Linux 已从一个个人项目成长为广泛应用于服务器、嵌入式系统、超级计算机、移动设备(如 Android 系统)等领域的操作系统。原创 2024-12-04 19:15:40 · 1749 阅读 · 0 评论 -
【Linux系统】Unix系统的历史
Unix诞生于贝尔实验室,在1969年,AT&T公司的贝尔实验室与MIT合作开发的Unix,旨在于创建一个用于大型、并行、多用户的操作系统。是现代操作系统的奠基者,几乎所有主流操作系统(Linux、macOS、BSD 等)都可以追溯到 Unix 的发展历史。以下将从 Unix 的起源开始,详细解析 Unix 家庭树的分支及其对现代计算的影响。之后,Ken Thompson 和 Dennis Ritchie 决定开发一个简化的、功能强大的操作系统,这就是 Unix 的起点。它主要是贝尔实验室内部的研究项目。原创 2024-12-04 19:07:25 · 1041 阅读 · 0 评论 -
【Linux系统】Android系统是如何基于Linux内核构建出来的
Android 是一个基于 Linux 内核的定制化操作系统,虽然继承了 Linux 的核心功能,但针对移动设备的需求进行了大量优化和扩展。虽然 Android 基于 Linux 内核,但它并不是一个传统意义上的 Linux 操作系统,而是对 Linux 内核和用户空间层进行了大量定制,以满足移动设备的特殊需求。虽然 Android 使用 Linux 内核,但它对原生内核进行了大量修改和扩展,以适应移动设备的要求。Android 在 Linux 内核的基础上做了大量修改,以满足移动设备的需求。原创 2024-12-04 18:57:25 · 1227 阅读 · 0 评论 -
【Linux】man 手册的使用指南
Linux manual page(Linux操作手册)是一大堆的页面,是一个说明书,它解释了操作系统上每一个命令、这个命令的作用、以及如何使用它们、包括命令所需要接收的一些(参数) 和 [选项]等等,这些内容有的并不是很好理解,不过,它们的结构都非常类似。所以,man手册该如何阅读,读了之后怎么使用,它的语法规则是怎样的?Linux的命令有很多参数,例如在调用函数的时候,经常需要引入各种各样的头文件,我们不可能全记住,所以可以通过查看联机手册获取帮助。访问Linux手册页的命令是:man。原创 2024-11-12 11:32:24 · 843 阅读 · 0 评论 -
vim 12种模式的切换、常用命令集合
vi/vim 的区别简单说,它们都是多模式编辑器,不同的是 vim 是 vi 的升级版本,它不仅兼容 vi 的所有指令,而且还有一些新特性。其实,本来Vim只有命令模式和插入模式就可以了,但是,在命令行模式下,输入的命令不回显,有些命令回显比较好, 所以,又专门弄了一个底行模式,在这种模式下,输入的命令回显在编辑器的底部,所以叫底行模式。*1 通过输入命令“ i ”,“ I ”,“ a ”从普通模式进入插入模式,“ A ”、“ o ”、“ O ”、“ c ”、“ C ”、“ s ” 或 S ”。原创 2024-10-17 00:15:01 · 1658 阅读 · 0 评论