problems_linux

目录

problems_linux

1 './hello.sh' failed

desc:
sh hello.sh , bash hello.sh succeeded, but './hello.sh' failed,
RCA:
because sh and bash has the executing privilege, but hello.sh itself has no executing privilege.
solution:
chmod +x ./hello.sh

2 linux报错 -bash: fork: retry: No child processes

RCA:
普通用户默认只能打开1024个连接,系统需要打开超过1024个连接,所以报错。
solution:

su root
[root@nlp03 ~]# ulimit -n
修改最大文件打开数,以及最大进程数
# 一个是修改最大文件打开数,一个是修改最大进程数,其中root表示管理员,*表示普通用户
echo -e  "root soft nofile 65535\nroot hard nofile 65535\n* soft nofile 65535\n* hard nofile 65535\n" >> /etc/security/limits.conf
sed -i 's#4096#65535#g' /etc/security/limits.d/20-nproc.conf

reference: https://blog.csdn.net/qianyidui/article/details/110679476

3 Linux mount--目录挂载新磁盘后原文件不见了

挂载步骤如下:

  1. 查看硬盘信息
    fdisk -l

  2. 假设现在想把 /dev/sdb 挂载到新建目录 /data ,我们需要:

mkdir /data   # 新建挂在点  
mount /dev/sdb /data   # 挂载磁盘

但有时我们会遇到这样的情况:挂载点为已有非空目录。
这时我们需要注意先把目录中文件拷贝至其他目录后再执行挂载操作。

假设待挂载的非空目录为 /oradata, 操作如下:

mkdir /new                  //创建临时目录
cp -R /oradata/*  /new     //将/oradata下的所有数据复制到/new
rm -rf /oradata/*          //腾出空间给原来的硬盘(可选)
mount /dev/sdb /oradata    //挂载/oradata到新硬盘
cp -R /new/*  /oradata    //将/new下的所有数据复制回/oradata
rm -rf /new              //删除临时目录

如果很不幸,挂载的路径有文件,不小心把其它文件覆盖了,怎么办?
不要慌!数据并没有丢失。

比如挂载到了 /home下,原来/home下的文件全都不见了。
此时我们只需要解挂:
# umount /dev/sdb /home

也可以省略挂载点,直接写成:
umount /dev/sdb

解挂后,操作系统指向 /home 的地址改变了,原来的文件又能看见了。

reference: https://blog.csdn.net/Ruishine/article/details/115180310

3 Ubuntu18 wps打开时报错“缺失字体”

desc: ...
RCA:
WPS for Linux没有自带windows的字体,只要在Linux系统中加载字体即可。
solution:
下载缺失的字体文件压缩包wps_symbol_fonts.zip(在我的百度网盘的/app/office/目录下),解压缩到wps_symbol_fonts文件夹,然后复制该文件夹到Linux系统中的/usr/share/fonts文件夹中。
执行以下命令,生成字体的索引信息:

sudo mkfontscale
sudo mkfontdir

运行fc-cache命令更新字体缓存。
sudo fc-cache

重启wps即可,字体缺失的提示不再出现。
reference: https://www.jianshu.com/p/7092f8efa175

4

上一篇:solved problems


下一篇:Java开发Eclipse中常用英语单词汇总