1. 1. 消除XWindows下的死机现象  
  2.  
  3.     我们可以用两个常用的方法来消除这种现象:  
  4.  
  5.     第一,用键盘上的复合键“Ctrl+Alt+Backspace”来关闭当前正在运行的任务,这样做会导致注销;  
  6.  
  7.     第二,首先按住键盘上的“Ctrl+Alt+F1”复合键,让系统切换到另一个操作台,然后登录到系统,再执行“#ps-ax/grep startx”命令,这将会列出你的Xserver的进程标识,接着在命令行中输入如下命令就能消除Xwindows下的死机现象:  
  8.  
  9.     kill -9 PID_Number  
  10.     最后通过“Alt+F1”复合键返回到原来的平台。  
  11.  
  12.     2. 复制文件夹及其子目录下所有文件  
  13.  
  14.     cp -a /work/lib/target/ / #-a等效于-dpR  
  15.     3. 删除非空目录及其子目录  
  16.  
  17.     rm -dRf /work/lib  
  18.     4. 文件(夹)移动及其重命名  
  19.  
  20.     mv predir/prefile newdir/newfile  
  21.     5. 切换KDE、GNOME桌面环境  
  22.  
  23.     直接在终端中 switch desk kde/gnome,然后注销,重新登陆。  
  24.  
  25.     6. 查看文件/文件夹容量  
  26.  
  27.     du -h file/dir #以KB,MB为单位显示文件/文件夹大小;  
  28.     du -sh dir #显示文件夹及其子目录容量;  
  29.     7. 查看文件系统信息  
  30.  
  31.     df -lh #用于报告文件系统的总容量、使用量、剩余容量等。  
  32.     8. 查看系统信息  
  33.  
  34.     uname -a #列出系统当前内核版本,可用uname --help 查看选项,包括内核名、版本;机器硬件名、处理器型号等信息。  
  35.  
  36.     ps #命令查看当前各个进程详细信息,包括CPU、内存占用率等。如ps-aux。  
  37.  
  38.     9. 控制台(Console)与XWindow(图形桌面)切换  
  39.  
  40.     Ctrl+Alt+F1~F6: 提供6个虚拟控制台;  
  41.     Ctrl+Alt+F7: 返回XWindow。  
  42.  
  43. 答:这行代码说明安装失败是因为你的系统上没有安装合适的钥匙来校验签名。要使该软件包通过校验,可以通过导入Red Hat的公匙来解决,具体的方式是在Shell下运行如下命令:  
  44.  
  45. #rpm -import /usr/share/rhn/RPM-GPG-KEY 
  46.  
  47. (注意大小写)  
  48.  
  49. http://linux.chinaitlab.com/administer/721344_2.html  
  50.  
  51. 问:如果我用Squid代理的代理服务器在192.168.1.0这个网段里,例如它的IP是192.168.1.1,我有一些客户端在192.168.2.0这个网段内,怎样设置才能通过这个代理服务器出去?  
  52.  
  53.     答:如果不用透明代理,直接在浏览器的代理选项里设置就可以了。否则首先是在代理服务器的网卡上再挂一个IP为192.168.2.1,添加相应的路由,再修改Squid的squid.conf文件里的监听地址和端口等,最后在192.168.2.0网段的客户端设置其网关为192.168.2.1,再直接在浏览器的代理选项里设置一下就可以了。  
  54.  
  55.     问:我在Windows中通过FTP传一个文本文件到Linux中,但是打开文本文件后每行最后都有^M的标志。由于很长,用编辑器去除太麻烦,有什么解决办法呢?  
  56.  
  57.     答:为了解决这个问题,Linux下专门有两个工具可以互换Windows格式和Linux格式,它们分别是dos2unix和unix2dos。比如用下面的命令就可以将文件名为“filename”文件从Windows格式转换为Linux文本格式。  
  58.  
  59. # dos2unix filename  
  60.  
  61.  
  62.     问:安装了一台Linux服务器,想自己编译内核,一步一步做下来,GRUB也添加进去了,但出现“kernel Panic:VFS:Unable to mount root fs on 0:00”的错误,请问是怎么回事?  
  63.  
  64.     答:一般情况下initrd这个文件在台式机上不是必须的,但是在有SCSI设备的服务器上却是必须的。有可能因为编译内核的时候没有产生initrd那个文件,所以会有上面的错误提示。用户可以使用mkinitrd命令来生成一个initrd.img文件,然后加入GRUB,重启试一试。  
  65.  
  66.     问:如何设置用户登录后的欢迎信息?  
  67.  
  68.     答:修改/etc/motd文件,往里面写入文本,就能使用户通过Telnet正确登录后,执行Shell之前得到相应的提示信息。  
  69.  
  70. motd就是“messages of the day”,也就是当日信息的意思。管理员可以往里面写一些需要注意的事项或通知等来提醒正式用户。  
  71.  
  72.     问:如何使用netrc文件进行自动FTP?  
  73.  
  74.     答:在自己的home目录下建立一个权限为600,后缀名为.netrc的文件,内容如下:  
  75.  
  76. machine 172.168.15.1 login admin password admin  
  77.  
  78.  
  79. 这样用户以后每次登录FTP服务器172.168.15.1的时候,系统都会帮用户以用户名admin、密码admin登录。用户利用这个特征可以实现自动FTP。例如用户想要每天6:00到172.168.15.1机器上面获得/admin目录下的文件admin.txt,可以按如下方法做。  
  80.  
  81. 建立一个文件ftp_cmd,内容如下:  
  82.  
  83. cd admin  
  84. get amin.txt  
  85. bye  
  86.  
  87.  
  88. 然后使用crontab -e设置定时任务:  
  89.  
  90. 0 6 * * * ftp 172.168.15.1 < ftp_cmd  
  91.  
  92.  
  93.     问:怎样得到ipchains的日志?  
  94.  
  95.     答:用户设置规则的时候必须加入-l参数才会在/etc/messages里面做记录。不过建议还是不加的好,不然用户的/etc/messages会变得非常大。  
  96.  
  97. 安全  
  98.  
  99.     问:我下载了rcs5.7,用./configure && make && make install时报错如下:  
  100.  
  101. ./conf.sh: testing permissions ...  
  102. ./conf.sh: This command should not be run with superuser permissions.  
  103.  
  104.  
  105. 我是以root用户身份登录编译安装的,为什么会这样?  
  106.  
  107.     答:有些软件确实因为考虑到安全等其它原因不能用root用户编译。这时只要用其它用户编译,到make install这步时,如果该软件安装在不属于编译时的用户的主目录下时,需要使用su命令转换为root用户再执行make install。  
  108.  
  109.     问:我在安装USBView时失败,具体情况如下:  
  110.  
  111. #rpm -ivh usbview-1.0-9.src.rpm  
  112. warning:usbview-1.0-9.src.rpm:V3 DSAsignature:NOKEY,key IDab42a60e  
  113.  
  114.     问:如何防止某个关键文件被修改?  
  115.  
  116.     答:在Linux下,有些配置文件是不允许任何人(包括root)修改的。为了防止被误删除或修改,可以设定该文件的“不可修改位(immutable) ”。命令如下:  
  117.  
  118. # chattr +i /etc/fstab  
  119.  
  120.  
  121. 如果需要修改文件则采用下面的命令:  
  122.  
  123. # chattr -i /etc/fstab  
  124.  
  125.  
  126.     问:怎样限制一个用户可以启动的进程数?  
  127.  
  128.     答:先确定一下/etc/pam.d/login文件中下面一行的存在:  
  129.  
  130. session required /lib/security/pam_limits.so  
  131.  
  132.  
  133. 然后编辑/etc/security/limits.conf,在里面可以设置限制用户的进程数、CPU占用率和内存使用率等,如hard nproc 20就是指限制20个进程,具体可以看man。  
  134.  
  135.     问:如何不显示其它用户的消息?  
  136.  
  137.     答:用户可以使用mesg n来禁止别人给自己发送信息,其实就是禁止别人往自己的终端上面的写的权限。当别人试图再使用write给自己发送信息时,发送者将会看见提示如下:  
  138.  
  139. write: user has messages disabled on pts/n  
  140.  
  141.  
  142.     问:如何限制Shell命令记录大小 ?  
  143.  
  144.     答:默认情况下,bash会在文件$HOME/.bash_history中存放多达500条命令记录。有时根据具体的系统不同,默认记录条数不同。系统中每个用户的主目录下都有一个这样的文件。为了系统的安全,在此强烈建议用户限制该文件的大小。用户可以编辑/etc/profile文件,修改其中的选项如下:  
  145.  
  146. HISTFILESIZE=30 或 HISTSIZE=30  
  147.  
  148. 这样就将记录的命令条数减少到30条。  
  149.  
  150.     问:我想将开机时显示的信息保留下来,以检查电脑出了问题的地方,请问怎么办?  
  151.  
  152.     答:可输入下面的命令:  
  153.  
  154. #dmesg >bootmessage  
  155.  
  156. 该命令将把开机时显示的信息重定向输出到一个文件bootmessage中。  
  157.  
  158.     问:我想在注销时删除命令记录,请问怎么做?  
  159.  
  160.     答:编辑/etc/skel/.bash_logout文件,增加如下行:  
  161.  
  162. rm -f $HOME/.bash_history  
  163.  
  164.  
  165. 这样,系统中的所有用户在注销时都会删除其命令记录。  
  166.  
  167.     总结:以上列数的是一些最常用的系统和文件操作命令,某些命令可以在最短的时间内以最快捷径找到问题并解决它,是不是很方便啊?当然还要更多的好东西在等着你发掘,立即动手试试吧!