Linux 常用知识及故障处理

1、修改当前系统语言

比如当前语言是en_US.UTF-8,因环境需要修改为zh_CN.UTF-8 ,首先切换到root,追加一行内容即可。

echo 'export LANG="zh_CN.UTF-8"' >> ~/.bashrc

重新登录系统,查看语言变化

echo $LANG

2、Linux系统中根目录下或者新挂载的磁盘目录下有一个叫lost+found,它的作用是什么?

如果你运行fsck命令(文件系统检查和修复命令),它也许会找到一些数据碎片,这些文件碎片在硬盘中并没有引用。
特别的,fsck也许能找到看起来是完整的文件,但是在系统中没有名字-一个inode但是不对应文件名。
这个数据仍然占用硬盘空间,但是并不能通过正常方式访问。 

lost+found目录的文件通常是未链接的文件(名字以及被删除),这些文件还被一些进程使用(数据没有删除),在系统突然关机时(内核panic或突然断电)出现。这些文件系统会删除的,你不需要担心。
当因为软件或硬件出现错误,导致文件系统不一致,也有可能把有问题的文件放入到lost+found目录。它提供了恢复丢失文件的一种方法。

如果你不小心删除了lost+found目录,不用使用mkdir命令创建lost+found目录,应该使用 mklost+found命令创建lost+found目录:

$ cd /
$ sudo mklost+found

3、centos时间同步

crontab -e
0 1 * * * /usr/sbin/ntpdate asia.pool.ntp.org

4、新增磁盘挂载

mkfs.xfs /dev/vdb
mkdir -p /www
echo "/dev/vdb              /www                  xfs    defaults        0 0" >> /etc/fstab
mount -a

5、mysql端口转发

#mysql数据库端口转发
########################以下在rinetd服务机器操作#########################
#添加rinetd配置 

echo "0.0.0.0 3307 172.26.82.95 3306" >> /etc/rinetd.conf

#重启服务
ps -ef|grep rinetd

kill -9 ${rinetd_pid}

rinetd

#添加iptables规则
vim /etc/sysconfig/iptables
-A INPUT -s 111.200.218.67/32 -p tcp -m state --state NEW -m tcp --dport 3307 -j ACCEPT

#重启iptables
systemctl restart iptables

#查看规则
iptables -L

#在本地用mysql工具连接测试成功。

6、服务器禁止root登录和禁止密码登录。

sed -i "s/PasswordAuthentication yes/PasswordAuthentication no/g" /etc/ssh/sshd_config && service sshd restart &&grep PasswordAuthentication /etc/ssh/sshd_config

7、vimdiff常用操作

垂直打开:

vimdiff abc.txt abc-a.txt

水平打开:

vimdiff -o abc.txt abc-a.txt

]c表示的是跳到下一个不同处

[c表示的是跳到上一个不同处

切换窗口

ctrl + w + w 左右切换 或者上下切换

8、centos7 安装iptables

##关闭firewall##
#停止firewall 
systemctl stop firewall.service

#禁止firewall开机启动##
systemctl disable firewall.service

##安装iptables防火墙##
#安装iptables 
yum install iptables-services

#编辑防火墙文件 
vi /etc/sysconfig/iptables 
添加80和3306端口 
-A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT 
-A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT

#重启防火墙使配置文件生效 
systemctl restart iptables.service

#设置iptables防火墙为开机启动项 
systemctl enable iptables.service

###关闭SELINUX###
vi /etc/selinux/config 
#注释以下配置 
SELINUX=enforcing 
SELINUXTYPE=targeted
#增加以下配置
SELINUX=disabled
#使配置立即生效 
setenforce 0

9、判断某个网段在线IP

for i in {1..254};do ping -q -i 0.01 -c 3 192.168.15.$i &> /dev/null && echo 192.168.16.$i is alive; done

10、zabbix3.0.14 检测中 图形 文字显示方块

原因很简单,图形显示用的字体是dejavu,不支持中文。
怎么办?先理清逻辑。
zabbix配置文件(/usr/share/zabbix/include/defines.inc.php)里,定义的字体叫做graphfont.ttf,然后一路软链接到DejaVuSans.ttf,如下:
/usr/share/zabbix/graphfont.ttf -> /etc/alternatives/zabbix-web-font -> /usr/share/fonts/dejavu/DejaVuSans.ttf

那么,修改掉最后一层软连接的目标字体就可以了。执行类似下面的命令就可以了。
yum install google-noto-sans-simplified-chinese-fonts.noarch -y
mv /etc/alternatives/zabbix-web-font /etc/alternatives/zabbix-web-font_bak 
ln -s /usr/share/fonts/google-noto/NotoSansSC-Regular.otf /etc/alternatives/zabbix-web-font