Linux
文章平均质量分 59
远近长安
璀璨星河,伴我同行。
展开
-
Linux中的软件安装进度条怎么搞?
事实上,上面的代码中由于printf在sleep之前,所以printf永远先于sleep执行,但是先执行printf不代表先打印。但结果如下,并没有打印结果,想到行缓冲的规则,原来是因为打印的内容一直都没有换行,所以内容一直存在缓冲区内,不会打印出来。如果每次打印完都回车,就相当于在第一个位置打印一个数字后,又回到该位置,继续打印下一个数字。再结合上面两段代码及现象,可以得出上面打印时采用的是行缓冲(遇到\n就把要打印的内容打印在屏幕上)。先打印,再sleep持续3秒,很自然的结果。转载 2022-09-23 14:16:58 · 249 阅读 · 0 评论 -
【图片+代码】:GCC 链接过程中的【重定位】过程分析
目录示例代码sub.o 文件内容分析段信息符号表信息main.o 文件分析段信息符号表信息绝对寻址相对寻址重定位表信息可执行程序 main段信息符号表信息绝对地址重定位相对地址重定位总结。转载 2022-08-09 14:00:39 · 1156 阅读 · 1 评论 -
vim设置字符长亮
使用“/+字符串”的指令可以在文件中查找字符串,但是默认查找的字符串是不会长亮的。如果想要查找的字符串长亮,那么可以执行set hesearch指令。比如查找字符r,此时r是不会亮的。执行set hlsearch,可以看到r变成黄色高亮状态。执行:noh可以退出搜索字符模式并解除高亮。可以在/etc/vim/vimc文件中设置set hlsearch,这样每次搜索字符的时候就会自动高亮了。同时搜索多个字符,比如同时搜索r,h,i,则:/r\|h\|i可以把 | 当做.原创 2021-12-21 18:00:49 · 1314 阅读 · 0 评论 -
vim设置tab为4个空格
版本为Ubuntu14.04.3。仅当前文本使用vim默认tab为8个空格(不知道是不是因为linux内核代码的规范中,tab为8个空格)。可以使用set ts=4,将tab设置为4个空格。执行完指令,tab缩进变为4个空格,同时再使用tab,缩进也为4个空格。但是关闭文件重新打开,缩进又变成8个空格了。也就是说,使用set ts=n设置的tab缩进是一次性的。永久设置如下图所示,可以在/etc/vim/vimc文件中设置tab缩进(添加set ts=4..原创 2021-12-21 16:30:16 · 12662 阅读 · 1 评论 -
Linux系统中编译、链接的基石-ELF文件:扒开它的层层外衣,从字节码的粒度来探索
初次见面大家好,我是ELF文件,大名叫Executable and Linkable Format。经常在Linux系统中开发的小伙伴们,对于我肯定是再熟悉不过了,特别是那些需要了解编译、链接的家伙们,估计已经把我研究的透透的。为了结识更多的小伙伴,今天呢,就是我的开放日,我会像洋葱一样,一层一层地拨开我的心,让更多的小伙伴来了解我,欢迎大家前来围观。以前啊,我看到有些小伙伴在研究我的时候,看一下头部的汇总信息,然后再瞅几眼Section的布局,就当做熟悉我了。从科学的...转载 2021-09-29 18:51:17 · 395 阅读 · 1 评论 -
线程池的使用场景和代码实现!(转载)
前言:大家周末好,今天给大家带来一篇技术文章,是关于线程池的实现和使用场景;我相信大家在公司里面的代码里面经常看到这个线程池的用法,或者甚至大家可能会听到内存池、对象池、连接池等这些专业术语,反正就很多带池的专业术语,不过你会发现他们都有一个共同的特点就是“屁股”末尾都带一个“池”字,池字,简单理解就是用来存东西的,举个简单例子来说,你比如游泳池里面可以用来存储水!好了简单说了一下,后面的哪些什么内存池、连接池,后期复习都再给大家分享吧,今天我们的主题是线程池。一、线程池的实现:1、为啥要用转载 2021-08-26 15:20:50 · 407 阅读 · 0 评论 -
什么是页缓存(Page Cache)(转载)
我们知道文件一般存放在硬盘(机械硬盘或固态硬盘)中,CPU 并不能直接访问硬盘中的数据,而是需要先将硬盘中的数据读入到内存中,然后才能被 CPU 访问。由于读写硬盘的速度比读写内存要慢很多(DDR4 内存读写速度是机械硬盘500倍,是固态硬盘的200倍),所以为了避免每次读写文件时,都需要对硬盘进行读写操作,Linux 内核使用页缓存(Page Cache)机制来对文件中的数据进行缓存。本文使用的 Linux 内核版本为:Linux-2.6.23什么是页缓存为了提升对文件的读写效率,Li转载 2021-08-17 14:46:42 · 8035 阅读 · 0 评论 -
mksdcard.sh 脚本分析
脚本源码如下。#!/bin/sh# partition size in MBBOOTLOAD_RESERVE=10BOOT_ROM_SIZE=120WEB_SIZE=50ROOTFS_SIZE=500FOTA_FLAG_SIZE=2OOPS_SIZE=2ART_SIZE=2MAC_SIZE=2WIFI_FLAG_SIZE=2RESERVED1_SIZE=2RESERVED2_SIZE=2RESERVED3_SIZE=16CFG_PARAMETER_SIZE=80LOG.原创 2021-08-17 10:27:36 · 373 阅读 · 0 评论 -
linux命令总结dd命令详解
一:dd命令dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。注意:指定数字的地方若以下列字符结尾,则乘以相应的数字:b = 512;c = 1;k = 1024;w = 2参数注释:if = 文件名:输入文件名,缺省为标准输入。即指定源文件。< if = input file > of = 文件名:输出文件名,缺省为标准输入。即指定目的文件。 < of = output file > ibs = bytes:一次读入bytes个字节,即指定一个块大转载 2021-08-17 09:39:17 · 5675 阅读 · 1 评论 -
Shell中的判断(if)
[ -a FILE ] -- 如果 FILE 存在则为真。[ -b FILE ] -- 如果 FILE 存在且是一个块特殊文件则为真。[ -c FILE ] -- 如果 FILE 存在且是一个字特殊文件则为真。[ -d FILE] -- 如果FILE存在且是一个目录则为真。[ -e FILE ] -- 如果 FILE 存在则为真。[ -f FILE ] -- 如果 FILE 存在且是一个普通文件则为真。[ -r FILE ] -- 如果 FILE 存在且是可读的则为真。[ ...转载 2021-07-06 13:50:53 · 149 阅读 · 0 评论