Redhat 7 服务器管理培训 2

81
Redhat 7 服服服服服服服 2 2002 服 5 服 服服 liukange@netease. com

description

Redhat 7 服务器管理培训 2. 2002 年 5 月 刘亢 [email protected]. 文件系统的权限. Linux 系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作。. 使用 ls – l 命令来看文件的权限. $ ls -l -rw-r--r-- 1 qiujn qiujn 745559 Mar 6 2001 anonftp-3.0-9.i386.rpm - PowerPoint PPT Presentation

Transcript of Redhat 7 服务器管理培训 2

Page 1: Redhat 7  服务器管理培训  2

Redhat 7 服务器管理培训 2

2002 年 5 月 刘亢

[email protected]

Page 2: Redhat 7  服务器管理培训  2

文件系统的权限 LinuxLinux 系统中的每个文件和目录都有访问系统中的每个文件和目录都有访问

许可权限,用它来确定谁可以通过何种许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作。方式对文件和目录进行访问和操作。

Page 3: Redhat 7  服务器管理培训  2

使用 ls –l 命令来看文件的权限$ ls -l$ ls -l-rw-r--r-- 1 qiujn qiujn 745559 Mar 6 2001 anonftp-3.0-9.i386.rpm-rw-r--r-- 1 qiujn qiujn 745559 Mar 6 2001 anonftp-3.0-9.i386.rpm-rw-rw-r-- 1 qiujn qiujn 15167 Mar 26 01:59 l-rw-rw-r-- 1 qiujn qiujn 15167 Mar 26 01:59 l-rw-rw-r-- 1 root root 154806 Oct 6 14:20 wget-1.5.3-4.i386.rpm -rw-rw-r-- 1 root root 154806 Oct 6 14:20 wget-1.5.3-4.i386.rpm

Page 4: Redhat 7  服务器管理培训  2

ls –l 结果的说明 1文件的类型文件的类型 :: - - 表示普通文件。表示普通文件。 b b 表示块设备文件表示块设备文件 c c 表示字符设备文件表示字符设备文件 d d 表示目录表示目录 l l 表示符号链接表示符号链接文件的访问权限文件的访问权限 :: r(r( 读读 ):): 表示只允许读其内容。表示只允许读其内容。 w(w( 写写 ):): 表示允许对其做任何的更改操作。表示允许对其做任何的更改操作。 x(x( 执行执行 ):): 表示允许将该文件作为一个程序执行。表示允许将该文件作为一个程序执行。 - : - : 没有设置权限。 没有设置权限。

Page 5: Redhat 7  服务器管理培训  2

ls –l 的结果说明 2 s s :当文件被执行时,把该文件的:当文件被执行时,把该文件的 UIDUID 或或 GIDGID

赋予执行进程的赋予执行进程的 UIDUID (用户(用户 IDID )或)或 GIDGID (组 (组 IDID )。 )。

t t :设置标志位(留在内存,不被换出)。如:设置标志位(留在内存,不被换出)。如果该文件是目录,在该目录中的文件只能被超果该文件是目录,在该目录中的文件只能被超级用户、目录拥有者或文件属主删除。如果它级用户、目录拥有者或文件属主删除。如果它是可执行文件,在该文件执行后,指向其正文是可执行文件,在该文件执行后,指向其正文段的指针仍留在内存。这样再次执行它时,系段的指针仍留在内存。这样再次执行它时,系统就能更快地装入该文件。统就能更快地装入该文件。

Page 6: Redhat 7  服务器管理培训  2

uid 和 gid 的概念uid 和 gid 通常都是唯一的他们是一串大于 0 小于 65536 的数字不同的用户的 uid 是不一样的如果两个用户的 uid 一样,即使登陆名不

一样,系统仍然把这 2 个用户当成同一个用户。

gid 用户所在组的 id.

Page 7: Redhat 7  服务器管理培训  2

目录的访问权限r(r( 读读 ):): 表示可以列出目录中有那些文件。表示可以列出目录中有那些文件。w(w( 写写 ):): 表示可以在该目录中添加删除文件。表示可以在该目录中添加删除文件。x(x( 执行执行 ):): 可以进入,列出该目录中下的文件的相可以进入,列出该目录中下的文件的相

关内容。关内容。每一文件或目录的访问权限都有三组,每组用三每一文件或目录的访问权限都有三组,每组用三

位表示,分别为:位表示,分别为: 文件属主的读、写和执行权限。文件属主的读、写和执行权限。 与属主同组的用户的读、写和执行权限。与属主同组的用户的读、写和执行权限。 系统中其他用户的读、写和执行权限。系统中其他用户的读、写和执行权限。

Page 8: Redhat 7  服务器管理培训  2

改变权限的命令 1chmod chmod 命令命令:用于改变文件或目录的访:用于改变文件或目录的访

问权限。有两种用法。一种是包含字母问权限。有两种用法。一种是包含字母和操作符表达式的文字设定法;另一种和操作符表达式的文字设定法;另一种是包含数字的数字设定法。是包含数字的数字设定法。

Page 9: Redhat 7  服务器管理培训  2

chmod1. 1. 文字设定法文字设定法      chmod [who] [+ | - | =] [mode] chmod [who] [+ | - | =] [mode] 文件名  文件名  操作对象操作对象 whowho 可是下述字母中的任一个或者它们的组合: 可是下述字母中的任一个或者它们的组合:      u u 表示“用户(表示“用户( useruser )”,即文件或目录的所有者。 )”,即文件或目录的所有者。      g g 表示“同组(表示“同组( groupgroup )用户”,即与文件属主有相同组)用户”,即与文件属主有相同组 IDID

的所有用户。 的所有用户。      o o 表示“其他(表示“其他( othersothers )用户”。 )用户”。      a a 表示“所有(表示“所有( allall )用户”。它是系统默认值。 )用户”。它是系统默认值。 操作符号可以是: 操作符号可以是:      + + 添加某个权限。 添加某个权限。      - - 取消某个权限。 取消某个权限。      = = 赋予给定权限并取消其他所有权限(如果有的话)。赋予给定权限并取消其他所有权限(如果有的话)。

Page 10: Redhat 7  服务器管理培训  2

chmod设置设置 modemode 所表示的权限可用下述字母的任意组合: 所表示的权限可用下述字母的任意组合:      r r 可读。 可读。      w w 可写。 可写。      x x 可执行。 可执行。      X X 只有目标文件对某些用户是可执行的或该目标文件是目录时才追加只有目标文件对某些用户是可执行的或该目标文件是目录时才追加 x x

属性。 属性。      s s 在文件执行时把进程的属主或组在文件执行时把进程的属主或组 IDID 置为该文件的文件属主。方式置为该文件的文件属主。方式

““ uu ++ s”s” 设置文件的用户设置文件的用户 IDID 位,“位,“ gg ++ s”s” 设置组设置组 IDID 位。 位。      t t 保存程序的文本到交换设备上。 保存程序的文本到交换设备上。      u u 与文件属主拥有一样的权限。 与文件属主拥有一样的权限。      g g 与和文件属主同组的用户拥有一样的权限。 与和文件属主同组的用户拥有一样的权限。      o o 与其他用户拥有一样的权限。 与其他用户拥有一样的权限。 文件名:以空格分开的要改变权限的文件列表,支持通配符。 文件名:以空格分开的要改变权限的文件列表,支持通配符。 例如:例如: chmod g+rchmod g+r ,, o+r example o+r example

Page 11: Redhat 7  服务器管理培训  2

实验使用 chmod 命令修改一个文件的权限权限要求:当前用户可读可写,同组用户

可读,其他用户不可读chmod u+r,u+w, g=r, o-r, filename使用 ls –l 命令确认权限是否正确

Page 12: Redhat 7  服务器管理培训  2

chmod

2. 2. 数字设定法数字设定法 属性的含义:属性的含义: 00 表示没有权限,表示没有权限, 11 表示可执行权限,表示可执行权限, 22

表示可写权限,表示可写权限, 44 表示可读权限,然后将其相加。所表示可读权限,然后将其相加。所以数字属性的格式应为以数字属性的格式应为 33 个从个从 00 到到 77 的八进制数,其的八进制数,其顺序是(顺序是( uu )()( gg )()( oo )。)。 88 进制的文件属性 进制的文件属性

数字设定法的一般形式为: 数字设定法的一般形式为:      chmod [mode] chmod [mode] 文件名 文件名 $ chmod 644 mm.txt $ chmod 644 mm.txt -rw-r--r-- 1 inin users 1155 Nov 5 11:22 mm.txt -rw-r--r-- 1 inin users 1155 Nov 5 11:22 mm.txt

Page 13: Redhat 7  服务器管理培训  2

实验使用 chmod 设置某文件的权限为当前用户完全控制 ( 可读可写可执行 ), 同组用户可读可写,其他用户可读。

chmod 764 filename

Page 14: Redhat 7  服务器管理培训  2

改变权限的命令 2chgrpchgrp 命令:命令:改变文件或目录所属的组。 改变文件或目录所属的组。   语法:  语法: chgrp [chgrp [ 选项选项 ] group filename ] group filename   该命令改变指定指定文件所属的用户组。其中  该命令改变指定指定文件所属的用户组。其中 grougrou

pp 可以是用户组可以是用户组 IDID ,也可以是,也可以是 /etc/group/etc/group 文件中用文件中用户组的组名。文件名是以空格分开的要改变属组的文户组的组名。文件名是以空格分开的要改变属组的文件列表,支持通配符。如果用户不是该文件的属主或件列表,支持通配符。如果用户不是该文件的属主或超级用户,则不能改变该文件的组。 超级用户,则不能改变该文件的组。

  该命令的各选项含义为:   该命令的各选项含义为:      - R - R 递归式地改变指定目录及其下的所有子目录和文递归式地改变指定目录及其下的所有子目录和文

件的属组。 件的属组。      $ chgrp - R book /opt/local /book $ chgrp - R book /opt/local /book

Page 15: Redhat 7  服务器管理培训  2

实验使用 chgrp 命令修改某文件的组将文件的组修改为 class2使用 ls -l 命令来确认是否成功

Page 16: Redhat 7  服务器管理培训  2

改变权限的命令 3chown chown 命令命令更改某个文件或目录的属主和属组更改某个文件或目录的属主和属组  语法:  语法: chown [chown [ 选项选项 ] ] 用户或组 文件 用户或组 文件   说明:  说明: chownchown 将指定文件的拥有者改为指将指定文件的拥有者改为指定的用户或组。用户可以是用户名或用户定的用户或组。用户可以是用户名或用户 IDID 。。组可以是组名或组组可以是组名或组 IDID 。文件是以空格分开的要。文件是以空格分开的要改变权限的文件列表,支持通配符。 改变权限的文件列表,支持通配符。     

Page 17: Redhat 7  服务器管理培训  2

chown该命令的各选项含义如下: 该命令的各选项含义如下:      - R - R 递归式地改变指定目录及其下的所有子递归式地改变指定目录及其下的所有子

目录和文件的拥有者。 目录和文件的拥有者。      - v - v 显示显示 chownchown 命令所做的工作。 命令所做的工作。   例  例 11 :把文件:把文件 shiyan.cshiyan.c 的所有者改为的所有者改为 wanwan

gg 。 。      $ chown wang shiyan.c $ chown wang shiyan.c   例  例 22 :把目录:把目录 /his/his 及其下的所有文件和子目及其下的所有文件和子目

录的属主改成录的属主改成 wangwang ,属组改成,属组改成 usersusers 。 。      $ chown - R wang.users /his$ chown - R wang.users /his

Page 18: Redhat 7  服务器管理培训  2

实验使用 chown 命令将某文件的署主修改为 cl

ass2使用 ls –l 命令确认是否成功

Page 19: Redhat 7  服务器管理培训  2

显示文件内容命令 11.cat1.cat 命令:命令: 功能功能 11 ::在标准输出上显示文件。在标准输出上显示文件。例如例如 : cat 123 : cat 123 则显示当前目录下则显示当前目录下 123123 这这

个文件的内容。个文件的内容。

Page 20: Redhat 7  服务器管理培训  2

cat 2

功能功能 22 ::连接两个或多个文件 连接两个或多个文件   说明:该命令功能之二是用来将两个  说明:该命令功能之二是用来将两个

或多个文件连接起来。 或多个文件连接起来。   例  例 22 :: $ cat file1 file2 > file3$ cat file1 file2 > file3

Page 21: Redhat 7  服务器管理培训  2

实验使用 cat 命令来看一下“家”目录下的 hel

lo 这个文件。

Page 22: Redhat 7  服务器管理培训  2

显示文件内容命令 2 2.more2.more 命令命令   功能:在终端屏幕按屏显示文本文件。   功能:在终端屏幕按屏显示文本文件。   语法:   语法: more [ - more [ - 选项 选项 ] ] 文件 文件   说明: 该命令一次显示一屏文本,显示满  说明: 该命令一次显示一屏文本,显示满

之后,停下来,并在终端底部打印出之后,停下来,并在终端底部打印出 - - More- - - More- - - ,系统还将同时显示出已显示文本占全部文,系统还将同时显示出已显示文本占全部文本的百分比,若要继续显示,按回车或空格键本的百分比,若要继续显示,按回车或空格键即可。 即可。

Page 23: Redhat 7  服务器管理培训  2

实验使用 more 命令看“家”目录下的 long 这

个文件

Page 24: Redhat 7  服务器管理培训  2

显示文件内容命令 33.less3.less 命令命令      lessless 命令的功能几乎和命令的功能几乎和 moremore 命令一命令一

样,也是用来按页显示文件,不同之处样,也是用来按页显示文件,不同之处在于在于 lessless 命令在显示文件时允许用户既命令在显示文件时允许用户既可以向前可以向前 (b)(b) 又可以向后又可以向后 (z)(z) 翻阅文件。翻阅文件。

Page 25: Redhat 7  服务器管理培训  2

实验用 less 命令来看刚才看过的” long”文

Page 26: Redhat 7  服务器管理培训  2

显示文件内容命令 44.head4.head 命令命令 :: 用用 headhead 命令只显示文件或标准输命令只显示文件或标准输

入的头几行。 入的头几行。   语法:  语法: head [- n ] head [- n ] 文件 文件   功能:显示指定文件的前若干行。   功能:显示指定文件的前若干行。   说明:该命令显示每个指定文件的前面  说明:该命令显示每个指定文件的前面 nn 行。行。若没有给出若没有给出 nn 值,缺省设置为值,缺省设置为 1010 。如果没有。如果没有指定文件,指定文件, headhead就从标准输入读取。就从标准输入读取。

例如显示文件例如显示文件 example.cexample.c 的前的前 33 行。行。 $ head - 3 example.c $ head - 3 example.c

Page 27: Redhat 7  服务器管理培训  2

实验使用 head 命令看” long”这个文件的前

5 行

Page 28: Redhat 7  服务器管理培训  2

显示文件内容命令 55.tail5.tail 命令命令 :: 如果用户想查看文件的尾部,可以使用如果用户想查看文件的尾部,可以使用 tailtail

命令。 命令。   语法:  语法: tail [+ / - num ] [tail [+ / - num ] [ 参数参数 ] ] 文件 文件   说明:该命令显示一个文件的指定内容。它把指定  说明:该命令显示一个文件的指定内容。它把指定

文件的指定显示范围内的内容显示在标准输出上。如文件的指定显示范围内的内容显示在标准输出上。如果没有给定文件名,则使用标准输入文件。 果没有给定文件名,则使用标准输入文件。

     tailtail 命令中各个选项的含义为: 命令中各个选项的含义为:   +  + num num 从第从第 numnum 行以后开始显示。 行以后开始显示。      - num - num 从距文件尾从距文件尾 numnum 行处开始显示。如果省略行处开始显示。如果省略

numnum参数,系统默认值为参数,系统默认值为 1010 。 。   例如:将显示文件  例如:将显示文件 exampleexample 的最后的最后 44 行 行     $ tail -4 example$ tail -4 example

Page 29: Redhat 7  服务器管理培训  2

实验使用 tail 文件显示 long 这个文件的后 6 行

Page 30: Redhat 7  服务器管理培训  2

内容查询命令 1grep 命令管道“ |”ls –al |grep abc只显示出带有 abc 的那一行

Page 31: Redhat 7  服务器管理培训  2

内容查询命令 2find功能:在目录结构中搜索文件并执行指定的操作功能:在目录结构中搜索文件并执行指定的操作语法:语法: find find 起始目录 寻找条件 操作起始目录 寻找条件 操作说明:说明: findfind 命令从指定的起始目录开始,递归命令从指定的起始目录开始,递归地搜索其各个子目录,查找满足寻找条件的文件地搜索其各个子目录,查找满足寻找条件的文件并对之采取相关的操作。该命令提供的寻找条件并对之采取相关的操作。该命令提供的寻找条件可以是一个用逻辑运算符可以是一个用逻辑运算符 notnot 、、 andand 、、 oror 组成组成的复合条件的复合条件

Page 32: Redhat 7  服务器管理培训  2

find 1)and1)and :与,用“:与,用“ -a”-a” 表示,是缺省选项表示,是缺省选项 ,,如:如: find –name ’find –name ’

tmp’ –xtype c -user ’inin’tmp’ –xtype c -user ’inin’ 2)or 2)or :或,用“:或,用“ -o”-o” 表示。如:表示。如: $ find –name ’tmp’ –o –$ find –name ’tmp’ –o –name ’mina*’name ’mina*’ 3)not 3)not :,用“!”表示。如::,用“!”表示。如: $ find ! –name ’tmp’$ find ! –name ’tmp’

需要说明的是:当使用很多的逻辑选项时,可以用括号把这些选需要说明的是:当使用很多的逻辑选项时,可以用括号把这些选项括起来。为了避免项括起来。为了避免 ShellShell 本身对括号引起误解,在话号前需要本身对括号引起误解,在话号前需要加转义字符“加转义字符“ \”\” 来去除括号的意义。例:来去除括号的意义。例: $ find \$ find \ (–(– namename ’tmp’ –xtype c -user ’inin’ \ ’tmp’ –xtype c -user ’inin’ \ )) 寻找条件有以下选项:首先,下列各个选项中的 寻找条件有以下选项:首先,下列各个选项中的 nn 值可以有三值可以有三种输入方式,假设种输入方式,假设 nn 为为 2020 ,则:,则: +20 +20 表示表示 2020 以后(以后( 2121 ,, 2222 ,, 2323等)等) -20 -20 表示表示 2020 以前(以前( 1919 ,, 1818 ,, 1717等)等) 20 20 表示正好是表示正好是 2020

Page 33: Redhat 7  服务器管理培训  2

findi. i. 以名称和文件属性查找以名称和文件属性查找

- name ’- name ’字符串’ 查找文件名匹配所给字符串的所有文件,字符串内可用通配字符串’ 查找文件名匹配所给字符串的所有文件,字符串内可用通配符符 **、、 ??、、 [ ][ ] 。。- lname ’- lname ’字符串’ 查找文件名匹配所给字符串的所有符号链接文件,字符串内字符串’ 查找文件名匹配所给字符串的所有符号链接文件,字符串内可用通配符可用通配符 **、、 ??、、 [ ][ ] 。。-gid n -gid n 查找属于查找属于 IDID 号为号为 nn 的用户组的所有文件。的用户组的所有文件。-uid n -uid n 查找属于查找属于 IDID 号为号为 nn 的用户的所有文件。的用户的所有文件。-group ’-group ’字符串’ 查找属于用户组名为所给字符串的所有的文件。字符串’ 查找属于用户组名为所给字符串的所有的文件。-user ’-user ’字符串’ 查找属于用户名为所给字符串的所有的文件。字符串’ 查找属于用户名为所给字符串的所有的文件。-empty -empty 查找大小为查找大小为 00 的目录或文件。的目录或文件。-path ’-path ’字符串’ 查找路径名匹配所给字符串的所有文件,字符串内可用通配符字符串’ 查找路径名匹配所给字符串的所有文件,字符串内可用通配符**、、 ??、、 [ ][ ] 。。-perm -perm 权限 查找具有指定权限的文件和目录,权限的表示可以如权限 查找具有指定权限的文件和目录,权限的表示可以如 711711 ,, 644644 。。-size n[bckw] -size n[bckw] 查找指定文件大小的文件,查找指定文件大小的文件, nn 后面的字符表示单位,缺省为后面的字符表示单位,缺省为 bb 。。-type x -type x 查找类型为查找类型为 xx 的文件,的文件, xx 为下列字符之一:为下列字符之一: (b (b 块设备文件、块设备文件、 c c 字符设字符设备文件、备文件、 d d 目录文件、目录文件、 p p 命名管道(命名管道( FIFOFIFO )、)、 f f 普通文件、普通文件、 l l 符号链接文件、符号链接文件、s sockets socket 文件)文件)-xtype x -xtype x 与与 -type-type基本相同,但只查找符号链接文件。基本相同,但只查找符号链接文件。

Page 34: Redhat 7  服务器管理培训  2

find

ii. ii. 以时间为条件查找以时间为条件查找- amin n - amin n 查找查找 nn 分钟以前被访问过的所有文件。分钟以前被访问过的所有文件。- atime n - atime n 查找查找 nn天以前被访问过的所有文件。天以前被访问过的所有文件。- cmin n - cmin n 查找查找 nn 分钟以前文件状态被修改过的所有文分钟以前文件状态被修改过的所有文件。件。- ctime n - ctime n 查找查找 nn天以前文件状态被修改过的所有文天以前文件状态被修改过的所有文件。件。- mmin n - mmin n 查找查找 nn 分钟以前文件内容被修改过的所有分钟以前文件内容被修改过的所有文件。文件。- mtime n - mtime n 查找查找 nn天以前文件内容被修改过的所有文天以前文件内容被修改过的所有文件。件。

Page 35: Redhat 7  服务器管理培训  2

findiii. iii. 可执行的操作可执行的操作

- exec - exec 命令名称 命令名称 {} {} 对符合条件的文件执行所给的对符合条件的文件执行所给的 LinuxLinux 命令,命令,而不询问用户是否需要执行该命令。而不询问用户是否需要执行该命令。 {}{}表示命令的参数即为所找表示命令的参数即为所找到的文件;命令的末尾必须以“ 到的文件;命令的末尾必须以“ \\ ;”结束。;”结束。- ok - ok 命令名称 命令名称 { } { } 对符合条件的文件执行所给的对符合条件的文件执行所给的 Linux Linux 命令,命令,与与 execexec 不同的是,它会询问用户是否需要执行该命令。不同的是,它会询问用户是否需要执行该命令。- ls - ls 详细列出所找到的所有文件。详细列出所找到的所有文件。- fprintf - fprintf 文件名 将找到的文件名写入指定文件。文件名 将找到的文件名写入指定文件。- print - print 在标准输出设备上显示查找出的文件名。在标准输出设备上显示查找出的文件名。- printf - printf 格式 格式的写法请参考有关格式 格式的写法请参考有关 CC 语言的书。语言的书。  例  例 11 :查找当前目录中所有以:查找当前目录中所有以 mainmain 开头的文件,并显示这开头的文件,并显示这些文件的内容。些文件的内容。 $ find . - name ‘main*’ - exec more {} \;$ find . - name ‘main*’ - exec more {} \;

Page 36: Redhat 7  服务器管理培训  2

find例例 22 :删除当前目录下所有一周之内没有被访问过的:删除当前目录下所有一周之内没有被访问过的 a .outa .out 或或 *.o*.o

文件。文件。$ find . \$ find . \ (( - name a.out - o - name ‘*.o’\- name a.out - o - name ‘*.o’\ )) - atime +7 - - atime +7 - exec rm {} \;exec rm {} \;说明:说明: \\ (和(和 \\ )表示括号(),其中的“)表示括号(),其中的“ \”\” 称为转义符。 “称为转义符。 “ - - name a.out”name a.out” 是指要查找名为是指要查找名为 a.outa.out 的文件;“的文件;“ - name ‘*.- name ‘*.o’”o’” 是指要查找所有名字以是指要查找所有名字以 .o.o 结尾的文件。这两个结尾的文件。这两个 - name- name 之之间的间的 - o- o 表示逻辑或(表示逻辑或( oror ),即查找名字为),即查找名字为 a.outa.out 或名字以或名字以 .o.o结尾的文件,结尾的文件, findfind 在当前目录及其子目录下找到这佯的文件之后,在当前目录及其子目录下找到这佯的文件之后,再进行判断,看其最后访问时间是否在再进行判断,看其最后访问时间是否在 77天以前(条件-天以前(条件- atime atime +7+7 ),若是,则对该文件执行命令),若是,则对该文件执行命令 rmrm (( - exec rm{ }\;- exec rm{ }\;)。其)。其中中 {}{} 代表当前查到的符合条件的文件名,代表当前查到的符合条件的文件名, \\ ;则是语法所要求的。;则是语法所要求的。

Page 37: Redhat 7  服务器管理培训  2

内容查询命令 33.locate3.locate 命令命令

locatelocate 命令用于查找文件,它比命令用于查找文件,它比 findfind命令的搜索速度快,它需要一个数据库,命令的搜索速度快,它需要一个数据库,这个数据库由每天的例行工作(这个数据库由每天的例行工作( crontacrontabb )程序来建立。当我们建立好这个数)程序来建立。当我们建立好这个数据库后,就可以方便地来搜寻所需文件据库后,就可以方便地来搜寻所需文件了。了。

Page 38: Redhat 7  服务器管理培训  2

locate

该命令的一般形式为:该命令的一般形式为: locate locate 相关字相关字例如:查找相关字例如:查找相关字 issueissue $ locate issue $ locate issue /etc/issue /etc/issue /etc/issue.net /etc/issue.net /usr/man/man5/issue.5 /usr/man/man5/issue.5 /usr/man/man5/issue.net.5 /usr/man/man5/issue.net.5

Page 39: Redhat 7  服务器管理培训  2

文本编辑器 vi VI 是一个全屏幕的编辑器 Unix 系统必备的工具程序 功能强大 另外有 VIM 提供更多的功能 有 X Window 的 VIM 版本 VI/VIM 有 Window 的版本

Page 40: Redhat 7  服务器管理培训  2

Vi 的模式 Command Mode ( 命令模式 )

这是执行该程序后启动的模式 此时键盘输入操作当作命令 命令字符有大小写之区分

Input Mode (插入模式 ) 使用 a 、 i 、 o 指定即可开始进行输入数据 文件区前面出现 ~ 表示未使用部分 按下 ESC 键即可回到 Command Mode

Page 41: Redhat 7  服务器管理培训  2

Vi 的模式 Last Mode ( 上个模式 )

于 Command Line 按下 : 即可进入该模式 用来进行储存、开档或环境的设定 命令字符有大小写之区分

进入输入模式 a : 在光标所在位置开始输入数据 i : 在该行最后结尾开始输入数据 o : 在光标下行插入一行空白开始输入数据

Page 42: Redhat 7  服务器管理培训  2

光标的移动方向鍵 :

j : 向下方向鍵,下移 k : 向上方向鍵,上移h : 向左方向鍵,左移 l : 向右方向鍵,右移

- : 向上移一行 + : 向下移一行n- : 向上移 n 行 n+ : 向下移 n 行

Page 43: Redhat 7  服务器管理培训  2

屏幕的滚动

Ctrl f : 向下移动一頁,同 PageDown

Ctrl b : 向上移动一頁,同 PageUp

Ctrl d : 向下移动半頁

Ctrl u : 向上移动半頁

Page 44: Redhat 7  服务器管理培训  2

删除命令 x : 删除光标所在字符 X : 删除光标所在的前一个字符 nx : 删除光标所在后 n 个字符 dd : 删除游标所在该行 ndd : 删除光标该行开始 n 行 D : 删除光标开始的字符到结尾 : n,md : 删除第 n ~ m 行

Page 45: Redhat 7  服务器管理培训  2

复制与移动命令 yy 、 Y : 复制光标所在该行数据到 buffer 区域 nyy 、 nY : 复制光标所在 n 行数据到 buffer 区域

:n1,n2 m n3 : 把 n1 ~ n2 行资料搬到第 n3 行后 :n1,n2 c n3 : 把 n1 ~ n2 行数据复制第 n3 行后 p : 贴于游标所在行之下 P : 贴于游标所在行之上 v : 字符标记 V : 行标记 Ctrl V : 矩形标记 d : 删除标记区的数据 y : 复制标记区的数据

Page 46: Redhat 7  服务器管理培训  2

寻找与取代/string : 向下找 string?string : 向上找 stringn : 重复上次的寻找:s/string1/string2 : 把光标该行第一个 string1 取代

成为 string2:s/string1/string2/g : 同上,不过是同一行内容进行取代:%s/string1/string2/g : 同上,不过是全部内容进行取代:n1,n2s/string1/string2/g : 把 n1 ~ n2 的 string1 取代成为 string2

Page 47: Redhat 7  服务器管理培训  2

其他指令重复指令 :

. : 重复前面一指定操作u : 取消前一指令的操作U : 取消对该行的任何修改 (光标没有离开该行方有效 )

状态列操作 ::syntax off : 关闭语法解析 :line n : 跳至某一行:set number : 设定显示行数 :set nonumber

其它指令 :Ctrl – l : 屏幕重绘指令Ctrl – g : 显示相关状态:!command : 执行某个 command:help : vi 的说明

Page 48: Redhat 7  服务器管理培训  2

打开文件和关闭文件 # vi 文件名称 : 打开文件 :w : 存档 :q : 离开 :w! : 强制存档 :q! : 强制离开 :wq : 存档后离开 :wq! : 强制存档后离开 Ctrl – z : 暂时离开 vi 回到 shell fg : 在 shell 执行 fg 回到 vi 中

Page 49: Redhat 7  服务器管理培训  2

实验用 vi编辑一个文件,练习字符查找保存后退出

Page 50: Redhat 7  服务器管理培训  2

管理命令 adduser - 新增使用者指令 rmuser - 从系统中移除使用者 passwd - 改变使用者的密码 su - 替代使用者的特性 dmesg - 显示系统保留信息 who - 显示谁在线上 w - 列出谁在线上,并且显示他们在做什么 date - 显示或设定日期时间

Page 51: Redhat 7  服务器管理培训  2

adduser 命令名 adduser - 新增使用者指令 描述 adduser 新增使用者的小程序。它会

至 passwd/group 档案中加入相关资料,建立使用者目录。

Page 52: Redhat 7  服务器管理培训  2

rmuser 命令名 rmuser - 从系统中移除使用者 参数 rmuser [username] 描述 这个命令可以删除使用者。并且可以选择是否删除使用者的个人目录。

Page 53: Redhat 7  服务器管理培训  2

passwd命令名 passwd - 改变使用者的密码参数 passwd [username]

描述 passwd 改变使用者在本机的密码。首先,使用者会先被问到目前使用的密码。目前密码必须正确地输後,才能键入新的密码。新密码必须重复输入二次以防止输入错误。

新的密码至少六个字节长,并且不能完全是字母。最好是包括数字、大写字母或特殊字母。

Page 54: Redhat 7  服务器管理培训  2

su 命令名 su - 临时“变成”别的用户格式:

su [username]

如果不给出 username, 则默认为 root

Page 55: Redhat 7  服务器管理培训  2

实验 执行 su 命令成为 root 用户 使用 adduser建立一个新用户 使用 passwd 指定该用户的用户名 用这个用户来登陆 使用 pwd 命令来看当前目录 su 成 class1 用户

Page 56: Redhat 7  服务器管理培训  2

dmesg 命令名 dmesg - 显示系统保留的信息

注意结合 more 命令来用

Page 57: Redhat 7  服务器管理培训  2

实验 登陆后用 dmesg|more 来看信息

Page 58: Redhat 7  服务器管理培训  2

who 命令名 who - 显示谁在线上 参数 who [am I] 描述 who 工具显示目前线上所有的使用者,并且显示每

位使用者 login 的名字, tty 名称, login 时的日期与 时间,还有站名 ( 如果不在 local) 。

Page 59: Redhat 7  服务器管理培训  2

实验 用 who 命令来看当前登陆到本机的用户

Page 60: Redhat 7  服务器管理培训  2

w

命令名 w - 列出谁在线上,并且显示他们在做什么

描述 w 工具印出目前整个系统的目前的状态,包括每位使用者正在做什么。

Page 61: Redhat 7  服务器管理培训  2

实验 登陆后用 w 命令看当前主机上的用户都

在做什么

Page 62: Redhat 7  服务器管理培训  2

date

命令名 date - 显示或设定日期时间 描述 date 执行若不加参数时,则显示目前的日期与时间。

如果加上参数,则会以使用者自定的格式来设定或显示。只有超级用户可以设定日期。

Page 63: Redhat 7  服务器管理培训  2

date

示例 指令 :

date 8506131627

将时间设定至 ``June 13, 1985, 4:27 PM'' 。 指令 :

date 1432

设定时间至 2:32 PM, 并且不修改到日期

Page 64: Redhat 7  服务器管理培训  2

实验登陆到系统上使用 date 指令看当前服务器上的时间

Page 65: Redhat 7  服务器管理培训  2

载入其它的文件系统 命令名 mount – 载入档案系统 参数 mount [special node]

Page 66: Redhat 7  服务器管理培训  2

mount

为了载入软盘 ( 光盘 ) ,您必须由 root 使用者来执行 mount 指令。首先您必须

告诉它软盘在那,并且要挂在那里 mount /dev/floppy /mnt/floppy mount /dev/cdrom /mnt/cdrom

Page 67: Redhat 7  服务器管理培训  2

演示 mount /dev/cdrom /mnt/cdrom

Page 68: Redhat 7  服务器管理培训  2

装载 dos 文件系统 mount -t vfat /dev/floppy /mnt/floppy

-t 后面是文件系统的类型

Page 69: Redhat 7  服务器管理培训  2

卸下文件系统 命令名 umount - 卸下档案系统 参数 umount [-v] special | node

Page 70: Redhat 7  服务器管理培训  2

演示 卸下 cdrom umount /mnt/cdrom

Page 71: Redhat 7  服务器管理培训  2

进程管理 ps 看当前系统上的进程 kill 杀掉某一进程 top 看系统负荷

Page 72: Redhat 7  服务器管理培训  2

ps

ps 看当前系统上的进程 常用参数 -aux 看系统上所有的进程 注意结合 grep 命令一起使用

Page 73: Redhat 7  服务器管理培训  2

实验 使用 ps 命令看自己的进程 使用 ps -aux 命令看系统上所有的进程 结合 gerp 命令找特定的某个进程 结合 more 命令使用 ps 命令

Page 74: Redhat 7  服务器管理培训  2

kill

Kill 杀掉某一进程 kill [参数 ] [pid] 常用参数 -9 强行杀掉进程 -HUP 重新启动某一进程

Page 75: Redhat 7  服务器管理培训  2

top

top 看当前系统使用情况

Page 76: Redhat 7  服务器管理培训  2

实验 登陆后用 top 命令看当前系统运行情况 理解 top 指令显示结果的含义

Page 77: Redhat 7  服务器管理培训  2

Inetd Super Server(xinetd)

xinetd 简介 :inetd 为 Internet Daemon 所写简称。xinet 是增强型的 inetd 程序,Mandrake 7.2 、

RedHat 7.0 已经采用使用 xinetd 取代传统的 inetd 程序。inetd (xinetd) 工作是监听系统相关 port,然后

适时呼叫某个程序来进行相关服务。一般启动相关系统网络服务的方式有两种 :

standalone : 单独启动 inetd : 透过 inetd 启动 standalone “ ”就是 直接常驻 在内存内提供相关

的服务。inetd 启动就是不直接常驻在内存,而是由 inetd

(xinetd)代为监听,然后有请求时才呼叫程序提供服务

Page 78: Redhat 7  服务器管理培训  2

xinetd 设定档案与规则disable : yes | no 。设定该项目关闭或者是启动。service : 指定要监听的服务项目名称。与 /etc/services

档案项目对应。user : 使用哪个身份执行后面的服务程序protocol : 协议方式,定义在 /etc/protocols 档案socket_type : 服务协议连结型态,分 stream 与 dgram

stream : connection-oriented protocols (for TCP)dgram : datagram protocols (for UDP)

Page 79: Redhat 7  服务器管理培训  2

xinetd 设定档案与规则 2wait : 可以区分 wait 与 nowait。 一般 socket_type 为

stream 时, wait 项目就选择 no 。 其它就是 yestype : 一般配合 id 项目来使用,可以区分 :internal : xinetd 提供的内部服务。rpc : remote process call 服务unlisted : 未定义在 /etc/rpc 或者是 /etc/servicesflags : 相关的旗标参数server_args : 传给要执行服务程序的参数

Page 80: Redhat 7  服务器管理培训  2

xinetd 重新启动 当改过 xinetd.conf 档案时,要重新启动 xinetd服务程序才会生效。

重新启动常见方法有 :1. ps aux | grep “xinetd” 找出 inetd pid,然后使用 kill 指令对该程序送出 HUP 信号

ex: kill -HUP 10022. 同上,不过是直接把 xinet daemon 使用 kill

结束该程序,然后重新执行 /usr/sbin/xinetd3. 使用 System V 架构编排的 /etc/rc.d/init.d/xinet

这个 shell script 档案来完成。 /etc/rc.d/init.d/xinet reload

Page 81: Redhat 7  服务器管理培训  2

实验登陆到服务器上,使用 vi 来看 xinetd.conf 配置文件,理解相关参数含义