linux
The Goat
God of coding
展开
-
【转载】【好文、通俗易懂】Linux 进程、线程、文件描述符的底层原理
看到一篇非常通俗易懂的文章,分享给对这块不熟悉的小白:Linux 进程、线程、文件描述符的底层原理转载 2020-10-22 20:59:34 · 237 阅读 · 0 评论 -
linux系统获取cpu占用的方法
获取某进程cpu占用有很多方法,比如top命令,ps命令,以及读取系统文件(/proc/pid/stat)等等,有时候需要评估某个程序运行过程中的资源占用(例如cpu占用、mem占用),此时可以利用上面的读取系统文件方法,准确方便地得到cpu/memory占用信息通过/proc/pid/stat文件获取指定进程的cpu占用信息该文件有很多字段,其中跟cpu占用有关的为:utime、stime、cutime、cstime,他们的含义分别为:某进程在用户空间消耗的cpu时间片、在内核空间消耗的cpu时间片、原创 2020-10-20 17:53:59 · 1345 阅读 · 0 评论 -
运行shell脚本出现Bad Substitution错误
通过sh xxx.sh运行某个shell脚本,发现出现Bad Substitution错误。最终发现是shell脚本解释器的问题,我采用sh这个命令执行的脚本,对sh这个命令,查看其属性发现:即最终指向的是dash这个解释器。而我们的shell脚本中,有一些数组操作,dash解释器不支持这些操作,而bash解释器支持这些操作,因此,我需要用bash解释器翻译我的shell脚本才行。通过chmod +x xxx.sh ./xxx.sh来执行我的shell脚本(此时使用的是bash解释器),此时发现没有原创 2020-09-08 11:31:15 · 11967 阅读 · 0 评论 -
dns是什么?ubuntu 14.04如何配置并刷新dns?
dns是什么?在Internet上域名与IP地址之间是一对一(或者多对一)的,域名虽然便于人们记忆,但机器之间只能互相认识IP地址,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,DNS就是进行域名解析的服务器。DNS是什么?DNS有什么作用?ubuntu14.04如何配置dns?参考:Ubuntu 14.04 DNS 配置最近得到一个比较好用的DNS,每次重启后都修改DNS配置文件 /etc/resolv.conf 重启就会失效从网上得知 /etc/resolv.co原创 2020-08-07 15:24:24 · 825 阅读 · 0 评论 -
ubuntu 14.04 使用svn的正确姿势
以前只在windows下用过svn,用的是tortoise svn,非常好用。现在工作环境变成了ubuntu,而且版本还是14.04,比较老,该怎么使用svn呢?有几种方法,比如可以通过命令行方式使用(类似git的各种命令),这时候需要安装一个叫做subversion的工具。因为我还是习惯通过gui方式,因此放弃了该方法。还可以安装rabbitvcs svn,貌似也是主流的方法之一。我照着网上的教程弄好之后,重启机器,右键点击文件,可以看到rabbitvcs svn的标识,但是点击标识没反应,时间关系,原创 2020-08-05 11:00:58 · 301 阅读 · 0 评论 -
GCC likely和unlikely(__builtin_expect)的作用
在Linux2.6内核中,看到一对奇怪的函数,likely(), unlikely()。追踪回去,发现其实是一对宏,如下实现:#define likely(x) __builtin_expect((x), 1)#define unlikely(x) __builtin_expect((x), 0)查了一下是这样说的:例如:if( likely(val)) if( unlikely (val))他们都等于if(val),也就是在理解上来说,是等价的。那么为什么要这样用呢?__原创 2020-07-10 14:44:15 · 1891 阅读 · 0 评论 -
linux shell命令批量去除文件名中的空格
rename 's/ /_/g' *上述命令可以将当前文件夹内所有文件的名字中得所有空格替换为_。其中g代表所有,如果不加g,如果文件名字中有多个空格,仅替换第一个。参考:shell下批量出去文件名中的空格...原创 2020-07-03 17:20:51 · 5140 阅读 · 3 评论 -
ubuntu 14.04 wifi peap 选择证书问题
如题,每次在公司连接wifi,都要选择证书,甚至会卡在选择证书的页面,导致wifi无法继续连接。解决方案:无线不断要求WiFi密码和CA证书参考: ubuntu下WiFi链接出现需要ca证书的问题原创 2020-06-22 16:59:37 · 815 阅读 · 0 评论 -
valgrind检查c/c++程序内存问题
简介:Valgrind 可以用来检测程序是否有非法使用内存的问题,例如访问未初始化的内存、访问数组时越界、忘记释放动态内存等问题。实战:valgrind --tool=memcheck --leak-check=full --vex-guest-max-insns=25 --show-leak-kinds=all -v --log-file="memcheck.txt" 解释下--ve...原创 2020-04-14 20:05:03 · 299 阅读 · 0 评论 -
uvc和v4l2简介
对这块不是特别理解,看了几篇博客,还是一知半解,先记录下,以后有机会深入后,再来更新;UVCUVC全称为USB Video Class,即:USB视频类,是一种为USB视频捕获设备定义的协议标准。UVC是一个开放的标准,拥有维护良好的驱动,它属于内核代码的一部分。插入摄像头后就可以工作,而无须编译或安装额外的驱动。V4L2简单的讲V4L2就是用来管理UVC设备的并且能够提供视频相关的...原创 2020-03-11 20:05:27 · 977 阅读 · 0 评论 -
adb remount 系统提示只读文件系统Read-only file system,解决用adb disable-verity
在Android 9.0,能对system分区进行操作,提示没有写权限,为只读文件系统Read-only file system,并且adb root->adb remount时,adb remount会报错。解决方法如下.执行如下命令adb rootadb disable-verity(最新的adb 工具包才支持adb disable-verity命令,比如我ubuntu 14...原创 2020-03-11 11:05:57 · 2802 阅读 · 0 评论 -
[转]linux打包工具:tar命令
通过SSH访问服务器,难免会要用到压缩,解压缩,打包,解包等,这时候tar命令就是是必不可少的一个功能强大的工具。linux中最流行的tar是麻雀虽小,五脏俱全,功能强大。tar命令可以为linux的文件和目录创建档案。利用tar,可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向档案中加入新的文件。tar最初被用来在磁带上创建档案,现在,用户可以在任何设备上创建档案。利用t...原创 2020-03-09 14:24:06 · 136 阅读 · 0 评论 -
Linux命令之——rsync
文章目录1 rsync是干什么用的2 rsync和scp有什么区别3 rsync简单用法介绍rsync四种工作方式1. 本地文件系统上实现同步2. 本地主机使用远程shell和远程主机通信3. 本地主机通过网络套接字连接远程主机上的rsync daemon4. 远程shell临时启动一个rsync daemon一些用法示例4 参考链接1 rsync是干什么用的rsync是一个文件同步/备份工具...原创 2020-02-13 10:34:31 · 529 阅读 · 0 评论 -
xargs 命令教程
文章目录一、标准输入与管道命令二、xargs 命令的作用三、xargs 的单独使用四、-d 参数与分隔符五、-p 参数,-t 参数六、-0 参数与 find 命令七、-L 参数八、-n 参数九、-I 参数十、--max-procs 参数转自:xargs是 Unix 系统的一个很有用的命令,但是常常被忽视,很多人不了解它的用法。本文介绍如何使用这个命令。一、标准输入与管道命令Unix 命令都...原创 2020-02-10 15:20:42 · 2466 阅读 · 0 评论 -
Linux下GDB调试指令汇总
常用的指令如下:运行指令:run(简写r): 运行程序,当遇到断点后,程序会在断点处停止运行,等待用户输入下一步命令continue(简写c) : 继续执行,到下一个断点停止(或运行结束)next(简写n) : 单步跟踪程序,当遇到函数调用时,也不进入此函数体;此命令同 step 的主要区别是,step 遇到用户自定义的函数,将步进到函数中去运行,而 next 则直接调用函数,不会进入到...原创 2019-12-18 17:48:41 · 447 阅读 · 0 评论 -
linux——nm命令:查看符号表
简介nm 命令显示关于指定 File 中符号的信息,文件可以是对象文件、可执行文件或对象文件库。所谓符号,通常指定义出的函数,全局变量等等。使用nm [option(s)] [file(s)]有用的options:A 在每个符号信息的前面打印所在对象文件名称;C 输出demangle过了的符号名称;D 打印动态符号;l 使用对象文件中的调试信息打印出所在源文件及行号;n 按照...原创 2019-12-18 17:23:39 · 33135 阅读 · 0 评论 -
[转]linux常用命令--开发调试篇
前言Linux常用命令中有一些命令可以在开发或调试过程中起到很好的帮助作用,有些可以帮助了解或优化我们的程序,有些可以帮我们定位疑难问题。本文将简单介绍一下这些命令。示例程序我们用一个小程序,来帮助后面我们对这些命令的描述,程序清单cmdTest.c如下:#include<stdio.h>int test(int a,int b){ return a/b;}in...原创 2019-12-18 16:55:35 · 160 阅读 · 0 评论 -
tftp命令教程
在一些嵌入式平台上,板子上支持tftp命令,文件的部署可以通过该命令执行。在ubuntu或其他host机器上,配置tftp server,把数据传到server中,然后在板子上,访问tftp server去获取数据。参考:https://askubuntu.com/questions/201505/how-do-i-install-and-run-a-tftp-serverhttp...原创 2019-12-09 11:41:23 · 2204 阅读 · 0 评论 -
shell脚本:[] 、[[ ]]、=、== 这些命令的区别(待整理)
待整理原创 2019-11-01 16:37:38 · 758 阅读 · 1 评论 -
linux tee命令用法(内容输出到屏幕上,同时输出到文件中)
参考:https://linux.cn/article-9435-1.html主要用来把内容显示在屏幕的同时输入到文件中:ls | tee test.txt然后在test.txt和屏幕上都会看到ls的输出了。原创 2019-11-01 16:11:46 · 1695 阅读 · 0 评论 -
执行 shell 脚本时,「source」、「. 」和「./」的区别
三者的区别大致如下:source script.sh 会在当前进程下执行脚本,并且脚本中设置的变量在脚本执行完毕后会保存下来。. script.sh 和 source script.sh 是一样的,在一些环境下有一些细微差别的,如 source 不是 POSIX 所要求的。./script.sh 则是会在单独的子进程中执行,脚本中设置的变量在脚本执行完毕后不会保存。但是若 script.sh...原创 2019-10-21 16:37:28 · 434 阅读 · 0 评论 -
linux 查看一个库文件/可执行文件是否是debug模式编译出来的
参考:https://stackoverflow.com/questions/1999654/how-can-i-tell-if-a-library-was-compiled-with-g通过man readelf,可以看到–debug-dump是用来打印debug节的信息的。实战了下,用gcc -g选项(并且不能strip)编译出来的库/exe,用这个命令可以打印出大量信息。而对于r...原创 2019-10-18 16:05:35 · 2923 阅读 · 0 评论 -
给docker扩容、删除/var/lib/docker
docker默认是把数据(images、containers等)保存在/var/lib/docker中,有的人根目录空间很有限,想给docker扩容,怎么办呢:一种办法是:#先停止docker daemon,然后把上述目录移动到/opt/data或者其他的有空间的目录下,#最后在/var/lib下做个同名的docker软连接,指向/opt/data/dockerservice docker...原创 2019-10-16 15:08:59 · 3919 阅读 · 4 评论 -
ubuntu 14.04升级cmake
默认的cmake是2.8.x版本的,我想升级成最新的,按照下面的操作从源码编译、安装,最后遇到和原文一样的问题,通过hash -r命令解决。https://blog.csdn.net/suibianshen2012/article/details/81504577...原创 2019-07-23 13:54:56 · 83 阅读 · 0 评论 -
ubuntu 14.04 apt-get update Errors: grub-efi-amd64-signed & shim-signed
https://stackoverflow.com/questions/53203528/errors-grub-efi-amd64-signed-shim-signed原创 2019-07-23 14:51:53 · 702 阅读 · 0 评论 -
ifconfig命令的日常使用
查看网络信息ifconfig修改某些信息,如修改某网卡的ip信息ifconfig eth0 xxx netmask xxx broadcast xxx(修改ip,配置子网掩码,设置广播)关闭、启动某网卡ifconfig eth0 up/down参考:每天一个linux命令:ifconfig...原创 2019-08-01 17:44:33 · 481 阅读 · 0 评论 -
NFS简介
简介NFS是Network File System的缩写 ,是在网络层面,NFS(Network File System)网络文件系统会经常用到,用于在网络上共享存储。这样讲,你对NFS可能不太了解,阿铭举一个例子来说明一下NFS是用来做什么的。假如有三台机器A, B, C,它们需要访问同一个目录,目录中都是图片,传统的做法是把这些图片分别放到A, B, C. 但是使用NFS只需要放到A上,然后...原创 2019-08-01 18:03:51 · 650 阅读 · 0 评论 -
安装yocto系统过程记录
yocto os可以高度定制,针对不同硬件进行裁剪,高度适配各种设备,因此在嵌入式系统中有广泛应用。我的目标是在intel的某款pc上安装yocto os,主要参考的资料为:[1] https://www.yoctoproject.org/docs/2.4.2/yocto-project-qs/yocto-project-qs.html#yp-resources这个是yocto 2.4.2的...原创 2019-09-02 11:54:51 · 1845 阅读 · 0 评论 -
v4l2开启摄像头、抓取图像代码实战
先上核心代码:#include "v4l2Camera.h"#include <sys/stat.h>#include <sys/mman.h>#include <sstream>#include <assert.h>#include <opencv2/opencv.hpp>namespace v4l2_camera {...原创 2019-09-09 10:10:22 · 2434 阅读 · 0 评论 -
ubuntu打开visio文件的方式
用其他工具都有问题,后来通过在chrome里安装这个插件解决了。我只看不画,够了https://askubuntu.com/questions/6200/how-do-i-open-visio-files原创 2019-09-18 15:36:33 · 4686 阅读 · 0 评论 -
lftp最简单的教程
lftp就是个上传/下载文件/文件夹的命令,起码我用它只做这件事。登录登陆后,进入了lftp界面:在lftp界面下,lftp有自己的命令,具体如下:注意,要区分本地空间和远程空间,二者的命令不一样。本地就是你这台机器,远程就是lftp远程的位置。通过put/get即可视线单个文件的上传/下载注:put是把本地的文件上传到远程空间。get是把远程空间中的文件下载到本地位置参考:ht...原创 2019-09-23 14:52:21 · 450 阅读 · 0 评论 -
windows/ubuntu双系统,给ubuntu扩容
首先进入Windows系统,在Windows下使用磁盘管理-压缩卷给压缩出一个未分配的分区出来,然后新建简单卷,按NFTS格式格式化。重启进入Ubuntu系统。这时可能会进入不了系统,因为刚才多分了一个区,grub引导所在的分区变了。解决办法参见:https://blog.csdn.net/xiao_ma_CSDN/article/details/80290061启动后进入ubuntu系统,...原创 2019-09-29 18:31:07 · 1156 阅读 · 0 评论 -
Ubuntu终端多窗口分屏Terminator
我的配置(改了字体、字号,防止ubuntu下出现字体重叠现象):参考:https://blog.csdn.net/azhegps/article/details/77770209https://blog.csdn.net/MrGong_/article/details/77817018...原创 2019-07-23 09:40:48 · 157 阅读 · 0 评论