日期:2014-05-16  浏览次数:20855 次

玩Linux五年积累的技巧(2) -- 系统(上)
本文主要介绍了Linux系统方面的一些技巧。
作者 JH Gao<gaopenghigh@gmail.com>
从最开始接触Linux到现在已经有5年了,和所有人一样,少不了折腾。折腾后偶尔我会把方法记录下来,现在简单总结一下。
所以的命令功能通过man都能找到具体用法,我只把自己觉得常用的列举出来。


1. /etc/fstab文件出错时,系统不能正常启动,此时可以启动进入single user模式,而改模式下根目录"/"是只读的,可以用如下的命令把"/"重新挂载为“读写”:
[root@linux]# mount -n -o remount,rw /
-n : mount but do not change /etc/mtab
-o : options


2.partprobe--不用重启使用新的分区表
partprobe : reinitializes the kernel in memory of the partition table. 更改分区设置后,系统提示需要重启以更改kernel中的分区表,利用partprobe即可免除重启。

3. ubuntu系统在GDM和KDM之间切换。如果你同时安装了GNOME和KDE,有时候需要在gdm和kdm之间切换:
sudo dpkg-reconfigure gdm


4.增加swap空间
a. 创建一个新的分区或新的文件
b. 用mkswap工具写入特殊标记
c. 在/etc/fstab中加入新的记录
d. 激活swap分区,命令swapon -a 或者 swapon [SWAPFILE]
e. 用swapon -s 命令检查swap分区的状态
例子:
dd if=/dev/zero of=/swapfile bs=1M count=100
mkswap /swapfile
vi /etc/fstab ...
swapon -a


5. 不用格式化把ext2转换为ext3
tune2fs -j /dev/sdax


6.一个网卡绑定多个IP
例子:
系统是CentOS, 网卡是eth0,如果只要额外设置1个IP,则创建文件/etc/sysconfig/network-scripts/ifcfg-eth0:0, 在该文件中设置IP信息。
如果需要设置一个IP段,则创建文件ifcfg-ethX-rangeX:
ifcfg-eth0-range0:
DEVICE=eth0-range0
BOOTPROTO=static
HWADDR=08:00:27:24:C2:72
ONBOOT=yes
IPADDR_START=192.168.56.20
IPADDR_END=192.168.56.30
NETMASK=255.255.255.0


然后重启网络

7. 更改hostname搜寻顺序
修改 /etc/nsswitch.conf
(修改这个文件可以实现更多功能,比如查询group, passwd, networks等的查询顺序,具体可以查看man手册)

8. lsof命令可以列出所有打开的文件。这个命令最常用的功能是找到“丢失”的空间。
比如我们用df命令看到/home分区只剩下1G了,但用du命令得到的结果是应该还有5G才对,这种情况往往是由于一些文件被删除,但这些被删除的文件的文件句柄还没有被释放导致的。用命令
lsof | grep -i deleted

查看有哪些文件被删除了但文件句柄还没释放,kill或者重启响应的进程就能找回“丢失”的空间。
lsof有时候还能恢复被误删除的文件,具体方法请google.

9.  目录的长度从来不会是0,因为它总是包含.和..两项。符号连接的长度指其路径名包含的字符数,由于路径名中至少有一个字符,所以长度也不为0.

10. 要创建一个名为“-f”的文件夹,使用命令mkdir -f必然失败,而用
mkdir -- -f

则可以创建成功.

11. 用"cd -"在最近使用的两个目录间切换

12. su 和 su - 的区别:执行su时新shell将继承当前的shell环境,su -模拟实际的root登陆会话

13. 快速清除history
export HISTSIZE=0