基础技能
基础
林微
林微,一个年轻的博主。
展开
-
Ubuntu上传源代码到自己的远程Github账户 (即Git Push)
本文回答的问题是:Ubuntu环境下,如何通过Git命令将源代码上传到远程Github服务器?, 新版的Github需要用Token(口令) 替代 Password(密码))步骤一:当前目录下,克隆目标Github项目 (备注:可能需要成功设置。步骤二:修改Github XXX项目。步骤三:commit相关修改。步骤四:push相关修改。原创 2022-11-10 12:29:39 · 1061 阅读 · 1 评论 -
Medium博客转成Markdown文件
Windows环境下,将Medium博客转成Markdown文件的一个方法如下,下载安装Nodejs安装插件’mediumexporter’进入CMD,执行Dos commands如下,使用插件’mediumexporter’,导出目标Markdown文件,原创 2022-10-02 21:44:10 · 172 阅读 · 0 评论 -
ubuntu新建用户
root账户为新账户指定解释程序和工作目录,root账户为新帐户增加超级用户权限,root账户新建一个新账户工作目录,root账户添加一个新用户,登录一个root账户,并设置登录密码,如下,原创 2022-10-02 21:31:13 · 3599 阅读 · 1 评论 -
ubuntu 16.04校正系统时间
Ubuntu 16.04校正系统时间,将系统时间设置为东八区(北京时间),如下,$ sudo apt-get install ntpdate$ sudo ntpdate cn.pool.ntp.org$ sudo hwclock --systohc完成。原创 2021-04-26 17:12:59 · 986 阅读 · 0 评论 -
Ubuntu 16.04 添加新硬盘
步骤一: 打开机箱,并添加插入一块新磁盘。步骤二: 查看机器所有磁盘(包括已加载和未加载)。$ sudo fdisk -l Disk /dev/sda: 931.5 GiB, 1000204886016 bytes, 1953525168 sectorsUnits: sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 4096 bytesI/O size (minimum/optimal): 4096原创 2021-04-20 21:58:51 · 386 阅读 · 0 评论 -
Python2.7之sys.stderr.write(f“ERROR: {exc}“)问题
问题描述Python 2.7环境下安装pip。pip出现无法使用的问题,如下,$ pip --versionTraceback (most recent call last): File "/home/t716/.local/bin/pip", line 7, in <module> from pip._internal.cli.main import main File "/home/t716/.local/lib/python2.7/site-packages/pip/原创 2021-04-09 22:22:34 · 686 阅读 · 0 评论 -
Ubuntu下tcpdump使用
1. 安装tcpdump 默认wireshark安装好之后,就有tcpdump工具sudo apt-get install wiresharkwireshark用来分析数据包,而tcpdump用于抓取数据包。2. 启动tcpdump进行抓包 (注意:替换成自己的路径)sudo tcpdump -i eth0 -w /home/user/Documents/test.pcap3. 停止tcpdump原创 2017-11-28 11:16:19 · 5364 阅读 · 0 评论 -
Ubuntu16.04 IPV6
1. 安装 Teredo 的虚拟网卡sudo apt-get install miredoifconfigsudo miredo2. 校验ping6 ipv6.google.com原创 2018-01-09 16:11:36 · 2041 阅读 · 0 评论 -
图论算法(一):networkx的安装
1. 安装 本文作者在 Ubuntu16.04 下采用 python pip 安装图论工具 networkx 的命令如下,pip install networkxnetworkx 安装成功之后,显示安装成功 2. 测试 编写测试代码,验证 python 是否能够成功调用networkximport networkx as nxG=nx.Graph()print '...原创 2018-04-30 20:46:42 · 1251 阅读 · 0 评论 -
Windows10和 Ubuntu16.04 LTS通过samba共享文件夹
昨天,系里派技术人员说要升级我的系统到Windows10。为什么?因为我的电脑虽多次尝试却未能成功安装一个Windows7系统安全更新包。我也就勉勉强强同意升级了。为什么?一方面是Windows7将于2020年1月14号停止服务,早晚得升级。另一方面是工作人员很遗憾不仅没能完善好我的电脑,还不幸把电脑修坏了。我也很无奈,虽然事情很多这周组会下下周还有pgday,好吧,那勉强就升级到Windows...原创 2019-06-04 15:34:44 · 1985 阅读 · 0 评论 -
查询本机外网IP地址
查询本机外网IP地址curl ipinfo.io/ip原创 2018-10-18 21:11:40 · 2759 阅读 · 0 评论 -
图论算法(八):networkx 获取Graph之clique
1. 关于clique 这里介绍什么是clique2. networkx之clique的实现import networkx as nximport networkx.algorithms.approximation.clique as clG = nx.Graph()# add nodesG.add_node(1, addr = 'seds', amount = '1....原创 2018-05-05 17:52:16 · 584 阅读 · 0 评论 -
图论算法(七):networkx 获取节点的度 / 连边的数量
1. networkx 获取节点的度 无向图中,节点的度表示节点邻接的节点的数目,NetworkX中,通过degree()函数获取一个节点的度,import networkx as nxG = nx.Graph()# add nodesG.add_node(1, a = 'seds', d = '1.2')G.add_node(2, a = 'sfdt', d = '1.2...原创 2018-05-05 17:26:34 · 45610 阅读 · 3 评论 -
图论算法(六):networkx 滴哒滴滴哒(最短路径)算法
1. netwoekx 计算最短路径算法 NetworkX提供了许多图论算法。 这些包括最短路径和广度优先搜索,聚类和同构算法等。作为一个例子,使用Dijkstra算法找到最短加权路径的代码如下:import networkx as nx# new graphG = nx.Graph()# add weights to edgesweightedEdges = [('a',...原创 2018-05-01 11:38:23 · 2274 阅读 · 1 评论 -
图论算法(五):networkx 结合 python matlablib 作图
1. netwoekx 结合 python matlablib 做图 NetworkX主要不是图形绘制软件包,而是包含Matplotlib的基本绘图以及使用开源Graphviz软件包的界面。 这些是networkx.drawing包的一部分。需要注意的是,NetworkX中的绘图软件包与Python版本3.0及以上版本不兼容。import networkx as nximport ma...原创 2018-04-30 20:47:36 · 1546 阅读 · 1 评论 -
图论算法(四):networkx 节点的度
1. 图中各节点的度import networkx as nx# new graphG = nx.Graph()# add nodeG.add_node('a')G.add_node('b')G.add_node('c')G.add_node('d')G.add_node('e')G.add_node('f')G.add_node('g')# add edge...原创 2018-04-30 20:47:25 · 17190 阅读 · 0 评论 -
图论算法(三):networkx 添加属性
属性(如权重,标签,颜色或任何您喜欢的Python对象)可以附加到节点或连边中。每个节点和连边都可以在关联的属性字典中保存键/值属性对(键必须是可散列的)。 默认情况下,这些属性是空的,但可以使用G.node和G.edge的属性字典来添加或更改属性。1. 添加节点属性 使用add_node()添加节点属性import networkx as nxG = nx.Graph() # ...原创 2018-04-30 20:47:15 · 22370 阅读 · 0 评论 -
图论算法(二):networkx 新建Graph(节点+连边)
1. 新建Graph 根据定义,图是节点(顶点)的集合,连同已识别的节点对(称为边,连接等)。 在NetworkX中,节点可以是任何可排列的对象,例如 一个文本字符串,一个XML对象,另一个Graph,一个自定义节点对象等等。创建一个没有节点和边的空图如下,import networkx as nxG = nx.Graph()2. 添加Node 在空图中逐个添加新的节点,...原创 2018-04-30 20:47:02 · 11955 阅读 · 0 评论 -
网络端口扫描工具
1. 问题说明 扫描公网ip,本机ip的所有开放的端口。2. 端口扫描工具下载 端口扫描工具下载用途一:测试公网ip,比如扫描路由器的开放端口用途二:测试内网ip,比如本机的开放端口其中,左边部分显示的是工具扫描过的端口,右边显示的是开放的端口。参考 http://download.csdn.net/detail/canhui_wang/9884015原创 2017-06-29 15:17:14 · 4547 阅读 · 1 评论 -
Wireshark 系列(1). Ubuntu 上安装
1. 安装~$ Sudo apt-get install wireshark2. 运行~$ wireshark原创 2017-05-24 10:36:09 · 811 阅读 · 0 评论 -
网络数据交换技术
摘要 本文主要讲讲网络数据交换技术,从链路资源是否可以共享的角度,主要分别为电路交换和报文交换。1. 电路交换 即通过网络,在两个站点之间建立一条专用的通信线路进行通信的过程。任何两点要进行通信和数据交换之前,必须建立一个物理连接的信道;并且在通信的过程中,该信道一直处于占用状态;直到通信介绍,信道释放。最后,在技术主要应用于电话网络。2. 报文交换 报文和电路交换技术恰好相反——即报文交换不原创 2017-01-22 09:30:35 · 2034 阅读 · 0 评论 -
部分发表的论文
摘要部分已经发表并出版的论文,欢迎来信交流!IEEE官方链接(收费)http://ieeexplore.ieee.org/document/7410263/Google Scholar链接(免费) https://xueshu.glgoo.org/scholar?hl=zh-CN&q=An+enhanced+algorithm+based+on+path原创 2016-09-18 18:03:18 · 564 阅读 · 0 评论 -
路由算法之——ECMP算法
摘要本文主要讲述ECMP算法,Equal-CostMultipathRouting,即最大限度地使用最短路径,各条最短路径之间均分流量。1. 背景底层的拓扑结构如图所示,这里的所有相关拓扑数据全部来源于TOTEM工具箱,相关拓扑,请求数据本人已经上传,感兴趣的读者点击下载即可下载相关数据2. 算法%% ECMP链路(Multi-shortst pat原创 2016-05-27 14:51:12 · 16095 阅读 · 7 评论 -
网络仿真工具TOTEM之——环境配置
1. 介绍说明当前网络结构越来越复杂,网络变得越来越大,因此需要运用交通工程的相关理论进入网络,从而优化当前的网络资源分配。这里,有一个开源的网络仿真工具,即TOTEM。TOTEM的功能主要是将交通工程中的一些优化理论引入网络工程,解决网络中的链路带宽分配等问题。为了使用TOTEM这一强大的网络仿真工具,我们需要了解TOTEM工具箱的基本原理以及使用方法。TOTEM工具箱可以分为以下几个功能区原创 2016-05-02 11:24:35 · 2884 阅读 · 0 评论 -
网络仿真工具TOTEM之——IP路由功能
摘要:本文主要介绍TOTEM的IP路由功能模块,首先,通过载入底层拓扑结构以及底层网络之间的带宽请求关系进行底层数据的初始化;其次,通过路由协议算法的应用,计算出相应的路由状况的好坏;最后,通过对路由结果的比较,图形化展示等等,展示不同路由算法之间的好坏。1. 载入底层拓扑结构目的:描述底层节点的经纬度,节点之间的连边关系信息。命令:a. 导入底层拓扑文件 file原创 2016-05-05 14:48:19 · 1618 阅读 · 0 评论 -
网络仿真工具TOTEM之——mpls构建LSP
摘要:本文主要讲述的是通过TOTEM仿真工具,采用MPLS构建LSP的方法。设置LSP的链路,同时可以设置链路使用的优先级。1. 载入底层拓扑结构目的:导入MPLS下的相应的底层网络拓扑信息命令:file -> load topology -> examples/diffservDomain/domain-preempt.xml原创 2016-05-05 20:42:03 · 849 阅读 · 0 评论 -
网络仿真工具TOTEM之——场景的执行
摘要:本文主要讲述的是通过TOTEM仿真工具,描述TOTEM执行XML场景的过程。1. 打开场景的XML文件目的:导入场景命令:Scenario -> export scenario2. 节点显示的布局目的:美观化图形命令:view -> layout原创 2016-05-05 21:59:26 · 1089 阅读 · 0 评论 -
网络仿真工具TOTEM之——Worst Case Analysis
摘要:本文主要讲述的是通过TOTEM仿真工具,进行最差案例分析。1. 载入底层拓扑结构目的:打开文件wca-spf.cml命令:scenario -> wca-spf.xml2. 场景执行目的:执行场景命令:点击step原创 2016-05-05 22:04:28 · 1029 阅读 · 0 评论 -
网络仿真工具TOTEM之——分析总结
TOTEM已经学习并应用挺熟的了。这是TOTEM主要功能以及相关说明,TOTEM主要是生成网络拓扑(以各种XML标签语言进行拓扑结构的描述,解析等操作),进行路由算法仿真(通过JAVA/Perl/C++进行路由算法的编写),并且显示路由算法的结果。其评价指标主要是和链路权重(带宽,剩余带宽,欧式距离)。 如果是路由算法研究,TOTEM挺好用的。其一是路由算法的拓原创 2016-05-08 11:24:14 · 3046 阅读 · 0 评论 -
网络仿真NS2之——TCL语言介绍与实践
摘要NS2网络仿真软件主要用到了TCL语言,TCL语言是很容易上手的。本文希望把TCL语言的基本语法和应用讲简单了,使得读者对NS2软件的应用有进一步的认识和实践。1. 变量声明set name "Joe"puts "my name is $name"2. 判定表达式set trueOrFalse [expr 0==1]puts "1 is true, 0 i原创 2016-05-14 15:12:52 · 2433 阅读 · 0 评论 -
路由算法之——ECMP算法的改进方向
摘要本文主要讲述当前网络协议中的ECMP算法的改进方向。1. ECMP路由全局回顾ECMP算法的核心是均衡使用所有等代价的路径。不同的学科背景有不同的应用,在计算机网络中,当所面临的路径是多条最短路径时,相应地就是从分使用网络中所有最短链路的思想。2. ECMP算法的改进 当前网络的负载状态会影响最短路的选取;比如,两点之间的最短路如果使用越来越多直至拥塞原创 2016-05-27 14:52:24 · 3566 阅读 · 0 评论 -
网络仿真NS2之——环境配置
摘要NS2的安装过程可能涉及到修改源文件代码,因此在本文中说说NS2安装的注意事项。1. 下载安装包下载NS2安装包,建议下载allinone版本,安装过程可能不会太费事,下载链接是http://ftp.isi.edu/nsnam/dist/。这里我的OS是ubuntu16.04,NS2安装包是ns-2.35-allinone.tar.gz2. 解压解压到相应的原创 2016-05-14 10:10:07 · 2522 阅读 · 1 评论 -
windows远程上传文件到ubuntu
1. 问题描述 windows通过远程端口对ubuntu系统进行访问,想要执行一个文件上传到远程ubuntu系统操作。第一步:安装pscp工具首先,下载pscp https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html然后,将pscp所在的目录添加到windows系统变量path中,使得可以从windows Dos 的 cmd原创 2017-06-29 14:50:50 · 3574 阅读 · 2 评论 -
HTTP响应时间测试代码
1. 目的 测试客户端和服务器在 HTTP 协议下的交互时间(包括http三次握手,数据传输,4次挥手这一全过程的时间)。2. 环境配置 安装pythonsudo apt-get install python查找并安装python–curl库sudo apt search curlsudo apt-get install python-pycurl3. 代码 本人用的是python以及pycu原创 2017-06-09 15:20:44 · 2784 阅读 · 0 评论 -
python 解析域名,连接主机IP
1. 实现代码(test.py)#!/usr/bin/pythonimport socket# 初始信息host = 'www.google.com'port = 80# 解析域名获取IPip = socket.gethostbyname(host)print 'Ip address of ' + host + ' is ' + ip# 通过IP连接主机s = socket.socket原创 2017-11-14 18:03:15 · 7966 阅读 · 0 评论 -
Python struct pack/unpack
1. struct.pack用于将Python的值根据格式符,转换为字符串, 代码“pack.py”如下,#!/usr/bin/env python import sys import struct # initialization a = 20 b = 400 # packstr = struct.pack("ii", a, b) print 'length: ', l原创 2017-11-12 11:18:01 · 1069 阅读 · 0 评论 -
socket C/C++编程(11)windows client端使用ip,port,通过connect()连接上linux server
1. windows client 端代码 (test.cpp)#include <windows.h>#include <stdio.h>int main(int argc, char *argv[]){ // 初始化”ws2_32.lib” WSADATA ws; WSAStartup(MAKEWORD(2,2), &ws); // 创建client端的SOCKET原创 2017-08-22 15:17:23 · 1761 阅读 · 0 评论 -
socket C/C++编程(5)服务器端允许用户连接之listen()函数
1. Linux server端代码(test.cpp)#ifdef WIN32 #include <windows.h>#else #include <sys/types.h> #include <sys/socket.h> #include <unistd.h> #include <stdlib.h> #include <arpa/inet.h>原创 2017-08-15 13:21:28 · 1004 阅读 · 0 评论 -
socket C/C++编程(4)Server端向OS请求sockets资源进行server端开放端口号的绑定
1. Linux server端代码(test.cpp) #ifdef WIN32 #include <windows.h>#else #include <sys/types.h> #include <sys/socket.h> #include <unistd.h> #include <stdlib.h> #include <arpa/inet.h原创 2017-08-15 13:15:37 · 353 阅读 · 0 评论 -
socket C/C++编程(10)linux server端面向对象化处理
1. 面向过程的源代码如下,#include <stdio.h>#include <string.h>#include <thread>#ifdef WIN32 #include <windows.h> #define socklen_t int#else #include <sys/types.h> #include <sys/socket.h> #i原创 2017-08-21 10:59:40 · 346 阅读 · 0 评论