Linux从入门到精通(续6)
3.4.1 什么是Shell? 需要一个不同的Shell 吗?
shell 是计算机用来解释你输入的命令然后决定进行何种处理的程序。shell 也可以在非交互模式下调用。。可以把shell 看作是DOS 下面的command.com(命令行解释器),而shell 脚本就象是DOS 的批处理文件(*.bat)。和DOS 相比较,shell 的功能要先进和丰富得多。
在Linux 系统下有几个不同的shell(如果你全部安装):
bash "Bourne Again" shell
sh Bourne shell,在很多UNIX下是标准的shell
csh C shell,和C编程语言语法相近,在大部分UNIX下有效
pdksh public domain Korn shell
tcsh 微型 C shell, 在小的系统里经常使用
sash 单机版本的shell,当文件库无效的时候可以使用
ash, zsh等 可能还有更多其他版本
3.4.2 怎样定制自己的Shell
在我的计算机上,命令提示符看起来是这样的:
[stan@marie stan]$ _
要定制提示符,我可以编辑文件/etc/bashrc(root用户)然后在两个引号之内输入任何你想要的文本。以下是一些我可能会使用的特别代码:
\u - 当前用户的用户名(=$LOGNAME)
\h - 运行shell的计算机名(hostname)
\H - 完整的计算机名
\W - 当前工作目录名
\w - 当前工作命令全路径名
\$ - 对于普通用户显示$,对于超级用户显示#
\! - 当前命令的历史编号
\# - 当前命令编号(在当前的shell下运行的命令)
\d - 当前日期
\t - 当前时间 (24小时制)
\T - 当前时间 (12小时制),bash 2.0有效
\@ - 当前时间 (AM/PM格式),bash 2.0有效
\s - shell的类型
\a - 告警声音
\j - 用户的任务数
\n - 新行
\\ - 反斜杠
\[ - 不可打印字符开始标志
\] - 不可打印字符结束标志
\nnn - ASCII字符对应的八进制数值
$(date) - date(输出当前日期)命令输出或者其他的命令
以下是一个关于如何加彩色的例子。更详细的信息参考后面一节。
PS1="\[\033[1;32m\][\u@\h \W]\$\[\033[0m\] "
这里还存在有 "第二层"输出提示符,在环境变量里是PS2。当需要附加输入时,shell使用"第二层"输出提示,在我的系统上"第二层"输出提示符是">"。我不是很在意"第二层"输出提示符,尽管我可以使用修改PS1相同的办法修改PS2。除此之外,还有PS3,PS4,但是非常少见。
3.4.3 设置文本终端的颜色
文本终端的颜色可以使用"ANSI 非常规字符序列"来生成。
数值和编码的前后顺序没有关系。可以选择的编码如下所示:
编码 颜色/动作
0 重新设置属性到缺省设置
1 设置粗体
2 设置一半亮度(模拟彩色显示器的颜色)
4 设置下划线(模拟彩色显示器的颜色)
5 设置闪烁
7 设置反向图象
22 设置一般密度
24 关闭下划线
25 关闭闪烁
27 关闭反向图象
30 设置黑色前景
31 设置红色前景
32 设置绿色前景
33 设置棕色前景
34 设置蓝色前景
35 设置紫色前景
36 设置青色前景
37 设置白色前景
38 在缺省的前景颜色上设置下划线
39 在缺省的前景颜色上关闭下划线
40 设置黑色背景
41 设置红色背景
42 设置绿色背景
43 设置棕色背景
44 设置蓝色背景
45 设置紫色背景
46 设置青色背景
47 设置白色背景
49 设置缺省黑色背景
其他有趣的代码还有:
\033[2J 清除屏幕
\033[0q 关闭所有的键盘指示灯
\033[1q 设置"滚动锁定"指示灯 (Scroll Lock)
\033[2q 设置"数值锁定"指示灯 (Num Lock)
\033[3q 设置"大写锁定"指示灯 (Caps Lock)
\033[15:40H 把关闭移动到第15行,40列
\007 发蜂鸣生beep
想要了解更多,使用命令 man console_codes
3.5 如何安装软件包(Package)及 rpm 软件包管理器
3.5.1 如何安装从Internet 下载的程序?
答案基于你所下载的是哪一种软件包.如果你下载的程序是Red Hat二进制形式软件包*.rpm (如果假定一个选择, 我选择这种格式), 你能避免很多安装上的问题.
安装:rpm -ivh my_new_file.rpm
升级: rpm -Uvh my_new_file.rpm
卸载:rpm -E my_new_file.rpm(注意这里的文件名是不带版本号的)
第4 部分: Linux 管理员新手常见问题
==========================================
本章内容:
4.1 关于启动(LILO 和GRUB)
4.1.0 LILO 和 GRUB
4.1.1 Linux 不能发现我的所有内存
4.1.2 我如何能让操作系统变为由LILO 缺省引导?
4.1.3 在启动时LILO 提示符在屏幕上停留时间太短(或太长)
4.1.4 卸载Linux
4.2 访问我的驱动器
4.2.1 我的驱动器在哪里?
4.2.2 我如何访问我的CDROM?
4.2.3 如何挂载软盘,zip 磁盘驱动器,dos 分区,或网络驱动器?
4.2.4 如何通过 Samba 挂载远程MS Windows 的文件系统?
4.2.5作为超级用户我可以挂载. 普通用户能做到吗?
4.2.6 我能自动挂载吗?
4.2.7 我加了一个新硬盘, 开始使用时要做什么?
4.2.8 交换分区 SWAP
4.3 使用X-Windows工作
4.3.1 怎样切换文本和图形控制台?
4.3.2 我怎样在X-server 上安装显示卡、监视器以及鼠标?
4.3.3 我怎么将默认桌面改变成KDE(如Gnome 以及其他类型的KDE)?
4.3.4 在不关闭我的Linux 阶段作业的前提下可以开启第二个GUI 登录提示符吗
4.3.5 我如何从MSWindows 分区安装TrueType 字体?
4.3.6 如何进行拷贝粘贴操作?
4.4:基本配置
4.4.1 如何设置声卡?
4.4.2 如何设置打印机?
4.4.3 Word Perfect 8 没有适合我的打印机的驱动程序
4.4.4 配置文件在哪里?
4.4.5 这些设备文件都是什么?
4.5 网络
4.5.1 怎样使用Samba?
4.5.2 Sendmail
4.5.3 简单的WEB 服务器(Apache 阿帕奇)
4.5.4 简单的FTP 服务器
----------------------------------------------
4.1 关于启动(LILO 和GRUB)
4.1.0 LILO 和 GRUB
新的GRUB 和旧的 LILO 二者都是系统引导载入程序。 它们使你在系统引导时选择不同的操作系统成为可能。大多数(所有?)在这一部分所描述的系统引导问题或许能在安装最近的Linux内核和最新的GRUB 引导装入程序时得到解决。GRUB 比LILO 更好是因为LILO 依赖硬盘的绝对地址来找到引导映像而GRUB 能理解文件系统并寻找包含那个引导映像的文件。在安装时,当系统给与选择时,我推荐使用GRUB。
GRUB 主要配置文件是 /boot/grub/menu.lst
4.1.1 Linux 不能发现我的所有内存
此问题已不多见,除非你的电脑年纪够大了!
查看 Linux 在你的系统占用了多少内存,输入:
cat /proc/meminfo
或
free
你能使用下面命令查看你的Linux 内核版本号:
uname -a
4.1.2 我如何能让操作系统变为由LILO 缺省引导?
以在lilo 配置文件/etc/lilo.conf 里设置。
-----------
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
vga=normal
default=linux
keytable=/boot/us.klt
lba32
prompt
timeout=50
message=/boot/message
menu-scheme=wb:bw:wb:bw
image=/boot/vmlinuz
label=linux
root=/dev/hda3
append=" mem=96M"
read-only
image=/boot/vmlinuz
label=failsafe
root=/dev/hda3
append=" mem=96M failsafe"
read-only
other=/dev/hda1
label=windows
table=/dev/hda
other=/dev/fd0
label=floppy
unsafe
-----------------这是我RH7.2的LILO内容