LINUX系统-RHEL5.1-Server

1.安装文件RHEL5.1-Server-20071017.0-i386-DVD.iso

2.目录结构

/bin : 存放常用命令
 /boot: 存放启动程序
 /dev: 存放设备文件
 /etc: 存放启动,关闭,配置程序与文件
 /home:用户工作根目录
 /lib: 存放共享链接库
 /root:超级用户的工作目录
 /sbin:系统管理员的常用管理程序
 /tmp: 存放临时文件
 /lost+found:系统出现异常时,用于保存部分资料

/misc : 一些实用工具
 /mnt: 光驱、硬盘等的挂载点
 /media: 光驱的自动挂载点
 /proc: 操作系统的实时信息
 /sys: 系统中的硬件设备信息
 /srv: 服务启动后需要提取的信息
 /var:主要存放系统日志
 /usr:存放用户程序
 /tftpboot: tftp服务器的服务目录
 /selinux:redhat提供的selinux安全程序

3.超级用户的提示符是“#”,其他用户的提示符是“$”

4.添加用户

? useradd
格式:useradd [选项] 用户名
范例:
useradd smb
添加名字为smb的用户

修改密码
? passwd
格式:passwd [选项] [用户名]
范例:
passwd smb
修改smb用户的密码

切换用户
? su
格式:su [选项][用户名]
范例:
su – root
切换到root用户,并将root的环境变量同时带入

关机
? shutdown
格式:shutdown [-t seconds] [-rkhncfF] time
[message]
范例:
shutdown now
立刻关机

拷贝
? cp
格式:cp [选项] 源文件或目录目标文件或目录
范例:
1. cp /home/test /tmp/
将/home目录下的test文件copy到/tmp目录下
2. cp –r /home/dir1 /tmp/
将/home目录下的dir1目录copy到/tmp目录下

移动或更名
? mv
格式:mv [选项] 源文件或目录目标文件或目录
范例:
1. mv /home/test /home/test1
将/home目录下的test文件更名为test1
2.mv /home/dir1 /tmp/
将/home目录下dir1目录移动(剪切)到/tmp目录下

删除
? rm
格式:rm [选项] 文件或目录
范例:
1. rm /home/test
删除/home目录下的test文件
2.rm –r /home/dir
删除/home目录下的dir目录

创建目录
? mkdir
格式:mkdir [选项] 目录名
范例:
1. mkdir /home/workdir
在/home目录下创建workdir目录
2. mkdir –p /home/dir1/dir2
创建/home/dir1/dir2目录,如果dir1不存在,先创建dir1

查看目录
? ls
格式:ls [选项] [目录或文件]
范例:
1. ls /home
显示/home目录下的文件与目录(不包含隐藏文件)
2. ls –a /home
显示/home目录下的所有文件与目录(包含隐藏文件)

3. ls –l /home
显示/home目录下的文件与目录的详细信息
4. ls –c /home
显示/home目录下的文件与目录,按修改时间排序

打包与压缩
? tar
格式:tar [选项] 目录或文件
范例:
1.tar cvf tmp.tar /home/tmp
将/home/tmp目录下的所有文件和目录打包成一个
tmp.tar文件
2.tar xvf tmp.tar
将打包文件tmp.tar在当前目录下解开

3.tar cvzf tmp.tar.gz /home/tmp
将/home/tmp目录下的所有文件和目录打包并压
缩成一个tmp.tar.gz文件
4.tar xvzf tmp.tar.gz
将打包压缩文件tmp.tar.gz在当前目录下解开

解压缩
? unzip
格式:unzip [选项] 压缩文件名.zip
范例:
1.unzip tmp.zip
解压tmp.zip文件

5.

访问权限
系统中的每个文件和目录都有访问许可权
限,用它来确定谁可以通过何种方式对文件
和目录进行访问文件。或目录的访问权限分
为只读,只写和可执行三种。有三种不同类
型的用户可对文件或目录进行访问:文件所
有者,与所有者同组的用户、其他用户。所
有者一般是文件的创建者。

每一文件或目录的访问权限都有三组,每组用三位表示,分
别为文件所有者的读、写和执行权限;与所有者同组的用
户的读、写和执行权限;系统中其他用户的读、写和执行
权限。当用ls -l命令显示文件或目录的详细信息时,最左边
的一列为文件的访问权限。例如:
$ ls -l sobsrc. tgz
-rw-r--r-- 1 root root 483997 Ju1 l5 17:3l sobsrc. Tgz
注意这里共有10个位置。第一个字符指定了文件类型,如果第
一个字符是横线,表示是一个非目录的普通文件。如果是
d,表示是一个目录。r代表只读,w代表写,x代表可执行,
横线代表无该项权限。

6.

改变访问权限
? chmod
格式:chmod [who] [+ | - | =] [mode] 文件名
参数:
who:
u 表示文件的所有者。
g 表示与文件所有者同组的用户。
o 表示“其他用户”。
a 表示“所有用户”。它是系统默认值。
mode:
+ 添加某个权限
- 取消某个权限
= 赋予给定权限
例:chmod g+w hello.c

mode所表示的权限可使用下述字母
(数字)的任意组合:
r 可读(4)
w 可写(2)
x 可执行(1)
例:chmod 761 hello.c

查看磁盘使用情况
? df
格式:df [选项]
范例:
df –k
以KB为单位显示磁盘使用情况

查看目录大小
? du
格式:du [选项] 目录
范例:
du –b ipc
以字节为单位显示ipc这个目录的大小

网络配置
? ifconfig
格式:ifconfig [选项] [网络接口]
范例:
1. ifconfig eth0 192.168.0.1
配置eth0这一网卡的ip地址为192.168.0.1
2. ifconfig eth0 down
暂停eth0这一网卡的工作
3. ifconfig eth0 up
恢复eth0这一网卡的工作

软件安装
? rpm
格式:rpm [选项] [安装文件]
范例:
1. rpm -ivh tftp.rpm
安装名字为tftp的文件
2. rpm –qa
列出所有已安装rpm包
3. rpm –e name
卸载名字为name的rpm包

挂载
? mount
格式:mount [选项] 设备源目标目录
范例:
1. mount /dev/cdrom /mnt
将光驱挂载到/mnt目录下
? umount
格式:mount 目标目录
范例:
1. umount /mnt (对应mount例)
取消光驱在/mnt下的挂载

查找字符串
? grep
格式:grep [选项] 字符串
范例:
1. grep “file” ./ -rn
在当前目录及其子目录中,查找包含file字符串的文件
2. netstat –a | grep tftp
查看所有端口中用于tftp的端口

查看进程
? ps
格式:ps [选项]
范例:
1.ps aux
查看系统中的所有进程。

杀死进程
? kill
格式:kill [选项] 进程号
范例:
1.kill –s SIGKILL 4096
杀死4096号进程

vi

? :set nu 显示行号
? :set nonu 取消行号

Tftp服务器-安装
使用RPM包安装tftp-server
1、如果利用如下命令能够看到服务已启动, 则不用安装
[[email protected]]# netstat -a | grep tftp
已安装结果: udp 0 0 *:tftp *:*
2、如果没有安装,执行如下命令安装。
[[email protected]]# rpm -ivh tftp-server-0.42-
3.1.i386.rpm(rhel5安装光盘\Servers目录)
3、建立tftp的主工作目录
[[email protected] btools]# mkdir /tftpboot

Tftp服务器-配置
4、修改配置文件
[[email protected] btools]# vi /etc/xinetd.d/tftp
service tftp
{
…………………………
socket_type = dgram
…… …… ……
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot
disable = no
…… …… ……
}

Tftp服务器-启动
#/etc/init.d/xinetd start
#netstat -a | grep tftp
udp 0 0 *:tftp *:*

NFS安装
安装NFS服务器
[[email protected]]# rpm -q nfs-utils
如果没有安装,从对应Linux操作系统版本的安
装光盘上找到nfs-utils的安装包。
例:
[[email protected]]# rpm -ivh nfs-utils-1.0.9-
24.el5.i386.rpm

NFS配置
[[email protected] ]# vi /etc/exports
加入允许被其它计算机访问的目录和访问权限
例:
/home 192.168.1.*(rw,sync,no_root_squash)
1、/home : 允许其他计算机访问的目录
2、192.168.1.* : 被允许访问该目录的客户端IP地址
3、Rw: 可读可写
4、Sync:同步写磁盘(async:资料会先暂存于内存当中,而非直接写
入硬盘)
5、no_root_squash:表示客户端root用户对该目录具备写权限

NFS启动
1、启动NFS服务器时用下面命令:
/etc/init.d/nfs start
2、重启NFS服务器时用下面命令:
/etc/init.d/nfs restart

NFS使用
使用mount 命令来挂载NFS 服务器上的共享
目录。
# mount -t nfs servername:/shared_dir /localdir
例:
# mount -t nfs 10.168.1.100:/home /mnt/nfs

Samba
修改/etc/samba/smb.conf,添加:
[root]
comment = Root Directories
browseable = yes
writeable = yes
path = /
valid users = smb(用户名)

Samba(添加用户)
Useradd smb //添加smb系统用户
Smbpasswd -a smb //修改密码

Wireshark
 Rpm –ivh lm_sensors-2.10.0-3.1.i386.rpm
 Rpm –ivh net-snmp-5.3.1-9.el5.i386.rpm
 Rpm –ivh wireshark-0.99.6-1.el5.i386.rpm
 Rpm –ivh wireshark-gnome-0.99.6-1.el5.i386.rpm
(以上4个RPM包都在RHEL5安装盘的servers目录下)

定义
什么是Shell?
简单地讲,就是命令解析器,将
用户输入的指令转换为相应的机
器能够运行的程序。种类

Bourne shell (sh)
Korn shell (ksh)
Bourne Again shell (bash)
C shell (包括csh and tcsh)
TENEX/TOPS C shell (tcsh)

Shell脚本
Shell脚本是一个包含一系列命令序列的文
本文件。当运行这个脚本文件时,文件中
包含的命令序列将得到执行。(展示、运
行hello.sh)

语法
Shell脚本的第一行必须是如下格式:
v#!/bin/sh
符号#!用来指定该脚本文件的解析程序。在上面
例子中使用/bin/sh来解析该脚本。当编辑好脚本
后,如果要执行该脚本,还必须使其具有可执行
属性。
chmod +x filename

注释
在进行shell编程时,以#开头的句子表示
注释,直到这一行的结束。如果使用了注
释,即使相当长的时间内没有使用该脚
本,也能在很短的时间内明白该脚本的作
用及工作原理。

变量
在shell编程中,所有的变量都由字符串组成,
并且不需要预先对变量进行声明,例:s1(演示)。
#!/bin/sh
#set variable a
a="hello world"
# print a
echo "A is:"
echo $a

变量
有时候变量名很容易与其他文字混淆。例:
S2(演示):
num=2
echo "this is the $numnd“
思考:输出?Why?

变量
num=2
echo "this is the $numnd"
这并不会打印出"this is the 2nd",而仅仅打印"this is the “,因为shell会去搜索变量numnd的值,但是这个变量时没有值的。可以使用花括号来告诉shell我们要打印的是num变量:num=2
echo "this is the ${num}nd"
这将打印: this is the 2nd

默认变量
$# :传入脚本的命令行参数个数
$* :所有命令行参数值,在各个参数值之间
留有空格
$0 :命令本身(shell文件名)
$1 :第一个命令行参数
$2 :第二个命令行参数

S3(演示):
#!/bin/sh
echo "number of vars:"$#
echo "values of vars:"$*
echo "value of var1:"$1
echo "value of var2:"$2
echo "value of var3:"$3
echo "value of var4:"$4
运行./s2 1 2 3 4
输出结果:?

局部变量
在变量首次被赋值时加上local 关键字可
以声明一个局部变量,例:s4(演示):
#!/bin/bash
hello="var1"
echo $hello
function func1 {
local hello ="var2"
echo $hello
}
func1
echo $hello
输出:?

变量(注意)
1. 变量赋值时,“=”左右两边都不能有空格
2. BASH 中的语句结尾不需要分号

If语句
 if [ expression ]
then
#code block
fi

If语句
 if [ expression ]
then
#code block
else
#code block
fi

If语句

if [ expression ]
then
#code block
else if [ expression ]
then
#code block
else
#code block
fi
fi

If语句

if [ expression ]; then
#code block
elif [ expression ]
then
#code block
else
#code block
fi
fi

比较
比较操作整数操作字符串操作
相同-eq =
不同-ne !=
大于-gt >
小于-lt <
大于或等于-ge
小于或等于-le
为空-z
不为空-n

例:
比较整数a和b是否相等:if [ $a = $b ] (也可用eq)
判断整数a是否大于整数b:if [ $a -gt $b ]
比较字符串a和b是否相等:if [ $a = $b ]
判断字符串a是否为空: if [ -z $a ]
判断整数变量a是否大于b:if [ $a -gt $b ]
注意:
1. 在“[”和“]”符号的左右都留有空格
2. “=”左右都有空格

判断
-e 文件已经存在
-f 文件是普通文件
-s 文件大小不为零
-d 文件是一个目录
-r 文件对当前用户可以读取
-w 文件对当前用户可以写入
-x 文件对当前用户可以执行
例:S5(演示):
#!/bin/sh
folder=/home
[ -r "$folder" ] && echo "Can read $folder"
[ -f "$folder" ] || echo "this is not file"

For循环
for 循环结构与C 语言中有所不同,在BASH 中for 循
环的基本结构是:
for var in [list]
do
#code block
done
其中$var 是循环控制变量,[list] 是var 需要遍历的一
个集合,do/done 对包含了循环体,相当于C 语言中的
一对大括号。另外如果do 和for 被写在同一行,必须在
do 前面加上“;”。如: for $var in [list]; do

例:S6(演示):
#!/bin/bash
for day in Sun Mon Tue Wed Thu Fri Sat
do
echo $day
done
 如果列表被包含在一对双引号中,则被认为是一个元素,如S8:
#!/bin/bash
for day in "Sun Mon Tue Wed Thu Fri Sat“
do
echo $day
done

For循环(注意)
上面的例子中,在for 所在那行,
变量day 是没有加"$" 符号的,而
在循环体内,echo 所在行变量
$day 是必须加上"$" 符号的。

while循环
while 循环的基本结构是:
while [ condition ]
do
#code block
done

until循环
until 循环的基本结构是:
until [ condition ]
do
#code block
done
while 和until的区别在于while是为真时执
行,until是为假时执行

Case语句
BASH 中的case 结构与C 语言中的switch 语句
的功能比较类似,可以用于进行多项分支控制。
case "$var" in
condition1 )
;;
condition2 )
;;
* )
default statments;;
esac

例,S7(演示):
#!/bin/bash
echo "Hit a key, then hit return."
read Keypress
case "$Keypress" in
[A-Z] ) echo " Uppercase letter";;
[a-z] ) echo " Lowercase letter";;
[0-9] ) echo "Digit";;
* ) echo "Punctuation, whitespace, or other";;
esac

时间: 2024-10-18 01:51:26

LINUX系统-RHEL5.1-Server的相关文章

VirtualBox下安装rhel5.5 linux系统

以前也用过VMware server和VMware workstation虚拟机,现在使用了一段时间VirtualBox,感觉它比较轻巧,很适合我,在Win7系统下用起来很方便.下面详细介绍下在VirtualBox里安装rhel5.5 linux系统(我装的是32位系统). 1.VirtualBox版本 4.2.12. 2.点击红色方框处的“新建”,创建新虚拟系统. 3.选择一下系统类型,填写一个虚拟系统名称,如“rhel-test”. 4.给虚拟系统分配一下内存,如果不安装别的东西512M内存

Linux系统各发行版镜像下载(持续更新)

Linux系统各发行版镜像下载(持续更新) http://www.linuxidc.com/Linux/2007-09/7399.htm Linux系统各发行版镜像下载(2014年10月更新),如果直接下载不了,请使用迅雷下载.并且注意,我的下载地址,在  迅雷 里才起作用. 包括Ubuntu,Fedora,SUSE,Red Hat Enterprise Linux,CentOS等. 中国大陆开源镜像站汇总 1.企业贡献: 搜狐开源镜像站:http://mirrors.sohu.com/网易开源

Linux系统挂载NTFS文件系统(转载)

转自:http://hermesbox.blogbus.com/logs/47386987.html 今天尝试并成功的将一块500G的移动硬盘挂载到了RHEL5的系统上,甚感欣慰.想到也许以后自己或其他同学们会有类似经历,于是尽量细致的记录于此.     无论是一块安装了Windows/Linux双系统的硬盘,还是通过USB连接的移动硬盘/U盘,都是可以挂载到Linux系统中的.不过由于Windows本身常用的文件系统包括fat32和NTFS,因此还是需要区别的.废话少说,进入正题. 系统环境如

Linux系统挂载NTFS文件系统

?? 今天尝试并成功的将一块500G的移动硬盘挂载到了RHEL5的系统上,甚感欣慰.想到也许以后自己或其他同学们会有类似经历,于是尽量细致的记录于此.     无论是一块安装了Windows/Linux双系统的硬盘,还是通过USB连接的移动硬盘/U盘,都是可以挂载到Linux系统中的.不过由于Windows本身常用的文件系统包括fat32和NTFS,因此还是需要区别的.废话少说,进入正题. 系统环境如下:操作系统-- RHEL5,详细版本为:Red Hat Enterprise Linux Se

Linux 系统之Sysvinit

子贡问为仁.子曰:“工欲善其事,必先利其器.居是邦也,事其大夫之贤者,友其士之仁者.”——孔子(春秋)<论语·卫灵公> [工欲善其事,必先利其器] 掌握一门技术,知道其发展历程是非常重要的,知其然,然后知其所以然.能够达到然与所以然的双知,需要了解整个发展历程.就像我们小时候做诗词鉴赏的时候,需要了解诗人的写作背景一样. 切入主题,了解Linux系统的发展历程,自认为能够更好的了解系统,掌握系统. systemvinit -- > upstart -- > systemd 近年来,

Linux系统各发行版镜像下载

Linux系统各发行版镜像下载(2014年10月更新),如果直接下载不了,请使用迅雷下载.并且注意,我的下载地址,在 迅雷 里才起作用. 包括Ubuntu,Fedora,SUSE,Red Hat Enterprise Linux,CentOS等. 中国大陆开源镜像站汇总 1.企业贡献: 搜狐开源镜像站:http://mirrors.sohu.com/网易开源镜像站:http://mirrors.163.com/ 2.大学教学: 北京理工大学:http://mirror.bit.edu.cn (I

linux系统故障分析与排查

在处理Linux系统出现的各种故障时,故障的症状是最先发现的,而导致这以故障的原因才是最终排除故障的关键.熟悉Linux系统的日志管理,了解常见故障的分析与解决办法,将有助于管理员快速定位故障点."对症下药"及时解决各种系统问题. 日志分析及管理 日志文件是用于记录Linux系统中各种运行消息的文件,相当于Linux主机的"日记".不同的日志文件记载了不同类型的信息,如:Linux内核消息,用户登录记录,程序错误等.日志文件对于诊断和解决系统中的问题很有帮助,因为在

linux系统配置文件

1./etc/sysconfig/i18n(语言配置文件). LANG="zh_CN.UTF-8"              #中文 LANG="en_US.UTF-8"或LANG=""     #英文 2./etc/sysconfig/network-scripts/ifcfg-eth0(eth0配置文件) 静态: DEVICE=eth0 #网卡接口名称 HWADDR=00:0C:29:13:5D:74 #网卡设备MAC地址 TYPE=Ethe

Linux系统固定磁盘标识符之wwid和uuid

背景描述,在Linux系统中,如果添加了新的SCSI磁盘或者映射SAN存储LUN操作,重启操作系统之后会出现磁盘标识符(sd*)错乱的情况. 例如之前添加的SAN存储LUN的磁盘标识符为/dev/sdd,重启之后发现变成/dev/sdh,特别是oracle RAC环境下我们是不希望出现这样的情况的. 解决这个问题之前,需要先搞清楚Linux系统中的wwid和uuid号. 一.wwid 根据SCSI标准,每个SCSI磁盘都有一个WWID,类似于网卡的MAC地址,要求是独一无二. 通过WWID标示S