
Linux
JavonPeng
提得起,放得下,提放自如,方是自在人
展开
-
【问题解决】Xshell终端双击或者选中文字自动发送Ctrl+C
在xshell终端,当鼠标双击或者选中一行文字时,xshell会自动发送一个Ctrl+C的命令。原创 2024-09-30 15:37:56 · 1085 阅读 · 2 评论 -
Linux(ubuntu18.04)安装指定版本的 cmake
Linux(ubuntu18.04)安装指定版本的 cmake原创 2022-11-12 13:04:54 · 1131 阅读 · 0 评论 -
Makefile 语法及使用笔记
Makefile 语法及使用笔记原创 2022-07-31 00:33:14 · 612 阅读 · 0 评论 -
Linux shell输出IP、子网掩码、广播地址、网关等网络信息的多种方法(grep awk)
Linux shell输出IP、子网掩码、广播地址等网络信息的多种方法(grep awk)原创 2022-07-26 10:33:40 · 1978 阅读 · 0 评论 -
Linux内核和系统版本号等系统信息查看方法
Linux内核和系统版本号等系统信息查看方法原创 2022-07-26 09:37:14 · 645 阅读 · 0 评论 -
ubuntu移植嵌入式web服务器——boa服务器
BOA服务器是一个小巧高效的web服务器,是一个运行于unix或linux下的,支持CGI的、适合于嵌入式系统的单任务的http服务器,源代码开放、性能高。原创 2022-07-11 16:07:24 · 1175 阅读 · 0 评论 -
Visual Studio Code(VScode)自动生成头文件的 #ifndef #define #endif
一、效果很多编辑器或者IDE在创建头文件后会自动生成 #ifndef 防止该头文件被重复引用,vscode 没有自带这个功能,需要通过自定义添加。二、步骤Shift+Ctrl+P ,打开命令面板输入snippets,找到 Preferences:Configure User Snippets选择 新建全局代码片段文件...输入 c_cpp_header (该名称可以自定义),会生成 c_cpp_header.code-snippets 配置文件,默认如下:{ // Pl原创 2022-03-30 17:34:51 · 8394 阅读 · 2 评论 -
Linux(ubuntu) 添加快捷方式到桌面——qtcreator创建快捷方式
安装了 qtcreator 后发现在 /usr/share/applications/ 里面没有快捷方式,以下方法就是在 /usr/share/applications/ 里面添加快捷方式并添加到桌面。如果 /usr/share/applications/ 里面有相关的快捷方式,只需要复制到桌面即可。cd /usr/share/applications/sudo vim qtcreator.desktopcp qtcreator.desktop ~/桌面/qtcreator.desktop .原创 2022-01-11 14:36:28 · 4933 阅读 · 3 评论 -
Linux内核的交互映射
Interactive map of Linux kernel转载 2021-12-22 19:23:56 · 248 阅读 · 1 评论 -
Linux 下Python虚拟环境(virtualenv)的安装和使用
一、安装# 安装virtualenvpip install virtualenv# 安装虚拟环境管理工具 virtualenvwrapper 依赖于 virtualenvpip install virtualenvwrapper# ==================================================================================# 如果报错 Command "python setup.py egg_info" failed原创 2021-10-28 14:20:45 · 3053 阅读 · 1 评论 -
释放/清理 VMware 虚拟磁盘空间
命令行输入baobab,可以打开以下界面,如何释放/收缩vmware虚拟磁盘空间原创 2021-11-29 13:42:22 · 1525 阅读 · 0 评论 -
VMware虚拟机双屏显示
1、先关闭虚拟机系统,编辑,选择首选项2、显示 选项卡,勾选 自动适应 两个选项,全屏 模块下选择 自动适应客户机(更改客户机分辨率)3、编辑虚拟机设置,显示器 选项卡,指定监视器数量为 2,再设置分辨率4、打开虚拟机,然后 进入全屏模式5、进入全屏模式后,选择顶栏(可能会隐藏)的 循环使用多个监视器6、如果遇到 无法使用多台监视器 错误,安装VMware Tools参考:你真想不到,VMware虚拟机也可以使用双显示器...原创 2021-09-07 09:27:27 · 34105 阅读 · 2 评论 -
Docker环境搭建及学习
一、Docker开发环境搭建Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。简而言之,就是弄好docker镜像,大家可以共享使用。..................原创 2022-07-31 13:52:58 · 708 阅读 · 1 评论 -
Linux下清理VScode缓存 ms-vscode.cpptools
Linux报空间不足,一查看空间发现VScode缓存文件夹占用了 17.5 G空间。VScode缓存文件夹:.config/Code/User/workspaceStorage直接把里面的文件夹都删掉就可以了。workspaceStorage 里面都是类似 7e5fc7ea1ccd8343c18a75cecf142ccf 命名的文件夹,里面都是 ms-vscode.cpptools 。...原创 2021-08-18 10:28:26 · 10548 阅读 · 0 评论 -
Linux开发板通过 U 盘拷贝文件(挂载与卸载)
1、将U盘格式化成FAT32格式,Linux挂载U盘时不支持exfat格式: 不然挂载会报错:mount: unknown filesystem type 'exfat' 插上U盘会挂载在/run/media/ 目录下。2、使用 df 命令查看挂载的节点(U盘)。df3、用 cd 指令进入/run/media/sdb1,使用 ls 指令可查看 U 盘里的...原创 2020-04-04 23:27:55 · 2368 阅读 · 0 评论 -
Linux开发板与电脑PC网口直连设置教程
我们知道如果不经过路由器,用电脑与开发板直连时需要使用交叉网线(A-B)才可以互相ping通。当使用直连网线时,可以使用以下方法:1、将开发板、PC(windows)、虚拟机linux设置到同一网段2、进入虚拟机设置自定义:特定虚拟网络,选择VMnet03、进入 编辑——虚拟网络编辑器(1)更改设置(2)选择桥接模式,再选择自己网卡,不要用自动!4...原创 2020-04-06 20:52:48 · 4843 阅读 · 0 评论 -
uboot启动Linux配置及方式
一、从 EMMC 启动 Linux 系统1、将zImage 文件和设备树文件烧录到EMMC中2、使用以下检查一下 EMMC 的分区 1 中有没有zImage 文件和设备树文件。ls mmc 1:13、设置环境变量环境变量bootcmd:1、bootcmd 保存着 uboot 默认命令,uboot 倒计时结束以后就会执行 bootcmd 中的命令。2、板子第一...原创 2020-01-10 16:23:09 · 3341 阅读 · 1 评论 -
stat函数详解
stat函数作用:获取文件信息 头文件:include <sys/types.h> #include <sys/stat.h> #include <unistd.h> 函数原型:int stat(const char *path, struct stat *buf) 返回值:成功返回0,失败返回-1; 参数:文件路径(名),struct stat 类型的结构体struct stat 结构体详解:struct stat{ ...转载 2020-12-08 17:11:23 · 618 阅读 · 0 评论 -
Linux下安装libiconv
1、下载libiconv库wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.13.1.tar.gz2.解压,然后进入解压后的目录tar zxvf libiconv-1.13.1.tar.gz && cd libiconv-1.13.13.配置libiconvsudo ./configure --prefix=/usr/local或者sudo ./configure --prefix=...原创 2020-12-07 00:19:53 · 4247 阅读 · 0 评论 -
Linux开发板与电脑PC网口直连设置教程(无线网卡、有线网卡同时使用,可同时上网)
该教程适用于笔记本电脑使用WIFI上网同时需要调试Linux开发板的需求。电脑与开发板使用交叉网线连接 实现windows与虚拟机(ubuntu)均可上网 ubuntu可与开发板互ping,可tftp,nfs等 windows与虚拟机(ubuntu)不在同一个网段,所以无法互ping,使用FTP等。一、Windows设置先按照以下教程共享WIFI的网络到有线网口:电脑通过网口共...原创 2020-04-19 17:15:42 · 8281 阅读 · 7 评论 -
单片机转嵌入式Linux的思考
一、你真的决定要转嵌入式Linux吗?要不要从单片机转嵌入式Linux是一个影响到职业发展的严肃决策,火哥不能帮你拿主意,只能帮你列出利弊,你需要根据自身的各种环境(比如所在城市Linux嵌入式相关岗位多吗?是否决定背井离乡去北上深发展等等)做出最有利的决策。火哥的观点并不是Linux嵌入式绝对比单片机开发职业发展好,只是根据自身的一些经历,给出一些看法。1. 单片机开发相对于Linux嵌入式最大的劣势在于基层的打工岗位平均薪资偏低。我想这是大部分单片机工程师想转嵌入式Linux的最主要的原因。技术转载 2020-07-21 22:47:05 · 1059 阅读 · 0 评论 -
MMU内存管理单元简介
MMU 全称叫做 Memory Manage Unit,也就是内存管理单元。在老版本的 Linux 中要求处理器必须有 MMU,但是现在 Linux 内核已经支持无 MMU 的处理器了。MMU 主要完成的功能如下: ①完成虚拟空间到物理空间的映射,即地址映射。 ②内存保护,设置存储器的访问权限,设置虚拟存储空间的缓冲特性。 虚拟地址(VA,Virtual Address)、...原创 2020-04-28 23:17:14 · 1308 阅读 · 0 评论 -
MMU内存管理单元详解
MMU 诞生之前:在传统的批处理系统如 DOS 系统,应用程序与操作系统在内存中的布局大致如下图: 应用程序直接访问物理内存,操作系统占用一部分内存区。 操作系统的职责是“加载”应用程序,“运行”或“卸载”应用程序。 如果我们一直是单任务处理,则不会有任何问题,也或者应用程序所需的内存总是非常小,则这种架构是不会有任何问题的。然而随着计算机科学技术的发展,所需解决的问题...转载 2020-04-28 23:15:07 · 5409 阅读 · 0 评论 -
【Linux】_exit()、exit(0)、exit(1)与return区别详解
功能:_exit() :退出程序。 exit(0):运行正常退出程序; exit(1):运行异常退出程序; return():返回函数,若在主函数中,则会退出函数并返回值。_exit() 和 exit() 区别:exit()会将缓冲区的数据写完再结束进程到内核中去(退出进程会清理I/O缓冲区)。 _exit()直接结束进程进入到内核中。 exit() 函数定义在 stdlib.h 中,_exit() 定义在 unistd.h 中。 图示:示例:_exit()#...原创 2020-10-30 10:33:23 · 10029 阅读 · 0 评论 -
Linux 内存相关问题汇总
linux 内存是后台开发人员,需要深入了解的计算机资源。合理的使用内存,有助于提升机器的性能和稳定性。本文主要介绍 linux 内存组织结构和页面布局,内存碎片产生原因和优化算法,linux 内核几种内存管理的方法,内存使用场景以及内存使用的那些坑。从内存的原理和结构,到内存的算法优化,再到使用场景,去探寻内存管理的机制和奥秘。一、走进 linux 内存1、内存是什么?1)内存又称主存,是 CPU 能直接寻址的存储空间,由半导体器件制成2)内存的特点是存取速率快2、内存的作用1转载 2020-05-16 11:03:00 · 305 阅读 · 0 评论 -
VScode修改文件编码
一、单文件修改vscode右下角选择通过编码重新打开或者通过编码保存均可。搜索需要的编码切换。切换后该文件就按照新的编码方式编码了。二、全局修改方法一:打开VScode,Ctrl+Shift+P 搜索所有命令输入框中输入 settings ,打开用户设置。输入框中输入 enconding ,打开文本编辑器—文件设置。Files: Encoding默认的utf8,切换成gbk或者gb18030Files: Auto Guess Encoding可以勾选上,自动猜测编码。修改后原创 2021-06-03 10:24:50 · 11909 阅读 · 0 评论 -
Ubuntu下python3卸载
卸载python3卸载python3:sudo apt-get remove python3卸载python3及其依赖:sudo apt-get remove --auto-remove python3清除python3:sudo apt-get purge --auto-remove python3卸载python3.8卸载python3.8:sudo apt-get remove python3.8卸载python3.8及其依赖:sudo apt-get remove -原创 2021-05-09 14:12:01 · 15083 阅读 · 8 评论 -
Ubuntu 18.04,vscode无法拖动鼠标光标选定特定字符问题记录
问题:按住鼠标左键,拖动光标,只能选择一整句话,无法选中自己需要的特定字符串。解决:发现这种问题只在使用中文输入法的时候存在,切换成英文输入法就没问题了。原创 2021-05-02 21:08:32 · 2129 阅读 · 6 评论 -
Linux/Windows下的静态库、动态库及.lib转.a文件方法
Linux的库文件是.a、.so、.o。Windows的库文件是.lib。原创 2021-04-21 09:39:50 · 8683 阅读 · 4 评论 -
【Linux】<feff> 问题
在windows下保存文件编码为UTF-8会在文件头加上BOM,所以在读文件时会出现报错。在linux下用vim打开会看到<feff>。原创 2021-03-24 22:37:45 · 620 阅读 · 0 评论 -
Linux下补丁包(.patch文件)制作及使用[u-boot示例]
需求移植 u-boot 时需要修改通用的 u-boot 源码,为了避免每次都去重复修改,直接使用 patch 包的形式。制作补丁包# 1、完成功能调试之后,在当前目录下执行 make distclean# 2、切换到上一级目录cd ..# 3、修改文件夹名称 mv u-boot u-boot-bak# 4、解压之前的压缩包,即准备未修改的文件tar xjf u-boot.tar.bz2 # 5、对比两个文件夹,并生成补丁diff -urN u-boot u-boot-as原创 2021-01-25 19:17:17 · 2029 阅读 · 0 评论 -
Linux下切换python版本(python2和python3版本切换)
//查询默认版本python -V//查询python路径which python2which python3//删除当前默认版本sudo rm /usr/bin/python//创建软链接://切换到 python2sudo ln -s /usr/bin/python2 /usr/bin/python//切换到 python3sudo ln -s /usr/bin/python3 /usr/bin/python//再次查询默认版本,看是否切换成功python -V原创 2021-01-16 12:25:36 · 2422 阅读 · 0 评论 -
Linux下shell find一次查找多个指定文件或者排除某类文件,在 GREP 中匹配多个关键字的方法
(1)Linux下find一次查找多个指定文件:查找a.html和b.htmlfind . -name "a.html" -name "b.html" find . -regex '.*\.txt\|.*\.doc\|.*\.mp3'find . -regex '.*\.txt\|.*\.doc\|.*\.mp3' ./a.txt ./a.doc ./a.mp3 (2)排除某些文件类型:排除目录下所有以html结尾的文件:find . -type f ! -name "*转载 2020-12-28 16:09:16 · 5695 阅读 · 0 评论 -
Linux安装和开启SSH服务
安装SSH服务:sudo apt-get install openssh-server开启ssh服务:service sshd start停止SSH服务:service sshd stop卸载SSH服务:sudo apt-get remove openssh-server原创 2020-12-25 00:37:31 · 213 阅读 · 0 评论 -
linux卸载Node.js
1.先卸载npm sudo npm uninstall npm -g2.卸载nodesudo apt-get remove nodejs npm -y3.看看是否有残留进入 /usr/local/lib 删除所有 node 和 node_modules文件夹进入 /usr/local/include 删除所有 node 和 node_modules 文件夹进入 /usr/local/bin 删除 node 的可执行文件参考:linux 系统下安装和卸载Node.js...原创 2020-12-24 18:10:15 · 970 阅读 · 1 评论 -
Ubuntu18.04 修改apt-get国内镜像源的方法
一、原文件备份sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak二、编辑源列表文件sudo vim /etc/apt/sources.list三、将原来的内容删除,添加以下内容:1、清华源:deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiversedeb http://mirrors.aliyun.com..原创 2020-12-24 17:04:22 · 7031 阅读 · 2 评论 -
linux修改用户名、密码、组名等详细步骤
1、修改root密码sudo passwd root2、修改用户密码(如abc) sudo passwd abc3、修改主机名:sudo vim /etc/hostname 将其中的名字改为自己的主机名sudo vim /etc/hosts 将其中的名字改为自己的主机名4、切换到root账户su5、修改用户名:vim /etc/passwd 将原先的其改为自己的用户名,但是/home/“原先用户名” 中的不能更改,若更改重启后,便登陆不了系统了。vim /etc/sh.原创 2020-12-23 15:26:08 · 14377 阅读 · 1 评论 -
【Linux】pip国内源配置,pip速度起飞(“.pip/pip.conf” E212: Cannot open file for writing问题解决)
方法一:增加配置文件(python2、python3通用,无版本限制)mkdir ~/.pipvim ~/.pip/pip.conf文件内容:[global]timeout =6000index-url =http://pypi.douban.com/simple/[install]use-mirrors =true mirrors =http://pypi.douban.com/simple/ trusted-host =pypi.douban.com注:pip/pi..原创 2020-12-21 20:26:39 · 7265 阅读 · 0 评论 -
Linux下的zbar源码安装和使用
zbar开源的条形码、二维码检测算法。支持的二维码包括:EAN/UPC,QR等。支持一维码(条形码)包括:I25,CODE39,CODE128等。//安装依赖项sudo apt-get install libqt4-devsudo apt-get install libv4l-devsudo apt-get install python-gtk2-devsudo apt-get install imagemagick libmagickwand-dev//安装zbar工具 - zbari.原创 2020-12-02 16:02:31 · 2865 阅读 · 9 评论 -
Linux git clone速度太慢的解决办法
该方法亲测最快可达到1M的速度。1、查找域名对应的ip地址nslookup github.global.ssl.fastly.Netnslookup github.com2、修改hosts文件sudo vim /etc/hosts3、刷新DNS缓存:sudo /etc/init.d/networking restart...原创 2020-10-13 16:23:36 · 2733 阅读 · 3 评论