Linux 文本处理工具(sort)
sort命令用于对文本行进行排序, 这里介绍下经常使用的场景:
sort filename
对本中的行按自然顺序排序sort -n filename
对行首内容已数值方式排序sort -r filename
对行按自然顺序降序排列
以第N列排序, 示例以第2列按文本自然顺序排序
sort -k 2 myFile
sort命令用于对文本行进行排序, 这里介绍下经常使用的场景:
sort filename
对本中的行按自然顺序排序sort -n filename
对行首内容已数值方式排序sort -r filename
对行按自然顺序降序排列以第N列排序, 示例以第2列按文本自然顺序排序
sort -k 2 myFile
find
用于查找文件或者目录, 同时 find
还有部分增强功能, 用于对查找到的内容进行处理.
html
文件find . -name "*.html"
查找 大于 9M 的文件
find . -size +9M
查找小于9k的小文件
find . -size -9k
当您想要生成一个唯一的事务id或作为一个随机临时密码生成器,用户首次在网站上注册或创建防止自动输入的验证码时,通常需要生成随机的字符序列。
Java提供了许多不同的方法来编写随机字符串生成器应用程序,下面介绍几种方式。
UUID是由一组32位数的16进制数字所构成,故UUID理论上的总数为1632=2128,约等于3.4 x 1038。也就是说若每纳秒产生1兆个UUID,要花100亿年才会将所有UUID用完。
java.util.UUID 类可用于生成UUID, 它的static randomUUID方法返回一个32个字符的字符串。
import java.util.UUID;
public class RandomStringGenerator {
public static void main(String[] args) {
String randomString = usingUUID();
System.out.println("Random string is: " + randomString);
System.out.println("Random string of 8 characters is: "
+ randomString.substring(0, 8));
}
static String usingUUID() {
UUID randomUUID = UUID.randomUUID();
return randomUUID.toString().replaceAll("-", "");
}
}
注意randomUUID方法生成的字符串包含“-”。上面的示例通过使用空字符串替换了。
以上程序输出为:
Random string is: 923ed6ec4d04452eaf258ec8a4391a0f
Random string of 8 characters is: 923ed6ec
在这个快速教程中,我们将展示如何在Maven中设置Java版本。
在继续之前,我们可以检查Maven的默认JDK版本。运行mvn -v命令将显示Maven运行的Java版本。
$ mvn -v
Apache Maven 3.6.1 (d66c9c0b3152b2e69ee9bac180bb8fcc8e6af555; 2019-04-05T03:00:29+08:00)
Maven home: /opt/apache-maven-3.6.1
Java version: 1.8.0_212, vendor: Oracle Corporation, runtime: /Library/Java/JavaVirtualMachines/jdk1.8.0_212.jdk/Contents/Home/jre
Default locale: zh_CN, platform encoding: UTF-8
OS name: "mac os x", version: "10.14.6", arch: "x86_64", family: "mac"
我们可以在编译器插件中指定所需的Java版本。
在我们使用 Linux
的过程中, 我们经常需要对文本进行处理,需要一些强有力的工具, 来提升我们的效率.接下来介绍下 grep
/cat
/awk
/uniq
这些常用命令的使用.
grep
grep
是我们用的非常多的命令, 查询日志, 查找关键内容等等.
查询包含 xyz
的行
grep 'xyz' myFile
在当前目录下所有html文件中查询包含 xyz
的行
grep 'xyz' *html
构建软件项目通常包括以下任务:下载依赖项、在类路径上放置额外的JAR、将源代码编译成二进制代码、运行测试、将编译后的代码打包成可部署的构件(如JAR、WAR和ZIP文件),并将这些构件部署到应用服务器或仓库。
Apache Maven将这些任务自动化,在手工构建软件并将编译和打包代码的工作与代码构建工作分离开来的同时,将人类出错的风险降到最低。
在本教程中,我们将探索这个功能强大的工具,它使用用XML编写的中心信息—项目对象模型(Project Object Model, POM)—来描述、构建和管理Java软件项目。
Maven的主要特性:
root@server:~# uname -a
Linux server 4.4.0-157-generic #185-Ubuntu SMP Tue Jul 23 09:17:01 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
root@server:~# cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.6 LTS"
当然你同样可以使用 lsb_release
命令来查看上述信息
Lombok是一个库,它简化了许多繁琐的任务,并减少了Java源代码的冗长。当然,我们通常希望能够在IDE中使用库,这需要额外的设置。在本教程中,我们将讨论如何在两种最流行的Java ide (IntelliJ IDEA和Eclipse)中配置它。
Lombok通过APT使用注释处理,因此,当编译器调用它时,库根据原始文件中的注释生成新的源文件。
不过,默认情况下不启用注释处理。
因此,我们要做的第一件事是在项目中启用注释处理。
打开 Preferences -> Build, Execution, Deployment -> Compiler -> Annotation Processors 勾选以下:
* Enable annotation processing
* Obtain processors from project classpath
解压 [eclipse-jee-luna-SR2-win32-x86_64.zip] 到 D:\tools\ 目录
使用类似vscode的文本编辑器编辑 D:\tools\eclipse\eclipse.ini
文件
设置内存大小为2G, 对应的设置如下:
-Xms2048m
-Xmx2048m
计算节点处理实例的连接和 安全组 。
# yum install openstack-neutron-linuxbridge ebtables ipset
Networking 通用组件的配置包括认证机制、消息队列和插件。
默认配置文件在各发行版本中可能不同。你可能需要添加这些部分,选项而不是修改已经存在的部分和选项。另外,在配置片段中的省略号(...)表示默认的配置选项你应该保留。
编辑/etc/neutron/neutron.conf
文件并完成如下操作:
[database]
部分,注释所有connection
项,因为计算节点不直接访问数据库。[DEFAULT]
...
rpc_backend = rabbit
[oslo_messaging_rabbit]
...
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = RABBIT_PASS
用你在RabbitMQ中为openstack
选择的密码替换 “RABBIT_PASS”。