自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小灰笔记

学习笔记,仅用于自我参考回忆!

  • 博客(50)
  • 论坛 (1)
  • 收藏
  • 关注

原创 558_linux内核学习_几个获取进程ID的函数

全部学习汇总: https://github.com/GreyZhang/little_bits_of_linux 继续看sched.c,这次看几个简单的函数。看完结束今天的学习,眼看这个文件终于快到底了。(哭笑) 直接看代码吧! 其实,最后一个不是这个功能相关的,但是看着似乎不是很麻烦,一起打包了。关于进程ID、父进程ID、用户ID、有效用户ID、用户组ID、有效用户组ID。这些功能的获取都是很简单的,其实就是一个结构体的成...

2021-02-28 22:36:02 43

原创 557_linux内核学习_sys_alarm函数的功能以及分析

全部学习汇总: https://github.com/GreyZhang/little_bits_of_linux 继续之前么有分析完的内核文件sched.c,这一次看一个比较简单的函数sys_alarm。源代码如下: 接下来,按照初步的理解做一个注释: 其实,这里就是一个alarm数值的获取判断。 继续往下,看看这个函数的调用。windows的emacs有点小慢,卡顿,我试试切换WSL的模式。...

2021-02-28 22:12:29 37

原创 556_让linux的命令能够断开ssh之后后台运行

全部学习汇总:https://github.com/GreyZhang/little_bits_of_raspberry_pi 我自己的Github的repo分的有一点点多了,有一些带有一些公共属性的可能不知道往什么地方放了。想来,我这次要说的功能更多是想在我的NAS之类的小服务器上用的,还是放到这里吧! 树莓派以及玩客云基本上都能够用起来了,也做了简单的NAS扩展了我自己的PC存储。有时候也在上面跑一些小脚本和命令,但是我自己也有一点点疑惑。很多任...

2021-02-28 17:53:06 48

原创 555_linux命令行中查看文件夹占用的空间大小

https://github.com/GreyZhang/bash_basic 前阵子学了df这个命令,可以查看一些磁盘以及文件系统的基础信息。今天在尝试在树莓派上做磁盘的数据搬运,数据量是比较大的,我想看看现在完成了多少数据的搬运。这样,我需要的可能是一个查看一个目录的空间大小的功能。 网络上找了一下,du的命令可以满足我的基本要求。使用du –h –max-depth-1 directory_path的操作可以查看出来目录总的空间占用以及相应的子...

2021-02-28 16:29:37 81

原创 554_使用iotop查看存储的读写速度

全部学习汇总:https://github.com/GreyZhang/little_bits_of_raspberry_pi 近期,学会了简单实用top以及htop来查看系统的负荷以及一些其他的进程状态。相应的功能有些类似windows的任务管理器。但是,任务管理器其实还可以查看一些IO功能,但是我一般不常用。这次我拷贝了一大堆文件,本来是想看看速度以及剩余时间。主要是想看看速度,因为我想确定这个拷贝没有卡壳。继续看几个命令,似乎找不到了。 网络搜索,我找到了...

2021-02-28 13:48:00 62

原创 553_linux内核学习_调度定时器与软盘

全部学习汇总: https://github.com/GreyZhang/little_bits_of_linux继续看sched.c文件的设计,这次看一部分软盘相关的功能。我觉得这部分功能可能多少脱离了我想了解的内核调度等相关的功能,因此快速看看代码接口过一下。首先看注释,其实这里也说了这不是内核的一部分,放在这里主要是考虑这个实现方式的简单。这里学到了一点,或许,以后我得关注一下临界保护等信息。最后的返回值,应该出除了初始化的状态来调度之外,其他的数值都是相对确定的。这个

2021-02-28 13:45:45 38

原创 552_lscpu对比树莓派与玩客云的CPU

全部学习汇总: https://github.com/GreyZhang/bash_basic这个是一个基础的命令,我看了下我的玩客云armbian以及树莓派默认的系统中都是有的,那就是lscpu。简单看看帮助信息:主要的功能就是查看CPU的架构信息,有一些不同的可选的信息项。简单测试一下-a的选项:看起来,有些选项得相互配合才可以达到效果。看了一下,默认的效果到时信息还挺丰富。可以看得出玩客云用的Cortex-A5架构的处理器,4核心,每个核心可以支持1线...

2021-02-26 22:12:26 237

原创 551_更为直观的top命令htop

全部学习汇总: https://github.com/GreyZhang/bash_basic在前阵子,调试NAS的时候查看系统负荷学了一个top命令,感觉信息 还是很多的。最近又学了一个感觉更加符合我的胃口的命令htop。其实,在提供的信息上htop跟top有一些相似之处。但是htop的直观度更好,有一定图形化的感觉。从网络上看到的信息说,htop是一个新的实现而不是top的马甲。不过,从一定程度上我倒是觉得armbian登录界面的信息也是很清爽很不错的(捂脸)。要是能够有一个这样的信息自动更

2021-02-26 22:01:51 58

原创 550_使用s-tui查看树莓派CPU温度、主频以及负荷

全部学习汇总: https://github.com/GreyZhang/little_bits_of_raspberry_pi最近尝试了很多类似的功能,最后一次找了一个s-tui。这个工具是基于python开发的,因此使用pip 安装。方法如下:sudo pip install s-tui安装成功后,使用也简单。只需要输入s-tui即可,效果如下:这个比较好的是带有一定的图形化,而我现在的树莓派没啥处理的任务,感觉上整体状态还可以。相比top看到的一些复杂的信息,这个更加简单清爽。

2021-02-26 21:57:54 103

原创 549_树莓派中通过简单脚本实时查看CPU温度

全部学习汇总: https://github.com/GreyZhang/little_bits_of_raspberry_pi今天的这个方式可能会让人觉得路子野吧,不过管用。我们学了那么多的编程语言,各种一知半解,能够组合起来发挥作用也是可以的。在我的树莓派上有一个vcgencmd可以支持温度信息的查看,可以执行vcgencmd measure_temp来输出温度。效果:有了这个就就够了,可以利用python来个循环了:执行效果:其实,这个vcgencmd支持的信息查看还是

2021-02-25 23:26:15 30

原创 548_linux存储设备的挂载以及卸载

全部学习汇总:https://github.com/GreyZhang/bash_basic 近期使用树莓派、玩客云等盒子板子在公司以及家里搭建了几个简单的NAS作为电脑的存储扩展,中间也用过OpenMediaVault。但是,在使用OMV的时候发现有时候挂载的存储相应的文件系统目录名称不好记。这时候,使用默认的自然也是可以的,但是也可以尝试自己改一下。如果使用OMV,其实这一点倒是可以不是很在意。但是比较烦人的是我使用的时候发现我的OMV不是很稳定,应用总是失败,还不如自己去...

2021-02-25 23:22:23 59

原创 547_samba共享目录添加以及服务重启

全部学习汇总: https://github.com/GreyZhang/little_bits_of_raspberry_pi近期在几个不同的ARM linux板子或者盒子上搭建了samba服务,但是连续几次又遇到了一点小问题或者是忘记重启命令。在此梳理一下,给自己留一个后续查看的地方。首先,需要确认的是一个目录增加的模板。下面的这个模板,其实是基于OpenMediaVault生成拷贝出来的。自己使用的时候,可以按照这个做一个简单的修改。下面配置中访客权限开得很高,主要是觉得很多电脑共享文件会方便

2021-02-25 21:56:28 58

原创 546_linux内核学习_sys_pause函数分析

全部学习汇总: https://github.com/GreyZhang/little_bits_of_linux继续分析sched.c文件。这次看一下sys_pause函数。具体的实现如下:这个函数实现的功能其实就是切换了任务状态然后执行调度,而且这个返回值感觉上用处不大。因为返回值的情况其实只有一种。接下来看看函数的调用情况,整个工程中调用如下:内容还是比较少的,有些纯粹是声明。真正有分析必要性的应该有第二条,这个涉及到一个之前就接触过的表。还要就是signal.c文件。先看

2021-02-24 21:31:24 77

原创 545_linux命令行环境查看磁盘以及磁盘使用空间

全部学习汇总: https://github.com/GreyZhang/bash_basic前阵子开始折腾吃灰的树莓派的时候,从网络上其实是学到了一点相关的操作。当时用到了lsblk以及df,但是命令都是从网络上抄的。这次,把这两个命令的使用稍微做一点点扩展,满足我自己的需要,留待后续查阅。首先,lsblk的功能没有什么特别需要注意的,我需要的功能其实就是这么一个默认的命令即可。通过这个命令,我能够看到我有多少存储设备或者分区以及他们的挂载位置。同时,我还能够看到相应设备的总容量。这.

2021-02-24 21:07:36 48

原创 544_linux内核学习___sleep_on函数功能分析

全部学习汇总:https://github.com/GreyZhang/little_bits_of_linux 这次看一下__sleeo_on函数。按照我的初步理解,我先做了一下注释说明如下: 接下来,看看这个函数的调度。 这个函数一共有两个调用的位置,接下来逐个看一下。 两个调度的信息全都在上面了,其中的一个是可中断的睡眠,另一个是睡眠。从这里看,还是没有找到调度的源头。继续找这两个函数的调用情况。...

2021-02-21 20:47:52 46

原创 543_sys_pause函数功能以及调用分析

全部学习汇总: https://github.com/GreyZhang/little_bits_of_linux sched.c中有一个函数:sys_pause 函数的内容比较简单,就是切换了一下当前任务的状态,然后执行调度。 函数只有在这里调用了一下,看起来似乎是信号处理的过程中的功能支持。 这个函数还在一个头文件中被放进了一个数组。 相应的参数被用来计算一个数值大小,应...

2021-02-21 14:56:19 38

原创 542_top命令信息分析

全部学习汇总: https://github.com/GreyZhang/little_bits_of_raspberry_pi最近折腾买来吃灰的树莓派,想查看一下系统负荷情况,学了top命令。上面的截图其实就是一个top命令的结果截图。别说,还真有点windows系统的任务管理器的感觉,动态更新。接下来,逐个信息分析梳理一下,看看这里都可以提供什么样的系统信息。1. 左上角,top右边的09:11:20,这个是当前的时间;2. 继续看第一行,继续往右,up 后面的信息是系统开机持续运行

2021-02-21 12:58:49 46

原创 541_查看CPU的温度

全部学习汇总: https://github.com/GreyZhang/little_bits_of_raspberry_pi启动了压缩任务,压缩了一个比较大的文件包。结果发现CPU以及RAM基本上被吃完了。看起来,压缩对系统来说考验还是蛮大的。运行的时间的确也是非常久的,对比之下用一个牙膏厂装配的笔记本,同样的压缩轻松太多了。不过,轻松也是相对的,笔记本的风扇呼啸了很久没有停息。估计CPU温度非常高,这也让我想去看看树莓派CPU的温度到底是多少。查看CPU的温度,需要借助lm-senso

2021-02-19 22:47:11 31

原创 540_samba共享移动硬盘的粗暴配置

全部学习汇总: https://github.com/GreyZhang/little_bits_of_raspberry_pi之前已经开启了我树莓派上的samba服务,一个U盘也用上了。这个算是续篇,因为我觉得加一个存储工具就配置一遍的方式实用性实在是太差了。一般大容量存储,尤其是在windows平台上被格式化为过NTFS格式的磁盘通常会被自动挂载到/etc/media/用户名的目录下。我直接把这个目录配置为了共享并且开了所有的权限。如果是在公共网络里想来是有一些危险性的,但是我现在自己在家用其实

2021-02-19 22:35:25 49

原创 539_python之禅

在网上看到了一个关于python之禅的文章,自然比我这个学习笔记的趣味性好得多。最起码,带有一点故事性。不像我,只是看到了新鲜的东西想去记录一下而已。python之禅是关于python编程的一些优点或者好的实施方式的描述,据说还给Guido留了一个空白等着他来填补。不过,我似乎是没找到这个空白。最近在学一些linux的知识,手头也有几个树莓派。我看了下我手里的3B,正好上面有python,尝试调试出来了这个python之禅:我发现这个树莓派上还有一个python3,不知道是否与这个一样,毕竟

2021-02-19 22:33:53 31

原创 538_linux内核学习_早期linux内核支持的信号种类

全部学习汇总: https://github.com/GreyZhang/little_bits_of_linux 之前做过一个信号相关的代码分析,当时的笔记:https://greyzhang.blog.csdn.net/article/details/113834776 现在突然间想起来,前几天学习linux C编程的时候看到过linux支持的信号是64种,如果是拿一个32bit的数每一位代表一个可能有问题。但是,那时候的CPU肯定不会是64bi...

2021-02-17 22:04:55 25

原创 537_linux内核学习_schedule函数分析

全部学习汇总: https://github.com/GreyZhang/little_bits_of_linux 这次看一个重量级的函数,schedule。为了能够理解的更透彻,这次我“请来了”Source Insight,一个更能理解代码的工具。 看起来,作者还是很自信这份代码的质量的。或许,这段代码的可移植性也是非常棒的吧! 这个循环,先不看具体的内容,先看循环依据。这个从字面意思看,应该是想循环遍历所有的任务。而处...

2021-02-17 21:40:58 58

原创 536_linux内核学习_显示任务状态函数分析

全部学习汇总: https://github.com/GreyZhang/little_bits_of_linux 继续分析sched.c,今天再看一个函数。 这个函数其实可分析的信息不多,它就是输出了一下每一个任务的状态。采用到的函数之前已经简单看过了。 用到的一个宏定义在这里,数值为64。也就是说,现在监控的任务数目为64个。从名称看,这个数目很可能是我看的这个版本的内核所能够支持的最大的任务数。...

2021-02-17 19:24:32 25

原创 535_linux内核学习_printk函数以及终端操作

全部学习汇总: https://github.com/GreyZhang/little_bits_of_linux 这一次看一下printk。之前在其他地方看到过printk,当时看到的printk是把打印方式转到了串口上。刚刚看到的内核代码中出现了这个函数,接下来看看这个函数的实现。 我看到的函数调用是在这里,用到很多次。接下来,看看这个函数的实现。 本身的功能不用说,肯定是类似printf的。这里,先利用vsprint...

2021-02-17 18:32:47 32

原创 534_linux内核学习_show_task函数task_struct结构体信息分析

全部学习汇总: https://github.com/GreyZhang/little_bits_of_linux 这次,把sched.c文件的内容分析正式开个头吧! 从注释描述看,这个也是内核部分的核心代码。 而这几行代码的功能前面已经做了分析以及测试。 这里,打印了任务的一些属性,同时还检查了一部分存储信息。从提示信息看,存储信息是检查了任务的堆栈空间。为了能够更好理解一个任务的信息,需要查看一...

2021-02-17 17:23:20 38

原创 533_linux内核学习__BLOCKABLE功能分析

全部学习汇总: https://github.com/GreyZhang/little_bits_of_linux 阅读linux内核源代码,看到了sched.c文件。这是内核中比较核心的一个功能了,我可以做一个精读。这次先来看看_BLOCKABLE的功能。 _BLOCKABLE在这个代码中其实用到的位置也只有一个,用于处理信号。 关于这部分的代码实现如下: 相应的实现分析我也在注释中写了,接下来做一个测试...

2021-02-17 15:40:27 32

原创 532_linux内核学习_mktime.c文件分析

全部学习汇总: https://github.com/GreyZhang/little_bits_of_linux 就昨晚上用了一下VS Code,还是切换回了emacs。我觉得,现在人懒了,鼠标能够不用的话也就不去用了。emacs在浏览代码的时候正好,只是现在看了,语义分析的效果稍微差一点,就当是自己锻炼一下文本阅读能力了。 这一次看看mktime.c文件。 这段注释很有意思,我加了一下我看代码时候的一些想法。我觉得,有这样...

2021-02-17 12:29:10 35

原创 531_linux内核学习_sys_call.s文件分析

全部学习汇总: https://github.com/GreyZhang/little_bits_of_linux 打算用一阵子VS Code,看看是不是能够适应。单纯的看代码而不是编辑,我觉得VS Code获取还有一些好过emacs的优势。 这次看的是sys_call.s,还是一个汇编代码,快速过一下。 包含了系统调度的底层功能,还包含了定时器的中断处理函数。除此之外,还有一些软盘的中断。这份代码中有信号的处理,这个是我有点...

2021-02-16 21:45:03 21

原创 530_xshell ALT按键不能识别问题解决

最近用了xshell感觉体验很不错,还专门申请了个人用的版本。 使用逐渐上手并且有了感觉了,但是有一个大问题出现了:ALT按键不能识别,这绝对是emacs用户的心痛点。开始,我以为是组合键占用了,一通折腾没奏效。后来发现,其实有一个专门的ALT按键设置,这个为为了将其区别于meta按键的。说起来,这两个按键可能是不同的,但是我个人是没见过不同的地方。 一个简单的配置之后,我的emacs复活了!...

2021-02-16 18:39:08 42

原创 529_linux内核学习_trap.c代码浏览以及分析

全部学习汇总: https://github.com/GreyZhang/little_bits_of_linux 继续逐个分析手中的代码文件,我看了下现在手里的文件连同配置文件和makefile在内也不过100多个,做一个粗略的代码阅读分析应该还是有希望有可能的。 接下来,看看trap.c的代码。这个文件的位置如下: 从大神的注释来看,其实这个也算不上是很完善的trap处理,更多的其实是调试辅助。需要配合asm.s...

2021-02-16 18:25:39 139

原创 528_linux内核学习_内核进程启动分析

全部学习汇总: https://github.com/GreyZhang/little_bits_of_linux 最近补了一点基础的概念,之前完全看不懂的代码似乎有看懂了一丢丢。尝试做一个补充理解笔记。 这里,增加了一个理解说明,关于fork。之前,这个函数功能不了解,而这部分没有源代码存在于库文件,因此也没去做深入的分析。现在大概看懂了,其实这里是fork创建了一个子进程。而子进程中,执行了init函数。 在我手中这份内核...

2021-02-16 17:49:14 38

原创 527_linux内核学习_asm.S文件浏览

全部学习汇总: https://github.com/GreyZhang/little_bits_of_linux 前面学习的时候,分析了几段汇编代码之后我基本决定对汇编代码的精读了。这部分,我很可能在未来的工作或者生活学习中用到的很少,而且通用性并不是很好。因此,我觉得学习的重点应该放在可以执行好的C代码上面。 关于汇编代码,我觉得跟读一个目录一般看看框架、注释以及关键字其实也就差不多了。接下来,按照这个思路看看asm.S这个文件,我在其中增加了部...

2021-02-15 20:28:58 80

原创 526_linux C编程IPC有名管道

全部学习汇总: https://github.com/GreyZhang/little_bits_of_linux 感觉上,有名管道就是一个文件交换的方法,只是加了一些阻塞处理。不过,这部分阻塞的设计不是用户程序中说了算的,而是内核处理的。 有名管道的创建,使用mkfifo。读写跟普通管道处理差不多,接下来做一个测试。 这是一个读管道的进程,同时负责创建有名管道。 这是一个写管道的进程。...

2021-02-15 16:33:24 70

原创 525_linux C编程中IPC管道

全部学习汇总: https://github.com/GreyZhang/little_bits_of_linux 进程间通信的方式还有一种方式是管道,而在最初折腾linux的时候这属于我早期使用的功能之一。不过,在C编程方面接触的还是很少。了解一下基础的C编程,对我了解linux系统的部分运行机理应该会有一定的帮助。 pipe函数的功能是建立管道。 使用的时候需要包含头文件 #include<unistd.h>...

2021-02-15 15:19:55 92

原创 524_linux C编程中的IPC signal

全部学习汇总: https://github.com/GreyZhang/little_bits_of_linux linux中进程间通信,简称IPC。主要存在以下几种方式:管道、FIFO(有名管道); 消息队列; 共享内存; 信号量; 信号; 套接字(主要是用于不同机器之间的通信);这次,先看看比较常见的信号方式。linux支持的信号可以通过kill命令来查看。 查看一下linux支持的信号种类如下: 一...

2021-02-15 12:20:27 69

原创 523_使用ssh访问虚拟机的ubuntu

全部学习汇总: https://github.com/GreyZhang/little_bits_of_linux 其实我是见过别人通过SSH访问虚拟机里面的linux系统的,给我的感觉是比较清爽。我也尝试做了简单的配置,的确是比树莓派的配置简单多了。在ubuntu 20.04上,只需要执行如下命令安装相应的服务软件即可。 sudo apt install openssh-server 安装完成后,ssh是自动启动的。...

2021-02-15 09:57:37 71

原创 522_linux C编程exec函数族

全部学习汇总: https://github.com/GreyZhang/little_bits_of_linux 说起exec,其实不是一个函数,而是一个函数族。我参考了一下网络上的文章简单学习了一下,顺便敲了两行代码测试了其中的两个函数。 exec函数族包括6个函数:int execl(const char *path, const char *arg, ...);int execlp(const char *file, const ch...

2021-02-14 20:59:34 45 1

原创 521_linux C编程中C语言实现命令行参数

全部学习汇总: https://github.com/GreyZhang/c_basic 我把这次小结放到了基础的c语言知识小结中,因为这部分的确是语言元素居多一点,知识涉及到了部分环境问题。 在shell中,经常会用到cat test.txt这样的命令,其中cat是命令行命令,而test.txt是传入参数。那么,如何用C语言实现这样的命令设计呢?如下是一个简单的小例子: 代码编译运行效果: 从结果看,...

2021-02-14 18:14:55 65

原创 520_linux C编程waitpid函数

全部学习汇总: https://github.com/GreyZhang/little_bits_of_linux 前面已经用过了wait函数,其实waitpid只是一个详细配置的版本,使用更加灵活。个人理解,wait其实算是waitpid的一组表现的合集。 waitpid的原型: pid_t waitpid(pid_t pid,int *status,int options); 其中,第二个参数与wait中的传入参数是一样的。w...

2021-02-14 17:35:57 41

原创 519_linux C编程wait函数进阶

全部学习汇总: https://github.com/GreyZhang/little_bits_of_linux 前面简单用了一下wait函数,暂时看到了它对父进程的阻塞效果。关于wait函数,其原型如下: int wait(int *status) 返回值:返回值是一个int类型,如果成功则返回子进程的pid,如果失败返回值是-1。 传入参数: int指针类型,指向一个int存储区域用于存储子进程返回时候的...

2021-02-14 16:50:46 83

空空如也

grey_csdn的留言板

发表于 2020-01-02 最后回复 2020-05-15

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除