畅享博客 > 朱文军 > linux > [转帖]linux一句话精彩问答(转贴)
2007-11-5 11:06:24

[转帖]linux一句话精彩问答(转贴)

Linux 一句话精彩问答

2006/02/16

陈绪 编译

 

Linux 一句话精彩问答

鉴于目前中国linux 的发展水平,90%以上的问题都可以用一句话来回答,这便是本书

的初衷。请访问http://linux.chinaunix.net http://www.chinaunix.net,获取更详细的文档和参

与更深入的讨论。

1 网络无关篇

1001 修改主机名(bjchenxu)

vi /etc/sysconfig/network,修改HOSTNAME 一行为"HOSTNAME=主机名"(没有这行?那就

添加这一行吧),然后运行命令" hostname 主机名"。一般还要修改/etc/hosts 文件中的主机名。

这样,无论你是否重启,主机名都修改成功。

1002 Ret Hat Linux 启动到文字界面(不启动xwindow)(bjchenxu)

vi /etc/inittab

id:x:initdefault:

x=3:文本方式 x=5:图形方式

1003 linux 的自动升级更新问题(hutuwormNetDC)

对于redhat,在www.redhat.com/corp/support/errata/找到补丁,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 设置。

1004 windows 下看linux 分区的软件(bjchenxu)

Paragon.Ext2FS.Anywhere.2.5.rar explore2fs-1.00-pre4.zip

1005 mount 用法(sakulagisxsfxxaptkevin)

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

在有scsi硬盘的计算机上,如果用上面的命令挂载usb闪存,则会mount/boot分区。这种情

况,应该先用fdisk -l /dev/sd? 来看看到底usb闪存盘是在哪个设备下(通常会是sdb或者sdc)

比如某台机器上,就是在sdc1 上面。

所有/etc/fstab 内容 mount -a

可以指定文件格式"-t 格式", 格式可以为vfat, ext2, ext3 .

10/52

Linux 一句话精彩问答

访问DVD mount -t iso9660 /dev/dvd /mnt/cdrom mount -t udf /dev/dvd /mnt/cdrom

注意:dvd 的格式一般为iso9660 udf 之一

1006 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,那么在启动的时候就会自动挂载这个分区。

1007.a 删除名为-a 的文件(bjchenxu)

rm ./-a

rm -- -a 告诉rm 这是最后一个选项,参见getopt

ls -i 列出inum,然后用find . -inum inum_of_thisfile -exec rm '{}' \;

1007.b 删除名为\a 的文件(bjchenxu)

rm \\a

1007.c 删除名字带的/‘\0'文件(bjchenxu)

这些字符是正常文件系统所不允许的字符,但可能在文件名中产生,如unix 下的NFS 文件

系统在Mac 系统上使用

1.解决的方法,把NFS 文件系统在挂到不过滤'/'字符的系统下删除含特殊文件名的文件。

2.也可将错误文件名的目录其它文件移走,ls -id 显示含该文件目录的inumumount 文件

系统,

clri 清除该目录的inumfsckmountcheck your lost+foundrename the file in it.

最好是通过WINDOWS FTP 过去就可以删除任何文件名的文件了!

1007.d 删除名字带不可见字符的文件(bjchenxu)

列出文件名并转储到文件:ls -l >aaa

然后编辑文件的内容加入rm 命令使其内容成为删除上述文件的格式:

vi aaa

[rm -r *******

]

把文件加上执行权限 chmod +x aaa

执行 $aaa

1007.e 删除文件大小为零的文件(bjchenxu)

rm -i `find ./ -size 0`

find ./ -size 0 -exec rm {} \;

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

11/52

Linux 一句话精彩问答

for file in * #自己定义需要删除的文件类型

do

if [ ! -s ${file} ]

then

rm ${file}

echo "rm $file Success!"

fi

done

1008 redhat 设置滚轮鼠标(mc1011)

进入X 后,选择鼠标的配置,选择wheel mouse(ps/2)就可以了,

如果鼠标表现异常,重启计算机即可。

(或者su, vi /etc/X11/XF86Config, PS/2 改成 ImPS/2)

1009 加装xwindow(bjchenxu)

linux 光盘启动,选择升级,然后单独选择包,安装即可

1010 删除linux 分区(bjchenxu)

做一张partition magic 的启动软盘,启动后删除. 或者用win2000 的启动光盘启动,然后删除.

1011 如何退出man(bjchenxu)

q

1012 不编译内核,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: http://linux-ntfs.sourceforge.net/

Read/Write: http://www.jankratochvil.net/project/captive/

1013 tar 分卷压缩和合并(WongMokinWaker)

以每卷500M 为例

tar 分卷压缩:tar cvzpf - somedir | split -d -b 500m

tar 多卷合并:cat x* > mytarfile.tar.gz

1014 使用lilo/grub 时找回忘记了的root 口令(bjchenxu)

三种办法:

1.在系统进入单用户状态,直接用passwd root 去更改

2.用安装光盘引导系统,进行linux rescue 状态,将原来/分区挂接上来,作法如下:

cd /mnt

mkdir hd

mount -t auto /dev/hdaX(原来/分区所在的分区号) hd

cd hd

12/52

Linux 一句话精彩问答

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 密码为空

1015 使ctrl + alt + del 失效(bjchenxu)

vi /etc/inittab

ca::ctrlaltdel:/sbin/shutdown -t3 -r now 这行注释掉,就可以了

1016 如何看出redhat 的版本是7 还是8(hutuworm)

cat /proc/version 或者cat /etc/redhat-release 或者cat /etc/issue

1017 文件在哪个rpm (无双)

www.rpmfind.net 上搜,或者rpm -qf 文件名得到

1018 man info 的信息存为文本文件(bjchenxu)

tcsh 为例:

man tcsh | col -b > tcsh.txt

info tcsh -o tcsh.txt -s

1019 利用现存两个文件,生成一个新的文件(bjchenxu)

1. 取出两个文件的并集(重复的行只保留一份)

13/52

Linux 一句话精彩问答

2. 取出两个文件的交集(只留下同时存在于两个文件中的文件)

3. 删除交集,留下其他的行

1. cat file1 file2 | sort | uniq

2. cat file1 file2 | sort | uniq -d

3. cat file1 file2 | sort | uniq -u

1020 设置com1 口,让超级终端通过com1 口进行登录(bjchenxu)

确认有/sbin/agetty,编辑/etc/inittab,添加

7:2345:respawn:/sbin/agetty /dev/ttyS0 9600

9600bps 是因为联路由器缺省一般都是这种速率,也可以设成

192003840057600115200

修改/etc/securetty,添加一行:ttyS0,确保root 用户能登录

重启机器,就可以拔掉鼠标键盘显示器(启动时最好还是要看看输出信息)了

1021 删除目录下所有文件包括子目录(bjchenxu)

rm -rf 目录名

1022 查看系统信息(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 - 看系统内核等信息

1023 去掉多余的回车符(bjchenxu)

sed 's/^M//' test.sh > back.sh, 注意^M 是敲ctrl_v ctrl-m 得到的

或者 dos2unix filename

1024 切换X 桌面(lnx3000)

如果你是以图形登录方式登录linux,那么点击登录界面上的session(任务)即可以选择gnome

kde。如果你是以文本方式登录,那执行switchdesk gnome switchdesk kde,然后再startx

就可以进入gnome kde

(或者vi ~/.xinitrc,添加或修改成exec gnome-session exec startkde

然后用startx 启动X)

1025 通用的声卡驱动程序(lnx3000)

OSS www.opensound.com/ ALSA www.alsa-project.org/

1026 改变redhat 的系统语言/字符集(beming/mc1011)

修改 /etc/sysconfig/i18n 文件,如

LANG="en_US"xwindow 会显示英文界面,

LANG="zh_CN.GB18030"xwindow 会显示中文界面。

还有一种方法

14/52

Linux 一句话精彩问答

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)

1027 把屏幕设置为90 (bjchenxu)

stty cols 90

1028 使用