正则表达式详解
什么是正则表达式正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。
基本匹配在搜索时直接输入想要搜索的字母数字或字符,例如:
1234$ cat regtest.txt$ The fat cat sat on the mat$ grep -o 'the' regtest.txt$ the
元字符
元字符
描述
.
句号匹配任意单个字符除了换行符
[]
字符种类,匹配方括号内的任意字符
[^]
否定的字符种类,匹配除了方括号里的任意字符
*
匹配>=0个重复的在*号之前的字符
+
匹配>=0个重复的在*号之前的字符
?
标记之前的字符为可选的
{n,m}
匹配n至m个大括号之前的字符或者字符集
(abc)
字符集,匹配与abc一样的字符串
\
转义字符,用于匹配一些保留的字符 [ ] ( ) { } . * + ? ^ $ \ |
^
从开始行开 ...
Shell 中字符串的分割和括号的使用
导言在Shell编程过程中经常要用到字符串的截取和一些括号的使用,在这进行详细的说明
字符串截取和替换{string##*var}
从左到右 截取 最后一个等于var字符串 右边的字符
123$ string='thistestfortest.word'$ echo ${string##*test}$ .word
{string#*var}
从左到右 截取 第一个等于var字符串 右边的字符
123$ string='thistestfortest.word'$ echo ${string#*test}$ fortest.word
{string%%*var}
从右到左 截取 最后一个等于var字符串 左边的字符
123$ string='thistestfortest.word'$ echo ${string%%test*}$ this
{string%*var}
从右到左 截取 第一个等于var字符串 左边的字符
123$ string=' ...
Linux 下 NFS 服务配置
导言NFS(Network File System),即网络文件系统。功能是通过网络让不同的机器、不同的操作系统能够分享个人数据,让应用程序通过网络可以访问位于服务器磁盘中的数据。
NFS服务端、RPC协议、NFS客户端之间的关系
服务端NFS配置安装NFS和RPC
CentOS
1$ yum install -y nfs-utils rpcbind
Ubuntu
1$ sudo apt-get install nfs-utils rpcbind
新建NFS共享文件并修改权限123$ mkdir -p share_dir$ chmod 777 -R share_dir$ chmod nobody:nobody share_dir
NFS 配置/etc/exports文件123$ cat >> /etc/exports <<EOFshare_dir client_ip(rw,sync, insecure, no_root_squash)EOF
其中share_dir 为服务器端共享目录(绝对路径),client_ip为客户端IP地址
后面括号里的rw代 ...
利用kickstart进行无人值守安装CentOS
利用kickstart进行无人值守安装CentOS下载CentOS
CentOS (使用的是网易的镜像)
C 库函数
C 库函数数学函数
使用函数时,应该在源文件中使用以 下命令行:
123# include <math.h>or# include "math.h"
函数名
函数原型
功能
返回值
说明
@@@@
@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@
@@@
@@@@@@
sin
double sin(double x)
计算 $sin(x)$ 的值
计算结果
x 的单位为弧度
asin
double asin(double x)
计算 $sin^{-1}(x)$ 的值
计算结果
x 应在 -1 到 1 范围内
sinh
double sinh(double x)
计算 x 的双曲正弦函数 $sinh(x)$ 的值
计算结果
-
cos
double cos(double x)
计算 $cos(x)$ 的值
计算结果
x 的单位为弧度
acos
double acos(double x)
计算 $cos^{-1}(x)$ 的值
计算结果
x 应在 -1 到 1 范围内
cosh
double c ...
shell命令 cut 的用法
cut 的用法1$ cut ***OPTION...*** ***[FILE]...***
OPTION选项各参数解析及例子
-b 按字节(bytes)剪切
1$ cut -b[n1-n2] [FILE]
n1和n2可以只有一个,表示选择第n个字符,n1-n2 表示选择n1-n2间的字符
-n 不要分隔多字节字符,与 -b 一起使用
1$ cut -b[n1-n2] -n [FILE]
由Figure1可以看出,当选择的是汉字时就会出现乱码,这时就需要加上 -n 选项了
-c 按字符剪切
1$ cut -c[n1-n2] [FILE]
不管是单字节字符,还是多字节字符,都算一个
-f 按字段分隔符来剪切
-d 设定字段分隔符,默认为[TAB],与 -f 一起使用
12$ cut -f[n1-n2] [FILE]$ cut -d"[分隔符]" -f[n1-n2] [FILE]
-s 不选择不包含分隔符的行
1$ cut -f[n1-n2] -s [FILE]
对比Figure3可知,加上 -s 后,最后一行不包含分 ...
一些常见 Shell 命令的使用
变量定义
变量定义等号前后不能加空格,例如:”A=123”
数组定义引用123456A=( test1 test2 test3 )引用: echo ${A[0/1/2/...]}显示所有参数 echo ${A[@]}将显示所有参数=> test1 test2 test3显示参数个数 echo ${#A[@]} => 3替换某个数组元素,例如替还第二个test2数组为test5: echo ${A[@]/test2/test5}如何删除某个数组元素,例如删除test3 => unset A[2]
计算任意精度数1234a=$(echo "scale=n;$num1/$num2"|bc) //scale=n;` *n是多少就保留多少位小数*j=\`bc <<< "$nu ...
Vim 的一些基本命令
vi/vim 常用基本命令:
文本的输入:
a\A 光标后\当前行最后面插入i\I 光标前\当前行最前面插入o\O 在当前行的 下一行\上一行插入新的空白行
文本的删除:
x\X 删除光标处、光标前的字符dd 删除当前行J 删除当前行的换行符,使当前行与下一行合并为一行
12345678d+定位符 d0\d^ 删除光标左边的文本。0或^代表行首 d$ 删除光标右边的文本。$代表行尾 dG 删除光标所在行之后的所有行。G代表最后一行 db 删除光标处前的字符直到词首。b代表词尾 de 删除光标处的字符直到词尾。e代表词尾 dw 删除光标处的字符直到下一个词的词首。w代表下一词词首。 注:以上命令前带数字n时表示删除范围扩大n倍。
文本的修改:
cc 修改光标所在的行C 修改光标处到行尾的文本
123456789c+定位符 c0\c^ 修改光标左边的文本。0或^代表行首 c$ 修改光标右边的文本。$ ...
Github Page + Hexo 搭建个人博客
本文详细概述了从零开始使用 GitHub Pages + Hexo 建造一个属于自己的博客。
什么是GitHub Pages 、Hexo
GitHub Pages
GitHub Pages 是一个静态网页托管服务。被设计来管理你的来自一个GitHub 库的个人的、组织的、或者项目的页面。
Hexo
根据官方介绍,Hexo 是一个快速、简洁且高效的博客框架。Hexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。
安装 git
Windows
下载并安装 git
下载地址一 海外用户
下载地址二 国内用户
Mac
1.安装 Hmoebrew
1$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
2.安装 git
1$ brew install git
注:如果在编译时可能会遇到问题,请先到 App Store 安装 Xcode,Xc ...