自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(83)
  • 资源 (19)
  • 收藏
  • 关注

原创 Go 学习笔记--字符串

Go 学习笔记字符串与其他主要编程语言言的差异string 是数据类型,不不是引用用或指针类型 string 是只读的 byte slice,len 函数可以它所包含的 byte 数string 的 byte 数组可以存放任何数据Unicode UTF8Unicode 是一一种字符集(code point)UTF8 是 unicode 的存储实现 (转换为字节序列列的规则)package string_testimport "testing"func TestString(

2021-01-05 15:41:25 170

原创 Go学习笔记--Map基础

Go 学习笔记–Map基础Map 声明m := map[string]int{"one": 1, "two": 2, "three": 3}m1 := map[string]int{}m1["one"] = 1m2 := make(map[string]int, 10 /*Initial Capacity*/)func TestInitMap(t *testing.T){ m1 := map[int]int{1:1, 2:2, 3:4} t.Log(m1[2])

2021-01-05 11:27:33 176

原创 Go 学习笔记--常用的集合

Go 学习笔记之常用的集合数组和切片数组的声明:var a [3]int // 声明并初始化为默认值a[0] = 1b := [3]int{1,2,3} //声明同时初始化c := [2][3]int{{1,2}, {3,4}} //多维数组赋值func TestArrayInit(t *testing.T){ var arr [3]int arr1 := [4]int{1,2,3,4} arr3 := [...]int{1,3,4

2021-01-05 10:04:02 199

原创 go学习笔记--条件和循环

Go学习笔记条件和循环for循环与其他主要编程语言的差异,go仅支持循环关键字forwhile 条件循环while < 5n := 0for n < 5 { n++ fmt.Println(n)}while 无限循环while(true)n := 0for { ...}test codepackage loop_testimport "testing"func TestWhileLoop(t *testing.T){ n :=

2021-01-04 14:52:29 119

原创 Go 学习笔记-如何编写和运行测试程序

Go 学习笔记编写和运行测试程序源码文件以 _test 结尾:xxx_test.go测试方法名以 Test 开头 func TestXXX(t *testing.T){…}package loop_testimport "testing"func TestWhileLoop(t *testing.T){ n := 0 for n < 5{ t.Log(n) //在test中,我们常使用Log() 来打印输出

2021-01-04 14:04:27 360

原创 go学习笔记--第一个go程序

Go学习笔记第一个go 程序hello_world.gopackage mainimport "fmt"func main() { fmt Println("Hello World")}#直接运行go run hello_world.go#先编译再运行go build hello_world.go #build 之后会生成一个二进制hello_world./hello_world基本程序结构package main // 表明代码所在的模块(包)i

2021-01-04 10:44:46 91

原创 ROS2读取realsense摄像头数据并发布topic到ros2

环境:ubuntu18.04, ros2写在前面:最近在写项目的自动化测试,需要实现先从realsense camera录制一段数据,在test case中需要以发布topic的方式播放录制的数据。为了更好的实现该功能,我参照相关项目写了一个ros2订阅和发布程序。具体源码可查看github:https://github.com/RachelRen05/realsense_image_raw...

2019-07-19 17:58:55 3522 2

原创 初始化一个git仓库并推送到远程

初始化一个git仓库并推送到远程系统:ubuntu 18.04写在前面:大学自学了git, 工作当中一直也在使用git, 自以为已经非常熟悉git的常用命令了。但今天从在本地init git project 到push 远程的过程中遇到了一些问题,在这里做个总结,以便参考。1.打开终端,在本地新建一个git仓库mkdir myProjectcd myProject/git init ...

2019-07-19 17:30:39 447

原创 git log 查看提交记录

git log 查看提交记录选项说明–oneline or --pretty=oneline以精简模式显示–graph以图形模式显示–stat显示文件更改列表–author= ‘name’显示某个作者的日志-L start,end:filepath查看某个文件某几行范围内的修改记录–stat commitId查看某一次提交的文件修改列...

2019-07-12 13:31:42 1807

原创 ros/ros2 测试代码覆盖率检测

ros/ros2 测试代码覆盖率检测写在前面本文档是关于如何在ros/ros2的项目中检测测试代码的覆盖率。本文以ros2项目为例。相关名词gcc是linux平台下的C、C++ 编译器编译参数:-fprofile-arcs:使得编译后的文件运行生成弧跳变的次数和其他的概要信息,用于生成.gcda-ftest-coverage:生成.gcno文件,汇总文件源码块信息和行号生成文件:...

2019-07-09 12:44:25 875

原创 C++中双冒号(::) 和 冒号(:) 的用法

 双冒号(::)的用法表示 “域操作符”例如:声明了一个类A,在类A中声明一个成员函数void foo(),但没有在类A的声明中给出函数foo的定义,那么在类外定义foo时,就要写成void A::foo()表示foo()函数是类A的成员函数。表示引用成员函数和变量,作用域成员运算符例如:System::Math::Sqrt()相当于System.Math.Sq...

2018-08-17 14:50:05 17400 3

翻译 Nim代码覆盖率

该文为Nim语言核心贡献着Dennis的博客,网址:https://hookrace.net/blog/nim-code-coverage用Nim创建代码覆盖率是非常容易的。你可以简单的使用古老而好用的gcov和lcov工具。Nim在编译时可以插入一个命令行参数: –debugger:native。我们一起来看下面这个简单的例子:var x = 0if x > 1: echo "foo"ec

2016-11-06 18:42:09 540

原创 java中的object... args参数

今天在看数据库连接时看到一个方法execSQL(String sql,object... args),该方法中使用了object... args参数,该语法是JDK1.5新增语法,新特性,动态参数或者是可变参数的意思。例method (object... args)调用method方法时,使用几个形参都可以,如:method(1,2)method(1,"word")meth

2016-04-25 10:06:28 3877

原创 freopen-C/C++方便的文件输入输出

人#include // 实际使用中发现freopen也包含在iostream.h中,C++代码#include 即可。 int main(){ freopen("sample.in", "r", stdin); freopen("sample.out", "w", stdout); /* 同控制台输

2016-04-23 12:14:02 3177

原创 java程序打包jre以及制作安装包

java程序打包jre以及制作安装包详细过程请查看文档:http://download.csdn.net/detail/dajiadexiaocao/9483938

2016-04-11 10:09:43 2141

原创 在linux下查看.caj文档

最近需要写毕业论文,就在学校的知网上下载了几篇.caj的文章,但无法直接用deepin(linux下的一个发行版)的文档查看器打开.在网上找了一种方法,先分享如下:参考文章:http://www.cnblogs.com/jianglq/p/4747965.html主要参考资料:   http://blog.yuelong.info/post/cnki-pdf-js.html

2016-04-10 15:51:07 25202 1

原创 java程序导出为jar包的问题

实习期间按照老师的要求写了一个小游戏,今天下去想把以jar包的形式导出来,但导出来的jar包却无法执行,试了很多次,还是不行。后来请教了一个同学,解决方法是:导出jar包时只导出class文件,工程中引入的其他资源如:图片,声音,文件等放到jar包的目录下。

2016-04-06 17:44:04 1270

转载 JFrame(框架)中添加和设置JPanel(面板)的方法

Swing 程序用JFrame 对象实现了它们的窗口。JFrame 类是AWT Frame 类的一个子类。它还加入了一些Swing 所独有的特性。与 Frame 的使用十分相似。唯一的区别在于,你不能将组件加入到JFrame中。你可以或者将组件加入到JFrame 的content pane(内容面板) 中,或者提供一个新的content pane(内容面板)。   面板与顶层容器的不同点:

2016-03-21 18:31:17 9173

转载 java内部类详解

转自:http://www.cnblogs.com/jiangao/archive/2012/02/23/2364119.html内部类详解(很详细)(转)内部类有两种情况:(1) 在类中定义一个类(私有内部类,静态内部类)(2) 在方法中定义一个类(局部内部类,匿名内部类) 1、私有内部类 —— 在方法之间定义的内部类,非静态       我们首先看看类中内部

2016-03-20 11:56:28 258

原创 Nim 网络编程

在Nim中提供socket编程的有两个模块:nativesockets和net。 nativesockets实现的是低级的socket接口,而net则是高级的实现。      关于socket相关的知识在以前的文章:Linux程序设计--套接字学习笔记 中已经讲过,这里就不在赘述。      关于跟多的Nim知识你也可以看github仓库:https://github.co

2016-03-07 15:31:17 827

原创 Ubuntu or Deepin 上安装 mysql 数据库

系统:deepin 2014参考资料:http://wiki.ubuntu.org.cn/MySQL一:安装mysql打开deepin terminal:在此过程中会提示输入两次密码,就是输入 root 账号密码,两次输入密码一样就可以了。然后一路Y安装成功。一旦安装成功,MySql服务器会自动启动。手动启动mysql服务               手

2016-03-05 16:14:45 3573

原创 deepin下搭建自己的git服务器

近几日一直在搭建自己的git私服,得以搭建成功,现整理如下,分享给大家!一 :基础知识如果设备较少或者你只想在小型开发团队里尝试 Git ,那么一切都很简单。架设 Git 服务最复杂的地方在于账户管理。如果需要仓库对特定的用户可读,而给另一部分用户读写权限,那么访问和许可的安排就比较困难。SSH 连接如果已经有了一个所有开发成员都可以用 SSH 访问的服务器,架设第

2016-03-05 16:09:57 3919

原创 ssh学习笔记

远程登陆一:理论从客户端来看,SSH提供两种级别的安全验证:第一种级别(基于口令的安全验证)        只要你知道自己帐号和口令,就可以登录到远程主机。所有传输的数据都会被加密,但是不能保证你正在连接的服务器就是你想连接的服务器。第二种级别(基于密匙的安全验证)        需要依靠密钥,也就是你必须为自己创建一对密匙,并把公用密匙放在

2016-03-05 16:00:48 553

原创 linux程序设计(套接字)+TCP/IP网络编程学习笔记

linux程序设计(套接字)+TCP/IP网络编程学习笔记什么是套接字?应用层通过传输层进行数据通信时,TCP和UDP会遇到同时为多个应用程序进程提供并发服务的问题。多个TCP连接或多个应用程序进程可能需要通过同一个TCP协议端口传输数据。为了区别不同的应用程序进程和连接,许多计算机操作系统为应用程序与TCP/IP协议交互提供了称为套接字(Socket)的接口,区分不同应用程序进程间的网络通信和连接

2016-03-05 11:32:02 4523

原创 Windows下,给Nim程序添加图标

我们可以对Nim在windows下生成的可执行文件加上图标,具体的步骤如下:一, 下载MinGW        首先我们需要MinGW,如果你的机器上没有就需要下载它。这里需要注意的是,要下载与操作系统位数对应的MinGW。如果你的机器上安装有Dev-C++等IDE,在其安装目录下含有MinGW。然后把路径 path/MinGW/bin  加入环境变量。二,图标 

2016-03-03 21:48:00 760

原创 同步一个fork

GitHub 自己的帮助文档 Syncing a fork 点进去看这篇的时候,注意到有一个 Tip: Before you can sync your fork with an upstream repository, you must configure a remote that points to the upstream repository in Git. 具体步骤:Configurin

2016-01-26 09:08:04 621

原创 Nim语言中的解析表达文法 pegs模块

Pegs 模块简单的PEG(解析表达文法)匹配。没有使用任何记忆,而是用superoperators和符号内联来提升性能。注意:PEG匹配性能是希望与正则表达式引擎竞争的。PEG的语法和语义一个PEG(解析表达文法)是一个简单的确定性的语法,它可以直接用于解析。当前的实现已经被设计为一个更强大的来替代正则表达式。UTF-8是支持的。用于PEG的符号与EBNF(扩展巴科斯范式)是相似的。

2016-01-24 11:24:51 1363

原创 gitbook学习之--linux下安装gitbook

Nodejs官网:https://nodejs.org/en/首先去官网下载代码,这里一定要注意安装分两种,一种是Source Code源码,一种是编译后的文件.编译后文件下载:http://download.csdn.net/detail/dajiadexiaocao/9409819source code下载:http://download.csdn.net/detail/daj

2016-01-21 16:10:23 6015 2

原创 改变Nim 标准库中streams 模块里的readInt 系列过程

本篇博文是修改Nim 标准库中的readInt 系列过程代码。实现的功能是从键盘输入数字,接收到的也是整型数字。如果对 streams 模块和readInt 过程还不熟悉,可以看看我之前的文章。当然从键盘上输入数字得到整型有其他的方法,下面的代码是使用Nim提供的文件流来实现的。   ##注意 由于过程 flush() 在Linux 下好像没有作用,若用Linux测试该代码,则调用readI

2015-12-03 17:26:27 528

原创 nim中的命令行参数

在使用该命令nim c -r test.nim arg1 arg2编译运行nim程序时,可以在文件名的后面加上命令行参数,我们来看看在程序中该怎样使用该命令行参数。

2015-12-02 09:17:26 1462

原创 MPICH 安装

1,下载MPICH :  http://www.mpich.org/downloads/2,解压文件,并进入目录运行命令:         (1)tar zxvf mpich-3.2.tar.gz      (2)cd mpich-3.2      (3)./configure --prefix=/home/renzhen/mpich                  ( =

2015-12-01 16:37:36 891

原创 Nim 中的 streams 模块

streams 模块是 Nim\lib\pure\streams.nim 文件,该模块提供了一个流接口和两个实现,一个是字符串流`StringStream`,一个是文件流`FileStream`。很显然字符串流是通过字符串来实现 stream接口的,文件流是通过 Nim中的”File" 对象来实现的。下面先看一个例子:import streamsvar ss = newStringSt

2015-12-01 16:31:54 644

原创 vim字典补全

vim可以根据用户定义的字典来进行自动补全以nim字典为例介绍,nim字典资源下载:http://download.csdn.net/download/dajiadexiaocao/9313337将下载的nim012.dict文件放到/usr/share/dict/目录下。然后在根目录下的.vimrc文件中加入:set dictionary=/usr/share/dict/nim0

2015-12-01 08:26:35 1643

原创 浅谈 Nim 中的“接口”

本篇文章是作者在看Nim 标准库源码发现的,在Nim 官网的教程和手册上没有找到有关说明,“接口” 这个说法是从Java类比过来的,现在还不能确定Nim 的定义。     下面是我写的一段代码:type Person* = object of RootObj speak*: proc (p: Person) eat*: proc (p: Person)pr

2015-11-30 22:08:51 837

原创 Linux发行版deepin及其软件包管理

Linux Deepin 项目官网:http://www.linuxdeepin.comLinux Deepin 代码托管:https://code.csdn.net/Linux-Deepin一:简介Linux Deepin 是一个优秀的国产 Linux 桌面操作系统项目,主要目标是为了解决 Linux 桌面体验的问题,让更多的人可以更加轻松容易地使用 Linux。Li

2015-11-24 14:26:25 12909

翻译 Nim包管理器--Nimble

Nimble安装包下载:https://github.com/nim-lang/nimblenim软件包管理器,如果你有兴趣学习如何创建一个包,直接跳到这里。一:安装你需要0.9.6或者更高版本的Nim编译器,

2015-11-24 14:18:15 2978

翻译 Nimble packages

Nimble packages源地址:https://github.com/nim-lang/packagespackages是Nimble的所有包的中心列表,Nimble是Nim编程语言的包管理器。添加你自己的包为了添加你自己的包,fork这个仓库,编辑packages.json,然后生成一个pull request。Packa

2015-11-24 10:43:31 846

原创 vim支持nim学习笔记

一 :vim为nim语言提供支持:.语法高亮.自动缩进.vim中建立或跳转到错误.项目导航或跳转到定义二:安装安装nimrod.vim很容易,但首先你需要安装pathogen或vundle插件管理器。如果你已经安装并使用pathogen或vundle开始工作了,则可以跳到最后一步。推荐你使用syntastic插件以获得最佳的效果。若你还没有安装pathogen,

2015-11-17 20:59:56 987

原创 pathogen插件管理器学习笔记

一:pathogen简介通常情况下安装vim插件,通常是将所有的插件和相关的doc文件都安装在中一文件夹中,如将插件全部安装在/usr/share/vim/vim73/plugin/目录下,将帮助文档全部安装在/usr/share/vim/vim73/doc/目录下。这样做带来的后果是修改和卸载插件很麻烦,很难弄清楚哪个文件属于哪个插件。pathogen 改变了原先

2015-11-17 20:04:36 870

原创 Deepin下的有线认证

工具mentohust,系统:deepin下载地址:http://download.csdn.net/detail/dajiadexiaocao/9182067    开始用deepin的时候,通过老师的介绍使用mentohust有线认证联网。前段时间要重新装系统把电脑的分区给格式化,悲催的是,不小心把文档分区也格式化了,里面的资料平时没有做好备份,所以大部分工作都要重做。现将deepin

2015-10-15 09:38:13 2148

Linux命令行与Shell脚本编程大全

Linux命令行与Shell脚本编程大全LinuxCommandLineAndShellScriptingBible(2th).pdf 第一部分 Linux 命令行 第1章 初识Linux shell 1.1 什么是Linux 1.1.1 深入探究Linux内核 1.1.2 GNU工具链 1.1.3 Linux桌面环境 1.2 Linux发行版 1.2.1 核心Linux发行版 1.2.2 专业Linux发行版 1.2.3 Linux LiveCD 1.3 小结 第2章 走进shell 2.1 终端模拟 2.1.1 图形功能 2.1.2 键盘 2.2 terminfo数据库 2.3 Linux控制台 2.4 xterm终端 2.4.1 命令行参数 2.4.2 xterm主菜单 2.4.3 VT选项菜单 2.4.4 VT字体菜单 2.5 Konsole终端 2.5.1 命令行参数 2.5.2 标签式窗口会话 2.5.3 配置文件 2.5.4 菜单栏 2.6 GNOME Terminal 2.6.1 命令行参数 2.6.2 标签 2.6.3 菜单栏 2.7 小结 第3章 基本的bash shell命令 3.1 启动shell 3.2 shell提示符 3.3 bash手册 3.4 浏览文件系统 3.4.1 Linux文件系统 3.4.2 遍历目录 3.5 文件和目录列表 3.5.1 基本列表功能 3.5.2 修改输出信息 3.5.3 完整的参数列表 3.5.4 过滤输出列表 3.6 处理文件 3.6.1 创建文件 3.6.2 复制文件 3.6.3 链接文件 3.6.4 重命名文件 3.6.5 删除文件 3.7 处理目录 3.7.1 创建目录 3.7.2 删除目录 3.8 查看文件内容 3.8.1 查看文件统计信息 3.8.2 查看文件类型 3.8.3 查看整个文件 3.8.4 查看部分文件 3.9 小结 第4章 更多的bash shell命令 4.1 监测程序 4.1.1 探查进程 4.1.2 实时监测进程 4.1.3 结束进程 4.2 监测磁盘空间 4.2.1 挂载存储媒体 4.2.2 使用df命令 4.2.3 使用du命令 4.3 处理数据文件 4.3.1 排序数据 4.3.2 搜索数据 4.3.3 压缩数据 4.3.4 归档数据 4.4 小结 第5章 使用Linux环境变量 5.1 什么是环境变量 5.1.1 全局环境变量 5.1.2 局部环境变量 5.2 设置环境变量 5.2.1 设置局部环境变量 5.2.2 设置全局环境变量 5.3 删除环境变量 5.4 默认shell环境变量 5.5 设置PATH环境变量 5.6 定位系统环境变量 5.6.1 登录shell 5.6.2 交互式shell 5.6.3 非交互式shell 5.7 可变数组 5.8 使用命令别名 5.9 小结 第6章 理解Linux文件权限 6.1 Linux的安全性 6.1.1 /etc/passwd文件 6.1.2 /etc/shadow文件 6.1.3 添加新用户 6.1.4 删除用户 6.1.5 修改用户 6.2 使用Linux组 6.2.1 /etc/group文件 6.2.2 创建新组 6.2.3 修改组 6.3 理解文件权限 6.3.1 使用文件权限符 6.3.2 默认文件权限 6.4 改变安全性设置 6.4.1 改变权限 6.4.2 改变所属关系 6.5 共享文件 6.6 小结 第7章 管理文件系统 7.1 探索Linux文件系统 7.1.1 基本的Linux文件系统 7.1.2 日志文件系统 7.1.3 扩展的Linux日志文件系统 7.2 操作文件系统 7.2.1 创建分区 7.2.2 创建文件系统 7.2.3 如果出错了 7.3 逻辑卷管理器 7.3.1 逻辑卷管理布局 7.3.2 Linux中的LVM 7.3.3 使用Linux LVM 7.4 小结 第8章 安装软件程序 8.1 包管理基础 8.2 基于Debian的系统 8.2.1 用aptitude管理软件包 8.2.2 用aptitude安装软件包 8.2.3 用aptitude更新软件 8.2.4 用aptitude卸载软件 8.2.5 aptitude库 8.3 基于Red Hat的系统 8.3.1 列出已安装包 8.3.2 用yum安装软件 8.3.3 用yum更新软件 8.3.4 用yum卸载软件 8.3.5 处理损坏的包依赖关系 8.3.6 yum软件库 8.4 从源码安装 8.5 小结 第9章 使用编辑器 9.1 Vim编辑器 9.1.1 Vim基础 9.1.2 编辑数据 9.1.3 复制和粘贴 9.1.4 查找和替换 9.2 Emacs编辑器 9.2.1 在控制台上使用Emacs 9.2.2 在X Window中使用Emacs 9.3 KDE系编辑器 9.3.1 KWrite编辑器 9.3.2 Kate编辑器 9.4 GNOME编辑器 9.4.1 启动gedit 9.4.2 基本的gedit功能 9.4.3 设定偏好设置 9.5 小结 第二部分 shell脚本编程基础 第10章 构建基本脚本 10.1 使用多个命令 10.2 创建shell脚本文件 10.3 显示消息 10.4 使用变量 10.4.1 环境变量 10.4.2 用户变量 10.4.3 反引号 10.5 重定向输入和输出 10.5.1 输出重定向 10.5.2 输入重定向 10.6 管道 10.7 执行数学运算 10.7.1 expr命令 10.7.2 使用方括号 10.7.3 浮点解决方案 10.8 退出脚本 10.8.1 查看退出状态码 10.8.2 exit命令 10.9 小结 第11章 使用结构化命令 11.1 使用if-then语句 11.2 if-then-else语句 11.3 嵌套if 11.4 test命令 11.4.1 数值比较 11.4.2 字符串比较 11.4.3 文件比较 11.5 复合条件测试 11.6 if-then的高级特性 11.6.1 使用双尖括号 11.6.2 使用双方括号 11.7 case命令 11.8 小结 第12章 更多的结构化命令 12.1 for命令 12.1.1 读取列表中的值 12.1.2 读取列表中的复杂值 12.1.3 从变量读取列表 12.1.4 从命令读取值 12.1.5 更改字段分隔符 12.1.6 用通配符读取目录 12.2 C语言风格的for命令 12.2.1 C语言的for命令 12.2.2 使用多个变量 12.3 while命令 12.3.1 while的基本格式 12.3.2 使用多个测试命令 12.4 until命令 12.5 嵌套循环 12.6 循环处理文件数据 12.7 控制循环 12.7.1 break命令 12.7.2 continue命令 12.8 处理循环的输出 12.9 小结 第13章 处理用户输入 13.1 命令行参数 13.1.1 读取参数 13.1.2 读取程序名 13.1.3 测试参数 13.2 特殊参数变量 13.2.1 参数计数 13.2.2 抓取所有的数据 13.3 移动变量 13.4 处理选项 13.4.1 查找选项 13.4.2 使用getopt命令 13.4.3 使用更高级的getopts 13.5 将选项标准化 13.6 获得用户输入 13.6.1 基本的读取 13.6.2 超时 13.6.3 隐藏方式读取 13.6.4 从文件中读取 13.7 小结 第14章 呈现数据 14.1 理解输入和输出 14.1.1 标准文件描述符 14.1.2 重定向错误 14.2 在脚本中重定向输出 14.2.1 临时重定向 14.2.2 永久重定向 14.3 在脚本中重定向输入 14.4 创建自己的重定向 14.4.1 创建输出文件描述符 14.4.2 重定向文件描述符 14.4.3 创建输入文件描述符 14.4.4 创建读写文件描述符 14.4.5 关闭文件描述符 14.5 列出打开的文件描述符 14.6 阻止命令输出 14.7 创建临时文件 14.7.1 创建本地临时文件 14.7.2 在/tmp目录创建临时文件 14.7.3 创建临时目录 14.8 记录消息 14.9 小结 第15章 控制脚本 15.1 处理信号 15.1.1 重温Linux信号 15.1.2 产生信号 15.1.3 捕捉信号 15.1.4 捕捉脚本的退出 15.1.5 移除捕捉 15.2 以后台模式运行脚本 15.2.1 后台运行脚本 15.2.2 运行多个后台作业 15.2.3 退出终端 15.3 在非控制台下运行脚本 15.4 作业控制 15.4.1 查看作业 15.4.2 重启停止的作业 15.5 调整谦让度 15.5.1 nice命令 15.5.2 renice命令 15.6 定时运行作业 15.6.1 用at命令来计划执行作业 15.6.2 计划定期执行脚本 15.7 启动时运行 15.7.1 开机时运行脚本 15.7.2 在新shell中启动 15.8 小结 第三部分 高级shell脚本编程 第16章 创建函数 16.1 基本的脚本函数 16.1.1 创建函数 16.1.2 使用函数 16.2 返回值 16.2.1 默认退出状态码 16.2.2 使用return命令 16.2.3 使用函数输出 16.3 在函数中使用变量 16.3.1 向函数传递参数 16.3.2 在函数中处理变量 16.4 数组变量和函数 16.4.1 向函数传数组参数 16.4.2 从函数返回数组 16.5 函数递归 16.6 创建库 16.7 在命令行上使用函数 16.7.1 在命令行上创建函数 16.7.2 在.bashrc文件中定义函数 16.8 小结 第17章 图形化桌面上的脚本编程 17.1 创建文本菜单 17.1.1 创建菜单布局 17.1.2 创建菜单函数 17.1.3 添加菜单逻辑 17.1.4 整合shell脚本菜单 17.1.5 使用select命令 17.2 使用窗口 17.2.1 dialog包 17.2.2 dialog选项 17.2.3 在脚本中使用dialog命令 17.3 使用图形 17.3.1 KDE环境 17.3.2 GNOME环境 17.4 小结 第18章 初识sed和gawk 18.1 文本处理 18.1.1 sed编辑器 18.1.2 gawk程序 18.2 sed编辑器基础 18.2.1 更多的替换选项 18.2.2 使用地址 18.2.3 删除行 18.2.4 插入和附加文本 18.2.5 修改行 18.2.6 转换命令 18.2.7 回顾打印 18.2.8 用sed和文件一起工作 18.3 小结 第19章 正则表达式 19.1 什么是正则表达式 19.1.1 定义 19.1.2 正则表达式的类型 19.2 定义BRE模式 19.2.1 纯文本 19.2.2 特殊字符 19.2.3 锚字符 19.2.4 点字符 19.2.5 字符组 19.2.6 排除字符组 19.2.7 使用区间 19.2.8 特殊字符组 19.2.9 星号 19.3 扩展正则表达式 19.3.1 问号 19.3.2 加号 19.3.3 使用花括号 19.3.4 管道符号 19.3.5 聚合表达式 19.4 实用中的正则表达式 19.4.1 目录文件计数 19.4.2 验证电话号码 19.4.3 解析邮件地址 19.5 小结 第20章 sed进阶 20.1 多行命令 20.1.1 next命令 20.1.2 多行删除命令 20.1.3 多行打印命令 20.2 保持空间 20.3 排除命令 20.4 改变流 20.4.1 跳转 20.4.2 测试 20.5 模式替代 20.5.1 and符号 20.5.2 替换单独的单词 20.6 在脚本中使用sed 20.6.1 使用包装脚本 20.6.2 重定向sed的输出 20.7 创建sed实用工具 20.7.1 加倍行间距 20.7.2 对可能含有空白行的文件加倍行间距 20.7.3 给文件中的行编号 20.7.4 打印末尾行 20.7.5 删除行 20.7.6 删除HTML标签 20.8 小结 第21章 gawk进阶 21.1 使用变量 21.1.1 内建变量 21.1.2 自定义变量 21.2 处理数组 21.2.1 定义数组变量 21.2.2 遍历数组变量 21.2.3 删除数组变量 21.3 使用模式 21.3.1 正则表达式 21.3.2 匹配操作符 21.3.3 数学表达式 21.4 结构化命令 21.4.1 if语句 21.4.2 while语句 21.4.3 do-while语句 21.4.4 for语句 21.5 格式化打印 21.6 内建函数 21.6.1 数学函数 21.6.2 字符串函数 21.6.3 时间函数 21.7 自定义函数 21.7.1 定义函数 21.7.2 使用自定义函数 21.7.3 创建函数库 21.8 小结 第22章 使用其他shell 22.1 什么是dash shell 22.2 dash shell的特性 22.2.1 dash命令行参数 22.2.2 dash环境变量 22.2.3 dash内建命令 22.3 dash脚本编程 22.3.1 创建dash脚本 22.3.2 不能使用的功能 22.4 zsh shell 22.5 zsh shell的组成 22.5.1 shell选项 22.5.2 内建命令 22.6 zsh脚本编程 22.6.1 数学运算 22.6.2 结构化命令 22.6.3 函数 22.7 小结 第四部分 高级shell脚本编程主题 第23章 使用数据库 23.1 MySQL数据库 23.1.1 安装MySQL 23.1.2 MySQL客户端界面 23.1.3 创建MySQL数据库对象 23.2 PostgreSQL数据库 23.2.1 安装PostgreSQL 23.2.2 PostgreSQL命令行界面 23.2.3 创建PostgreSQL数据库对象 23.3 使用数据表 23.3.1 创建数据表 23.3.2 插入和删除数据 23.3.3 查询数据 23.4 在脚本中使用数据库 23.4.1 连接到数据库 23.4.2 向服务器发送命令 23.4.3 格式化数据 23.5 小结 第24章 使用Web 24.1 Lynx程序 24.1.1 安装Lynx 24.1.2 lynx命令行 24.1.3 Lynx配置文件 24.1.4 Lynx环境变量 24.1.5 从Lynx中抓取数据 24.2 cURL程序 24.2.1 安装cURL 24.2.2 探索cURL 24.3 使用zsh处理网络 24.3.1 TCP模块 24.3.2 客户端/服务器模式 24.3.3 使用zsh进行C/S编程 24.4 小结 第25章 使用E-mail 25.1 Linux E-mail基础 25.1.1 Linux中的E-mail 25.1.2 邮件传送代理 25.1.3 邮件投递代理 25.1.4 邮件用户代理 25.2 建立服务器 25.2.1 sendmail 25.2.2 Postfix 25.3 使用Mailx发送消息 25.4 Mutt程序 25.4.1 安装Mutt 25.4.2 Mutt命令行 25.4.3 使用Mutt 25.5 小结 第26章 编写脚本实用工具 26.1 监测磁盘空间 26.1.1 需要的功能 26.1.2 创建脚本 26.1.3 运行脚本 26.2 进行备份 26.3 管理用户账户 26.3.1 需要的功能 26.3.2 创建脚本 26.4 小结 第27章 shell脚本编程进阶 27.1 监测系统统计数据 27.1.1 系统快照报告 27.1.2 系统统计数据报告 27.2 问题跟踪数据库 27.2.1 创建数据库 27.2.2 记录问题 27.2.3 更新问题 27.2.4 查找问题 27.3 小结 附录A bash命令快速指南 附录B sed和gawk快速指南

2016-11-19

CNKI资源PDF下载

cnki-pdf.user.js脚本安装下浏览器中,实现在知网中可以下载PDF文件 cnki-pdf-special.user.js这个一个特制版的脚本。其特别之处在于可以在检索页面中的硕士/博士论文默认下载 CAJ/NH 文件,避免了 PDF 文件没有目录所带来的遗憾。

2016-04-10

java程序打包jre以及制作安装包

java程序打包jre以及制作安装包的详细过程

2016-04-07

jar转换为exe

该工具可用于将jar包转换为exe可执行文件

2016-04-07

TCPIP,详解

本文档为TCPIP协议详解,卷一卷二卷三合集,下载解压之后即可阅读

2016-02-01

nodejs linux-x64 source code

Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台, 用来方便地搭建快速的, 易于扩展的网络应用· Node.js 借助事件驱动, 非阻塞 I/O 模型变得轻量和高效, 非常适合 run across distributed devices 的 data-intensive 的实时应用·

2016-01-19

nodejs-linux-x64

Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台, 用来方便地搭建快速的, 易于扩展的网络应用· Node.js 借助事件驱动, 非阻塞 I/O 模型变得轻量和高效, 非常适合 run across distributed devices 的 data-intensive 的实时应用·

2016-01-19

linux 64位 haroopad

Haroopad是一款Linux上的markdown编辑器,使用Chromium作为UI,支持Windows、Mac OS X和Linux。主题样式丰富,语法标亮支持54种编程语言。 如下图所示,一边是代码编辑窗口,一边是预览窗口,可以实时更新。其邮件导出功能可以将文档发送到Tumblr和Evernote。该资源是linux64位安装包

2015-12-20

linux haroopad 64位

Haroopad是一款Linux上的markdown编辑器,使用Chromium作为UI,支持Windows、Mac OS X和Linux。主题样式丰富,语法标亮支持54种编程语言。 一边是代码编辑窗口,一边是预览窗口,可以实时更新。其邮件导出功能可以将文档发送到Tumblr和Evernote。该资源是linux 64位安装包

2015-12-20

nim字典 自动补全

在vim中设置nim字典,可以根据当前输入显示符合的提示项。

2015-11-30

TCP/IP网络编程 [韩] 尹圣雨

本书面向基于套接字的网络编程学习者,所以不需要太多的基础知识。本书适合所有希望学习Linux和Windows网络编程的人士。

2015-11-24

java实例精通 李相国 源代码

java实例精通 李相国等编著 源代码下载

2015-11-16

java uml 面向对象设计

java与UML面向对象程序设计,结合java学习nml

2015-11-11

mpich-3.1.3

MPI的全称是Message Passing Interface即标准消息传递界面,可以用于并行计算。MPI有多种实现版本,如MPICH, CHIMP以及OPENMPI。mpich-3.1.3是mpich的最新平台。

2015-10-31

startuml linux

startuml linux 32位安装包

2015-10-17

startuml linux

linux下的startuml 64位安装包

2015-10-17

mentohust 64位

Linux版MentoHUST与Windows版兼容,所以如果能够在Windows下使用MentoHUST认证成功,就不必担心安装了Linux后不能使用校园网(当然是指用锐捷的学校)。 锐捷官方Linux版久无更新,使用官方程序很多同学无法通过认证,有些能通过但容易掉线。虽然网上第三方Linux版锐捷客户端不少,但都大同小异,不能通过锐捷的客户端校验。Linux版MentoHUST是一个在Linux下与锐捷兼容性很好的认证客户端,方便使用Linux和锐捷的同学使用校园网。

2015-10-15

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除