[转帖]linux一句话精彩问答(转贴)
Linux 一句话精彩问答
陈绪 编译
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 的自动升级更新问题(hutuworm,NetDC)
对于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 用法(sakulagi,sxsfxx,aptkevin)
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 显示含该文件目录的inum,umount 文件
系统,
clri 清除该目录的inum,fsck,mount,check your lost+found,rename 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. rpm -ivh kernel-ntfs-
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 分卷压缩和合并(WongMokin,Waker)
以每卷500M 为例
tar 分卷压缩:tar cvzpf - somedir | split -d -b
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-
root=LABEL=/),然后按e 键
3. 修改你现在见到的命令行,加入single,结果如下:
kernel /boot/vmlinuz-
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 是因为联路由器缺省一般都是这种速率,也可以设成
19200、38400、57600、115200
修改/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 使用

