1. Linux 系统中当单个目录中文件数过多时,试图用 rm * 来删除所有文件会报错 /bin/rm: Argument list too long.
据说这是因为 Linux 内核中所有 exec 系函数(execl, execlp, execle 等)最终调用的都是 execve() ,
而 execve 是通过一块 128k 的内存空间来保存用以传递给新进程的命令参数和环境变量。当像 rm 这些命令产生的命令行参数超过 128k 的时候,
Linux kernel 就报 E2BIG 错误了。
解决方法是用 find 命令先找出希望删除的文件名再用管道批次传递给 rm 去删除。
比如要删除 sendmail 堆积起来的 mqueue 目录下的文件:
find /WantToDeletePath -name '*' -print0 |xargs -0 rm -rf
2. linux 网卡设置
a. 确认网卡eth0存在
ifconfig eth0 192.168.0.12 up
b. 将文件(/etc/sysconfig/network-scripts/ifcfg-eth0)修改为如下:
*******************************
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static ## here modify to static
IPADDR=192.168.0.12
NETMASK=255.255.255.0
GATEWAY=192.168.0.3
TYPE=Ethernet
*******************************
c. 参数配置完毕后保存文件,并使用/etc/init.d/network restart命令重启网络设备,最新设值即可生效。(不需要重启机器)
[root@linpcl root]# /etc/rc.d/init.d/network restart