
Linux
grey_csdn
这个作者很懒,什么都没留下…
-
原创 572_一加手机7上安装sz以及rz工具
全部学习汇总: https://github.com/GreyZhang/little_bits_of_linux 如果即时传送一些小文件,sz和rz还是很有用的,我这边尝试安装还是成功了的。安装方式也很简单,直接下载代码然后编译即可。 wget http://www.ohse.de/uwe/releases/lrzsz-0.12.20.tar.gz 运行以上命令,获取软件包。 tar zxvf lrzsz-0...2021-03-07 15:41:2415
0
-
原创 571_一加手机7上尝试搭建一个简单的C开发环境
全部学习汇总: https://github.com/GreyZhang/little_bits_of_linux 前面,在手机上安装了termux的环境。尝试安装了一批软件,这一次比较幸运完成了我一直想安装的emacs。看了一下,版本还是挺高的。 接下来,尝试安装下spacemacs,我直接把我自己以前用的文件包放进来。 解压缩,待会清除掉在windows上编译的elc文件,直接启动。 space...2021-03-07 15:36:2012
0
-
原创 570_termux中实现与安卓系统之间的文件共享
全部学习汇总: https://github.com/GreyZhang/little_bits_of_linux 之前发现,termux的文件无法实现与安卓之间的共享。本来以为是必须要root之后才可以,后来查看了下发现本身其实termux就可以支持。 只要输入 termux-setup-storage 之后,提示确认即可。会提示相应目录会被清空。我这边也就不再进行第二次演示做记录。之后,会生成如下的目录:...2021-03-07 14:25:1413
0
-
原创 569_termux下查看一加7手机的配置信息以及基本系统信息
全部学习汇总: https://github.com/GreyZhang/little_bits_of_linux 在一加手机7上再度安装了termux,部署了ssh服务。接下来你看看手机的基本情况: 首先,lsb_release的命令不支持,可能少安装了一些软件包吧。这部分信息暂且不看了。接下来,先看看处理器。 看上去,的确是比树莓派赏心悦目多了。我好奇,这个功耗会是多少? 看一下任务的基础情况,而存...2021-03-07 13:00:1312
0
-
原创 568_termux工具安装信息以及基于此实现ssh远程访问安卓
全部学习汇总: https://github.com/GreyZhang/little_bits_of_linux 这个,其实算是我学习树莓派的续篇。 为什么想考虑这样的一个功能实现呢?其实我想实现手机与PC之间的文件互传,并且我不想用数据线。我目前家中的网络有树莓派搭建的NAS和一个群晖,第一步的考虑自然是先利用群晖。以往,我也用过,但是后来发现我遇到了一个问题:好几种方式下,群晖的各种终端工具都把文件的数目限制在了1000个。而我这次想要传输的是...2021-03-07 12:27:0915
0
-
原创 567_linux内核学习_signal.c文件的泛读与分析
全部学习汇总: https://github.com/GreyZhang/little_bits_of_linux 这次,把signal.c的文件全都看一下,粗略泛读。后面应该也是这么个模式,不会像之前分的那么细了。 这一部分,其实之前是看过了的。 这部分,前面也看过了。主要是信号挂起的处理,我觉得技巧点应该是在于形参处理与寄存器操作的结合。 这两个函数,从命名看的话我们需要站在内核的角度来看。存储...2021-03-07 11:20:2321
0
-
原创 566_linux内核学习_信号挂起函数分析
全部学习汇总: https://github.com/GreyZhang/little_bits_of_linux 看一下信号挂起函数的设计: 首先是函数的注释说明。 接下来看看函数实现。 关于函数的调用,在代码中搜索,其实又回到了汇编代码的那一部分。 还是通过对这个系统调用表的处理来实现的。 感觉上,这里面的寄存器的信息获取,很可能是把函数的参数获取到了...2021-03-07 11:16:0430
0
-
原创 564_linux内核学习_信号掩码的获取以及设置
全部学习汇总: https://github.com/GreyZhang/little_bits_of_linux 这一次开始看信号的设计模块文件,signal.c。这个模块的设计,用到了很多POSIX的接口设计。而信号的一些数据结构的定义,其实是在POSIX相关的库文件里面提供的。 关于信号的一些设计,主要是在11行包含的这个头文件里面进行的声明或者定义。 接下来,先看两个最简单的函数,作为这个模块学习的一个开篇。...2021-03-06 14:24:3519
0
-
原创 563_linux主机之间使用命令行进行文件拷贝
全部学习汇总: https://github.com/GreyZhang/little_bits_of_linux 想把自己NAS上的文件转一部分到挂载在树莓派上的硬盘,本来想先拷贝到windows之后再拷贝到的树莓派的samba。后来想想麻烦,应该有什么网络的传输方式才对。 试了一下samba,没有成功挂载磁盘。找了一个单个文件测试ssh的scp倒是成功了。接下来,直接做一个拷贝。 我还是使用之前的tmux,只要是看到有拷贝动作...2021-03-06 11:49:0813
0
-
原创 562_debian buster中尝试修改时间
全部学习汇总: https://github.com/GreyZhang/little_bits_of_linux玩客云的armbian现在用着还是有些问题,一个典型的问题就是时间不对。其实,我的时间大概落后了三个小时。使用timedatectl list-timezones可以列出系统支持的时区设置。至于我要选择的,应该是东八区。东八区的时区代表应该是这里的亚洲香港。接下来,尝试设置时区:timedatectl set-timezone Asia/Hong_Kong。设2021-03-02 21:18:2326
0
-
原创 561_尝试分析NAS自动重启的原因
全部学习汇总: https://github.com/GreyZhang/little_bits_of_linux这可能是我尝试解决我遇到得linux服务的第一个问题,借助于网络上的各种资料。而且,还不一定能够解决,但是我觉得这种尝试的经历还是值得去记录一下的。我整了一个armbian的NAS,使用的过程中学会了使用top命令,这个命令除了可以提供给我一般的进程信息之外,还能够让我看到开机时间。而且,只要是ssh首次连接,我也能够看到这个开机时间。但是,我有点好奇的是我的树莓派持续很多天不关机其实是2021-03-02 21:15:10110
0
-
原创 560_linux内核学习_sched.c文件sched_init函数分析
全部学习汇总: https://github.com/GreyZhang/little_bits_of_linux 今天看看这个sched.c的文件中的sched_init函数,且不说能够收获什么,看完这个函数肯定能够让我松一口气。看完这个,这个文件的分析学习也就到此为止了。 首先应该是有一个数据类型应该是先了解看看: 应该说是一个结构体而不是一个数据类型了,具体的定义如下: 这里定义了一个数据类型,其...2021-03-02 00:11:1165
0
-
原创 559_使用iostat查看磁盘的读写情况
全部学习汇总: https://github.com/GreyZhang/little_bits_of_raspberry_pi 前面,安装并使用过iotop,基本能够看得出磁盘的读写情况,实时显示。今晚上看到了一个新命令,iostat,测试了一下老母鸡的armbian是内置的。 我想在树莓派上用一下发现没有这个名,尝试做了安装。安装需要通过sudo apt-get install sysstat,效果如下: 之后,输入ios...2021-03-01 22:33:3022
0
-
原创 558_linux内核学习_几个获取进程ID的函数
全部学习汇总: https://github.com/GreyZhang/little_bits_of_linux 继续看sched.c,这次看几个简单的函数。看完结束今天的学习,眼看这个文件终于快到底了。(哭笑) 直接看代码吧! 其实,最后一个不是这个功能相关的,但是看着似乎不是很麻烦,一起打包了。关于进程ID、父进程ID、用户ID、有效用户ID、用户组ID、有效用户组ID。这些功能的获取都是很简单的,其实就是一个结构体的成...2021-02-28 22:36:0213
0
-
原创 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:2917
0
-
原创 556_让linux的命令能够断开ssh之后后台运行
全部学习汇总:https://github.com/GreyZhang/little_bits_of_raspberry_pi 我自己的Github的repo分的有一点点多了,有一些带有一些公共属性的可能不知道往什么地方放了。想来,我这次要说的功能更多是想在我的NAS之类的小服务器上用的,还是放到这里吧! 树莓派以及玩客云基本上都能够用起来了,也做了简单的NAS扩展了我自己的PC存储。有时候也在上面跑一些小脚本和命令,但是我自己也有一点点疑惑。很多任...2021-02-28 17:53:0616
0
-
原创 555_linux命令行中查看文件夹占用的空间大小
https://github.com/GreyZhang/bash_basic 前阵子学了df这个命令,可以查看一些磁盘以及文件系统的基础信息。今天在尝试在树莓派上做磁盘的数据搬运,数据量是比较大的,我想看看现在完成了多少数据的搬运。这样,我需要的可能是一个查看一个目录的空间大小的功能。 网络上找了一下,du的命令可以满足我的基本要求。使用du –h –max-depth-1 directory_path的操作可以查看出来目录总的空间占用以及相应的子...2021-02-28 16:29:3747
0
-
原创 554_使用iotop查看存储的读写速度
全部学习汇总:https://github.com/GreyZhang/little_bits_of_raspberry_pi 近期,学会了简单实用top以及htop来查看系统的负荷以及一些其他的进程状态。相应的功能有些类似windows的任务管理器。但是,任务管理器其实还可以查看一些IO功能,但是我一般不常用。这次我拷贝了一大堆文件,本来是想看看速度以及剩余时间。主要是想看看速度,因为我想确定这个拷贝没有卡壳。继续看几个命令,似乎找不到了。 网络搜索,我找到了...2021-02-28 13:48:0039
0
-
原创 553_linux内核学习_调度定时器与软盘
全部学习汇总: https://github.com/GreyZhang/little_bits_of_linux继续看sched.c文件的设计,这次看一部分软盘相关的功能。我觉得这部分功能可能多少脱离了我想了解的内核调度等相关的功能,因此快速看看代码接口过一下。首先看注释,其实这里也说了这不是内核的一部分,放在这里主要是考虑这个实现方式的简单。这里学到了一点,或许,以后我得关注一下临界保护等信息。最后的返回值,应该出除了初始化的状态来调度之外,其他的数值都是相对确定的。这个2021-02-28 13:45:4531
0
-
原创 551_更为直观的top命令htop
全部学习汇总: https://github.com/GreyZhang/bash_basic在前阵子,调试NAS的时候查看系统负荷学了一个top命令,感觉信息 还是很多的。最近又学了一个感觉更加符合我的胃口的命令htop。其实,在提供的信息上htop跟top有一些相似之处。但是htop的直观度更好,有一定图形化的感觉。从网络上看到的信息说,htop是一个新的实现而不是top的马甲。不过,从一定程度上我倒是觉得armbian登录界面的信息也是很清爽很不错的(捂脸)。要是能够有一个这样的信息自动更2021-02-26 22:01:5117
0
-
原创 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:5423
0
-
原创 549_树莓派中通过简单脚本实时查看CPU温度
全部学习汇总: https://github.com/GreyZhang/little_bits_of_raspberry_pi今天的这个方式可能会让人觉得路子野吧,不过管用。我们学了那么多的编程语言,各种一知半解,能够组合起来发挥作用也是可以的。在我的树莓派上有一个vcgencmd可以支持温度信息的查看,可以执行vcgencmd measure_temp来输出温度。效果:有了这个就就够了,可以利用python来个循环了:执行效果:其实,这个vcgencmd支持的信息查看还是2021-02-25 23:26:1516
0
-
原创 548_linux存储设备的挂载以及卸载
全部学习汇总:https://github.com/GreyZhang/bash_basic 近期使用树莓派、玩客云等盒子板子在公司以及家里搭建了几个简单的NAS作为电脑的存储扩展,中间也用过OpenMediaVault。但是,在使用OMV的时候发现有时候挂载的存储相应的文件系统目录名称不好记。这时候,使用默认的自然也是可以的,但是也可以尝试自己改一下。如果使用OMV,其实这一点倒是可以不是很在意。但是比较烦人的是我使用的时候发现我的OMV不是很稳定,应用总是失败,还不如自己去...2021-02-25 23:22:2330
0
-
原创 547_samba共享目录添加以及服务重启
全部学习汇总: https://github.com/GreyZhang/little_bits_of_raspberry_pi近期在几个不同的ARM linux板子或者盒子上搭建了samba服务,但是连续几次又遇到了一点小问题或者是忘记重启命令。在此梳理一下,给自己留一个后续查看的地方。首先,需要确认的是一个目录增加的模板。下面的这个模板,其实是基于OpenMediaVault生成拷贝出来的。自己使用的时候,可以按照这个做一个简单的修改。下面配置中访客权限开得很高,主要是觉得很多电脑共享文件会方便2021-02-25 21:56:2817
0
-
原创 546_linux内核学习_sys_pause函数分析
全部学习汇总: https://github.com/GreyZhang/little_bits_of_linux继续分析sched.c文件。这次看一下sys_pause函数。具体的实现如下:这个函数实现的功能其实就是切换了任务状态然后执行调度,而且这个返回值感觉上用处不大。因为返回值的情况其实只有一种。接下来看看函数的调用情况,整个工程中调用如下:内容还是比较少的,有些纯粹是声明。真正有分析必要性的应该有第二条,这个涉及到一个之前就接触过的表。还要就是signal.c文件。先看2021-02-24 21:31:2443
0
-
原创 545_linux命令行环境查看磁盘以及磁盘使用空间
全部学习汇总: https://github.com/GreyZhang/bash_basic前阵子开始折腾吃灰的树莓派的时候,从网络上其实是学到了一点相关的操作。当时用到了lsblk以及df,但是命令都是从网络上抄的。这次,把这两个命令的使用稍微做一点点扩展,满足我自己的需要,留待后续查阅。首先,lsblk的功能没有什么特别需要注意的,我需要的功能其实就是这么一个默认的命令即可。通过这个命令,我能够看到我有多少存储设备或者分区以及他们的挂载位置。同时,我还能够看到相应设备的总容量。这.2021-02-24 21:07:3623
0
-
原创 544_linux内核学习___sleep_on函数功能分析
全部学习汇总:https://github.com/GreyZhang/little_bits_of_linux 这次看一下__sleeo_on函数。按照我的初步理解,我先做了一下注释说明如下: 接下来,看看这个函数的调度。 这个函数一共有两个调用的位置,接下来逐个看一下。 两个调度的信息全都在上面了,其中的一个是可中断的睡眠,另一个是睡眠。从这里看,还是没有找到调度的源头。继续找这两个函数的调用情况。...2021-02-21 20:47:5230
0
-
原创 543_sys_pause函数功能以及调用分析
全部学习汇总: https://github.com/GreyZhang/little_bits_of_linux sched.c中有一个函数:sys_pause 函数的内容比较简单,就是切换了一下当前任务的状态,然后执行调度。 函数只有在这里调用了一下,看起来似乎是信号处理的过程中的功能支持。 这个函数还在一个头文件中被放进了一个数组。 相应的参数被用来计算一个数值大小,应...2021-02-21 14:56:1919
0
-
原创 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:4922
0
-
原创 540_samba共享移动硬盘的粗暴配置
全部学习汇总: https://github.com/GreyZhang/little_bits_of_raspberry_pi之前已经开启了我树莓派上的samba服务,一个U盘也用上了。这个算是续篇,因为我觉得加一个存储工具就配置一遍的方式实用性实在是太差了。一般大容量存储,尤其是在windows平台上被格式化为过NTFS格式的磁盘通常会被自动挂载到/etc/media/用户名的目录下。我直接把这个目录配置为了共享并且开了所有的权限。如果是在公共网络里想来是有一些危险性的,但是我现在自己在家用其实2021-02-19 22:35:2521
0
-
原创 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:5517
0
-
原创 537_linux内核学习_schedule函数分析
全部学习汇总: https://github.com/GreyZhang/little_bits_of_linux 这次看一个重量级的函数,schedule。为了能够理解的更透彻,这次我“请来了”Source Insight,一个更能理解代码的工具。 看起来,作者还是很自信这份代码的质量的。或许,这段代码的可移植性也是非常棒的吧! 这个循环,先不看具体的内容,先看循环依据。这个从字面意思看,应该是想循环遍历所有的任务。而处...2021-02-17 21:40:5826
0
-
原创 536_linux内核学习_显示任务状态函数分析
全部学习汇总: https://github.com/GreyZhang/little_bits_of_linux 继续分析sched.c,今天再看一个函数。 这个函数其实可分析的信息不多,它就是输出了一下每一个任务的状态。采用到的函数之前已经简单看过了。 用到的一个宏定义在这里,数值为64。也就是说,现在监控的任务数目为64个。从名称看,这个数目很可能是我看的这个版本的内核所能够支持的最大的任务数。...2021-02-17 19:24:3221
0
-
原创 535_linux内核学习_printk函数以及终端操作
全部学习汇总: https://github.com/GreyZhang/little_bits_of_linux 这一次看一下printk。之前在其他地方看到过printk,当时看到的printk是把打印方式转到了串口上。刚刚看到的内核代码中出现了这个函数,接下来看看这个函数的实现。 我看到的函数调用是在这里,用到很多次。接下来,看看这个函数的实现。 本身的功能不用说,肯定是类似printf的。这里,先利用vsprint...2021-02-17 18:32:4720
0
-
原创 534_linux内核学习_show_task函数task_struct结构体信息分析
全部学习汇总: https://github.com/GreyZhang/little_bits_of_linux 这次,把sched.c文件的内容分析正式开个头吧! 从注释描述看,这个也是内核部分的核心代码。 而这几行代码的功能前面已经做了分析以及测试。 这里,打印了任务的一些属性,同时还检查了一部分存储信息。从提示信息看,存储信息是检查了任务的堆栈空间。为了能够更好理解一个任务的信息,需要查看一...2021-02-17 17:23:2020
0
-
原创 533_linux内核学习__BLOCKABLE功能分析
全部学习汇总: https://github.com/GreyZhang/little_bits_of_linux 阅读linux内核源代码,看到了sched.c文件。这是内核中比较核心的一个功能了,我可以做一个精读。这次先来看看_BLOCKABLE的功能。 _BLOCKABLE在这个代码中其实用到的位置也只有一个,用于处理信号。 关于这部分的代码实现如下: 相应的实现分析我也在注释中写了,接下来做一个测试...2021-02-17 15:40:2718
0
-
原创 532_linux内核学习_mktime.c文件分析
全部学习汇总: https://github.com/GreyZhang/little_bits_of_linux 就昨晚上用了一下VS Code,还是切换回了emacs。我觉得,现在人懒了,鼠标能够不用的话也就不去用了。emacs在浏览代码的时候正好,只是现在看了,语义分析的效果稍微差一点,就当是自己锻炼一下文本阅读能力了。 这一次看看mktime.c文件。 这段注释很有意思,我加了一下我看代码时候的一些想法。我觉得,有这样...2021-02-17 12:29:1028
0
-
原创 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:0311
0
-
原创 529_linux内核学习_trap.c代码浏览以及分析
全部学习汇总: https://github.com/GreyZhang/little_bits_of_linux 继续逐个分析手中的代码文件,我看了下现在手里的文件连同配置文件和makefile在内也不过100多个,做一个粗略的代码阅读分析应该还是有希望有可能的。 接下来,看看trap.c的代码。这个文件的位置如下: 从大神的注释来看,其实这个也算不上是很完善的trap处理,更多的其实是调试辅助。需要配合asm.s...2021-02-16 18:25:39111
0
-
原创 528_linux内核学习_内核进程启动分析
全部学习汇总: https://github.com/GreyZhang/little_bits_of_linux 最近补了一点基础的概念,之前完全看不懂的代码似乎有看懂了一丢丢。尝试做一个补充理解笔记。 这里,增加了一个理解说明,关于fork。之前,这个函数功能不了解,而这部分没有源代码存在于库文件,因此也没去做深入的分析。现在大概看懂了,其实这里是fork创建了一个子进程。而子进程中,执行了init函数。 在我手中这份内核...2021-02-16 17:49:1432
0