
Linux
文章平均质量分 80
猫猫猫猫猫大人
工程师 -> 架构师 -> 全栈工程师 -> 全栈架构师
展开
-
vscode远程开发及公钥配置(告别密码登录)
文章目录vscode远程开发及公钥配置简介关于远程开发官网简介关于SSH简介环境插件安装配置服务器找到配置文件修改配置文件连接服务器配置密钥简介密钥生成服务器上安装公钥查看或配置打开密钥登录功能服务器私钥复制到客户端vscode远程开发及公钥配置对于vscode近期升级的一大功能非常满意,通过Remote Development实现远程开发功能,而且使用体验非常好,美中不足是有小部分插件在服务器端支持得不是太好。在搭建过程中会对一些知识进行简单扩展,如不喜可以直接看操作。转载 2021-06-11 13:38:58 · 1367 阅读 · 0 评论 -
Linux 16.04 LTS安装protobuf 3.14.0
Google Protocol Buffer( 简称 Protobuf) 是 Google 公司内部的混合语言数据标准,目前已经正在使用的有超过 48,162 种报文格式定义和超过 12,183 个 .proto 文件。他们用于 RPC 系统和持续数据存储系统。Protocol Buffers 是一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,或者说序列化。它很适合做数据存储或 RPC 数据交换格式。可用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式。目前提供了 C+原创 2021-06-10 10:37:53 · 1727 阅读 · 1 评论 -
Linux 16.04LTS编译安装boost 1.58.0
https://sourceforge.net/projects/boost/files/boost/1.58.0/原创 2021-06-09 22:53:18 · 1301 阅读 · 0 评论 -
systemd添加自定义系统服务设置自定义开机启动的方法
1.服务权限systemd有系统和用户区分;系统(/user/lib/systemd/system/)、用户(/etc/lib/systemd/user/).一般系统管理员手工创建的单元文件建议存放在/etc/systemd/system/目录下面。2.创建服务文件 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 [Un转载 2021-03-19 10:53:09 · 1088 阅读 · 0 评论 -
find命令之exec
find是我们很常用的一个Linux命令,但是我们一般查找出来的并不仅仅是看看而已,还会有进一步的操作,这个时候exec的作用就显现出来了。 exec解释:-exec 参数后面跟的是command命令,它的终止是以;为结束标志的,所以这句命令后面的分号是不可缺少的,考虑到各个系统中分号会有不同的意义,所以前面加反斜杠。{} 花括号代表前面find查找出来的文件名。使用find原创 2016-08-26 10:04:58 · 263 阅读 · 0 评论 -
linux shell下除了某个文件外的其他文件全部删除的命令
Linux反选删除文件最简单的方法是# shopt -s extglob (打开extglob模式)# rm -fr !(file1) 如果是多个要排除的,可以这样:# rm -rf !(file1|file2) Linuxrm删除指定文件外的其他文件方法汇总一、Linux下删除文件和文件夹常用命令如下: 删除文件: rm file删除文转载 2016-08-26 11:50:45 · 11246 阅读 · 0 评论 -
Shell总结(整理)
一、简介 Shell各方面的编程内容总结下来并不断更新,以便以后使用时查询。二、详解1、Shell输出不换行 实现类echo的简单硬输出,不自动加换行符。[html] view plain copy #将脚本接收的参数作为一个串($@或$*)处理,并去掉尾部可能存在的换行符(\n) #!/bin/bash ec转载 2016-08-26 11:51:30 · 531 阅读 · 0 评论 -
shell中各种括号的作用()、(())、[]、[[]]、{}
$0 这个程式的执行名字$n 这个程式的第n个参数值,n=1..9$* 这个程式的所有参数,此选项参数可超过9个。$# 这个程式的参数个数$$ 这个程式的PID(脚本运行的当前进程ID号)$! 执行上一个背景指令的PID(后台运行的最后一个进程的进程ID号)$? 执行上一个指令的返回值 (显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误)$- 显示shell使用的当前选项转载 2016-08-26 11:28:11 · 616 阅读 · 0 评论 -
shell浅谈之二运算符和IF条件判断
一、简介 Shell各种判断结构和运算符的用法是shell编程的基础,了解shell的判断、运算符和一些退出状态对后面的学习有很重要的影响。shell有一个内部命令test经常用于对判断语句进行测试一种或几种状态的条件是否成立。二、详解1、测试和运算符(1)Linux的shell中的测试命令,用于测试某种条件或某几种条件是否真实存在。测试命令是判断语句和转载 2016-08-26 11:33:43 · 955 阅读 · 0 评论 -
shell-----sed命令详解
Table of Contents1. Sed简介 2. 定址 3. Sed命令 4. 选项 5. 元字符集 6. 实例 7. 脚本1. Sed简介sed是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(patternspace),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一转载 2016-08-15 11:28:01 · 290 阅读 · 0 评论 -
基于Socket的UDP和TCP编程介绍
一、概述TCP(传输控制协议)和UDP(用户数据报协议是网络体系结构TCP/IP模型中传输层一层中的两个不同的通信协议。TCP:传输控制协议,一种面向连接的协议,给用户进程提供可靠的全双工的字节流,TCP套接口是字节流套接口(stream socket)的一种。UDP:用户数据报协议。UDP是一种无连接协议。UDP套接口是数据报套接口(datagram socket)的一种。二、T转载 2016-10-09 09:41:50 · 15084 阅读 · 2 评论 -
linux在shell中获取时间
获得当天的日期date +%Y-%m-%d输出: 2011-07-28 将当前日期赋值给DATE变量DATE=$(date +%Y%m%d)有时候我们需要使用今天之前或者往后的日期,这时可以使用date的 -d参数 获取明天的日期date -d next-day +%Y%m%d获取昨天的日期date -d last-day +%Y%m%d获取上个月的转载 2016-09-07 16:12:49 · 1447 阅读 · 0 评论 -
linux关于readlink函数获取运行路径的小程序
相关函数: stat, lstat, symlink表头文件: #include 定义函数:ssize_t readlink(const char *path, char *buf, size_t bufsiz);函数说明:readlink()会将参数path的符号链接内容存储到参数buf所指的内存空间,返回的内容不是以\000作字符串结尾,但会将字符串的字符数返回,这使得转载 2016-10-10 09:40:33 · 1210 阅读 · 0 评论 -
shell变量替换:=、=、:-、-、:?、?、:+、+句法
linux bash shell变量替换::=句法、=句法、:-句法、-句法、=?句法、?句法、:+句法、+句法 变量替换和变量默认值设置是紧密相关的。 参数扩张是将类似于变量的参数用它的值来替换。例如以"echo $VAR"的形式调用一个简单的变量。此外还有更多的特性可以访问。这个句法还包含一些没有扩展的特性,虽然这些特性自身很有意义。首先,这类特性执行默认变量赋值。转载 2016-08-26 11:49:55 · 1325 阅读 · 0 评论 -
shell浅谈之十二shell调试及主题
一、简介 Shell中不存在调试器,对脚本中产生的语法错误只会产生模糊的错误提示信息。shell中也经常存在隐涩的逻辑错误,使得脚本无法按照程序员的意愿运行。因此shell脚本的调试有了很大的难度。好的编程风格和习惯也是为了减小调试程序的难度。二、详解1、Shell调试技术 Shell脚本调试就是发现引发脚本错误的原因以及在脚本源代码中定位发生转载 2016-08-26 11:48:26 · 3032 阅读 · 2 评论 -
shell浅谈之三for、while、until循环
一、简介 Shell编程中循环命令用于特定条件下决定某些语句重复执行的控制方式,有三种常用的循环语句:for、while和until。while循环和for循环属于“当型循环”,而until属于“直到型循环”。循环控制符:break和continue控制流程转向。二、详解1、for循环(1)for循环有三种结构:一种是列表for循环,第二种是不带列表for转载 2016-08-26 11:32:23 · 1346 阅读 · 0 评论 -
shell浅谈之一变量和引用
一、简介 变量是脚本语言的核心,shell脚本又是无类型的。变量本质上存储数据的一个或多个计算机内存地址,分为本地变量(用户当前shell生命期使用,随shell进程的消亡而无效,类似局部变量)、环境变量(适用于所有由登录进程所产生的子进程)和位置参数(向shell脚本传递参数,只读)。而shell使用变量就需要引用,它们密切相关。二、详解1、变量赋值转载 2016-08-26 11:34:56 · 7445 阅读 · 0 评论 -
shell浅谈之五文本处理工具Vim
一、简介 Vim是一个类似于Vi的文本编辑器,在Vi的基础上增加了很多新的特性。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用,和Emacs并列成为类Unix系统用户最喜欢的编辑器。二、详解1、vim操作(1)文本编辑器分为:行编辑器如sed(流编辑器)等和全屏幕编辑器如emacs、vi、vim(支持高亮、插件等高级功能)等。转载 2016-08-26 11:38:49 · 628 阅读 · 0 评论 -
shell浅谈之八I/O重定向
一、简介 I/O重定向用于捕获一个文件、命令、程序或脚本甚至代码块的输出,然后把捕获到的输出作为输入发送给另外一个文件、命令、程序或脚本等。I/O重定向最常用的方法是管道(管道符"|")。二、详解1、管道(1)管道技术是Linux间的一种通信技术,利用先进先出排队模型来指挥进程间的通信(可当作连接两个实体的一个单向连接器)。Linux管道可用于应用程序之间转载 2016-08-26 11:43:43 · 856 阅读 · 0 评论 -
shell浅谈之九子shell与进程处理
一、简介 Linux是一种用户控制的多作业操作系统,系统允许多个系统用户同时提交作业,而一个系统用户又可能用多个shell登录,每个系统用户可以用一个shell提交多个作业。了解Bash Shell在多作业管理和进程处理方面的命名和机制有助于理解多用户、多作业的系统。二、详解1、子Shell(1)父子Shell是相对的,它描述了两个Shell进程的fork转载 2016-08-26 11:44:29 · 1052 阅读 · 0 评论 -
shell浅谈之十函数
一、简介 Linux Shell编程中也会使用到函数,函数可以把大的命令集合分解成若干较小的任务,也避免重复编写相同的代码。在Shell中,所有的函数定义都是平行的,即不允许在函数体内再定义其他的函数,但允许函数之间相互调用。函数又涉及到很多基本使用:函数参数调用、函数返回值、局部变量及全局变量、函数间的相互调用和函数递归调用。二、详解1、函数的定义(1转载 2016-08-26 11:45:15 · 1116 阅读 · 0 评论 -
shell实例浅谈之一判断是可执行文件并存在PATH路径中
一、问题 判断一个文件是否是可执行文件,并且判断能否在系统PATH路径中找到。第一种情况:可执行且找到返回0,第二种情况没找到或者不可执行返回1,第三种情况可执行但没找到或没找到返回2。若有需求还可以细分。二、解决1、shell脚本新建checkxfilepath.sh文件,chmod +x checkxfilepath.sh,然后执行。[cp转载 2016-08-26 11:45:52 · 2494 阅读 · 1 评论 -
shell浅谈之十一别名、列表及数组
一、简介 Shell中别名可以对命令进行重新命名,方便用户记忆长命名和定制自己熟悉的工作环境;列表是一组命名以逻辑与、逻辑或的关系串在一起,实现脚本程序的逻辑控制;数组是一重点,涉及数组的赋值、操作和字符串的处理,以及利用数组实现堆栈和二维数组等数据结构的存储。二、详解1、别名 对linux命令重新命名,主要考虑到很多linux命令带有冗长的选项转载 2016-08-26 11:46:44 · 4426 阅读 · 0 评论 -
shell实例浅谈之二批量创建文件并重新命名
一、问题 使用for循环批量创建10个文件,从linux-1到linux-10。并将上述文件的前缀改为unix。二、解决1、批量删除文件批量创建命名从linux-1到linux-10的文件。(1)方法一:常规方法[cpp] view plain copy #使用for循环批量创建10个文件 linux-1到linux-转载 2016-08-26 11:47:10 · 1426 阅读 · 0 评论 -
linux下使用xml
程序中用了libxml的库,但是不知道库函数具体如何是用,那么下面的参考手册能解决你的大部分问题,简明易懂,程序表达效果。http://www.xmlsoft.org/tutorial/index.html下面再给出国内的一资料,写得也很不错。使用简介数据类型:xmlChar 替代char,使用UTF-8编码的一字节字符串。如果你的数据使用其它编码,它必须被转换到UTF转载 2016-10-10 11:26:01 · 5715 阅读 · 0 评论 -
xml文件的解析
1.Libxml2中的数据类型和函数一个函数库中可能有几百种数据类型以及几千个函数,但是记住大师的话,90%的功能都是由30%的内容提供的。对于libxml2,我认为搞懂以下的数据类型和函数就足够了。1.1 内部字符类型xmlCharxmlChar是Libxml2中的字符类型,库中所有字符、字符串都是基于这个数据类型。事实上它的定义是:xmlstring.htyped转载 2016-10-10 11:51:07 · 4609 阅读 · 0 评论 -
使用XPATH查找xml文档节点
简而言之,XPATH之于xml,好比SQL之于关系数据库。要在一个复杂的xml文档中查找所需的信息,XPATH简直是必不可少的工具。XPATH语法简单易学,并且有一个很好的官方教程,见http://www.zvon.org/xxl/XPathTutorial/Output_chi/introduction.html。这个站点的XML各种教程齐全,并且有包括中文在内的各国语言版本,真是让我喜欢到非常转载 2016-10-10 14:35:38 · 1739 阅读 · 0 评论 -
rpm常用命令及rpm参数介绍
RPM是RedhatPackageManager的缩写,是由RedHat公司开发的软件包安装和管理程序,同Windows平台上的Uninstaller比较类似。使用RPM,用户可以自行安装和管理Linux上的应用程序和系统工具。RPM可以让用户直接以binary方式安装软件包,并且可替用户查询是否已经安装了有关的库文件;在用RPM删除程序时,它又会聪明地询问用户是否要删除有关的程序。如果使用RPM转载 2016-12-20 14:01:19 · 963 阅读 · 0 评论 -
signal信号总结
SignalDescriptionSIGABRT由调用abort函数产生,进程非正常退出SIGALRM用alarm函数设置的timer超时或setitimer函数设置的interval timer超时SIGBUS某种特定的硬件异常,通常由内存访问引起SIGCANCEL由Solaris Thread Library内部使用,通常不会原创 2017-01-16 16:12:10 · 1155 阅读 · 0 评论 -
Linux NFS服务器的安装与配置
一、NFS服务简介 NFS 是Network File System的缩写,即网络文件系统。一种使用于分散式文件系统的协定,由Sun公司开发,于1984年向外公布。功能是通过网络让不同的机器、不同的操作系统能够彼此分享个别的数据,让应用程序在客户端通过网络访问位于服务器磁盘中的数据,是在类Unix系统间实现磁盘文件共享的一种方法。 NFS 的基本原则是“容许不同的客户端及服务端通过一组转载 2017-03-06 14:10:45 · 668 阅读 · 0 评论 -
Linux抓包工具tcpdump详解
PS:tcpdump是一个用于截取网络分组,并输出分组内容的工具,简单说就是数据包抓包工具。tcpdump凭借强大的功能和灵活的截取策略,使其成为Linux系统下用于网络分析和问题排查的首选工具。tcpdump提供了源代码,公开了接口,因此具备很强的可扩展性,对于网络维护和入侵者都是非常有用的工具。tcpdump存在于基本的Linux系统中,由于它需要将网络界面设置为混杂模式,普通用户不能转载 2017-03-06 14:21:04 · 1373 阅读 · 1 评论 -
网络抓包工具Wireshark的简单使用
1、概念:Wireshark是网络包分析工具2、作用:1) 是在接口实时捕捉网络包,并详细显示包的详细协议信息。Wireshark可以捕捉多种网络接口类型的包,哪怕是无线局域网接口。2) 可以打开多种网络分析软件捕捉的包,可以支持多种协议的解码。我们可以用它来检测网络安全隐患、解决网络问题,也可以用它来学习网络协议、测试协议的执行情况。3、特点:不会处理网络事务,它仅仅是“测量转载 2017-03-06 14:24:15 · 1909 阅读 · 0 评论 -
Linux生成core文件及gdb调试
Linux下的C程序常常会因为内存访问错误等原因造成segment fault(段错误),此时如果系统core dump功能是打开的,那么将会有内存映像转储到硬盘上来,之后可以用gdb对core文件进行分析,还原系统发生段错误时刻的堆栈情况。这对于我们发现程序bug很有帮助。使用ulimit -a可以查看系统core文件的大小限制;使用ulimit -c [kbytes]可以设置系统允许生成的转载 2017-09-12 17:16:10 · 2896 阅读 · 0 评论 -
内存检测工具使用(Linux、VS)
一、Linux中内存检测工具(valgrind)内存检查工具: valgrindlinux上在线安装:yum install valgrind使用方法: valgrind 你的程序 或者 valgrind --leak-check=full --show-reachable=yes --track-origins=yes 你的程序原创 2017-10-31 17:28:13 · 1045 阅读 · 0 评论 -
通过configure.ac文件生成copnfigure文件
转自:http://blog.youkuaiyun.com/babybirdtofly/article/details/69941756步骤:aclocalautoconfautoheaderautomake --add-missing问题1:configure.ac:18: error: possibly undefined macro: AC_PROG_LIBTOOL ...转载 2018-03-13 18:30:23 · 6142 阅读 · 0 评论 -
./configure --prefix --with
源码的安装一般由3个步骤组成:配置(configure)、编译(make)、安装(make install)。 Configure是一个可执行脚本,它有很多选项,在待安装的源码路径下使用命令./configure –help输出详细的选项列表。 Configure是一个可执行脚本,它有很多选项,使用命令./configure –help得到如下信息: b原创 2017-01-06 11:31:13 · 1026 阅读 · 0 评论 -
SELinux 的启动、关闭与查看
SELinux 的启动、关闭与查看1,并非所有的 Linux distributions 都支持 SELinux 的目前 SELinux 支持三种模式,分别如下:•enforcing:强制模式,代表 SELinux 运作中,且已经正确的开始限制 domain/type 了;•permissive:宽容模式:代表 SELinux 运作中,不过仅会有警告讯息并不会实际限制 doma转载 2017-01-05 17:41:12 · 413 阅读 · 0 评论 -
使用adb和USB连接的方式进行android设备调试
1、执行命令: sudo vi /etc/udev/rules.d/51-Android.rules , 创建51-android.rules配置文件2、按照下面的数据格式添加一个条目:SUBSYSTEM=="usb", ATTR{idVendor}=="xxxx1", ATTR{idProduct}=="xxxx2", MODE="0600" , OWNER=="xxxx3"转载 2016-12-16 11:50:55 · 15228 阅读 · 0 评论 -
采用dlopen、dlsym、dlclose加载动态链接库
1、前言 为了使程序方便扩展,具备通用性,可以采用插件形式。采用异步事件驱动模型,保证主程序逻辑不变,将各个业务已动态链接库的形式加载进来,这就是所谓的插件。linux提供了加载和处理动态链接库的系统调用,非常方便。本文先从使用上进行总结,涉及到基本的操作方法,关于动态链接库的本质及如何加载进来,需要进一步学习,后续继续补充。如何将程序设计为插件形式,挖掘出主题和业务之间的关系,需要进一步去转载 2016-10-11 10:08:01 · 481 阅读 · 0 评论 -
格式: echo -e "\033[字背景颜色;字体颜色m字符串\033[0m"
格式: echo -e "\033[字背景颜色;字体颜色m字符串\033[0m" 例如: echo -e "\033[41;36m something here \033[0m" 其中41的位置代表底色, 36的位置是代表字的颜色 那些ascii code 是对颜色调用的始末. \033[ ; m …… \033[0m 字背景颜色范围:40---转载 2016-11-11 14:56:33 · 2826 阅读 · 0 评论