第一章 基本要求
第一节 基础知识
linux和unix都是通过一系列的文本文件来进行管理。Linux系统管理员通常不使用图形编辑器来管理这些配置文件。各种流行的编辑器的格式例如:word、startoffice等等,linux都无法识别。Linux常用的文本编辑器有这么几种:vi、pico、joe、emacs。尽管emacs可能是linux世界最流行的编辑器,但是系统管理员仍然必须懂得vi的基本使用。Emacs更加灵活更加流行,vi可以帮助你恢复系统。如果你要使用紧急引导盘来恢复一个重要的文件,vi是唯一可用的编辑器。
实际上,RHEL 3 使用增强版本的vi,即vim.它增加了颜色来对重要的文件进行区分。所有的vi 命令都是在vim编辑器,你可以通过在vim编辑其中使用:nohl命令来去掉颜色,这并不会对你管理系统带来任何影响。
Vi的基本用法:vi filename
基本命令:i 插入
o 插入新行
:w保存
:q退出
:wq!保存并强制退出
:q!不保存强行退出
练习1:使用vi来增加新用户
1、#vi /etc/passwd,使用命令yy拷贝当前行,使用命令p复制出一新行,然后修改。改变用户名,用户id用户组id,以及home目录。更改完成后使用命令:wq!保存退出。
2、更改新用户的密码:passwd username
3、建立用户的主目录:mkdir /home/username
第二节ant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;""> 文件系统的层次结构
linux中的任何事情都可以归结为一个文件。分区和文件系统设备节点关联,例如:/dev/hda1。硬件组件对应于节点文件如:/dev/modem。检测到的设备在/proc目录中存档。FHS是用来组织linux和unix文件的方法。
基本文件系统层次结构:
/ 根目录,linux的最高级目录
/bin 基本的命令行工具,不应该单独挂接。
/boot 引导目录,包含linux的启动文件,其中有linux内核。默认大小
为100M
/dev 所有软硬件设备的驱动,不要将此目录单独挂接在一个分区上
/etc 存放大多数的基本配置文件
/home 存放大多数用户的主目录
/lib 内核程序库以及各种命令行工具。不要将此目录挂接在单独的分区上
/mnt 可移动设备的挂接点,包括软盘,光驱等
/opt 存放应用程序,如wordperfect、openoffice套件等
/proc 当前运行的和内核相关的进程,包括IRQ ports,I/O地址,DMA通道
/root root用户的主目录
/sbin 系统管理命令,不要单独挂接
/tmp 临时文件夹
/usr 对所有用户可用的小程序,包括一些系统管理命令和功能
/var 可变的数据包括日志文件,打印池
文件系统的格式及检验
用来对不同的文件系统进行管理的工具有如下几种:fdisk、mkfs、fsck
fdisk:该命令功能强大,但使用该命令,你必须知道你需要对那个硬盘进行更改,即必须指定对应的设备。如果你要管理第一个scsi硬盘输入如下命令:fdisk/dev/sda
fdisk命令:a 指定引导分区
l 列出已知分区的类型
n 增加新的分区
q不保存退出
t 改变分区的文件系统
mkfs:格式化一个linux文件系统,使用mkfs命令,例如:
mkfs –t ext3 /dev/hda1
fsck:磁盘检查命令,类似于windows 2000的chkdsk,使用该命令之前应将所要检查的磁盘卸载,例如要检查挂接在/var目录下的hda7分区:#umount/var
#fsck –t ext3 /dev/hda7
#mount /dev/hda7 /var
练习:创建新的lvm分区
1、 增加一个新的硬盘
2、 创建了一个新的分区,使用fdisk工具将该分区设为lvm文件系统。
3、 备份/home目录
4、 使用vgscan命令,扫描lvm文件系统,为其他的lvm命令创建数据库
5、 使用pvcresate /dev/partition创建卷
6、 使用vgcreate groupname /dev/partition1 /dev/partition2命令创建卷组
7、 使用lvcreate –L –xyM –n volname groupname groupname创建逻辑卷,xy是卷的大小。
8、 最后使用mkfs命令来格式化逻辑卷
9、 将逻辑卷挂接在/home目录下,修改/etc/fstab使得系统自动挂载/home目录
第三节 基本命令工具
作为unix的变体,linux用不同的代码实现了和unix相同的功能。这两种系统都是基于命令行的,使用命令来对系统进行维护
基本文件操作
每一个用户都会有一个主目录,~表示用户的主目录。
路径:分为绝对路径和相对路径,以/目录开始的路径表示绝对路径,相对于当前目录的路径是相对路径。
显示当前所处目录:pwd命令显示尼当前相对于根目录的路径。
进入其他目录:cd 使用命令cd可以进入其他的目录,例如:cd /boot
显示目录中的文件和子目录:ls
查找:find,例如查找文件qq find /-name qq
显示文件内容:catfilename、less filename、morefilename
head:显示文件的前n行
tail: 显示文件的后n行
cp:拷贝文件
mv:移动文件
ln:创建符号链接文件
sort:排序命令,例如:sort/etc/passwd
grep and egrep:查找文件,例如:grep‘zhao’ /etc/passwd
wc:对文本文件进行统计,得出其中的字符数、行数等信息
sed:用于替换文件中指定的字符,例如:使用linux替换windows
sed ‘s/windows/linux’ filename > newfile 替换第一个符合的项
sed ‘s/windows/linux’ filename >newfile 替换所有符合的项
awk:数据库管理命令,可以读出指定的列从某行,例:找出含有zhao 的行
awk ‘/zhao/ {print }’ /etc/passwd
ps:显示当前的进程
who and w:显示当前登陆的用户,可以看到谁登陆在那个终端上,登陆的时间运行的进程
通配符:*可以匹配任意字符
?可以匹配任意单字符
[] 例:lsabc[123],若文件存在则显示abc1、abc2、abc3
shells
shell是一种用户界面,你可以通过shell使用各种各样的命令来和计
算机进行交互,通过正确的权限,你可以把命令方在脚本文
件中在指定的时间运行,甚至是在深夜。Linux执行命令的
顺序,取决于你对每个命令的输入于输出的安排。
在各种shell中命令的运行方式很大程度上取决于该命令的参数和选项。部分变量对于各种shell是通用的。
linux默认的shell是bash,在用户中流行的其它很多shell也是可用的,如:c shell、k shell
添加path到自己的路径:
#PATH=$PATH:/sbin
#export PATH
查看自己当前的path:
#echo $PATH
查看文本文件的内容:
#cat filename
重定向把一个文件的输出作为另外一个的输入,例:
#database <datafiles 将文件datafiles作为程序database的输入
输出重定向:
#cat /etc/passwd >filenam把输出结果重定向到文件filename
#cat /etc/group >>filename 将输出的内容追加到filename
查看启动信息:
#dmesg | less :分平显示启动日志
重定向错误信息: