位置:海鸟网 > IT > linux/Unix >

Linux一句话精彩问答

----------------------------网络无关篇--------------------------
0001 修改主机名(bjchenxu)
vi /etc/sysconfig/network,修改HOSTNAME一行为"HOSTNAME=主机名"(没有这行?那就添加这一行吧),然后运行命令" hostname 主机名"。无论你是否重启,主机名修改成功了。

0002 Ret Hat Linux启动到文字界面(不启动xwindow)(bjchenxu)
vi /etc/inittab
id:x:initdefault:
x=3:文本方式 x=5:图形方式

0003 linux的自动升级更新问题(hutuworm,NetDC)
对于redhat,在找到补丁,6.1以后的版本带有一个工具up2date,它能够测定哪些rpm包需要升级,然后自动从redhat的站点下载并完成安装。
升级除kernel外的rpm: up2date -u
升级包括kernel在内的rpm: up2date -u -f

由于Red Hat Network SSL证书过期,所以应在rhn_register || up2date 之前先执行一行script以更新证书:
wget -q -O - https://rhn.redhat.com/help/new-cert.sh | /bin/bash

Debian跟别的发行版还是有很大的差别的,用Debian做服务器维护更加方便;红帽的升级其实挺麻烦的,当然,如果你交钱给红帽的话,服务是会不一样的。
Debian下升级软件:
apt-get update
apt-get upgrade
前提:配置好网络和/etc/apt/sources.list,也可以用apt-setup设置。

0004 windows下看linux分区的软件(bjchenxu)
Paragon.Ext2FS.Anywhere.2.5.rar和explore2fs-1.00-pre4.zip

0005 mount用法(sakulagi)
fat32的分区 mount -o codepage=936,iocharset=cp936 /dev/hda7 /mnt/cdrom
ntfs的分区 mount -o iocharset=cp936 /dev/hda7 /mnt/cdrom
iso文件 mount -o loop /abc.iso /mnt/cdrom
软盘 mount /dev/fd0 /mnt/floppy
USB闪存 mount /dev/sda1 /mnt/cdrom
所有/etc/fstab内容 mount -a
可以指定文件格式"-t 格式", 格式可以为vfat, ext2, ext3等.

0006 在vmware的LINUX中使用本地硬盘的FAT分区(bjchenxu)
将本地的FAT分区共享,然后在VMWARE中使用SMBFS挂上。可以将如下的行放到/etc/fstab中:
//win_ip/D$ /mnt/d smbfs defaults,auto,username=win_name,password=win_pass,codepage=936,iocharest=gb2312 0 0
其中win_ip是你的windows的IP地址;
D$是你的windows里面共享的D盘的共享名;
/mnt/d是要将该分区mount到linux的目录;
win_name和win_pass是你的WINDOWS里面可以读取该分区的用户,比如你的管理员名和密码。
如果你运行了/etc/rc.d/init.d/netfs,那么在启动的时候就会自动挂载这个分区。

0007.a 删除名为-a的文件(bjchenxu)
rm ./-a
rm -- -a 告诉rm这是最后一个选项,参见getopt
ls -i 列出inum,然后用find . -inum inum_of_thisfile -exec rm '{}' ;

0007.b 删除名为a的文件(bjchenxu)
rm a

0007.c 删除名字带的/和‘'文件(bjchenxu)
这些字符是正常文件系统所不允许的字符,但可能在文件名中产生,如unix下的NFS文件系统在Mac系统上使用
1.解决的方法,把NFS文件系统在挂到不过滤'http://www.cuoxin.com/'字符的系统下删除含特殊文件名的文件。
2.也可将错误文件名的目录其它文件移走,ls -id 显示含该文件目录的inum,umount 文件系统,
clri清除该目录的inum,fsck,mount,check your lost+found,rename the file in it.
最好是通过WINDOWS FTP过去就可以删除任何文件名的文件了!

0007.d 删除名字带不可见字符的文件(bjchenxu)
列出文件名并转储到文件:ls -l >aaa
然后编辑文件的内容加入rm命令使其内容成为删除上述文件的格式:
vi aaa
[rm -r *******
]
把文件加上执行权限 chmod +x aaa
执行 $aaa

0007.e 删除文件大小为零的文件(bjchenxu)
rm -i `find ./ -size 0`
find ./ -size 0 -exec rm {} ;

find ./ -size 0 | xargs rm -f &

for file in * #自己定义需要删除的文件类型
do
if [ ! -s $ ]
then
rm $

echo "rm $file Success!"
fi
done

0008 redhat设置滚轮鼠标(mc1011)
进入X后,选择鼠标的配置,选择wheel mouse(ps/2)就可以了,
如果鼠标表现异常,重启计算机即可。
(或者su, vi /etc/X11/XF86Config, 把PS/2 改成 ImPS/2)

0009 加装xwindow(bjchenxu)
用linux光盘启动,选择升级,然后单独选择包,安装即可

0010 删除linux分区(bjchenxu)
做一张partition magic的启动软盘,启动后删除. 或者用win2000的启动光盘启动,然后删除.

0011 如何退出man(bjchenxu)
q

0012 不编译内核,mount ntfs分区(bjchenxu,hutuworm)
原装rh8,未升级或编译内核
1. 上google.com搜索并下载 kernel-ntfs-2.4.18-14.i686.rpm
2. rpm -ivh kernel-ntfs-2.4.18-14.i686.rpm
3. mkdir /mnt/c
4. mount -t ntfs /dev/hda1 /mnt/c

Read only:
Read/Write:

0013 tar 分卷压缩和合并(WongMokin)
以每卷500M为例
tar分卷压缩:tar cvzpf - mytarfile.tar.gz | split -d -b 500m
tar多卷合并:cat x* > mytarfile.tar.gz

0014 使用lilo/grub时找回忘记了的root口令(bjchenxu)
三种办法:
1.在系统进入单用户状态,直接用passwd root去更改
2.用安装光盘引导系统,进行linux rescue状态,将原来/分区挂接上来,作法如下:
cd /mnt
mkdir hd
mount -t auto /dev/hdaX(原来/分区所在的分区号) hd
cd hd
chroot ./
passwd root
这样可以搞定
3.将本机的硬盘拿下来,挂到其他的linux系统上,采用的办法与第二种相同
rh8中
一. lilo
1. 在出现 lilo: 提示时键入 linux single
画面显示 lilo: linux single
2. 回车可直接进入linux命令行
3. #vi /etc/shadow
将第一行,即以root开头的一行中root:后和下一个:前的内容删除,
第一行将类似于
root::......
保存
4. #reboot重启,root密码为空
二. grub
1. 在出现grub画面时,用上下键选中你平时启动linux的那一项(别选dos哟),然后按e键
2. 再次用上下键选中你平时启动linux的那一项(类似于kernel /boot/vmlinuz-2.4.18-14 ro root=LABEL=/),然后按e键
3. 修改你现在见到的命令行,加入single,结果如下:
kernel /boot/vmlinuz-2.4.18-14 single ro root=LABEL=/
4. 回车返回,然后按b键启动,即可直接进入linux命令行
5. #vi /etc/shadow
将第一行,即以root开头的一行中root:后和下一个:前的内容删除,
第一行将类似于
root::......
保存
6. #reboot重启,root密码为空

0015 使ctrl + alt + del失效(bjchenxu)
vi /etc/inittab
将ca::ctrlaltdel:/sbin/shutdown -t3 -r now这行注释掉,就可以了

0016 如何看出redhat的版本是7还是8(hutuworm)
cat /proc/version或者cat /etc/redhat-release或者cat /etc/issue

0017 文件在哪个rpm中(无双)
上上搜,或者rpm -qf 文件名得到

0018 把man或info的信息存为文本文件(bjchenxu)
以 tcsh 为例:
man tcsh | col -b > tcsh.txt
info tcsh -o tcsh.txt -s

0019 利用现存两个文件,生成一个新的文件(bjchenxu)
1. 取出两个文件的并集(重复的行只保留一份)
2. 取出两个文件的交集(只留下同时存在于两个文件中的文件)
3. 删除交集,留下其他的行
1. cat file1 file2 | sort | uniq
2. cat file1 file2 | sort | uniq -d
3. cat file1 file2 | sort | uniq -u

0020 设置com1口,让超级终端通过com1口进行登录(bjchenxu)
确认有/sbin/agetty,编辑/etc/inittab,添加
7:2345:respawn:/sbin/agetty /dev/ttyS0 9600
9600bps是因为联路由器缺省一般都是这种速率,也可以设成
19200、38400、57600、115200
修改/etc/securetty,添加一行:ttyS0,确保root用户能登录
重启机器,就可以拔掉鼠标键盘显示器(启动时最好还是要看看输出信息)了

0021 删除目录下所有文件包括子目录(bjchenxu)
rm -rf 目录名

0022 查看系统信息(bjchenxu)
cat /proc/cpuinfo - CPU (i.e. vendor, Mhz, flags like mmx)
cat /proc/interrupts - 中断
cat /proc/ioports - 设备IO端口
cat /proc/meminfo - 内存信息(i.e. mem used, free, swap size)
cat /proc/partitions - 所有设备的所有分区
cat /proc/pci - PCI设备的信息
cat /proc/swaps - 所有Swap分区的信息
cat /proc/version - Linux的版本号 相当于 uname -r
uname -a - 看系统内核等信息

0023 去掉多余的回车符(bjchenxu)
sed 's/^M//' test.sh > back.sh, 注意^M是敲ctrl_v ctrl-m得到的
或者 dos2unix filename

0024 切换X桌面(lnx3000)
如果你是以图形登录方式登录linux,那么点击登录界面上的session(任务)即可以选择gnome和kde。如果你是以文本方式登录,那执行switchdesk gnome或switchdesk kde,然后再startx就可以进入gnome或kde。
(或者vi ~/.xinitrc,添加或修改成exec gnome-session 或exec startkde,
然后用startx启动X)

0025 通用的声卡驱动程序(lnx3000)
OSS ALSA

0026 改变redhat的系统语言/字符集(beming/mc1011)
修改 /etc/sysconfig/i18n 文件,如
LANG="en_US",xwindow会显示英文界面,
LANG="zh_CN.GB18030",xwindow会显示中文界面。
还有一种方法
cp /etc/sysconfig/i18n $HOME/.i18n
修改 $HOME/.i18n 文件,如
LANG="en_US",xwindow会显示英文界面,
LANG="zh_CN.GB18030",xwindow会显示中文界面。
这样就可以改变个人的界面语言,而不影响别的用户
(Debian不支持GB18030(RH的zysong字库是有版权的)
现在好像没有Free的GBK和GB18030字库
vi .bashrc
export LANG=zh_CN.GB2312
export LC_ALL=zh_CN.GB2312)

0027 把屏幕设置为90列(bjchenxu)
stty cols 90

0028 使用md5sum文件(bjchenxu)
md5sum isofile > hashfile, 将 md5sum 档案与 hashfile 档案内容比对, 验证杂凑值
是否一致 md5sum –c hashfile

0029 一次解压多个zip文件(bjchenxu)
unzip "*",注意引号不能少

0030 看pdf文件(bjchenxu)
使用xpdf或者安装acrobat reader for linux

0031 查找权限位为S的文件(bjchenxu)
find . -type f ( -perm -04000 -o -perm -02000 ) -exec ls -lg {} ;

0032 装中文输入法(bjchenxu)
以redhat8为例,xwindow及其终端下的不用说了吧,缺省就安装了,用ctrl-space呼出。
现在讨论纯console,请下载zhcon.gnuchina.org/download/src/zhcon-0.2.1.tar.gz,
放在任一目录中,tar xvfz zhcon-0.2.1.tar.gz, cd zhcon-0.2.1, ./configure,
make, make install。安装结束,要想使用,请运行zhcon,想退出,运行exit。

0033 把弹出的光盘收回来(beike)
#eject -t

0034 cd光盘做成iso文件(弱智)
cp /dev/cdrom xxxx.iso

0035 快速观看开机的硬件检测(弱智)
dmesg | more

0036 查看硬盘的使用情况(bjchenxu)
df -k 以K为单位显示
df -h 以人性化单位显示,可以是b,k,m,g,t..

0037 查看目录的大小(bjchenxu)
du -sh dirname
-s 仅显示总计
-h 以K、M、G为单位,提高信息的可读性。KB、MB、GB是以1024为换算单 位, -H以1000为换算单位。

0038 查找或删除正在使用某文件的进程(wwwzc)
fuser filename
fuser -k filename

0039 安装软件(bjchenxu)
rpm -ivh aaa.rpm
tar xvfz aaa.tar.gz; cd aaa; ./configure; make; make install

0040 字符模式下设置/删除环境变量(bjchenxu)
bash下
设置:export 变量名=变量值
删除:unset 变量名
csh下
设置:setenv 变量名 变量值
删除:unsetenv 变量名

0041 ls如何看到隐藏文件(即以.开头的文件)(双眼皮的猪)
ls -a
l. (适用于redhat)

0042 rpm中的文件安装到哪里去了(bjchenxu)
rpm -qpl aaa.rpm

0043 使用src.rpm(bjchenxu)
rpmbuild --rebuild *.src.rpm

0044 vim中显示颜色或不显示颜色(bjchenxu)
首先确保安装了vim-enhanced包,然后,vi ~/.vimrc; 如果有syntax on,则显示颜色,syntax off,则不显示颜色

0045 linux是实时还是分时操作系统(bjchenxu)
分时

0046 make bzImage -j的j是什么意思(wind521)
-j主要是用在当你的系统硬件资源比较大的时候,比较富裕的时候,用这个可以来加快编译的速度,如-j 3

0047 源码包怎么没有(bjchenxu)
你没有安装源代码,你把你光盘上rpm -i *kernel*source*.rpm装上,就可以看到你的源代码了。

0048 修改系统时间(bjchenxu,laixi781211,hutoworm)
date -s “2003-04-14 cst”,cst指时区,时间设定用date -s 18:10
修改后执行clock -w 写到CMOS
hwclock --systohc
set the hardware clock to the current system time

0049 开机就mount上windows下的分区(bjchenxu)
自动将windows的d盘挂到/mnt/d上,用vi打开/etc/fstab,加入以下一行
/dev/hda5 /mnt/d vfat defaults,codepage=936,iocharset=cp936 0 0
注意,先得手工建立一个/mnt/d目录

0050 linux怎么用这么多内存(bjchenxu)
为了提高系统性能和不浪费内存,linux把多的内存做了cache,以提高io速度

0051 FSTAB 最后的配置项里边最后两个数字是什么意思(lnx3000)
第一个叫fs_freq,用来决定哪一个文件系统需要执行dump操作,0就是不需要;
第二个叫fs_passno,是系统重启时fsck程序检测磁盘的顺序号
1 是root文件系统,2 是别的文件系统。fsck按序号检测磁盘,0表示该文件系统不被检测
dump 执行ext2的文件系统的备份操作
fsck 检测和修复文件系统

0052 linux中让用户的密码必须有一定的长度,并且符合复杂度(eapass)
vi /etc/login.defs,改PASS_MIN_LEN

0053 linux中的翻译软件(bjchenxu,hutoworm)
星际译王 xdict
console下还有个dict工具,通过DICT协议到dict.org上查11本字典,例如:dict RTFM

0054 不让显示器休眠(bjchenxu)
setterm -blank 0
setterm -blank n (n为等待时间)

0055 用dat查询昨天的日期(gadfly)
date --date='yesterday'

0056 xwindow下如何截屏(bjchenxu)
Ksnapshot或者gimp