【 linux 基础 】
文章平均质量分 68
记录 shell 脚本常用方法、特殊字符和正则表达式相关
老理说的好
技术也修行!
展开
-
开发 ubuntu 系统串口操作权限
记录 ubuntu系统开放串口权限原创 2022-10-12 21:39:16 · 1427 阅读 · 0 评论 -
ubuntu16 安装paho.mqtt.c 的库
本篇文章记录搭建 paho.mqtt.c 库文件开发环境记录,以防备忘。一、安装 paho.mqtt.cppsudo apt-get install -y build-essential gcc make cmake cmake-gui cmake-curses-guisudo apt-get install -y libssl-dev doxygen graphviz$ git clone https://github.com/eclipse/paho.mqtt.c.git$ cd paho.原创 2021-10-05 11:58:46 · 4855 阅读 · 0 评论 -
嵌入式Linux系统 GDB、GDBServer 调试环境搭建
嵌入式系统开发过程中调试方法主要有:1.内核、驱动代码调试工具,valgrind、lttng、trace、kdump、kprobe、jprobe等,2.linux系统上的App用户程序调试方法,GDB、app-log,还有些第三方捕获内核crash工具当用户App程序涉及的应用复杂时,软件长时间运行才能够出现的bug、或内核crash情况,可以采用applog+第三方内核捕获工具的方法、来查找系统的故障现场;此部分内容待时间方便时、另行分享。此篇主要介绍GDBServer和GDB常用命令使用方法。原创 2021-07-17 17:03:12 · 1934 阅读 · 0 评论 -
uevent机制:uevent原理分析
简介:本文主要介绍uevent机制是什么,并通过代码分析使用uevent机制生成设备节点的过程。而本文将分为两部分,第一部分我们介绍一些预备知识和uevent的原理,而第二部分——通过代码介绍使用uevent机制创建设备节点。声明:本文主要是看完韦东山老师视频并结合一些博客内容所写,因此文中可能会有其他文章中的内容,如果你觉得我的文章对你构成了侵犯,您可以告诉我,我会对文章进行改正,同时如果文中可能有不正确的地方,敬请指正。谢谢。第一部分:预备知识和uevent的原理下面我们开始讲解预备知识。在讲转载 2021-07-12 18:55:45 · 3192 阅读 · 0 评论 -
深入分析 Kqueue & Kevent 原理及应用
转载者注:此篇转载内容是两篇博文的汇总,Kqueue用例部分增加csdn 《春夜喜雨》的demo用例分析,转者认为更容易让读者理解和认知。常见IO复用技术对比Wiki上的解释:kqueue 是一种可扩展的事件通知接口。2000 年 7 月发布的 FreeBSD 4.1 中首次引入了 kqueue,随后也被 NetBSD、OpenBSD、macOS 等操作系统支持。kqueue 在内核与用户空间之间充当输入输出事件的管线。因此在事件循环的迭代中,进行一次 kevent(2) 系统调用不仅可以接收未决转载 2021-07-08 23:16:23 · 3759 阅读 · 0 评论 -
epoll原理详解及epoll反应堆模型
转载者注: 本人查看很多相关资料,此篇关于 epoll 原理解析属于经典作品,特在此转载,以供大家需要参考,在此感谢原作者的付出。epoll应用场景设想一个场景:有100万用户同时与一个进程保持着TCP连接,而每一时刻只有几十个或几百个TCP连接是活跃的(接收TCP包),也就是说在每一时刻进程只需要处理这100万连接中的一小部分连接。那么,如何才能高效的处理这种场景呢?进程是否在每次询问操作系统收集有事件发生的TCP连接时,把这100万个连接告诉操作系统,然后由操作系统找出其中有事件发生的几百个连接呢?转载 2021-07-08 22:35:23 · 360 阅读 · 0 评论 -
AF_INET域与AF_UNIX域socket通信原理对比
一、原理对比分析Linux 内核协议簇中有几十种通讯协议,AF-INET是我们常见 TCP/IP 的通讯方式, AF-UNIX 是用于本机线程间通讯一种IPC机制,从用户角度看,所采用通讯模式相差不大,但就原理上看,相差较大。1. AF_INET域socket通信过程典型的TCP/IP四层模型的通信过程。发送方、接收方依赖IP:Port来标识,即将本地的socket绑定到对应的IP端口上,发送数据时,指定对方的IP端口,经过Internet,可以根据此IP端口最终找到接收方;接收数据时,可以从数据转载 2021-07-08 14:44:55 · 1083 阅读 · 0 评论 -
CentOS 源码编译安装新版本内核
因笔者需要修改IPSec部分的加密算法、支持国密SM3、SM4打包到镜像中;需要向内核增加这部分的内容,把CentOS下、使用源码方式编译安装过程,做个备忘。第一步 下载 Linux 内核Linux 最新版本的内核可以通过 https://www.kernel.org/ 网站获取,读者更加自己工作需要,自行选择。本篇选择的 5.10.475.10.0-1127.el7.x86_64 版本。第二步 解压源码至 /usr/local/src$ sudo tar xvf linux-5.10.47.tar原创 2021-07-07 23:05:07 · 507 阅读 · 0 评论 -
linux-往ftp服务器上传文件
1.Linux终端连接FTP[oracle@Dave ~]$ftp 219.212.41.323001Connected to219.212.41.32.220219.212.41.32FTP server ready500 AUTH not understood500 AUTH not understoodKERBEROS_V4 rejected as anauthentication typeName (219.212.41.32:root): aa331 Pa...转载 2021-06-07 10:19:45 · 9641 阅读 · 0 评论 -
screen 命令解析及使用
当我们ssh 或 telnet 远程主机时,你的网络连接突然断开了,那么你之前所做的所有工作可能都会丢失,所做的工作可能都要重做一遍,这会浪费我们许多的时间,非常影响我们的工作。那么有没有办法可以解决这个问题呢? Screen 这个实用工具的就是解决此问题。安装$ sudo apt-get install screenrobot@ubuntu:~$ screen -vScreen version 4.03.01 (GNU) 28-Jun-15使用$ screen -S tmp.scre原创 2021-04-10 15:04:39 · 214 阅读 · 0 评论 -
Linux 网卡配置文件汇总
1、网络配置文件/etc/hosts(本地主机ip地址映射,可以有多个别名)。/etc/services(端口号与标准服务之间的对应关系)。/etc/sysconfig/network(设置主机名,网关,域名)。HOSTANME=zjw.com(主机名)(需要重启计算机才有效)GATEWAY=192.168.1.1(网关)/etc/rc.d/init.d/network restart(脚本服务启动)service network restart(同上,是命令执行)2.和DNS相关..转载 2021-04-15 10:04:23 · 4414 阅读 · 1 评论 -
Linux 网卡VLAN、BOND配置
Redhat Linux的网络配置,基本上是通过修改几个配置文件来实现的,虽然也可以用ifconfig来设置IP,用route来配置默认网关,用hostname来配置主机名,但是重启后会丢失。相关的配置文件/ect/hosts 配置主机名和IP地址的对应/etc/sysconfig/network 配置主机名和网关/etc/sysconfig/network-scripts/ifcfg-eth0 eth0配置文件,eth1则文件名为ifcfg-eth1,以此类推一、配置主机名假设我们要配置转载 2021-04-15 10:29:38 · 2089 阅读 · 0 评论 -
备忘录: ubuntu16 配置vsftp 文件内容
本文用于备忘,避免搭建环境忘记了,还要搜索。(1).修改文件中已有配置内容:sudo gedit /etc/vsftp.conflisten=YESlocal_enable=YESwrite_enable=YESanon_upload_enable=YESanon_mkdir_write_enable=YES(2).文件中增加内容如下:userlist_deny=NOuserlist_enable=YESuserlist_file=/etc/vsftp/userlistsecc原创 2020-10-18 20:08:32 · 97 阅读 · 0 评论 -
备忘录: Ubuntu安装和配置ssh
一 安装openssh-server,安装ssh服务器sudo apt install openssh-server二 配置ssh_config 文件$ sudo gedit /etc/ssh/ssh_config配置内容如下:Host *# ForwardAgent no# ForwardX11 no# ForwardX11Trusted yes# RhostsRSAAuthentication no RSAAuthentication yes Passw原创 2020-10-18 20:58:48 · 570 阅读 · 0 评论 -
Buildroot 移植openSSH到嵌入式平台记录
本篇记录nuc980的linux4.4版本通过Buildroot 移植openSSH的过程,关于Buildroot在nuc980上的应用请参考:添加链接描述第 1 步: buildroot中选择openSSH包> Target packages> Networking applications> [*] opensshSymbol: BR2_PACKAGE_OPENSSH [=y] Type : boolean Prompt: openssh Lo原创 2020-11-30 18:37:27 · 3617 阅读 · 0 评论 -
shell 特殊字符应用实例、shell 控制浮动路由
本篇记录 分享shell中特殊字符应用实例,该实例实现功能是检查多wan口的路由状态,实现浮动路由的功能。#!/bin/shaddr=114.114.114.114echo " net interface monitor process startup .... "sleep 15 # wait for network initecho 'eth0.2' > /tmp/route_tag #eth0.2 有线上联 wan 口route_port=`cat /tm原创 2021-06-18 23:15:13 · 102 阅读 · 0 评论 -
Bash 快捷键大全
转载同名文章《Bash 快捷键大全》在Linux下,Bash的地位无可忽视,日常中涉及到Linux下的管理与操作基本都是在Bash中进行,因此,为了提高Linux下工作效率,自然而然的就变成了如何高效使用Bash的问题。使用Bash上的一些快捷键是提高效率的最简单也是最直接方式。本文正是奔着这个目标来的!快捷键应用举例在Bash下,如果能够妥善的使用快捷键,在Linux系统的操作会变得非常快捷,比如我们在使用cat创建一个文件时,我们可以使用快捷键[CTRL-D]:##不用快捷键cat &g转载 2021-06-17 23:16:46 · 470 阅读 · 0 评论 -
SHELL 读取文件的每一行内容并输出
假设读取的文件为当期目录下的 test.txt 文件,内容如下:GoogleRunoobTaobao实例 1#!/bin/bashwhile read linedoecho $linedone < test.txt执行输出结果为:GoogleRunoobTaobao实例 2#!/bin/bashcat test.txt | while read linedoecho $linedone执行输出结果为:GoogleRunoobTaobao转载 2021-06-17 22:51:41 · 593 阅读 · 0 评论 -
详解 Shell 中的特殊字符
;分号连续运行命令# ifdown eth0;ifup eth0| 管道正则表达式中表示或者# echo “ooooee” |egrep ‘(oo|ee)’{2} 表示匹配 oooo 或者 eeee 的字符前面命令的标准输出作为后面命令的标准输入# ifconfig|grep eth0 表示ifconfig查出来的信息然后过滤出eth0的这一行& 号将命令放到后台执行# mysqld_safe --user=mysql & 将MySQL放到后台启转载 2021-06-17 22:42:10 · 840 阅读 · 0 评论