Linux基础
韩搏
专注于学习Linux及Android底层开发......
展开
-
字符串提取IPv4/IPv6和Port信息
对于一些常规标准的网络地址字符串中提取ip和port例子。原创 2024-06-26 14:33:00 · 163 阅读 · 0 评论 -
Linux系统参数优化
设置网络文件描述大小。原创 2024-06-01 06:29:20 · 187 阅读 · 0 评论 -
Linux可执行程序、头文件、库文件添加环境变量
【代码】Linux可执行程序、头文件、库文件添加环境变量。原创 2023-12-29 16:47:04 · 7708 阅读 · 1 评论 -
ssh和scp执行脚本
开发调试ssh远程或者scp拷贝到远程,每次收到操作比较麻烦,写个自动脚本。原创 2023-12-08 11:27:38 · 7270 阅读 · 0 评论 -
ubuntu16.04升级openssl
Ubuntu16.04 默认带的openssl版本为1.0.2。查看:openssl version。1.下载openssl。原创 2023-12-04 17:58:53 · 8157 阅读 · 1 评论 -
Linux换源
【代码】Linux换源。原创 2023-07-24 14:31:46 · 179 阅读 · 0 评论 -
linux修改文件打开限制
debian11 验证OK。原创 2023-07-12 10:09:15 · 128 阅读 · 0 评论 -
Linux安装Docker(Debian11)
可以添加docker组,并将非root账户加入到该组中。下面的命令创建docker组并将当前用户加入docker组,执行完成之后重新登陆生效。Containerd通过在启动时指定一个配置文件夹,使后续所有镜像仓库相关的配置都可以在里面热加载,无需重启Containerd。配置Containerd运行时镜像加速器(阿里云为例)非root执行docker命令不加sudo。使用镜像加速(阿里云为例)原创 2023-04-27 16:12:07 · 895 阅读 · 0 评论 -
boost 安装使用
【代码】boost 安装使用。原创 2023-04-19 11:12:41 · 640 阅读 · 0 评论 -
cmake使用技巧
cmake使用笔记原创 2023-04-03 15:09:41 · 235 阅读 · 0 评论 -
ubuntu 64位系统运行32位程序
安装依赖库sudo apt-get install libc6:i386sudo apt-get install libstdc++6:i386添加32位运行库(非必须)sudo dpkg --add-architecture i386原创 2021-06-17 12:25:50 · 38560 阅读 · 0 评论 -
线程同步中的锁和信号量
由于工作上用到线程之间的同步,而且有超时处理,问题是:子主线程等待的时候已经加锁了,为什么主线程中还可以再去加锁给子线程发送信号呢?pthread_cond_timedwait()函数有三个入口参数:pthread_cond_t __cond:条件变量(触发条件)pthread_mutex_t __mutex: 互斥锁struct timespec __abstime: 等待时间(其值为系统时间 + 等待时间)当在指定时间内有信号传过来时,pthread_cond_timedwait()返回0原创 2020-10-21 15:15:17 · 38544 阅读 · 0 评论 -
Linux下C语言通过Freetds连接SQLServer
在Linux使用C语言访问SQLServer时需要通过Freetds驱动去连接Freetds安装点击跳转到另一篇文章按照上述文章,安装好驱动后,测试demo如下:(SQLServer已安装)#include<stdio.h> #include<string.h> #include<stdlib.h> #include<unis...原创 2020-03-21 14:49:45 · 42219 阅读 · 0 评论 -
TCP Retransmission 超时问题
Linux服务器和服务器之间出现数据包发送不过去的问题,抓包如下简单说明当服务器打开net.ipv4.tcp_tw_recycle = 1参数后会识别这些包的时间戳(net.ipv4.tcp_timestamps = 1)但是nat过来的数据包又因为时间戳有可能不是顺序的,导致服务器认为包不可信而丢弃。设置系统参数sudo vi /etc/sysctl.conf 文件加 net.i...原创 2020-03-13 18:54:24 · 48000 阅读 · 0 评论 -
Linux下设置进程运行优先级
Linux系统下提升运行中进程优先级的方法Linux系统进程的优先级取值:-20 到 19,数越大优先级越低。可以通过top命令来查看,NI那一列。改变进程的优先级的方法有两种:(需要root权限) 1、top命令 输入r,然后根据提示输入进程ID,再输入优先级数值。 2、renice命令 renice -n 2 -p 1234 (-n:后面是优先级的值;-p,是进程号)...原创 2018-07-25 18:12:38 · 11013 阅读 · 0 评论 -
Linux命令技巧
递归删除目录中的指定文件 find ./ -name ‘*.o’ | xargs rm -f 可以通过管道命令来操作,先find出主目录 下想删除的文件,然后通过“xargs”这个构造参数列表并运行命令。...原创 2018-02-27 15:02:49 · 3389 阅读 · 1 评论 -
shell版俄罗斯方块
一位大神用shell脚本写的俄罗斯方块小游戏,膜拜一下吧!#!/bin/bash#颜色定义cRed=1cGreen=2cYellow=3cBlue=4cFuchsia=5cCyan=6cWhite=7colorTable=($cRed $cGreen $cYellow $cBlue $cFuchsia $cCyan $cWhite)#位置和大小iLeft=3iTop=2((iT原创 2017-12-23 13:32:35 · 1194 阅读 · 1 评论 -
滑动密码锁程序
类似于手机的滑屏解锁,只实现了简单的功能,现在还没有实现锁图大小的自适应适应功能和自己随意设置密码功能,需要在程序代码里先设置密码。为了程序规范,创建一个 lock 文件夹,里面并包含 code、execute、image 三个文件夹。1、在code里创建源代码文件:原创 2014-09-11 11:07:26 · 6289 阅读 · 0 评论 -
Linux下长目录改短目录方法
修改$HOME/.bashrc文件中的PS1变量即可。修改后效果原创 2014-09-13 10:59:24 · 6175 阅读 · 0 评论 -
Linux下常用命令
--help一般是Linux命令自带的帮助信息如:ls --helpman(manual)• 有问题找男人• man是Linux提供的一个手册,包含了绝大部分的命令、函数使用说明• 该手册分成很多章节(section),使用man时可以指定不同的章节来浏览。• 中文在线手册:http://os.51cto.com/Linuxman/例:man ls ;原创 2014-09-13 16:00:32 · 6300 阅读 · 0 评论 -
Linux目录结构介绍
/bin 这里存放了标准的Linux的工具,比如像“ls”、“cat”、 “mv”、“cp”等。 /sbin 存放涉及系统管理的命令,只有系统管理员才可执行,普通用户 无权限执行这个目录下的命令。在系统其它目录下的sbin目录 下 包含的都是root权限才能执行的原创 2014-09-13 15:07:42 · 5539 阅读 · 0 评论 -
Linux下Makefile的自动生成步骤
一、 Makefile 介绍Makefile 是用于自动编译和链接的 , 一个工程有很多文件组成 , 每一个文件的改变都会导致工程的重新链接 , 但是不是所有的文件都需要重新编译 , Makefile 中纪录有文件的信息 ,在 make 时会决定在链接的时候需要重新编译哪些文件。Makefile 的宗旨就是 : 让编译器知道要编译一个文件需要依赖其他的哪些文件 。 当那些依赖文件有原创 2014-09-15 08:46:36 · 8616 阅读 · 0 评论 -
Ubuntu安装mysql步骤
一般在Ubuntu中安装软件只需要几个命令即可,安装MySQL也是,具体步骤如下:1、为了能得到最新的安装包,首先更新下软件包的列表 sudoapt-getupdate2、安装MySQL服务端 sudo apt-get install mysql-server 出现如下图:设置密码、然后再重新输入密码,确定即可。 3、安装原创 2015-04-08 19:42:45 · 7138 阅读 · 0 评论 -
串口初始化
在开发过程中常用的串口,初始化程序,以及封装的字符串发送函数#include #include #include #include #include #include #include #include static struct termios option_old;/***************************************************原创 2016-04-06 18:07:40 · 10933 阅读 · 0 评论 -
Ubuntu设置交换分区
1.#dd if=/dev/zero of=/opt/swap1 bs=1024 count=1024000 (count的值等于1024 x 你想要的文件大小, 4096000是4G,1024000是1G)2.#mkswap /opt/swap1 (把这个文件变成swap文件)3.#swapon /opt/swap1 (启用这个swap文原创 2017-03-31 09:37:13 · 3348 阅读 · 0 评论 -
Ubuntu12.04详细安装步骤图解及vmtools、samba、ssh安装
我们在这里使用VMware player虚拟机,它是VMware Workstation的精简版,具有体积小,使用灵活,免费等特点。根据自己的爱好习惯选择。(VMware player 4.0.6版本下载地址:http://pan.baidu.com/s/1i3tG6hv)一、安装VMware player,跟在windows安装其他软件一样。二、安装Ub原创 2014-06-28 17:22:41 · 8666 阅读 · 0 评论 -
Vi使用介绍
一、 1、安装vim sudo apt-get install vim 2、安装ctagssudo apt-get install ctags 3、配置vimstep1:将vim_configure拷入当前用户的目录下使用samba或共享文件夹完成step2:打开终端,执行以下以下命令:cd vim_configuresudo ./c原创 2014-07-05 14:23:44 · 6009 阅读 · 0 评论 -
ubuntu常用设置及开发工具
常用设置设置:点击应用图标最小化 gsettings set org.compiz.unityshell:/org/compiz/profiles/unity/plugins/unityshell/ launcher-minimize-window true设置:Unity位置 gsettings set com.canonical.Unity.Launcher launcher-po...原创 2017-07-11 14:44:36 · 766 阅读 · 0 评论 -
Git使用及安装
0、git init #使用当前目录作为Git仓库 git init newrepo #使用指定目录作为Git仓库 1、git clone git.example.com:repositories/hello.git #获取 2、git checkout -b branchname #创建并切换到分支 git checkout -f $filena原创 2017-07-03 10:49:20 · 3466 阅读 · 0 评论 -
解决虚拟机异常无法打开
虚拟机突然出现异常无法打开或者找不到xxx.vmx文件了,按照如下操作即可恢复1、虚拟机安装目录下如果有xxx.vmx文件删除,将其删除,新建一个同样名字的xxx.vmx文件,例如:Ubuntu16.04.vmx; 2、打开虚拟机日志文件(vmware.log在虚拟机安装目录下),找到“ DICT — CONFIGURATION”和“ DICT — USER DEFAULTS”(前面是日期和时间的原创 2017-12-13 13:19:01 · 9161 阅读 · 0 评论 -
makefile介绍
Makefile 介绍 make 命令执行时,需要一个 Makefile 文件,以告诉 make 命令需要怎么样的去编译和链接程序。 命令如何编译和链接这几个文件。我们的规则是: 1)如果这个工程没有编译过,那么我们的所有 C 文件都要编译并被链接。 2)如果这个工程的某几个 C 文件被修改,那么我们只编译被修改的 C 文件,并链接目标程。 3)如原创 2014-09-16 09:25:58 · 5721 阅读 · 0 评论