Linux学习流水帐之二

【STM32/GD32】Keil uVision生成bin文件:从编译选项到Bootloader升级实战 本文详细讲解了如何在Keil uVision中配置STM32/GD32工程,使其在编译后自动生成Bootloader升级所需的bin文件。通过解析fromelf工具的使用、构建后命令的配置以及内存布局规划,深入阐述了bin文件在固件升级中的核心作用,并提供了串口Bootloader的实战框架与常见问题解决方案。 阅读详情
vi基本操作
相比较Emacs而言,vi是一个简单的编辑器。但是它仍然提供了繁多的命令。通过Esc在编辑和command之间进行切换。
进入vi的命令:
 命令
描述
vi filename
打开或新建文件,并将关标置于第一行首
vi +n filename
打开文件,并将光标置于第n行首
vi + filename
打开文件,并将关标置于最后一行行首
vi +/pattern filename
打开文件,光标置于与第一个pattern匹配的串处
vi –r filename
编辑过程中系统崩溃,恢复filename
 
移动光标类命令,可以使用关标键(←↑→↓)等图形方式下的操作。
命令
描述
h
左移一个字符
l
右移一个字符
kCtrl+p
上移一行
jCtrl+n
下移一行
Enter
下移一行
n+
下移n
n-
上移n
复制、删除及粘贴命令
命令
描述
y5y
包括光标所在行,往下数,复制5行到剪切板。如果只复制一行,则为yy
y3w
复制光标后面的3个英文单词
p
把剪切板内容粘贴到光标之后
P
把剪切板内容复制到光标之前
d3d
包括光标所在行,往下数,剪切3行到内存。如果不写数字,表示一行。
 
搜索及替换命令
命令
描述
/pattern
从光标开始向文件尾搜索pattern
?pattern
从光标开始向文件首搜索pattern
n
在同一方向重复上一次搜索命令
N
在反方向上重复上一次搜索命令
:s/p1/p2/g
将当前行中的所有p1均用p2代替
:n1, n2s/p1/p2/g
将第n1n2行中所有p1均用p2代替
:g/p1/s//p2/g
将文件中所有p1均用p2替换
 
 保存及退出
 
命令
描述
:wq
存盘并退出
:q
退出vi,若未保存,会提示并拒绝退出
:q!
不保存已做的修改,强制退出
 
  • 一些小技巧
显示文件的头n行
         head –n filename
显示文件的后n行
         tail –n filename
计算文件数
         ls –l | grep ^-| wc –l
可以根据ls –l输出的头10个字符来判断文件类型
说明
描述
-rw-r—r--
开头为“-”表明这是一个普通文件
brw-rw----
开头为“b”表明这是一个块设备文件
crw-rw----
开头为“c”表明这是一个字符设备文件
srwxrwxrwx
开头为“s”表明这是一个socket文件
prwxr—r--
开头为“p”表明这是一个pipe文件
lrwxrwxrwx
开头为“l”表明这是一个符号链接文件
上面的命令中,通过查找ls –l输出中以“-”开头的entry,便可以查找到那一些是普通文件。而wc –l则输出有多少行。
计算目录数
ls –l | grep “^d” | wc –l
ls –F | grep “/$”
上述命令中“^-”和“^d”为正则表达式语法,表示以“-”和“d”开头。“/$”则表示以“/”为结尾的项。
直接进入到home目录
        cd ~
直接进入到上一个进入的目录
        cd –
查看文件是什么格式的?
        file filename
文件具体在什么目录下
        whereis filename
 
  • RPM
Linux下,很多安装包都以RPM的格式给出,如果没有给出PRM格式的包,则可以对源程序进行编译,生成所需的文件。处理RPM包的命令是rpm。
 
option
Description
-i
install安装
-U
update更新
-q
query查询该安装包是否已经安装
-v
verify验证
--checksig
signature check签名检查
-e
uninstall卸载
-b
build建立
--setperms
fix permissions
--setugids
set owners/groups
--showrc
show RC
 
MediaPipeUnityPlugin(最新版)摇摆拳人脸识别 阅读详情

相关推荐

别再只会画方块了!Cesium 1.62 实战:用 Polygon、Ellipse 和 PolylineVolume 玩转复杂地理围栏与3D管道

本文深入探讨了Cesium 1.62在复杂地理围栏与3D管道开发中的高级应用,通过Polygon、Ellipse和PolylineVolume等API实现不规则禁飞区建模、椭圆围栏设计及地下管线可视化。文章结合实战代码,详细解析了性能优化技巧和工程实践,帮助开发者突破基础图形绘制局限,构建真实业务场景中的三维空间系统。

weixin_26763955的博客 81

Linux学习流水帐之一

  Linux内核源码结构 目录 描述 arch

makethyme的专栏 1047

AI一键生成带货短视频:电商直播的未来

随着电子商务行业的快速发展,直播带货已成为一种极为有效的营销手段。然而,传统的人工直播方式存在诸多局限性,如人力成本高、主播培训周期长等问题。为了解决这些挑战,一种基于AI技术的一键生成带货视频解决方案应运而生——这就是“Anchor Crafter”。这项创新技术不仅能够自动创建高质量的带货视频,而且还能实现人物与商品之间的自然交互,极大地提升了用户体验。

这里汇聚了前沿的技术分享与实用的开发技巧,带你探索从创意到企业的技术创业之路。 2170

Liux学习流水帐之三

   从源文件安装程序有时需要安装的程序没有RPM包的形式,这是如果存在着源文件,则可以从源文件开始安装。从源文件安装有利于对程序进行定制,系统管理员有时对重要的程序都是先进行build,再进行安装。说道编译、链接程序,当然需要编译器、链接器等工具。例如GNU binutils, GNU coreutils,GNU tar, gunzip,make等工具。有时候,源文件

makethyme的专栏 1160

[流水帐]暑期总结

[小结]暑期总结 随手流水帐~ DONE 跟着学校训练学了一点点算法,好难嗷日常感觉自己是个憨憨,被ph和fjy两个大佬疯狂带飞 水了一场数模,从入门到胡编乱造hh 2天多速通了python PTA的语法题,然后发现上学期C语言的期末题目基本都是PTA原题hh 假期必做之乱搞自己的电脑,强迫自己用了一个暑假arhclinux,在KDE的加持下日常使用还是比较ok的,除了一些通讯软件用起来挺麻烦,其他基本没障碍 初步学了一下HTML,CSS,JS,并不像想象那么容易,感觉CSS比JS还要难。 稍微了一点点l

鱼竿钓鱼干 305

[Linux] linux使用流水帐

6年前安装过linux,当时只是好玩而已,当时的linux对我来说可玩性太低,差不多都是装了耍几天酷就卸掉了。2年前被迫使用linux作开发平台,使用的是fedora core 2,感觉一般。后来去掉图形界面运行服务器程序,开发主要还是在windows上,有需要时putty连上去操作。其后1年多,安装过suse, ubuntu,还有许多记不得名字的发行版,感觉并不好,ubuntu的界面主题给我印象...

头脑歪歪 175

最近的流水帐

最近的技术研究生活并不是很顺畅。首先越来越厌恶windows了,开机慢不说,越来越习惯linux的时候反而发现windows出奇的不好用,于是对我来说做了一个“重大”的决定:装一个linux,以前都是在win下用虚拟机跑,研发环境恶虐……于是正好搞到一块不用的硬盘,决定在保留原来东西的基础上在新硬盘里装……于是:A.没有光驱,硬盘安装要求fat32格式的,我又全是ntfs的盘,塞的满满的又不想格…

Lasly的专栏 5922

大叔的linux 学习笔记

上午刚并FEDORA 20安装好,前进

gnik的专栏 432

2016年的流水帐

最近过的还是很充实的,昨天用after effects帮别人处理掉周年庆视频里面蛋糕上的黑斑,算是入了ae的门。 前天到上周,将之前的一个游戏整理了一下,发布到4399和facebook,后续有把游戏打包到安卓市场的安排。 再之前就是适用sketch画模型,导出dae之后再three.js里面使用;还有反编译了一个伪3d游戏的swf资源。 今天的话主要是花了一点点时间把4399的小游戏版本更...

weixin_33951761的博客 134

5年程序员流水帐总结,从开发到产品过渡

07年毕业至今,算是干了五年程序员了。我一直喜欢给自已定的标签是程序员,而不是软件工程师。07年快毕业时,导师让自已写职业规划,我记得那时自已定的脚步是初程往高程努力。而且我定的时间是五年,那时甚至觉得,自已应该努力成为微软MVP。现在看,是实现不了当初的理想了,但不后悔这些年自个走过的路。一毕业,我就到了上海,在华东师大附近。做的第一个项目是IM相关的,从周边功能,慢慢开始接触核心功能。从UI画...

weixin_30606669的博客 110

ARM汇编语言指令集(4)

 ·          Load/Store InstructionsThe ARM is a Load/Store Architecture: Does not support memory to memory data processing operations. Must move data values into registers before using them.ARM ha

makethyme的专栏 8136

U-BOOT之Readme

U-BOOT之ReadMe   U-boot是基于PowerPC, ARM, MIPS等多种处理器上的bootloader,可以安装在boot ROM中,用于初始化或者测试硬件,或者用于装载和运行应用程序。 where we come from - start from 8xxrom sources- create PPCBoot project (http://sourcefor

makethyme的专栏 4021

ldd3中scullv模块vm_operations_struct -> nopage到vm_operations_struct ->fault的变换

关于ldd3的scullv,在编译过程中,主要是vm_operations_struct中现在的kernel中已经没有.nopage这一operation了,其被 fault替换了。下面逐一说明: (1)main.c中,主要就是就是上一篇文章提到的INIT_WORK, schedule_delayed_work等改变。可以参考逐一改变即可。 (2)在scullv.h中,需要包含头文件,

makethyme的专栏 3912

移植U-BOOT到S3C2440板子上对读flash的device ID不对的分析

在S3C2440的板子上移植U-BOOT-1.1.6时,使用的NAND Flash为Samsung K9F1208U0B。模仿vivi对nand flash的操作,运用如下代码读取manufacture ID和device ID,能够获取正确的值:void get_manufacture_device_id(char *manuID, char *deviceID){int i;NAND_

makethyme的专栏 3010

u-boot-1.1.6及Linux-2.6.22到arm platform(s3c2440)

    u-boot-1.1.6及Linux-2.6.22到arm platform(s3c2440)                                             作者:makethyme更新u-boot为了更新u-boot,需要启动tftp服务器.需要设置PC机的网关,IP等. 如下:在Federo 4.0中点击运用程序->系统设置->

makethyme的专栏 2609

LDD3 linux设备驱动程序学习之lddbus

1. struct device不再包含bus_id,取而代之的是.init_name,修改ldd_bus struct device ldd_bus = { .init_name = "ldd0", .release = ldd_bus_release };修改函数register_ldd_device如下:    将strncpy(ldddev->dev

makethyme的专栏 2560

移植Linux-2.6.22 到S3C2440的开发板上可以通过printk输出了

前两天在移植Linux的过程中,当程序运行到init/main.c中的start_kernel()时,调用printk,死活不能通过串口输出,且有输出时,是乱码, 如下:通过修改mach-smdk2440.c中的函数smdk2440_map_io(),将           s3c24xx_init_clocks(16934400)修改为         s3c24xx_init_

makethyme的专栏 2241

GNU Binutils之nm

 GNU Binutils之nm 作者:makethymenm用于列出目标文件的符号清单,如果没有指定目标文件,则默认为“a.out”。nm的格式如下:nm [‘-a’|‘--debug-syms’] [‘-g’|‘--extern-only’]         [‘-B’] [‘-C’|‘--demangle’[=style]] [‘-D’|‘--dynamic’]   

makethyme的专栏 2021

GNU Binutils之objcopy

                                    GNU Binutils之Objcopy                                                    作者:makethymeobjcopy用于将object的部分获全部内容拷贝到另一个object,从而可以实现格式的变换。格式如下:objcopy [‘-F’ bfdn

makethyme的专栏 1876

Ubuntu系统及常用软件安装

本文根据网上资料及本人使用过程中碰到的问题整理而成。 自己学习或者玩弄Linux,大家用得多的大概就是Fedora, RedHat Enterprise Linux和Ubuntu了。以前安装过RHEL5,Fedora 10,觉得这两者的安装都比较麻烦。刚开始是还不懂得使用LVM,常常出现什么/usr空间不够啊,Fedora 10设定IP, MASK等等问题。最后决定使用ubuntu,觉得u

makethyme的专栏 1846

Yamon的编译

介绍Bootloader Yamon的编译过程

makethyme的专栏 1792

(67页PPT)智能制造行业RPA常见场景解决方案.pptx

(67页PPT)智能制造行业RPA常见场景解决方案.pptx

基于LSTM模型的股票预测模型-python实现(95分以上期末大作业).zip

基于LSTM模型的股票预测模型_python实现(95分以上期末大作业).zip 已获97分高分通过的期末大作业项目源码,毕业设计、期末大作业、课程设计、高分必看,下载下来,简单部署,就可以使用。基于LSTM模型的股票预测模型_python实现(95分以上期末大作业).zip 已获97分高分通过的期末大作业项目源码,毕业设计、期末大作业、课程设计、高分必看,下载下来,简单部署,就可以使用。基于LSTM模型的股票预测模型_python实现(95分以上期末大作业).zip 已获97分高分通过的期末大作业项目源码,毕业设计、期末大作业、课程设计、高分必看,下载下来,简单部署,就可以使用。基于LSTM模型的股票预测模型_python实现(95分以上期末大作业).zip 已获97分高分通过的期末大作业项目源码,毕业设计、期末大作业、课程设计、高分必看,下载下来,简单部署,就可以使用。基于LSTM模型的股票预测模型_python实现(95分以上期末大作业).zip 已获97分高分通过的期末大作业项目源码,毕业设计、期末大作业、课程设计、高分必看,下载下来,简单部署,就可以使用。基

上一篇: ARM汇编语言指令(1)
下一篇: Liux学习流水帐之三
makethyme
博客等级 码龄21年 37粉丝 63原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值