Linux基础学习
文章平均质量分 54
fangye945a
行远必自迩,登高必自卑。
展开
-
iperf3交叉编译
iperf3是一个用于执行网络吞吐量测量的命令行工具。它支持时序、缓冲区、协议(TCP,UDP,SCTP与IPv4和IPv6)有关的各种参数。对于每次测试,它都会详细的带宽报告,延迟抖动和数据包丢失。原创 2023-10-17 23:24:11 · 1001 阅读 · 0 评论 -
Ubuntu20.04 Server调整默认分辨率
把一台台式机安装成Ubuntu20.04 Server版本后,发现没有界面操作不方便,又给它装了个桌面。安装完后发现HDMI接到显示器的分辨率只有800*600,而且在系统配置里还不能选择其它的分辨率配置。首先怀疑是不是显卡驱动没装好,捣鼓了半天没解决,最后发现改一下grub配置就搞定。原创 2023-02-22 20:45:00 · 1675 阅读 · 0 评论 -
Shell 用法梳理总结
在开发过程中,时不时会需要写一些shell脚本方便开发,但是shell由于不常用,很多用法每次用过后就忘了,每次用每次都要查一下用法。于是想到在此做个梳理总结,方便下次用到。原创 2022-07-31 23:46:17 · 214 阅读 · 0 评论 -
Linux统计代码量命令cloc
记录一下Linux中一个非常好用的代码量统计命令:原创 2022-06-21 19:46:05 · 2215 阅读 · 3 评论 -
WSL2启动时提示:参考的对象类型不支持尝试的操作
WSL2启动时提示参考的对象类型不支持尝试的操作原创 2022-04-02 22:38:34 · 33417 阅读 · 12 评论 -
sed文本文件处理命令常用用法
sed命令基本用法,常用于替换文件内容或插入内容到文件。原创 2022-02-28 21:37:02 · 358 阅读 · 1 评论 -
gcc之-Wl,--wrap,xxx包装函数用法
在编译代码时,有时候遇到需要实现一个函数,替换标准库中的函数。重复定义是个很头疼的事,使用–warp参数来指定真正要链接的函数,可以达到重写函数的目的。原创 2022-02-22 23:54:47 · 3276 阅读 · 4 评论 -
WSL2之QEMU安装与使用
最近开发openharmony device单板,官方提供了许多芯片平台适配示例,都是通过qemu虚拟环境来验证的,于是也想自己动手试试qemu。原创 2021-12-31 20:00:00 · 8185 阅读 · 8 评论 -
WSL2 修改用户名(ubuntu20.04)
在使用WSL Ubuntu一段时间后,觉得用户名没有取好,想重新取一个顺眼的用户名。或者是将别人提供的 tar 文件作为新分发导入,想修改其用户名。都可以参考如下步骤,避免踩坑:原创 2021-12-25 17:30:34 · 10763 阅读 · 5 评论 -
基于windows子系统WSL2搭建openharmony开发环境(图文详解)
WSL(Windows Subsystem for Linux)是Microsoft弄出来的windows下的linux子系统,主要目的也就是为了给开发者提供便利,抢占macOs的市场。想必大家对它都不陌生了吧。下面我就用WSL2真实的搭建一下openharmony开发环境吧。原创 2021-12-20 22:03:57 · 8741 阅读 · 6 评论 -
安霸S5L通过usb虚拟网卡共享网络功能
之前在安霸S5L平台做过项目开发,掌握了一些比较有用的开发调试手段,为了避免忘记,在此记录一下安霸S5L平台通过usb共享网络的方法。原创 2021-11-30 22:25:27 · 549 阅读 · 0 评论 -
Gn 与 Ninja学习和使用
最近开始研究OpenHarmony,发现大多数鸿蒙系统的组件的编译构建都是基于 gn 和 ninjia 完成的。之前在编译Google开源的代码时有过接触,但是没有对其进行深入学习使用,只知道它是谷歌弄出来的替代make的东西,据说相对于GUN make速度有了好几倍的提升。既然是比Make更加优秀的东西,自然值得引荐使用。这可能也是鸿蒙选择使用它进行代码构建最直接的原因吧。我将从下面五个方面对其进行学习运用。原创 2021-11-29 22:42:12 · 6949 阅读 · 1 评论 -
WSL执行make menuconfig无法正常显示问题
最近在windows子系统编译执行make menuconfig时,提示如下报错:HOSTCC lxdialog/menubox.c<command-line>:0:12: fatal error: ncurses.h: No such file or directorycompilation terminated.Makefile:24: recipe for target '../../../bin/build/config/lxdialog/menubox.o' faile.原创 2021-11-29 23:00:00 · 1636 阅读 · 1 评论 -
shell脚本执行错误 $‘\r‘:command not found
在编写shell脚本时,为了代码易读性,经常需要空行。但是一旦遇到空行就会提示$'\r':command not found 的警告,如下图所示。这种错误是因为编写的shell脚本是在win下编写的,编辑器默认的行尾是\r\n,而在Unix中认为行尾是\n,所以把之前的\r当成命令了。 所以我们只需要正确配置编辑器的行尾符即可。下面以notepad++为例,直接在Windows(CR LF上)点击右键,转为Unix(LF),保存即可解决这个问...原创 2021-10-09 23:00:00 · 4441 阅读 · 0 评论 -
CAN总线bus-off错误恢复处理
张贺:这个是总线崩溃的意思吗黄敏思:节点奔溃张贺:请教下,是啥意思Jason:错误累积到一定次数,就会bus off ,可以设置auto bus on的,自动恢复啊黄敏思:有些芯片可以张贺:是C AN收发器芯片对吧张贺:还是CAN控制器啊刘善晟:SocketCAN可以设置自动重启时间刘善晟:张贺:哦,我懂了,应该在程序里can初始化时进行设置,对吧?黄敏思:CAN控制器刘善晟:启动CAN通道的时候直接加上“restart-m...原创 2021-09-26 11:43:03 · 10969 阅读 · 4 评论 -
screen命令用法
1. 新建会话screen -S yourname -> 新建一个叫yourname的session2.列出当前所有的sessionscreen -ls3. 恢复会话(回到yourname这个session)screen -r yourname4.detach某个sessionscreen -d yourname -> 远程detach某个sessionscreen -d -r yourname -> 结束当前session并回到yourname这个sess.原创 2021-09-01 00:00:47 · 611 阅读 · 0 评论 -
hi3861 Linux开发环境搭建
开发平台:ubuntu-16.04.7-server-amd64 蓝色字体文件下载链接:https://www.aliyundrive.com/s/PhPPP9gd8Nt一、安装python3.8及其相关组件1.准备工作安装所需环境sudo apt-get updatesudo apt-get install build-essential python-dev python-setuptools python-pip python-smbussudo apt-get install l..原创 2021-08-15 11:17:41 · 1069 阅读 · 1 评论 -
Ubuntu18.04提示adb设备没有权限
将开发板板插入电脑,通过lsusb可以查看到usb设备,但是无法通过adb shell命令进入开发板命令行, 使用adb devices命令可以看到该设备:查看提示信息,大致意思是指没有权限: no permissions (user in plugdev group; are your udev rules wrong?); see [http://developer.android.com/tools/device.html]解决办法:创建USB设备规则文件:su...原创 2021-08-15 11:09:48 · 1151 阅读 · 1 评论 -
arm-linux挂载tmp内存临时分区
再开发过程经常遇到Flash不够的情况,通常的做法就是用内存来凑,在内存上挂载一块区域用来存储文件。优点是速度快,读写内存当然会比读写flash快很多倍。缺点是不能掉电保存,因为数据保存在RAM里面,设备掉电或者重启存储就没了。 大家根据自己的实际情况灵活使用,比如要测试对读写速度有要求的数据,可以存到内存分区。还有一种情况就是我们的flash不够用,但是内存够用,我们可以把需要掉电存储的数据做一个压缩,设备启动时将可执行文件解压到内存分区,然后再运行程序。...原创 2021-07-31 21:47:05 · 1067 阅读 · 0 评论 -
如何控制某段代码不使用编译优化
#pragma GCC push_options#pragma GCC optimize ("O0")your code#pragma GCC pop_options原创 2021-06-29 10:21:42 · 5244 阅读 · 1 评论 -
linux内核接口文档查询
最近在写驱动,经常遇到一些接口不知道如何使用、一些参数(其实是大部分参数)不知道是什么含义。 ̄□ ̄||Linux应用开发,遇到一些接口不会用,通过man命令通常能快速找到其原型定义,掌握其使用方法。但是linux驱动开发或者内核开发,则不能使用man来查看了,今天发现了个比较好用的网站,能方便快速的查询内核中的接口原型。传送门:https://www.kernel.org/doc/html/...原创 2021-05-30 21:39:28 · 1057 阅读 · 0 评论 -
SSC9381G SDK python2与python3兼容编译报错问题
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd0 in position 0: invalid continuation byte原创 2021-05-30 16:12:50 · 1781 阅读 · 0 评论 -
IP Camera Sample(hi3518E+hi3861L)开发环境搭建及SDK编译问题
平台:Ubuntu 16.04一、安装编译环境1.配置bashsudo dpkg-reconfigure dash选择No2.安装依赖软件包sudo apt-get install make libc6:i386 lib32z1 lib32stdc++6 zlib1g-dev libncurses5-dev ncurses-term libncursesw5-dev g++ u-boot-tools:i386 texinfo texlive gawk curl upx.原创 2021-05-25 14:03:30 · 2203 阅读 · 13 评论 -
安凯SDK编译时./mkfs.jffs2打包失败问题
开发环境: Ubuntu16.04 x64最近在编译AK37E_SDK,安装手册提示,执行./auto_build.sh脚本进行一键编译,在编译完成时,出现了如下报错:向上查看详细编译日志,发现如下提示,原来是系统缺少liblzo2.so.2库:./mkfs.jffs2: error while loading shared libraries: liblzo2.so.2: cannot open shared object file: No such file or directory原创 2021-05-21 21:19:27 · 1060 阅读 · 1 评论 -
linux修改或隐藏用户名称和主机名称
有时候感觉用户名加主机名太长,占位置,想将其隐藏掉。其实非常简单,只需修改用户家目录下的.bashrc脚本即可,我们为了方便直接打开跳到60行的位置:vim ~/.bashrc +60修改前:修改后(亲测其实只修改63行就可以了,强迫症全部给它改了):使修改生效:source ~/.bashrc隐藏主机名称之后显示效果如下所示:大家也可以按照自己喜欢的格式来diy,比如修改为颜文字:颜文字网站:http://www.yanwenzi.com原创 2021-05-13 21:07:13 · 3063 阅读 · 0 评论 -
Ubuntu16.04 服务器安装教程(图文)
最近买了一台XEON处理器的电脑,想用作代码编译,而编译环境需要装一个Ubuntu16.04系统。在此记录一下整个安装过程,分享给大家,同时自己也做个备忘。原创 2021-05-01 00:00:42 · 3944 阅读 · 0 评论 -
Ubuntu16.04命令行修改系统语言
安装时系统时图方便,选择了系统语言为中文,以下图ifconfig命令为例,可以清晰的看出系统语言是中文:相对于中国人虽然中文简单易懂,更直观。但在我们使用过程中就会逐渐体现其弊端。比如执行命令时和编译代码时,你用中文提示的报错信息去到网上搜,很难找到自己想要的解决方法和结果。如下为执行git命令同步代码时:如下为编译代码时:重装系统是个大工程,不过还是有后悔药可以吃的,将系统语言修改为英文,只需修改locale配置文件即可:sudo vim /etc/default/lo.原创 2021-04-15 22:16:05 · 2173 阅读 · 0 评论 -
linux文件系统中权限后面出现‘+’号
+表示该文件或目录开启了Access Control Lists功能,可以用getfacl查看,用setfacl设置.http://www.linuxidc.com/Linux/2013-07/88049.htm执行相应命令,删除ACL即可setfacl -b rv1109-bat-ipc-v10.dts删除后再查看文件权限,+号就消失了。...原创 2021-04-11 22:02:37 · 6851 阅读 · 0 评论 -
Ubuntu16.04创建用户时指定工作目录
Linux下创建用户时会用到useradd和adduser这两个命令,他们的区别如下: 1.使用useradd时,如果后面不添加任何参数选项,例如:#sudo useradd test创建出来的用户将是默认“三无”用户:一无Home Directory,二无密码,三无系统Shell。 2.使用adduser时,创建用户的过程更像是一种人机对话,系统会提示你输入各种信息,然后会根据这些信息帮你创建新用户。adduser会提示设置密码,而useradd不会。adduser会创建用户目录,比如/ho原创 2021-03-31 00:07:48 · 1489 阅读 · 0 评论 -
修改Ubuntu16.04服务器为静态IP方法
sudo vim /etc/network/interfacesauto enp4s0#iface enp4s0 inet dhcpiface enp4s0 inet staticaddress 192.168.21.202netmask 255.255.255.0gateway 192.168.21.1dns-nameserver 119.29.29.29原创 2021-03-30 23:21:07 · 282 阅读 · 0 评论 -
nouveau未禁用导致Ubuntu rsyslogd频繁写系统日志CPU占用率高的问题
最近在使用Ubuntu14.04服务器时遇到一个如下问题。服务器开机后,发现rsyslogd服务占用率一直为100%,查看日志发现才开机的几分钟的时间,刚清空的syslog已经有了几个G。由于文件过大,无法通过cat命令查看,所以通过如下命令查看日志内容:tail -f /var/log/kern.log日志内容大致如下:Mar 15 11:09:45 lango-smallserver-002 kernel: [ 408.903969] nouveau 0...原创 2021-03-15 22:11:38 · 1380 阅读 · 0 评论 -
fdk-aac交叉编译
1.下载fdk-acc源码下载链接:https://sourceforge.net/projects/opencore-amr/files/fdk-aac/选择下载人数最多的版本,这样遇到问题资料比较好找。2.交叉编译fdk-acc2.1 解压压缩包tar axvf fdk-aac-2.0.1.tar.gzcd fdk-aac-2.0.1解压后如下图所示:2.2 配置configure编译参数#创建安装目录mkdir output#获取绝对路径,用于后续.原创 2021-01-31 20:52:29 · 1824 阅读 · 0 评论 -
ffmpeg编译与交叉编译
1.下载ffmpeg源码原创 2021-01-31 20:51:28 · 9512 阅读 · 2 评论 -
带openssl交叉编译curl库
1.openssl交叉编译参考:https://blog.csdn.net/fangye945a/article/details/86658621根据需要选择适合自己的版本,我这里下载的是openssl-1.1.1h版本。(建议下载openssl1.1.0版本,这里挖个坑,后面你就知道了的)注意: 交叉编译时通过--prefix= 指定openssl的安装路径(绝对路径)。此处我的openssl安装路径为:/home/fangye/setup/openssl-1.1.1h/build_ar.原创 2020-11-30 23:59:25 · 1597 阅读 · 7 评论 -
linux查找空目录并自动创建.gitkeep文件
在git提交代码时,经常遇到空目录无法提交的问题,比较常规的做法是在空目录下创建一个.gitkeep隐藏文件,但是当工程比较大的时候,一个个去找空目录实在是麻烦。这就需要一个脚本来解决这个问题,如下为自己写的递归查询空目录创建.gitkeep文件的脚本,可自行替换命令做其他批量操作(如常用的删除空目录等)。#!/bin/bash#判断文件夹是否为空is_empty_dir(){ return `ls -A $1 | wc -w`}#递归检查空目录,并创建.gitke...原创 2020-11-24 14:15:47 · 1131 阅读 · 0 评论 -
socket.io-client-cpp与boost的编译、交叉编译
一、下载socket.io-client-cpp源码git clone https://github.com/socketio/socket.io-client-cpp.git二、下载依赖的库rapidjson和websocketppcd socket.io-client-cpp/librm rapidjson -rfgit clone https://github.com/Tencent/rapidjson.gitrm websocketpp -rfgit clone https:原创 2020-10-24 00:22:41 · 1820 阅读 · 0 评论 -
shell命令递归删除指定目录下不是.h后缀结尾的文件
删除当前目录下所有文件名不是.h结尾的文件:find ./ -type f | grep -v '.h$' | xargs rm -f原创 2020-10-12 22:32:17 · 864 阅读 · 0 评论 -
shell脚本获取linux系统IP地址
输入下下命令:ifconfig | grep -A1 "eth0" | grep 'inet addr' |awk -F ':' '{print $2}'|awk '{print $1}'运行结果如下:该命令可以在shell脚本中调用,保存作变量使用。原创 2020-10-12 22:36:55 · 2435 阅读 · 0 评论 -
linux新建用户命令行无颜色问题
查看home目录下.bashrc和.bash_profile文件是否存在:ls -la ~/.bash*若.bashrc不存在,则从另外的用户拷贝一个即可,并通过命令source~/.bashrc使颜色属性生效。而用户建立连接时,系统不会调用.bashrc, 而是调用.bash_profile文件,所以我们需要创建该文件,并加上如下内容:# if running bash if [ -n "$BASH_VERSION" ]; then # include .bashr..原创 2020-10-19 00:28:29 · 3780 阅读 · 8 评论 -
webrtc Intel owt native源码Ubuntu编译踩坑记录
最近在研究音视频通话方案,webrtc是一个相对比较完美的解决方案,服务器搭建使用Intel那套。而我们研究是的设备native端,需要拉Google的源码,交叉编译webrtc并移植,计划前期先在Ubuntu上跑通demo。编译过程中遇到的问题1:解决方法: 参考https://blog.csdn.net/csdn_idiot/article/details/106358305修改脚本,增加参数clang_use_chrome_plugins=false ,忽略代码风格...原创 2020-10-15 20:51:11 · 2443 阅读 · 11 评论