解决Linux下java中文方块问题

原因:

jdk缺少中文字体


解决方法:

OracleJDK 与 OpenJDK 通用

1.确定JRE目录

#确定JRE目录
update-alternatives --config java

我这里jre目录为 /usr/lib/jvm/java-8-openjdk-amd64/jre

2.补充字体

#进入jre的字体目录
cd /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/fonts
 
#新建文件夹
mkdir fallback
 
#复制文泉驿字体到fallback下
cp /usr/share/fonts/truetype/wqy/wqy-zenhei.ttc fallback/wqy-zenhei.ttc

复制字体这一步基本上中文字库都可以,如果实在无法找到可以使用gbsn00lp.ttf字体,也可以尝试使用命令 ttf-wqy-zenhei 安装文泉驿字体。

3.测试

OK!

Tpyecho 支持html

只需要用三个感叹号就可以强制启用html了



!!!

<script>
function myFunction()
{
    alert("你好,我是一个警告框!");
}
</script>

<center><input type="button" onclick="myFunction()" value="显示警告框"></center>

!!!

Linux SSH密钥登录

本次实验环境为:阿里云 CentOS\_7.4\_x64 已开放22端口

编辑 sshd 配置文件

#编辑 /etc/ssh/sshd_config 文件
vim /etc/ssh/sshd_config

#设置是否使用RSA算法进行安全验证
RSAAuthentication yes

#允许客户端通过 public-key authentication来登陆
PubkeyAuthentication yes

#root用户能否通过 SSH 登录
PermitRootLogin yes

#禁用密码登录,建议确认完成全部设置,并可以使用密钥方式登录成功后再修改。
PasswordAuthentication no

#重启 SSH 服务
service sshd restart

更多关于 sshd_config 文件说明请点击这里


检查是否已经生成过ssh密钥

Linux下为什么目录的大小总是4096?

在Linux下一切皆文件,因此目录也是文件。所以,通过 ls -al 命令显示的目录大小并非常规意义上包含其子文件的总大小,而是单纯指的是目录的大小。这一点和Windows并不一样。

请注意一点,其实Linux下目录的大小并不都是4096的。

那么为什么大部分的目录大小都是4096呢?这需要从Linux文件的存储机制说明。

  • 文件储存在硬盘上,硬盘的最小存储单位叫做“扇区”(Sector)。每个扇区储存512字节(相当于0.5KB)。
  • 操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个“块”(block)。这种由多个扇区组成的“块”,是文件存取的最小单位。“块”的大小,最常见的是4KB,即连续八个 sector组成一个 block。
  • 文件数据都储存在“块”中,那么很显然,我们还必须找到一个地方储存文件的元信息,比如文件的创建者、文件的创建日期、文件的大小等等。这种储存文件元信息的区域就叫做inode,中文译名为“索引节点”。
  • 每一个文件都有对应的inode,里面包含了与该文件有关的一些信息。

而Linux系统中,目录(directory)也是一种文件。打开目录,实际上就是打开目录文件。目录文件的结构非常简单,就是一系列目录项(dirent)的列表。每个目录项,由两部分组成:所包含文件的文件名,以及该文件名对应的inode号码。

所以ls -al命令实际显示的就是目录文件的大小。又因为OS定义的文件最小存取单位是“块”(block)是4KB,所以目录一般显示为4096B。

如果你需要看目录的总小可已用 du 命令。

PS:OS系统块的大小是可以修改的。

修改 Linux 终端欢迎文字(布告栏)


/etc/motd 文件

motd即messageoftoday(布告栏信息),每次用户登录时,/etc/motd文件的内容会显示在用户的终端.

系统管理员可以在文件中编辑系统活动消息,例如:

  • 管理员通知用户系统何时进行软件或硬件的升级
  • 何时进行系统维护等.

如果shell支持中文,还可以使用中文,这样看起来更易于了解.


/etc/issue 文件

issue文件的使用方法与motd文件相差不大.

它们的主要区别在于:

  • 当一个网络用户或通过串口登录系统上时, /etc/issue 的文件内容显示在login提示符之前
  • /etc/motd内容显示在用户成功登录系统之后.

PS: 我们在用 ctrl+alt+f1~f7 登录到终端 tty1~tty6 时,会显示提示符字符串,这些字符串就是写在 /etc/issue 下,可以用 vim /etc/issue 打开看

还有一个 /etc/issue.net 文件,它提供给telnet远程登录程序使用的。默认情况下 /etc/issue 文件和 /etc/issue.net 内容一样,如需要,可根据自己需要修改。

issue 内的各代码意义:

\t #本地端时间的日期;
\l #显示第几个终端机接口;
\m #显示硬件的等级 (i386/i486/i586/i686...);
\n #显示主机的网络名称;
\o #显示 domain name;
\r #操作系统的版本 (相当于 uname -r);
\t #显示本地端时间的时间;
\s #操作系统的名称;
\v #操作系统的版本;