(2)Linux一句话精彩问答--2006/09/08更新

1101 linux中刻录iso的方法(hutuworm)
方法一:使用xcdroast,选择制作光碟,选择ISO文件,刻录!
参见 http://www.xcdroast.org/xcdr098/faq-a15.html#17
方法二:找刻录机的命令:
cdrecord --scanbus
输出结果为:
0,0,0 0) 'ATAPI ' 'CD-R/RW 8X4X32 ' '5.EZ' Removable CD-ROM
刻录的命令:
cdrecord -v speed=8 dev=0,0,0 hutuworm.iso
方法三:使用k3b可以刻录CD/DVD
k3b主页: http://www.k3b.org/
(实际上k3b是个图形界面,刻录CD利用了cdrecord,刻录DVD利用了dvd+rw-tools http://fy.chalmers.se/~appro/linux/DVD+RW/ )

1102 屏幕变花时怎么办(双眼皮的猪)
当您一不小心cat了一个并不是文本的文件的时候,这时屏幕会变花,那么您可以按两下"Enter"键,再敲"reset",那么屏幕就恢复正常了....

1103 卸载软件包时如何得知具体包名(diablocom)
大家知道删除软件包的命令是rpm -e XXX,但是当我们不知道这个XXX的确切拼写时,可以用rpm -q -a查询所有安装的软件包或者用rpm -qa |grep xxxx查询出名字

1104 使用内存作linux下的/tmp文件夹(yulc)
在/etc/fstab中加入一行:
none /tmp tmpfs default 0 0
或者在/etc/rc.local中加入
mount tmpfs /tmp -t tmpfs -o size=128m
注:size=128m 表示/tmp最大能用128m
不管哪种方式,只要linux重启,/tmp下的文件全部消失

1105 用ls只列出目录(yulc)
ls -lF | grep ^d
ls -lF | grep /$
ls -F | grep /$

1106 在命令行下列出本机IP地址,而不是得到网卡信息(yulc)
ifconfig |grep "inet" |cut -c 0-36|sed -e 's/[a-zA-Z: ]//g'
hostname -i

1107 修改/etc/profile或者$HOME/.profile文件后如何立即生效(peter333)
#source /etc/profile (或者source .profile)

1108 bg和fg的使用(陈绪)
输入ctrl+z,当前一个任务会被挂起并暂停, 同时屏幕上返回进程号,此时用 "bg %进程号",会把这个进程放到后台执行,而用" fg %进程号 "就能让这个进程放到前台来执行。另外,job命令用来查看当前的被bg的进程

1109 ctrl+s与ctrl+q(陈绪)
ctrl-s用来暂停向终端发送数据的,屏幕就象死了一样,可以用ctrl-q来恢复

1110 目录统计脚本(陈绪)
保存成total.sh,然后用total.sh 绝对路径,就能统计路径下目录的大小了
代码:
#!/bin/sh
du $1 --max-depth=1 | sort -n|awk '{printf "%7.2fM ----> %s/n",$1/1024,$2}'|sed 's:/.*//([^/]/{1,/}/)$:/1:g'

1111 grep不显示本身进程(陈绪)
#ps -aux|grep httpd|grep -v grep
grep -v grep可以取消显示你所执行的grep本身这个进程,-v参数是不显示所列出的进程名

1112 删除目录中含输入关键字的文件(WongMokin)
find /mnt/ebook/ -type f -exec grep "在此输入关键字" {} /; -print -exec rm {} /;

1113 让cron中的任务不回馈信息, 本例5分钟检查一次邮件(WongMokin)
0-59/5 * * * * /usr/local/bin/fetchmail > /dev/null 2>&1

1114 在当前目录下解压rpm文件(陈绪)
cat kernel-ntfs-2.4.20-8.i686.rpm | rpm2cpio | pax -r

1115 合并两个Postscript或PDF文件(noclouds)
$ gs -q -dNOPAUSE -dBATCH -sDEVICE=pswrite /
-sOutputFile=bar.ps -f foo1.ps foo2.ps
$ gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite /
-sOutputFile=bar.pdf -f foo1.pdf foo2.pdf

1116 去掉apache的manual目录中的所有.en的后缀名(陈绪)
进入到manual目录
代码:find ./ -regex .*/.en|awk -F. '{ printf "mv %s.%s.%s.%s %s.%s.%s/n",$1,$2,$3,$4,$1,$2,$3}'|sh

1117 如何起多个X(noclouds)
startx默认以display :0.0起第一个X,通过传递参数给Xserver可以起多个X:
# startx -- :1.0
# startx -- :2.0
...
然后用Ctrl-Alt-F7/F8...切换。

1118 让一个程序在退出登陆后继续运行(noclouds,陈绪)
# <cmd>
# disown
或者是
nohup command &

1119 看Linux启动时屏幕的显示信息(陈绪)
在启动完后用命令dmesg查看

1120 让vi不响铃(sakulagi)
echo "set vb t_vb=" >> ~/.vimrc

1121 让fedora开机后自动login(dzho002)
1) rpm -ihv autologin-1.0.0-7mdk.i586 rpm
2) 建立文件 /etc/sysconfig/autologin
在里面加上一行.
USER = root

1122 如何配置让哪些服务启动(天外闲云,q1208c)
方法1 运行ntsysv或者setup命令,进入菜单进行配置
方法2 chkconfig --list 显示服务
chkconfig name on/off 打开/关闭“name”服务

1123 安全删除linux(天外闲云)
步骤1 Dos下使用fdisk /mbr或者用win2000/xp的光盘启动进入故障恢复控制台,使用命令fixmbr
步骤2 格式化linux分区为windows分区即可。

1124 用grub引导进文本界面(天外闲云)
进入grub之后,按a,输入 空格 3 就可以引导进入文本界面,但是不修改系统的运行级,只在当次有效。

1125 先测试patch是否运行正常,暂不将更改应用到kernel(jiadingjun)
patch --dry-run

1126 redhat和debian上的文件安装删除用法(NetDC)
删除一个软件包:
rpm -e <package-name>
dpkg -r <package-name>
显示一个软件包的内容:
rpm -qvl <package-name.rpm>
dpkg -c <package-name.deb>
显示所有已经安装的软件包:
rpm -qvia
dpkg -l
打印一个包的信息:
rpm -qpi <package-name.rpm>
dpkg -I <package-name.deb>
检验包characteristics:
rpm -Va
debsums -a
检验一个文件属于哪个包:
rpm -qf </path/to/file>
dpkg -S </path/to/file>
安装新软件包:
rpm -Uvh <package-name.rpm>
dpkg -i <package-name.deb>

1127 如何使新用户首次登陆后强制修改密码(猫小)
#useradd -p '' testuser; chage -d 0 testuser

1128 日志维护工具logrotate(hotbox)
在/etc/logrotate.conf中配置,作用:定义log文件达到预定的大小或时间时,自动压缩log文件

1129 Linux中默认的管理员叫什么(陈绪)
root

1130 如何产生一个长度固定(例如文件长度为1M)字节的空文件,即每个字节的值全为0x00(sakulagi)
dd if=/dev/zero of=/tmp/zero_file bs=1024 count=1024

1131 RedHat Linux里修改时间的步骤(hutuworm)
1. 设置你的时区: timeconfig里选择Asia/Shanghai (如果你位于GMT+8中国区域)
2. 与标准时间服务器校准: ntpdate time.nist.gov
2.5 当然,如果你是李嘉诚,也可以跟自己的手表校准: date -s STRING (STRING格式见man date)
3. 写回硬件时钟: hwclock --systohc

1132 查找当前目录下文件并更改扩展名(零二年的夏天)
更改所有.ss文件为.aa
# find ./ -name "*.ss" -exec rename .ss .aa '{}' /;

1133 patch的使用(天才※樱木)
语法是patch [options] [originalfile] [patchfile]
例如:
patch -p[num] <patchfile
-p参数决定了是否使用读出的源文件名的前缀目录信息,不提供-p参数,则忽略所有目录信息,-p0(或者-p 0)表示使用全部的路径信息,-p1将忽略第一个"/"以前的目录,依此类推。如/usr/src/linux-2.4.16/Makefile这样的文件名,在提供-p3参数时将使用linux-2.4.16/Makefile作为所要patch的文件。
对于刚才举的Linux内核源码2.4.16升级包的例子,假定源码目录位于/usr/src/linux中,则在当前目录为/usr/src时使用"patch -p0 <patch-2.4.16"可以工作,在当前目录为/usr/src/linux时,"patch -p1<patch-2.4.16"也可以正常工作。

1134 将file.txt里的123改为456(hutuworm)
方法1
sed 's/123/456/g' file.txt > file.txt.new
mv -f file.txt.new file.txt
方法2
vi file.txt
输入命令:
:%s/123/456/g


1135 将一个分区格式化为ext3日志文件系统(hutuworm)
mkfs -j /dev/xxxx

1136 开启硬盘ATA66 (laixi781211)
/sbin/hdparm -d1 -X68 -c3 -m16 /dev/hda

1137 查看当前运行级别(双眼皮的猪)
runlevel

1138 查看当前登陆身份(双眼皮的猪)
(1)who am i
(2)whoami
(3)id
注意(1)跟(2)的小区别

1139 删除rpm -e删除不了的包(wwwzc)
1、如果在删除包之前删除了包的目录
rpm -e --noscripts
2、如果系统里一个包被装两次(由于某些异常引起的)
rpm -e multi-installed-pkgs --allmatches

1140 如何定制用户登录时显示的信息(jiadingjun)
在/etc目录下放一个名字叫motd的文本文件实现的,例如,建立自己的/etc/motd:
$cat /etc/motd
welcome to my server !
那么,当用户登录系统的时候会出现这样的信息:
Last login: Thu Mar 23 15:45:43 from *.*.*.*
welcome to my server !

1141 用命令清空Root回收站中的文件(dtedu)
cd /var/.Trash-root
rm -rf *

1142 在Red Hat上加Simsun.ttc字体(陈绪)
以Red Hat 7.3为例,安装时选取简体中文安装,先复制一个simsun.ttc到/usr/X11R6/lib/X11/font/TrueType,改名为simsun.ttf;然后进入/usr/X11R6/lib/X11/font/TrueType目录下,运行ttmkfdir > fonts.dir命令;接着用vi编辑fonts.dir文件,把有simsun.ttf行修改如下:
simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-c-0-ascii-0
simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-c-0-iso10646-1
simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-p-0-iso8859-15
simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-p-0-iso8859-1
simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-c-0-gb2312.1980-0
simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-p-0-gb2312.1980-0
simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-m-0-gb2312.1980-0
simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-p-0-gbk-0
接着运行cat fonts.dir > fonts.scale命令,修改/etc/X11/XF86config-4, 在Section“Files”加上下面这一行:
FontPath “/usr/X11R6/lib/X11/fonts/TrueType”
最后回到KDE桌面里, 在“开始”→“选项”→“观感”→“字体”,将所有字体改为Simsun。

1143 Unicon和Zhcon的区别和作用(陈绪)
Unicon是内核态的中文平台,基于修改Linux FrameBuffer和Virtual Console(fbcon)实现的。由于是在系统底层实现的,所以兼容性极好,可以直接支持gpm鼠标。但是相对比较危险,稍有漏洞就可能会危及系统安全。Zhcon是用户态的中文平台,有点像UCDOS。

1144 如何卸载tar格式安装的软件(陈绪)
进入安装该软件的原代码目录,运行make uninstall。如果不行,也可以查看一下Makefile文件,主要是看install部分,从其中找出tar格式的文件被复制到了什么路径,然后进入相应的目录进行删除即可。

1145 定制linux提示符 (陈绪)
在bash中提示符是通过一个环境变量$PS1指定的。用export $PS1查看现在的值,比较直观常用的提示符可以设定为export PS1=“[/u@/h /W]/$”。其中/u代表用户名,/h代表主机名,/W代表当前工作目录的最后一层,如果是普通用户/$则显示$,root用户显示#。

1146 在vi中搜索了一个单词,该单词以高亮显示,看起来很不舒服,怎么能将它去掉(陈绪)
在vi的命令模式下输入:nohlsearch就可以了。另外可以在~/.vimrc中写上下面的语句就会有高亮显示:
set hlsearch
加上下面的语句就不会有高亮显示:
set nohlsearch

1147 如何找出系统中所有的*.cpp、*.h文件(陈绪)
用find命令就可以了。不过如果从根目录查找消耗资源较高,使用下面的命令就可以:
find / -name "*.cpp" -o -name "*.h"

1148 如安装Debian需要几张盘就够了?7张盘全部都要下载吗?(陈绪)
如果经常有网络环境的话,下载第一张就可以了。要是没有网络环境的话不推荐使用Debian,因为Debian主要依赖网络来更新软件。实在要安装的话,要下载全部7张盘,否则可能会出现需要的软件包找不到的问题。

1149 Debian第一张光盘为什么有两个版本?debian-30r1-i386-binary-1.iso和debian-30r1-i386-binary-1_NONUS.iso该下载哪一个呢?它们有什么区别?(陈绪)
因为含有“non-US”(不属美国)的软件不能合法地存放在架设于美国境内的服务器中。以前,其原因通常是因为软件含有严密的密码编码,而今天,则是因为程序使用了美国专利保护的演算法。每个人应该取用“non-US”来供私人用途所用;而没有这个标识的iso则只对架设在美国的镜像及供应商才有用处。其它二进制的光盘则不会含有任何“US-sensitive”(与美国相关的)软件,它们和其它种binary-1光盘一样运作得很好。因此,个人使用还是下载debian-30r1-i386-binary-1_NONUS.iso版本。

1150 为何我使用umount /mnt/cdrom命令的时候出现device is busy这样的语句,不能umount(陈绪)
在使用umount的时候一定要确保已退出/mnt/cdrom这个目录,退出这个目录就可以使用umount /mnt/cdrom了。

1151 我使用的是笔记本电脑,怎么才能在控制台下显示现在还剩多少电量呢? (陈绪)
使用apm -m就可以看到还有多少分钟了,具体参数可以用man apm查看。

1152 为什么我进入Linux的终端窗口时,man一条命令出来的都是乱码呢? (陈绪)
这是因为你的字符集设置有问题。临时解决办法可以使用export LANG=“en_US”。要想不必每次都修改的话,在/etc/sysconfig/i18n文件里面修改LANG=“en_US”就可以了。也可以针对某个用户来做,这样就可以改变个人的界面语言,而不影响别的用户。命令如下:# cp /etc/sysconfig/i18n $HOME/.i18n。

1153 编译内核的时候出错,提示“Too many open files”,请问怎么处理 (陈绪)
这是因为file-max默认值(8096)太小。要解决这个问题,可以root身份执行下列命令(或将它们加入/etc/rcS.d/*下的init脚本):
# echo "65536"> /proc/sys/
最后进入解压后的目录,运行安装命令。
# cd vmware-linux-tools
# ./install.pl

1154 本来装有Linux与Windows XP,一次将Windows XP重装后,发现找不到Linux与Windows XP的启动选单,请问如何解决(陈绪)
首先光盘启动,进入rescue模式,运行GRUB,进入grub提示符grub>,然后敲入下面的语句,重启就好了。
root (hd0,2),setup (hd0)

1155 安装了一台Linux服务器,想自己编译内核,一步一步做下来,GRUB也添加进去了,但出现“kernel Panic:VFS:Unable to mount root fs on 0:00”的错误,请问是怎么回事?(陈绪)
一般情况下initrd这个文件在台式机上不是必须的,但是在有SCSI设备的服务器上却是必须的。有可能因为编译内核的时候没有产生initrd那个文件,所以会有上面的错误提示。用户可以使用mkinitrd命令来生成一个initrd.img文件,然后加入GRUB,重启试一试。

1156 如何设置用户登录后的欢迎信息?(陈绪)
修改/etc/motd文件,往里面写入文本,就能使用户通过Telnet正确登录后,执行Shell之前得到相应的提示信息。
motd就是“messages of the day”,也就是当日信息的意思。管理员可以往里面写一些需要注意的事项或通知等来提醒正式用户。

1157 我下载了rcs5.7,用./configure && make && make install时报错如下:./conf.sh: testing permissions ... ./conf.sh: This command should not be run with superuser permissions. 我是以root用户身份登录编译安装的,为什么会这样?(陈绪)
有些软件确实因为考虑到安全等其它原因不能用root用户编译。这时只要用其它用户编译,到make install这步时,如果该软件安装在不属于编译时的用户的主目录下时,需要使用su命令转换为root用户再执行make install。

1158 我在安装USBView时失败,具体情况如下: #rpm -ivh usbview-1.0-9.src.rpm warning:usbview-1.0-9.src.rpm:V3 DSAsignature:NOKEY,key IDab42a60e (陈绪)
这行代码说明安装失败是因为你的系统上没有安装合适的钥匙来校验签名。要使该软件包通过校验,可以通过导入Red Hat的公匙来解决,具体的方式是在Shell下运行如下命令:
#rpm -import /usr/share/rhn/RPM-GPG-KEY
(注意大小写)

1159 如何防止某个关键文件被修改?(陈绪)
在Linux下,有些配置文件是不允许任何人(包括root)修改的。为了防止被误删除或修改,可以设定该文件的“不可修改位(immutable) ”。命令如下:
# chattr +i /etc/fstab
如果需要修改文件则采用下面的命令:
# chattr -i /etc/fstab

1160 怎样限制一个用户可以启动的进程数?(陈绪)
先确定一下/etc/pam.d/login文件中下面一行的存在:
session required /lib/security/pam_limits.so
然后编辑/etc/security/limits.conf,在里面可以设置限制用户的进程数、CPU占用率和内存使用率等,如hard nproc 20就是指限制20个进程,具体可以看man。

1161 如何限制Shell命令记录大小 ?(陈绪)
默认情况下,bash会在文件$HOME/.bash_history中存放多达500条命令记录。有时根据具体的系统不同,默认记录条数不同。系统中每个用户的主目录下都有一个这样的文件。为了系统的安全,在此强烈建议用户限制该文件的大小。用户可以编辑/etc/profile文件,修改其中的选项如下:
HISTFILESIZE=30 或 HISTSIZE=30
这样就将记录的命令条数减少到30条。

1162 我想将开机时显示的信息保留下来,以检查电脑出了问题的地方,请问怎么办?(陈绪)
可输入下面的命令:
#dmesg > bootmessage
该命令将把开机时显示的信息重定向输出到一个文件bootmessage中。

1163 我想在注销时删除命令记录,请问怎么做?(陈绪,mhxkcu)
编辑/etc/skel/.bash_logout文件,增加如下行:
rm -f $HOME/.bash_history
这样,系统中的所有用户在注销时都会删除其命令记录。
如果只需要针对某个特定用户,如root用户进行设置,则可只在该用户的主目录下修改/$HOME/.bash_logout文件,增加相同的一行即可。

1164 编译内核,支持ntfs的步骤(platinum,陈绪)
1. # cd /usr/src/linux-2.4
2. # make menuconfig
3. 选中File System下的NTFS file system support (read only)为M
4. # uname -a
2.4.21-27.0.2.EL
5. # vi Makefile
确保前几行为
VERSION = 2
PATCHLEVEL = 4
SUBLEVEL = 21
EXTRAVERSION = -27.0.2.EL
6. # make dep
7. # make modules SUBDIRS=fs/ntfs
8. # mkdir /lib/moduels/2.4.21-27.0.2.EL/kernel/fs/ntfs
9. # cp -f fs/ntfs/*.o /lib/moduels/2.4.21-27.0.2.EL/kernel/fs/ntfs/
10. # depmod -a
11. # modprobe ntfs
12. # lsmod
确保有ntfs在里面

1165 如何使用ssh通道技术(陈绪)
本文讨论所有机器均为Linux操作系统。
比如说我的机器是A,中间服务器为B,目标服务器是C。
从A可以ssh到B,从B可以ssh到C,但是A不能直接ssh到C。
现在展示利用ssh通道技术从A直接传输文件到C。
1. ssh -L1234:C:22 root@B
input B's password
2. scp -P1234 filename root@localhost:
input C's password

1166 使用rpm命令时没有任何响应,如何解决 (初学摄影)
rm -rf /var/lib/rpm/__db.*

1167 向登陆到同一台服务器上的所有用户发一条信息(陈绪)
1)输入wall并回车
2)输入要发送的消息
3)结束时按“Control-d”键,消息即在用户的控制窗口中显示

1168 输入短消息到单个用户(陈绪)
1)输入write username,当用户名出现在多个终端时,在用户名后可加tty,以表示在哪个tty下的用户。
2)输入要发送的消息。
3)结束时按“Control-d”键,消息即在用户的控制窗口中显示。
4)对于接收消息方,可以设定是否允许别人送消息给你。
指令格式为:mesg n[y]
%write liuxhello! Everybody, I’llcome.
%
用户控制窗口中显示的消息:Message from liux on ttyp1 at 10:00…hello! Everybody, I’llcome.EOF
当使用CDE或OpenWindows等窗口系统时,每个窗口被看成是一次单独的登录;如果用户登录次数超过一次则消息直接发送到控制窗口。

1169 发送文件中的消息到单个用户(陈绪)
如果有一个较长的消息要发送给几个用户,用文件方式:
1)创建要发送的消息文本的文件filename.
2)输入write username<filename回车,用cat命令创建包含短消息的文件:
% cat >messagehello! Everybody, I’llcome.
% write liux<messagewrite:liux logged in more than once…write to console
% 用户在一个以上窗口登录,消息显示在控制窗口中Message from liux on ttyp1 at 10:00…hello! Everybody, I’llcome.EOF

1170 向远程机器上的所有用户发送消息(陈绪)
使用rwall(向所有人远程写)命令同时发送消息到网络中的所有用户。
rwall hostname file
当使用CDE或OpenWindows等窗口系统时,每个窗口被看成是一次单个的登录;
如果用户登录次数超过一次则消息直接发送到控制窗口。

1171 向网络中的所有用户发送消息(陈绪)
发送消息到网络中的所有用户
1)输入rwall -n netgroup并回车
2)输入要发送的消息
3)结束时按“Control-d”键,消息即在系统每个用户的控制窗口中显示,下面是系统管理员发消息到网络组Eng每个用户的例子:
% rwall -n EngSystem will be rebooted at 11:00.(Control-d)
%
用户控制窗口中的消息:Broadcast message from root on console…System will be rebooted at 11:00.EOF
注意:也可以通过rwall hostname(主机名)命令到系统的所有用户。

1172 我需要编译内核,内核源码在哪里?(platinum)
1、一般在发行版的盘里都有,比如 RedHat,一般在第二、第三张上
  2.4 内核的叫 kernel-source-2.4.xx-xx.rpm
  2.6 内核的叫 kernel-devel-2.6.xx-xx.rpm
2、去 www.kernel.org 下载一份你喜欢的

1173 将top的结果输出到文件中(bjweiqiong)
top -d 2 -n 3 -b >test.txt
可以把top的结果每隔2秒,打印3次,这样后面页的进程也能够看见了

1174 vim中改变全文大小写的方法(陈绪)
光标放在全文开头
gUG 所有字母变大写
guG 所有字母变小写
g~G 所有字母,大写变小写,小写变大写

1175 如何升级安装ubuntu(陈绪)
以ubuntu 7.04->7.10为例。
mount -o loop /media/ubuntu-7.10-alternate-i386.iso /cdrom
gksu "sh /cdrom/cdromupgrade"
如果需要代理:
export http_proxy=http://proxy.server.ip/; gksu "sh /cdrom/cdromupgrade"

1176 文件不均匀切分方法(qintel)
$dd if=source of=target.1 bs=1M count=10
$dd if=source of=target.2 bs=1M skip=10
source被分为target.1和target.2两个文件,其中target.1为source的前10M部分;target.2为source的减去10M后的部分。

你可能感兴趣的:(linux)