Linux
走好每一步
读万卷书,行千里路。
展开
-
TortoiseGit入门
一、分支的创建现在项目处于master分支1、创建分支2、切换分支右键菜单commit变成iss53,这样一个项目文件夹就可以管理多个分支了,是不是很方便!以前笔者电脑上很多个版本参考文章:https://blog.csdn.net/Hello_World_QWP/article/details/80885480二、Git------Commit和Push的区别git commit是将本地修改过的文件提交到本地库中。git push是将本地库中的最新信息发送.原创 2021-02-28 23:45:55 · 179 阅读 · 0 评论 -
git安全访问,使用公钥和私钥来访问github
一、概念说明1、RSA公钥和私钥 公钥和私钥是通过RSA算法生成的一把锁(公钥)和一把钥匙(私钥) 因为网络传输过程是不安全的,那么我们有价值的信息需要通过公钥加密它,再发出去。 本地电脑接收的同时,再用本地存储的私钥解密它。2、github支持https或者ssh方式访问代码库,https就是明文传输了,ssh就是自己生成公钥和私钥,加强网络传输安全二、访问github(或者gitlab)远程代码仓库时配置公钥和私钥的办法常见的两种访问方式,一种是...原创 2021-02-28 00:47:21 · 1170 阅读 · 0 评论 -
mount -t cifs 提示no such device错误
mount -t cifs -o username=pc,password="" //192.168.1.156/Share /mnt/win在ubuntu可以,在海思linux上板子不行cat /proc/filesystems查看文件系统是否支持原创 2021-01-08 17:29:44 · 3088 阅读 · 0 评论 -
长期运行linux设备,进程意外崩溃解决方案 - 软件看门狗
主要是应用三个linux函数完成,由一个主进程监控其它所有子进程1、fork2、waitpid3、execv原创 2021-01-04 15:28:33 · 234 阅读 · 0 评论 -
linux程序设计 socket本地客户端连本地服务器一直报找不到文件
path必须是一个路径,而不是书上的“server_socket”!!!!!!!!!#include <sys/types.h>#include <sys/socket.h>#include <stdio.h>#include <sys/un.h>#include <unistd.h>#include <stdlib.h>int main(){ int sockfd; int len; s.原创 2020-11-02 18:20:55 · 333 阅读 · 0 评论 -
linux精确分析函数运行时间
网上大部分用clock函数,在线程中计算某个函数运行时间,很不精确#ifndef PROFILER_H#define PROFILER_H#include <time.h>#include <sys/time.h>#include <stdio.h>#include <stdlib.h>class profiler{public: profiler(const char* func_name) {原创 2020-07-31 13:58:18 · 379 阅读 · 0 评论 -
linux获取MAC地址办法
#include <net/if.h>#include <string.h>int tnfs_getNetMac(){ struct ifreq ifreq; int sock; if((sock=socket(AF_INET,SOCK_STREAM,0)) <0) { perror( "socket ");...原创 2019-11-22 16:46:48 · 523 阅读 · 0 评论 -
linux灰度图数组保存为bmp图像
typedef unsigned char BYTE;typedef unsigned short WORD;typedef unsigned int DWORD;typedef unsigned long LONG;#pragma pack(1)typedef struct tagBITMAPFILEHEADER { WORD bfType; DWORD ...原创 2019-11-22 15:42:05 · 494 阅读 · 0 评论 -
Linux获取系统时间,精确到毫秒
string GetDateTime(){ char strTime[30]; struct timeval tv; struct timezone tz; struct tm *t; gettimeofday(&tv, &tz); t = localtime(&tv.tv_sec); snprintf(strT...原创 2019-11-22 15:40:51 · 1926 阅读 · 0 评论 -
Linux 文件流和文件描述符
从stdio.h文件中,可以看到stdin,stdout,stderr是文件流,也就是FILE指针/* Standard streams. */extern struct _IO_FILE *stdin; /* Standard input stream. */extern struct _IO_FILE *stdout; /* Standard output stream. ...原创 2019-11-15 17:02:55 · 534 阅读 · 0 评论 -
ubuntu安装和完全卸载命令
sudo apt-get install gcc-arm-linux-gnueabihfsudo apt autoremove gcc-arm-linux-gnueabihf原创 2019-09-10 19:40:48 · 1271 阅读 · 0 评论 -
vsftpd配置
anonymous_enable=YESanon_root=/opt/ftpanon_upload_enable=YESanon_mkdir_write_enable=YESanon_other_write_enable=YES#local_enable=YES#local_root=/opt/ftpwrite_enable=YESlocal_umask=022...原创 2019-09-05 13:56:50 · 92 阅读 · 0 评论 -
vsftpd 报错refusing to run with writable root inside chroot
1、响应: 500 OOPS: vsftpd: refusing to run with writable root inside chroot()错误: 严重错误: 无法连接到服务器解决方案:ftp武器根目录必须是755,不能是777权限而且用户属主必须是rootsudo chmod 755 /var/ftpsudo chown root:root /var/...原创 2019-09-05 11:45:37 · 8872 阅读 · 0 评论 -
v4l2编程入门
1、v4l2 编程接口(一) — ioctlhttps://blog.csdn.net/g_salamander/article/details/8107692讲的挺不错了,1)struct v4l2_capability与VIDIOC_QUERYCAP2)struct v4l2_format与VIDIOC_G_FMT、VIDIOC_S_FMT、VIDIOC_TRY_FMT...原创 2019-08-21 13:36:07 · 129 阅读 · 0 评论 -
Ubuntu 打开摄像头
sudo apt-get install guvcviewguvcview -d /dev/video原创 2019-08-20 16:07:48 · 19495 阅读 · 1 评论 -
linux socket 客户端和服务器例程
注意,该例程有个bug笔者已修正,书中用的是server_address.sin_port = 5566;正确应该是server_address.sin_port = htons(5566);网络的字节顺序和主机的字节顺序是不同的,网络是大端模式,Intel x86和AMD CPU是小端模式这么出名的《linux程序设计》书籍也有这种纰漏,实在让我对这本书的敬仰大打折扣。ser...原创 2019-08-07 15:51:57 · 341 阅读 · 0 评论 -
Linux 下一些常见问题集合
1、Linux函数名称符号的查看, 在函数前面加 extern "C" 可以让函数名称不改变。readelf -s test.o2、进入账号卡住:“虚拟机设置”-“显示器”-“加速3D图形”关闭,重启就可以了。3、虚拟系统配置文件 vmx,可以修改virtualHW.version的。比如你的系统是高版本的VMWare创建的,你现在又想用低版本的VMWare使用原创 2015-11-17 18:37:14 · 430 阅读 · 0 评论 -
windows交叉编译程序在树莓派运行不了
chmod +x HelloWorld 改下权限就能跑了。原创 2016-04-21 17:16:31 · 1942 阅读 · 0 评论 -
单片机开发交叉编译
1.Install gcc-linaro-arm-none-eabi compiler.http://releases.linaro.org/14.01/components/toolchain/binaries/Context-M3arm-none-eabi-gcc -march=armv7-m –mthumb -c test.cContext-M0arm-n原创 2016-06-24 13:53:29 · 715 阅读 · 0 评论 -
Ubuntu安装QT 编译程序出现找不到clang++
准备环境:ubuntu官网下载链接https://www.ubuntu.com/download/desktop,随意下载版本即可,安装完成Linux qt下载:https://www.qt.io/download,1.安装Qt打开https://www.qt.io/download网页,找到下拉找到可能需要注册账号之后才可以下载对于版本的qt,注册的账号在安装的时候也会用...转载 2019-06-19 12:51:07 · 3861 阅读 · 0 评论 -
Ubuntu新手入门
笔者是在VMware上安装的ubuntu-18.04.2-desktop-amd64.iso期间遇到很多很多的坑,填完之后觉得有必要把它们记录下来。1、如果Ubuntu安装是用来交叉编译的,尽量满足一下条件,不然编译的时候会出问题(默认硬盘20G,内存1G)硬盘要尽量设为 50G内存设为 4G如果忘了设置还有补救的办法,1)内存更改比较简单,把虚拟机关闭后,在配置里更...原创 2019-06-20 16:04:40 · 7933 阅读 · 0 评论 -
Shell编程 1~100求和 几种写法
第一种:#! /bin/bashsum=0i=1while [ $i -le 100 ]; do i=$(($i + 1)) sum=$(($sum + $i))doneecho $sumexit 0第二种:#! /bin/bashsum=0for i in `seq 1 100`; do sum=$(($sum + $i))doneech...原创 2019-06-24 10:05:31 · 14615 阅读 · 0 评论 -
vmware ubuntu 无法设置最佳分辨率 1920 * 1080
原因是vmwaretool不是最新的sudo apt-get install open-vm-tools-desktop选择y一路安装下去就可以了原创 2019-07-14 19:51:16 · 1432 阅读 · 0 评论 -
Linux 函数参数的解析 - getopt getopt_long
程序例子来自 《Linux 程序设计》#include <unistd.h>#include <stdio.h>int main(int argc, char* argv[]){ // 全局变量 extern char* optarg; // 选项参数 extern int optind; // 选项下标 extern int opterr; // 解...原创 2019-07-15 14:15:10 · 137 阅读 · 0 评论 -
Linux 生成唯一的临时文件
#include <stdio.h>#include <unistd.h>#include <stdlib.h>int main(){ char str[] = "/home/wtz/Desktop/test.txt.XXXXXX"; int fd = mkstemp(str); printf("%s\n", str); write(fd...原创 2019-07-15 21:06:24 · 348 阅读 · 0 评论 -
如何测试进程占用cpu资源多少
来自《Linux 程序设计》注意编译的时候,链接math库gcc -o a a.c -lm#include <unistd.h>#include <stdio.h>#include <stdlib.h>#include <math.h>#include <sys/types.h>#include <sy...原创 2019-07-20 10:31:46 · 385 阅读 · 0 评论 -
开发板通过NFS挂载访问linux(虚拟机)主机中内容
在嵌入式linux开发中,需要在linux主机中为开发板编写程序代码,然后编译程序,生成的程序是要传输到开发板上才能调试、运行。通过NFS,linux主机可以将自己系统中某个指定目录通过网络共享给开发板。开发板可以直接运行存放于Linux主机共享目录下的程序。下面用一个例子说明如何操作,该例将linux主机中/nfsroot下的目录文件挂载到开发板中/mnt的目录下,即使得在开发板中可以访问l...转载 2019-07-22 11:01:52 · 292 阅读 · 0 评论 -
linux 同步服务器 rsync
一、背景介绍 由于需要和其他系统进行对接。文件的逻辑地址通过接口传递,而文件的实体需要通过服务器间的同步进行传输。在同事的建议下选择了rsync。二、RSYNC介绍RSYNC 有多种方式进行同步,本篇文章主要叙述的是其中,两种远程服务器的同步配置。(在客户端 注意命令中“:” 冒号的个数)要了解更多关于rsync的内容,请跳转到 http://man.linuxde.net/r...转载 2019-08-03 15:39:52 · 291 阅读 · 0 评论 -
Linux 多线程
一、创建一个多线程#include <stdio.h>#include <unistd.h>#include <stdlib.h>#include <string.h>#include <pthread.h>void* ThreadFun(void* arg);char message[] = "helloworld...原创 2019-08-01 11:04:33 · 109 阅读 · 0 评论 -
Linux下 跟我一起学makefile,非常简单,一学就会。
第一步,先创建5个文件 main.c, mytool1.h, mytool1.c, mytool2.h, mytool2.c//---------mytool1.h---------#ifndef _MYTOOL1_H#define _MYTOOL1_Hvoid mytool1_print(char *print_str);#endif//---------------原创 2015-07-01 22:38:52 · 1059 阅读 · 0 评论